:root{--color-primary:#556b2f;--color-primary-dark:#3c4c1f;--color-primary-light:#6b8a3a;--color-nav:#2f4f4f;--color-nav-dark:#1e3535;--color-bg:#fff;--color-surface:#f7f7f7;--color-text:#161616;--color-text-muted:#595959;--color-border:#c6c6c6;--color-error:#c0392b;--color-success:#27ae60;--radius:6px;--shadow:0 1px 3px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:Raleway,sans-serif;font-size:15px;line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-surface)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#a93226}.btn-sm{padding:4px 12px;font-size:13px}.card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);padding:24px}.form-group{flex-direction:column;gap:5px;margin-bottom:16px;display:flex}.form-group label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);background:#fff;width:100%;padding:9px 12px;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.form-group input[readonly],.form-group input:disabled{background:var(--color-surface);color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:80px}.form-hint{color:var(--color-text-muted);font-size:12px;font-style:italic}.toast{border-radius:var(--radius);z-index:999;padding:12px 20px;font-size:14px;font-weight:600;animation:.2s slideIn;position:fixed;bottom:24px;right:24px}.toast-success{background:var(--color-success);color:#fff}.toast-error{background:var(--color-error);color:#fff}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:var(--color-nav);color:#e7edee;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--color-border);padding:10px 12px}tr:last-child td{border-bottom:none}tr:hover td{background:#f0f4ed}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge-active{color:#155724;background:#d4edda}.badge-complete{color:#383d41;background:#e2e3e5}.page-header{margin-bottom:24px}.page-header h1{color:var(--color-nav);font-size:22px;font-weight:700}.page-header p{color:var(--color-text-muted);margin-top:4px;font-size:14px}.empty-state{text-align:center;color:var(--color-text-muted);padding:40px;font-size:14px}.grid-form-list{grid-template-columns:460px 1fr;align-items:start;gap:20px;display:grid}.grid-2col{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px;display:grid}.layout-bottom-nav{display:none}@media (width<=640px){.layout-sidebar{display:none}.layout-main{max-width:100%!important;padding:16px!important}.layout-footer{display:none}.layout-bottom-nav{background:var(--color-nav);z-index:100;padding-bottom:env(safe-area-inset-bottom,0);border-top:1px solid #1e3535;display:flex;position:fixed;bottom:0;left:0;right:0}.layout-bottom-nav a{color:#8aabaa;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px;font-size:10px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.layout-bottom-nav a.active{color:#a8cca8}.layout-bottom-nav a svg{width:22px;height:22px}.layout-main{padding-bottom:72px!important}.grid-form-list,.grid-2col{grid-template-columns:1fr}.page-header h1{font-size:19px}.admin-add-row{flex-wrap:wrap}}
