:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17202a;background:#eef3f6;--blue:#174d76;--green:#21845b;--red:#b63b3b;--amber:#b57816;--line:#d8e1e7}*{box-sizing:border-box}body{margin:0;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:2}.topbar>div:first-child{display:flex;gap:16px;align-items:baseline}.topbar span{color:#687782}.top-actions{display:flex;gap:10px;align-items:center}.top-actions form{margin:0}main{width:min(1440px,92vw);margin:28px auto 56px}.overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}.overview div,.app-card,.package-panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px #1232 0}.overview div{padding:18px 20px}.overview span{display:block;color:#71808b;font-size:.86rem;margin-bottom:7px}.overview strong{font-size:1.08rem}.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 16px}.section-head h1,.package-panel h2{margin:0 0 4px}.section-head p,.package-panel p{margin:0;color:#71808b}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.app-card{padding:20px}.app-top{display:flex;justify-content:space-between;gap:12px}.app-card h2{font-size:1.1rem;margin:0 0 5px}.app-card p{color:#71808b;margin:0 0 18px;min-height:42px}.badge{align-self:flex-start;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:700;background:#e8edf0;color:#60717d}.badge.online{background:#dff4e9;color:#176743}.badge.error{background:#fae2e2;color:#942f2f}.meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);padding-top:14px;font-size:.88rem}.meta span{color:#71808b}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}button{appearance:none;border:0;border-radius:8px;background:var(--blue);color:#fff;padding:10px 14px;font-weight:650;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e8eff4;color:var(--blue)}.danger{background:#f7e6e6;color:var(--red)}.ghost{background:transparent;color:var(--blue);border:1px solid var(--line)}.package-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:22px}.package-panel form{display:flex;gap:10px;align-items:center}.package-panel input{max-width:360px}.login-page{display:grid;place-items:center;background:linear-gradient(145deg,#123d5e,#1d678f)}.login-card{width:min(430px,92vw);background:#fff;border-radius:18px;padding:34px;box-shadow:0 20px 55px #071d2d66}.brand-mark{width:54px;height:54px;border-radius:14px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem}.login-card h1{margin:20px 0 5px}.login-card p{color:#71808b;margin:0 0 24px}.login-card label{display:block;font-weight:650;margin-bottom:8px}.login-card input{width:100%;padding:12px;border:1px solid #b9c7d0;border-radius:8px;margin-bottom:14px;font-size:1rem}.login-card button{width:100%}.alert{padding:10px 12px;border-radius:8px;margin-bottom:14px}.alert.error{background:#fae2e2;color:#942f2f}dialog{width:min(1000px,92vw);height:min(720px,85vh);border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px #0006}dialog::backdrop{background:#10202b99}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0}pre{margin:0;padding:20px;background:#121a20;color:#dce7ed;height:calc(100% - 68px);overflow:auto;white-space:pre-wrap;font:13px/1.5 Consolas,monospace}#toast{position:fixed;right:24px;bottom:24px;background:#17202a;color:#fff;border-radius:10px;padding:13px 17px;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none;max-width:460px}#toast.show{opacity:1;transform:none}code{background:#eaf0f3;padding:2px 5px;border-radius:4px}@media(max-width:1000px){.app-grid{grid-template-columns:repeat(2,1fr)}.overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.app-grid,.overview{grid-template-columns:1fr}.topbar{padding:0 18px}.topbar span{display:none}.section-head,.package-panel{align-items:stretch;flex-direction:column}.package-panel form{align-items:stretch;flex-direction:column}}
