:root{--navy:#15223b;--blue:#315efb;--bg:#f5f7fb;--text:#182033;--muted:#6e7789;--line:#e8ebf1;--ok:#17895d;--radius:18px}*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif;color:var(--text);background:var(--bg)}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.top{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.logo,.brand{display:flex;align-items:center;gap:12px}.logo i,.brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#315efb,#7b55f6);color:#fff;font-weight:800;font-style:normal}.brand small,.brand b{display:block}.brand small{color:var(--muted);margin-top:3px}.menu{border:0;background:#eef1f7;border-radius:10px;padding:8px 11px}.side{position:fixed;right:-270px;top:68px;bottom:0;width:260px;background:var(--navy);padding:20px;transition:.2s;z-index:9;display:flex;flex-direction:column;justify-content:space-between}.nav-open .side{right:0}.side a,.side button{display:block;width:100%;padding:13px 14px;margin:5px 0;border:0;border-radius:12px;background:transparent;color:#dce4f4;text-align:right}.side a:hover,.side button:hover{background:#ffffff12}.page{padding:22px;max-width:1180px;margin:auto}.heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.heading small{color:var(--blue);font-weight:700}.heading h1{margin:5px 0 4px;font-size:27px}.heading p{margin:0;color:var(--muted)}.badge{background:#e9edff;color:var(--blue);padding:7px 11px;border-radius:99px;font-weight:700}.card,.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 30px #17213a08}.stats{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}.stats article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.stats i{float:left;color:var(--blue);font-style:normal;font-weight:800}.stats b,.stats span{display:block}.stats span{color:var(--muted);font-size:13px;margin-top:5px}.status{list-style:none;padding:0;margin:0}.status li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.status b{color:var(--ok)}.status em{color:var(--muted);font-style:normal}.grid{display:grid;grid-template-columns:1fr;gap:16px}label{display:block;font-size:14px;font-weight:650;margin-bottom:15px}input,select{display:block;width:100%;padding:12px 13px;border:1px solid #d9deea;border-radius:11px;margin-top:7px;background:#fff;outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #315efb18}.btn{display:inline-flex;justify-content:center;border:0;background:var(--blue);color:#fff;padding:12px 18px;border-radius:11px;font-weight:700;cursor:pointer}.auth,.install{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#e7edff,var(--bg) 55%)}.auth-card{width:min(100%,420px)}.auth-card h1{margin-top:30px;margin-bottom:6px}.auth-card>p{color:var(--muted);margin-top:0}.auth-card .btn{width:100%}.center{justify-content:center}.check{display:flex;gap:8px;align-items:center;font-weight:400}.check input{width:auto;margin:0}.alert{padding:12px;background:#fff0f0;color:#a62d2d;border-radius:10px;margin:12px 0}.notice{padding:13px;background:#e9fff5;color:#08734d;border-radius:12px;margin-bottom:15px}.installer{width:min(100%,850px)}.installer>.brand{margin-bottom:18px;justify-content:center}.installer h2{font-size:17px;margin-top:26px}.checks{border:1px solid var(--line);border-radius:13px;padding:4px 14px}.checks div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.checks div:last-child{border:0}.ok{color:var(--ok)}.bad{color:#b32727}.success{text-align:center}.empty{padding:35px;text-align:center;color:var(--muted);background:var(--bg);border-radius:12px}.table>div{display:grid;grid-template-columns:1fr 1fr 1fr;padding:12px;border-bottom:1px solid var(--line)}@media(min-width:760px){.menu{display:none}.side{right:0}.page{margin-right:260px;padding:38px}.stats{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.top{padding-right:30px}.top .logo{margin-right:0}.installer .grid{grid-template-columns:repeat(2,1fr)}}
