:root{--orange:#b34b0c;--orange-2:#f0b429;--charcoal:#37322e;--header:#524944;--silver:#6c6a68;--page:#b3b2b0;--danger:#c44536;--shadow:0 18px 40px rgba(55,50,46,0.28);font-family:Segoe UI,IBM Plex Sans,system-ui,sans-serif}html[data-theme=light]{--bg:var(--page);--bg-menu:var(--silver);--bg-header:var(--header);--bg-card:var(--charcoal);--bg-input:#d8d7d5;--text:var(--charcoal);--text-menu:#f4f2ef;--text-card:#f7f5f2;--muted:#524944;--muted-card:#b3b2b0;--line:#6c6a68;--line-card:#524944;--accent:var(--orange);--accent-text:#fff8f2;--chip:#524944}html[data-theme=dark]{--bg:var(--charcoal);--bg-menu:var(--header);--bg-header:var(--header);--bg-card:var(--header);--bg-input:#2b2724;--text:#f7f5f2;--text-menu:#f7f5f2;--text-card:#f7f5f2;--muted:var(--page);--muted-card:var(--page);--line:var(--silver);--line-card:var(--silver);--accent:var(--orange);--accent-text:#fff8f2;--chip:#2b2724}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 18% 12%,rgba(240,180,41,.18),transparent 34%),radial-gradient(circle at 88% 0,rgba(179,75,12,.22),transparent 32%),var(--bg)}.card,.panel{background:var(--bg-card);color:var(--text-card);border:1px solid var(--line-card);border-radius:16px;box-shadow:var(--shadow)}.card{width:min(420px,92vw);padding:28px}.panel{padding:20px}.card h1,.panel h2{margin:0 0 8px;color:var(--text-card)}.card p,.lede,.panel .lede{color:var(--muted-card);margin-top:0}.stack{display:grid;grid-gap:12px;gap:12px}label{display:grid;grid-gap:6px;gap:6px;font-size:.9rem;color:var(--muted-card)}input:not([type=checkbox]):not([type=radio]),select{background:var(--bg-input);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.card input,.panel input,.panel select{color:var(--charcoal)}html[data-theme=dark] .card input,html[data-theme=dark] .panel input,html[data-theme=dark] .panel select{color:var(--text-card)}.primary-btn,button{background:var(--accent);color:var(--accent-text);border:0;border-radius:10px;padding:10px 14px;font-weight:650;cursor:pointer}.primary-btn:hover,button:hover{filter:brightness(1.08)}.ghost-btn{background:transparent;color:var(--text-menu);border:1px solid var(--line)}.error{color:#ffb4aa;min-height:1.2em}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.main-col{display:flex;flex-direction:column;min-width:0;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--bg-header);color:#f7f5f2;padding:12px 36px;border-bottom:1px solid var(--line)}.topbar-company{font-size:.95rem;font-weight:650;color:#f7f5f2}.topbar-user{text-align:right;line-height:1.25}.topbar-user strong{display:block;font-size:.95rem;font-weight:650}.topbar-user span{display:block;font-size:.78rem;color:var(--page)}.sidebar{background:var(--bg-menu);color:var(--text-menu);border-right:1px solid var(--line);padding:20px 16px;gap:24px}.brand,.sidebar{display:flex;flex-direction:column}.brand{gap:8px}.brand-logo{width:100%;height:auto;display:block;background:transparent}.brand p{margin:0;color:var(--muted-card);font-size:.8rem}.sidebar nav{display:grid;grid-gap:8px;gap:8px}.sidebar .nav-link,.sidebar nav a{padding:8px 10px;border-radius:8px;color:var(--text-menu);font-size:1rem}.sidebar .nav-link.active,.sidebar .nav-link:hover,.sidebar nav a.active,.sidebar nav a:hover{background:var(--bg-header);color:#fff}.sidebar-foot{margin-top:auto;display:grid;grid-gap:0;gap:0;color:var(--muted-card)}.sidebar-foot form{margin-top:15px}.content{padding:24px 36px 32px}.page-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 20px;padding:0;background:transparent}.page-head h1{margin:0 0 6px;color:var(--text)}.page-head .lede{color:var(--muted);margin:0}.tab-nav{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0 0 20px;padding:0 0 8px;border-bottom:1px solid var(--line)}.tab-nav a{padding:8px 10px;border-radius:8px;color:var(--muted)}.tab-nav a.active,.tab-nav a:hover{background:var(--bg-header);color:#fff}.status-toggle,.tab-nav a.active{font-weight:650}.status-toggle{border:1px solid var(--line-card);border-radius:999px;padding:4px 12px;font-size:.82rem}.status-toggle.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.status-toggle.off{background:transparent;color:var(--muted-card)}.status-toggle:disabled{opacity:.55;cursor:not-allowed}input:disabled,select:disabled{opacity:.72;cursor:not-allowed}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.table{width:100%;border-collapse:collapse;color:var(--text-card)}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line-card);vertical-align:middle}.date-inline{width:auto;min-width:10.5rem;padding:6px 8px}input[type=date]{color-scheme:light}html[data-theme=dark] input[type=date]{color-scheme:dark}.project-link{color:var(--orange-2);font-weight:650}.project-link:hover{text-decoration:underline}.chip{display:inline-block;margin:0 6px 6px 0;padding:3px 8px;border-radius:999px;background:var(--chip);color:#f0b429;font-size:.78rem}.empty{border:1px dashed var(--line);border-radius:16px;padding:48px 24px;color:var(--muted);text-align:center;background:transparent}.check-list{display:grid;grid-gap:8px;gap:8px}.perm-form{display:grid;grid-gap:16px;gap:16px}.perm-group{display:grid;grid-gap:8px;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line-card)}.perm-group:last-of-type{border-bottom:0;padding-bottom:0}.perm-group h3{margin:0;font-size:.95rem;color:var(--text-card)}.perm-row{display:flex;flex-direction:row;align-items:center;gap:10px;color:var(--text-card);cursor:pointer}.perm-row input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--accent)}.theme-picker{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.theme-picker label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line-card);border-radius:10px;color:var(--text-card);cursor:pointer}.login-logo{width:min(280px,100%);height:auto;display:block;margin:0 auto 12px}@media (max-width:800px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}.sidebar-foot{margin-top:0;margin-left:auto}.topbar{padding:12px 20px}.content{padding:20px}}