:root{--ink:#12211b;--muted:#66756f;--line:#dfe8e3;--paper:#fbfaf4;--card:#ffffff;--green:#0d7a4f;--orange:#e97924;--red:#b42318;--blue:#1d5fd1}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#eaf6ee,transparent 34rem),var(--paper);color:var(--ink);font-family:Avenir Next,Montserrat,Segoe UI,sans-serif}a{color:var(--green);font-weight:800;text-decoration:none}code{background:#eef5f1;border:1px solid var(--line);border-radius:9px;padding:4px 7px}.login-page{min-height:100vh;display:grid;place-items:center}.login-card{width:min(92vw,420px);background:var(--card);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 24px 80px #173b2a18}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--green);font-weight:800;margin:0 0 8px}h1,h2{margin:0}h1{font-size:42px;line-height:1}.muted{color:var(--muted)}label{display:block;margin:18px 0 0;font-weight:700}input,select{width:100%;margin-top:8px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}button,.button{display:inline-block;border:0;border-radius:14px;background:var(--green);color:white;padding:13px 18px;font-weight:800;cursor:pointer}form button:not(.ghost){width:100%;margin-top:22px}.ghost,.ghost-link{background:#eef5f1;color:var(--green)}.warn{background:var(--orange)}.danger{background:var(--red)}.alert{background:#fff1ed;color:var(--red);padding:12px 14px;border-radius:12px;margin:16px 0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:28px 34px 12px}.tabs{display:flex;gap:8px;overflow:auto;padding:0 34px 18px}.tabs a{padding:10px 14px;border-radius:999px;color:var(--muted);background:#fff;border:1px solid var(--line);white-space:nowrap}.tabs .active{color:white;background:var(--green);border-color:var(--green)}.shell{padding:0 34px 34px}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stats article,.panel{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 12px 40px #173b2a10}.stats span{display:block;color:var(--muted);font-weight:700}.stats strong{display:block;font-size:34px;margin-top:6px}.panel{margin-top:18px}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.inline-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;align-items:end;margin-bottom:22px}.inline-form label{margin:0}.cards-list{display:grid;gap:10px}.notice{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}.notice span{color:var(--muted);font-weight:600}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.detail-grid div{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.detail-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.detail-grid strong{display:block;margin-top:8px}.actions-row{display:flex;flex-wrap:wrap;gap:10px}.actions-row form button{width:auto;margin-top:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:800;font-size:12px;background:#eef2f0}.badge.active{background:#e3f7ed;color:var(--green)}.badge.pending,.badge.hardware_changed{background:#fff3df;color:var(--orange)}.badge.suspended{background:#eaf1ff;color:var(--blue)}.badge.terminated{background:#fff1ed;color:var(--red)}.badge.offline{background:#f1f3f2;color:#5b625f}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.split,.detail-grid,.inline-form{grid-template-columns:1fr}.shell,.tabs,.topbar{padding-left:16px;padding-right:16px}table{font-size:13px}.panel{overflow:auto}}
