:root{--bg: #12161B;--panel: #181D24;--panel-2: #1F252D;--line: #2B3341;--line-strong: #3A4356;--ink: #ECE9E2;--ink-dim: #98A2AC;--ink-faint: #5C6672;--brass: #C9974B;--brass-bright: #E3B667;--brass-dim: rgba(201, 151, 75, .1);--ok: #3ECF8E;--warn: #E0A030;--danger: #E05C5C;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}@media (max-width: 800px){.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}}.app-sidebar{background:var(--panel);border-right:1px solid var(--line);padding:1.2rem 0;display:flex;flex-direction:column}.app-sidebar .brand{font-family:var(--font-display);font-weight:700;font-size:1.05rem;padding:0 1.2rem 1.2rem;border-bottom:1px solid var(--line);margin-bottom:.8rem}.app-sidebar .company-label{font-family:var(--font-mono);font-size:.7rem;color:var(--brass-bright);padding:0 1.2rem;margin-bottom:1rem}.nav-link{display:block;padding:.65rem 1.2rem;color:var(--ink-dim);text-decoration:none;font-size:.88rem;border-left:3px solid transparent}.nav-link.active{color:var(--ink);border-left-color:var(--brass);background:var(--brass-dim)}.nav-link:hover{color:var(--ink)}.nav-link.disabled{color:var(--ink-faint);cursor:default}.nav-footer{margin-top:auto;padding:1rem 1.2rem 0;border-top:1px solid var(--line)}.logout-btn{background:none;border:1px solid var(--line);color:var(--ink-dim);border-radius:6px;padding:.4rem .8rem;font-size:.78rem;cursor:pointer;width:100%;margin-top:.8rem}.app-main{padding:2rem 2.5rem;max-width:1000px}.page-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0 0 .4rem}.page-sub{color:var(--ink-dim);font-size:.88rem;margin-bottom:2rem}.coming-soon{background:var(--panel);border:1px dashed var(--line-strong);border-radius:12px;padding:2.5rem;text-align:center;color:var(--ink-dim)}.coming-soon .badge{display:inline-block;font-family:var(--font-mono);font-size:.68rem;color:var(--brass-bright);border:1px solid var(--brass);border-radius:20px;padding:.2rem .7rem;margin-bottom:.8rem}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:2rem;width:340px}.login-box h1{font-family:var(--font-display);font-size:1.3rem;margin:0 0 1.4rem}.login-box input{width:100%;padding:.6rem .8rem;margin-bottom:.8rem;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:.9rem}.login-box button{width:100%;padding:.65rem;background:var(--brass);border:none;border-radius:6px;color:#14161a;font-weight:600;cursor:pointer}.login-error{color:var(--danger);font-size:.8rem;margin-top:.7rem}.tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem;flex-wrap:wrap}.tab{padding:.6rem 1rem;background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:.88rem;border-bottom:2px solid transparent}.tab.active{color:var(--ink);border-bottom-color:var(--brass)}.row{display:flex;justify-content:space-between;align-items:center;padding:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:.5rem}.row-title{font-weight:600;font-size:.9rem}.row-sub{font-size:.78rem;color:var(--ink-dim);margin-top:.15rem}.badge{font-size:.68rem;padding:.15rem .5rem;border-radius:10px;margin-left:.5rem}.badge-pending{background:#e0a03026;color:var(--warn)}.badge-approved{background:#3ecf8e26;color:var(--ok)}.add-form{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.add-form input{flex:1;min-width:150px;padding:.5rem;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--ink)}.add-form button{padding:.5rem 1rem;background:var(--brass);border:none;border-radius:6px;color:#14161a;font-weight:600;cursor:pointer}.empty{color:var(--ink-dim);font-size:.85rem;padding:1.5rem;text-align:center}.upload-zone{border:2px dashed var(--line-strong);border-radius:10px;padding:1.5rem;text-align:center;margin-bottom:1rem}.upload-status{font-size:.8rem;color:var(--ink-dim);margin-top:.5rem}
