*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--dark-3: #1a1e16;--dark-2: #252a20;--dark: #31362e;--gray: #7a8075;--gray-light: #b0b5aa;--light: #f2f2f2;--light-2: #e4e4e4;--accent: #C5F135;--accent-dark: #a8d120;--accent-tint: rgba(197,241,53,.1);--border: rgba(49,54,46,.14);--border-light: rgba(49,54,46,.08);--white: #ffffff;--err: #c0392b;--ok: #2e7d32;--warn: #b8860b;--font-head: "Space Grotesk", system-ui, sans-serif;--font: "DM Sans", system-ui, sans-serif;--mono: "DM Mono", ui-monospace, monospace;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow: 0 4px 16px rgba(0,0,0,.1);--transition: .18s ease}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--light);color:var(--dark);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--dark)}:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}h1,h2,h3{font-family:var(--font-head);font-weight:600;color:var(--dark);line-height:1.2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font);font-weight:600;font-size:15px;padding:.7rem 1.25rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:var(--transition)}.btn--primary{background:var(--accent);color:var(--dark)}.btn--primary:hover{background:var(--accent-dark)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--dark)}.btn--ghost:hover{background:var(--white)}.btn--block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.splash{min-height:100vh;display:grid;place-items:center;background:var(--dark-3)}.spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(197,241,53,.25);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login{min-height:100vh;display:grid;place-items:center;background:var(--dark-3);padding:1.5rem}.login__card{width:100%;max-width:400px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:2.25rem 2rem}.login__logo{height:64px;margin-bottom:1.75rem}.login h1{font-size:1.4rem;margin-bottom:.35rem}.login__sub{color:var(--gray);font-size:14px;margin-bottom:1.75rem}.field{margin-bottom:1.1rem}.field label{display:block;font-size:13px;font-weight:600;color:var(--dark);margin-bottom:.4rem}.field input{width:100%;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--light);transition:var(--transition)}.field input:focus{border-color:var(--accent-dark);background:var(--white);outline:none}.form-error{background:#c0392b14;color:var(--err);border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:14px;margin-bottom:1rem}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--dark-3);color:var(--light);display:flex;flex-direction:column;padding:1.5rem 1rem}.sidebar__logo{height:48px;margin:.25rem .5rem 2rem}.nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav a{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border-radius:var(--radius);color:var(--gray-light);font-weight:500;transition:var(--transition)}.nav a:hover{background:var(--dark-2);color:var(--light)}.nav a.active{background:var(--accent-tint);color:var(--accent)}.nav a i{width:18px;text-align:center}.sidebar__foot{border-top:1px solid rgba(255,255,255,.08);padding-top:1rem;margin-top:1rem}.sidebar__user{font-size:13px;color:var(--gray-light);padding:0 .5rem .75rem}.sidebar__user strong{display:block;color:var(--light);font-size:14px}.cobrand{font-size:12px;color:var(--gray);padding:.75rem .5rem 0}.cobrand a{color:var(--gray-light);text-decoration:underline}.sidebar .btn--ghost{color:var(--light);background:#ffffff0d;border-color:#fff3}.sidebar .btn--ghost:hover{background:var(--dark-2);border-color:#ffffff59;color:var(--white)}.main{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;border-bottom:1px solid var(--border-light);background:var(--white)}.topbar h1{font-size:1.3rem}.content{padding:2rem;flex:1}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem}.card__label{font-size:13px;color:var(--gray);margin-bottom:.35rem}.card__value{font-family:var(--font-head);font-size:1.9rem;font-weight:600}.card__hint{font-size:13px;color:var(--gray);margin-top:.25rem}.panel{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.panel__head{padding:1.1rem 1.5rem;border-bottom:1px solid var(--border-light)}.panel__head h2{font-size:1.05rem}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.85rem 1.5rem;font-size:14px}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--gray);font-weight:600}.table tbody tr{border-top:1px solid var(--border-light)}.table tbody tr:hover{background:var(--light)}.table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.ref{font-family:var(--mono);font-size:13px}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:12px;font-weight:600}.badge--ok{background:#2e7d321f;color:var(--ok)}.badge--warn{background:#b8860b24;color:var(--warn)}.badge--neutral{background:var(--light-2);color:var(--gray)}.linkbtn{color:var(--accent-dark);font-weight:600;font-size:14px}.linkbtn:hover{text-decoration:underline}.empty,.loading-row{text-align:center;color:var(--gray);padding:3rem 1.5rem}.empty i{font-size:2rem;color:var(--gray-light);margin-bottom:.75rem;display:block}@media (max-width: 760px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;padding:.75rem 1rem;overflow-x:auto}.sidebar__logo{margin:0 1rem 0 .25rem}.nav{flex-direction:row}.sidebar__foot{display:none}.content{padding:1.25rem}.topbar{padding:1rem 1.25rem}.table th:nth-child(3),.table td:nth-child(3){display:none}}
