:root{--bg:#f3f6f4;--bg-deep:#0f2f2a;--panel:#fff;--ink:#16332e;--muted:#5d726c;--accent:#0f7a66;--accent-2:#d97706;--line:#d7e3de;--danger:#b42318;--ok:#067647;--shadow:0 18px 40px #0f2f2a14;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Assistant,Rubik,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 10%,#0f7a661f,#0000 35%),radial-gradient(circle at 90% 0,#d977061f,#0000 30%),linear-gradient(#eef5f2 0%,#f7faf8 45%,#f3f6f4 100%);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,.button{appearance:none;background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:12px;padding:.7rem 1.1rem;font-weight:700;transition:transform .16s,background .16s}button:hover,.button:hover{background:#0c6554;transform:translateY(-1px)}input,select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:12px;padding:.7rem .85rem}label{gap:.35rem;font-weight:600;display:grid}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#ecf7f3;background:linear-gradient(#12362f 0%,#0f2f2a 100%);flex-direction:column;gap:1.5rem;padding:1.5rem 1.1rem;display:flex}.brand{align-items:center;gap:.8rem;display:flex}.brand-mark{background:linear-gradient(135deg,#14b8a6,#0f7a66);border-radius:14px;place-items:center;width:48px;height:48px;font-family:Rubik,sans-serif;font-weight:700;animation:2.8s ease-in-out infinite pulseMark;display:grid}.brand strong{font-family:Rubik,sans-serif;font-size:1.25rem;display:block}.brand p,.muted,.page-header p{color:var(--muted);margin:0}.sidebar p{color:#ecf7f3b3;margin:0;font-size:.9rem}.sidebar nav{gap:.35rem;display:grid}.sidebar a{color:#ecf7f3db;border-radius:12px;padding:.75rem .9rem}.sidebar a.active,.sidebar a:hover{color:#fff;background:#ffffff1a}.sidebar-footer{gap:.75rem;margin-top:auto;display:grid}.content{padding:1.5rem}.page{animation:.42s fadeUp}.page-header{margin-bottom:1.25rem}.page-header h1,.login-panel h1{margin:.2rem 0;font-family:Rubik,sans-serif;font-size:clamp(1.8rem,3vw,2.4rem)}.page-header.row,.filters,.actions,.stat-grid{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.page-header.row{justify-content:space-between}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1rem;display:grid}.stat,.panel,.login-panel{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d7e3dee6;border-radius:18px}.stat{gap:.4rem;padding:1.1rem 1.2rem;display:grid}.stat span{color:var(--muted)}.stat strong{font-family:Rubik,sans-serif;font-size:1.8rem}.panel{margin-bottom:1rem;padding:1.1rem;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:right;border-bottom:1px solid var(--line);vertical-align:top;padding:.75rem .5rem}th{color:var(--muted);font-weight:700}.filters{margin-bottom:1rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.checkbox{align-items:center;gap:.5rem;display:flex}.checkbox input{width:auto}.error,.success{border-radius:12px;margin:.5rem 0;padding:.8rem 1rem}.error{color:var(--danger);background:#fef3f2}.success{color:var(--ok);background:#ecfdf3}code{font-size:.85rem}code.wrap{word-break:break-all}.login-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.login-backdrop{background:linear-gradient(135deg,#0f2f2aeb,#0f7a66bf),url("data:image/svg+xml,%3Csvg width=\"60\" height=\"60\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M0 0h60v60H0z\" fill=\"none\"/%3E%3Cpath d=\"M0 30h60M30 0v60\" stroke=\"%23ffffff\" stroke-opacity=\".05\"/%3E%3C/svg%3E");animation:18s linear infinite drift;position:absolute;inset:0}.login-panel{gap:.9rem;width:min(440px,100%);padding:2rem;animation:.5s fadeUp;display:grid;position:relative}.eyebrow{color:var(--accent);letter-spacing:.04em;margin:0;font-weight:700}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseMark{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes drift{0%{background-position:0 0,0 0}to{background-position:0 0,120px 60px}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:2;position:sticky;top:0}.sidebar nav{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}}
