:root{--brand:#7a5c2e;--brand-dark:#5d4522;--bg:#faf7f2;--surface:#fff;--border:#e3ddd2;--text:#2f2a22;--text-muted:#7d7466;--danger:#b3362b;--danger-bg:#fdeeec;--sidebar-bg:#2f2a22;--sidebar-text:#e8e2d6;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:15px}#root{min-height:100vh}h1{margin:0;font-size:1.4rem}button{font:inherit;cursor:pointer}.app-loading{min-height:100vh;color:var(--text-muted);place-items:center;display:grid}.login-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:2.2rem 2rem;display:flex;box-shadow:0 6px 24px #2f2a2214}.login-card h1{font-size:1.25rem}.login-subtitle{color:var(--text-muted);margin:-.6rem 0 .4rem;font-size:.85rem}.login-card img{margin:0 auto}.login-card label{text-align:left;color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.login-card input{font:inherit;border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:.55rem .7rem}.login-card input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.login-card button[type=submit]{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:.65rem;font-weight:600}.login-card button[type=submit]:hover{background:var(--brand-dark)}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:8px;padding:.55rem .7rem;font-size:.85rem}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);flex-direction:column;gap:1rem;padding:1rem .8rem;display:flex}.sidebar-brand{align-items:center;gap:.6rem;padding:.2rem .4rem;font-size:1.05rem;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-nav a{color:var(--sidebar-text);border-radius:8px;padding:.55rem .7rem;font-size:.92rem;text-decoration:none}.sidebar-nav a:hover{background:#ffffff14}.sidebar-nav a.active{background:var(--brand);color:#fff;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff1f;flex-direction:column;gap:.5rem;padding-top:.8rem;display:flex}.user-box{flex-direction:column;padding:0 .4rem;display:flex}.user-box small{color:#e8e2d6a6}.btn-ghost{color:var(--sidebar-text);background:0 0;border:1px solid #ffffff40;border-radius:8px;padding:.45rem}.btn-ghost:hover{background:#ffffff14}.content{padding:1.6rem 2rem}.page-header{margin-bottom:1.2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.2rem 1.4rem}.muted{color:var(--text-muted)}.subnav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:1.2rem;padding-bottom:.6rem;display:flex}.subnav a{color:var(--text-muted);border:1px solid #0000;border-radius:999px;padding:.35rem .7rem;font-size:.88rem;text-decoration:none}.subnav a:hover{color:var(--text);background:var(--surface);border-color:var(--border)}.subnav a.active{background:var(--brand);color:#fff;font-weight:600}.toolbar{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.search-input{font:inherit;border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:240px;padding:.5rem .8rem}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.92rem}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap;padding:.7rem .9rem;font-size:.8rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);padding:.6rem .9rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg)}.row-actions{white-space:nowrap;text-align:right}.badge{border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-on{color:#256029;background:#e4f2e4}.badge-off{color:var(--text-muted);background:#f0ece4}.btn-primary{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem}.btn-link{color:var(--brand);background:0 0;border:none;padding:.2rem .4rem;font-size:.88rem}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--danger)}.modal-backdrop{z-index:50;background:#2f2a2273;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:640px;max-height:90vh;padding:1.4rem 1.6rem;overflow-y:auto;box-shadow:0 12px 40px #2f2a2240}.modal h2{margin:0 0 1rem;font-size:1.1rem}.entity-form{grid-template-columns:1fr 1fr;gap:.7rem 1rem;display:grid}.entity-form label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.entity-form input[type=text],.entity-form input[type=search],.entity-form input[type=password],.entity-form select,.entity-form textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:.45rem .6rem}.entity-form input:focus,.entity-form select:focus,.entity-form textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.entity-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand);margin-top:.3rem}.entity-form .span-2{grid-column:span 2}.company-form{max-width:760px}.req{color:var(--danger);margin-left:2px}.field-error{color:var(--danger);font-size:.78rem}.form-success{color:#256029;background:#e4f2e4;border-radius:8px;padding:.55rem .7rem;font-size:.85rem}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:.6rem;display:flex}@media (width<=560px){.entity-form{grid-template-columns:1fr}.entity-form .span-2{grid-column:span 1}}@media (width<=720px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center}.sidebar-nav{flex-flow:wrap}.content{padding:1rem}}
