:root{--ink:#17211b;--muted:#68746c;--green:#236b45;--green-dark:#174b31;--mint:#e7f1eb;--line:#dfe6e1;--paper:#f6f8f6;--white:#fff;--danger:#a33a35}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#dbece1,transparent 35%),var(--paper)}.login-card{width:min(100%,430px);padding:42px;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px #163c2820}.brand-mark,.logo>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--green);color:white;font-size:24px;font-weight:800}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.16em;margin:22px 0 8px}h1{font-size:clamp(28px,4vw,42px);line-height:1.12;margin:0 0 10px;letter-spacing:-.035em}h2{margin-bottom:5px}.muted{color:var(--muted)}.stack{display:grid;gap:18px;margin-top:30px}label{font-weight:650}.stack input,.search input{width:100%;margin-top:7px;border:1px solid #cbd6cf;border-radius:10px;padding:12px 13px;font:inherit;outline:none}.stack input:focus,.search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #236b4518}button{border:0;border-radius:10px;background:var(--green);color:white;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer}button:hover{background:var(--green-dark)}.alert{padding:11px 13px;border-radius:9px;margin-top:20px}.alert.error{background:#f9e8e7;color:var(--danger)}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;padding:25px 18px;display:flex;flex-direction:column;background:#132c20;color:white}.logo{display:flex;gap:11px;align-items:center;text-decoration:none;padding:0 8px}.logo b{font-size:18px;letter-spacing:.08em}.logo b small{display:block;font-size:9px;color:#9fc4ad}.sidebar nav{display:grid;gap:5px;margin-top:45px}.sidebar nav a,.sidebar nav span{padding:11px 13px;border-radius:9px;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff16}.sidebar nav .disabled{color:#789486}.sidebar nav small{float:right;font-size:10px}.account{margin-top:auto;border-top:1px solid #ffffff18;padding:18px 10px 0;display:flex;justify-content:space-between;align-items:center}.account span small{display:block;color:#9fc4ad}.link-button{background:none;padding:5px;color:#c7dacf;font-weight:500}.app-shell{margin-left:235px;min-height:100vh}.content{max-width:1200px;margin:auto;padding:48px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.page-heading .eyebrow{margin-top:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:22px}.metric span{color:var(--muted)}.metric strong{display:block;font-size:38px;margin:8px 0}.metric a{color:var(--green);font-weight:700;text-decoration:none}.metric small{color:#96a098}.muted-metric{background:#fafbfa}.panel{margin-top:22px}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.empty h2{color:var(--ink)}.empty-icon{margin:auto;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:24px}.search{display:flex;gap:10px;margin-bottom:22px}.search input{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}td small{display:block;color:var(--muted)}.badge{display:inline-block;background:var(--mint);color:var(--green-dark);border-radius:99px;padding:3px 9px;font-size:12px;font-weight:700}.mobile-header{display:none}@media(max-width:850px){.sidebar{display:none}.app-shell{margin-left:0}.mobile-header{display:flex;padding:13px 20px;background:#132c20;color:white;align-items:center;justify-content:space-between}.mobile-header .logo>span{width:35px;height:35px}.content{padding:28px 18px}.metrics{grid-template-columns:1fr 1fr}}@media(max-width:520px){.login-card{padding:30px 24px}.metrics{grid-template-columns:1fr}.search{display:grid}.page-heading{display:block}}
