:root{--navy:#061f42;--blue:#0b4d91;--blue2:#176fc0;--cyan:#27b8f2;--green:#087f5b;--red:#c52a42;--amber:#d38a08;--purple:#614bc1;--bg:#edf3f8;--card:#fff;--text:#172438;--muted:#65768b;--line:#dce6ef;--soft:#f5f9fc;--shadow:0 20px 60px rgba(6,31,66,.11)}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 0 0,rgba(23,111,192,.16),transparent 32rem),radial-gradient(circle at 100% 100%,rgba(8,127,91,.10),transparent 34rem),linear-gradient(145deg,#f8fbfd,var(--bg));overflow-x:hidden}a{text-decoration:none}button,input,select,textarea{font:inherit}.topline{position:fixed;z-index:1000;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--blue),var(--cyan) 60%,#00a77c)}.gridbg{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(11,77,145,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(11,77,145,.025) 1px,transparent 1px);background-size:52px 52px}.app{position:relative;z-index:2;padding-top:5px}.header{margin:18px 18px 0;padding:20px;border-radius:28px;color:#fff;background:radial-gradient(circle at 88% 0,rgba(39,184,242,.25),transparent 28rem),linear-gradient(145deg,var(--navy),#07366b 58%,#075b83);box-shadow:0 28px 76px rgba(6,31,66,.22);overflow:hidden}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.logo{width:66px;height:66px;display:grid;place-items:center;flex:0 0 66px;padding:5px;border-radius:20px;background:#fff}.logo img{width:100%;height:100%;object-fit:contain;border-radius:15px}.eyebrow{display:inline-flex;gap:6px;align-items:center;margin-bottom:6px;padding:5px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);font-size:8px;font-weight:850;letter-spacing:.55px;text-transform:uppercase}.title{margin:0;font-size:clamp(24px,3vw,39px);font-weight:950;letter-spacing:-1.2px;line-height:1}.subtitle{margin:7px 0 0;max-width:760px;color:rgba(255,255,255,.7);font-size:9px;line-height:1.55}.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.nav a,.nav button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid rgba(255,255,255,.16);border-radius:12px;color:#fff;background:rgba(255,255,255,.08);font-size:7px;font-weight:900;text-transform:uppercase;cursor:pointer}.nav .primary{color:var(--navy);background:#fff}.main{width:100%;max-width:1760px;margin:auto;padding:15px 18px 34px}.flash{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:12px 14px;border-radius:15px;font-size:8px;font-weight:800}.flash.ok{color:#076448;border:1px solid #bfe8d9;background:#e8f8f1}.flash.err{color:#922138;border:1px solid #efc4cd;background:#fff0f3}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:13px;padding:21px;border:1px solid rgba(255,255,255,.9);border-radius:27px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.hero h2{margin:0;max-width:900px;font-size:clamp(25px,3vw,40px);font-weight:950;letter-spacing:-1.3px;line-height:1.04}.hero h2 span{color:var(--blue2)}.hero p{max-width:830px;margin:11px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.tag{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#586a7e;font-size:7px;font-weight:800}.hero-side{padding:18px;border-radius:21px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--blue));box-shadow:0 18px 38px rgba(11,77,145,.18)}.hero-side small{display:block;color:rgba(255,255,255,.65);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.hero-side strong{display:block;margin-top:8px;font-size:30px;font-weight:950}.hero-side span{display:block;margin-top:6px;color:rgba(255,255,255,.72);font-size:7.5px;line-height:1.5}.kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:12px}.kpi{min-height:112px;padding:14px;border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(6,31,66,.06)}.kpi i{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;color:var(--blue);background:#e9f4fd;font-size:15px}.kpi strong{display:block;margin-top:10px;font-size:24px;font-weight:950}.kpi span{display:block;margin-top:5px;color:var(--muted);font-size:6.5px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}.panel{margin-top:12px;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:26px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbfd)}.panel-title{display:flex;align-items:center;gap:9px}.picon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,var(--blue),var(--blue2));font-size:16px}.panel h3{margin:0;font-size:13px;font-weight:900}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:7px}.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--line);border-radius:12px;color:#536477;background:#fff;font-size:7px;font-weight:900;text-transform:uppercase;cursor:pointer}.btn.primary{color:#fff;border-color:var(--blue);background:linear-gradient(145deg,var(--navy),var(--blue))}.btn.green{color:#fff;border-color:var(--green);background:var(--green)}.btn.red{color:#fff;border-color:var(--red);background:var(--red)}.btn.purple{color:#fff;border-color:var(--purple);background:var(--purple)}.filters{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(130px,.4fr)) auto;gap:8px;padding:12px 15px;border-bottom:1px solid var(--line);background:#fbfdfe}.control{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:12px;outline:0;color:var(--text);background:var(--soft);font-size:8px;font-weight:700}.control:focus{border-color:var(--blue2);background:#fff;box-shadow:0 0 0 4px rgba(23,111,192,.08)}textarea.control{min-height:90px;padding:10px 11px;resize:vertical}.table-wrap{width:100%;overflow:auto}.data{width:100%;min-width:1420px;border-collapse:separate;border-spacing:0}.data th{padding:11px 12px;border-bottom:1px solid var(--line);color:#69798d;background:#f4f8fb;font-size:6.5px;font-weight:950;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.data td{padding:12px;border-bottom:1px solid #e8eef4;vertical-align:middle;background:rgba(255,255,255,.9)}.data tr:hover td{background:#f9fcfe}.device{display:flex;align-items:center;gap:9px}.devicon{width:39px;height:39px;display:grid;place-items:center;flex:0 0 39px;border-radius:13px;color:var(--blue);background:#e9f4fd;font-size:17px}.device strong,.cell-main{display:block;font-size:8.5px;font-weight:900}.device small,.cell-sub{display:block;margin-top:3px;color:#8290a1;font-size:6.5px;line-height:1.4}.state{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid transparent;border-radius:999px;font-size:6.5px;font-weight:900;white-space:nowrap}.state.ok{color:#086247;border-color:#bfe8d9;background:#e8f8f1}.state.warn{color:#865900;border-color:#ecd49a;background:#fff6db}.state.danger{color:#9b2139;border-color:#edc0c9;background:#fff0f3}.health{display:flex;align-items:center;gap:7px}.healthbar{width:72px;height:6px;overflow:hidden;border-radius:999px;background:#e7edf3}.healthbar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),var(--amber),var(--green))}.actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.mini{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 7px;border:1px solid var(--line);border-radius:9px;color:#546579;background:#fff;font-size:6.5px;font-weight:900}.mini.primary{color:#fff;border-color:var(--blue);background:var(--blue)}.empty{padding:42px 16px;text-align:center;color:var(--muted)}.empty i{display:block;margin-bottom:10px;color:var(--blue);font-size:34px}.empty strong{display:block;color:var(--text);font-size:11px}.empty span{display:block;margin-top:5px;font-size:7.5px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.detail{padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.detail span{display:block;color:#7b899b;font-size:6px;font-weight:950;text-transform:uppercase;letter-spacing:.4px}.detail strong{display:block;margin-top:5px;font-size:8px;line-height:1.45}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.timeline{display:flex;flex-direction:column;gap:7px;padding:13px}.event{display:grid;grid-template-columns:auto 1fr auto;gap:9px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.event-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--blue);background:#fff}.event strong{display:block;font-size:7.5px}.event p{margin:3px 0 0;color:var(--muted);font-size:6.5px;line-height:1.45}.event time{color:#8794a4;font-size:6px;white-space:nowrap}.form-card{margin-top:12px;padding:17px;border:1px solid rgba(255,255,255,.9);border-radius:25px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.form-section{margin-bottom:12px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff}.form-section h3{margin:0 0 11px;font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.group.full{grid-column:1/-1}.group.two{grid-column:span 2}.group label{display:block;margin-bottom:5px;color:#56677a;font-size:6.5px;font-weight:950;text-transform:uppercase;letter-spacing:.45px}.form-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.callout{padding:13px;border:1px solid #c9e0f2;border-radius:15px;color:#24577f;background:#edf7ff;font-size:7.5px;line-height:1.55}.callout.warn{color:#7b5608;border-color:#ecd8a6;background:#fff8e8}.codebox{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--blue))}.codebox code{font-size:18px;font-weight:950;letter-spacing:2px}.pager{display:flex;justify-content:center;gap:5px;padding:12px}.pager a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--blue);background:#fff;font-size:7px;font-weight:900}.pager a.active{color:#fff;background:var(--blue)}.footer{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding:11px 14px;border:1px solid rgba(255,255,255,.9);border-radius:16px;color:#8190a2;background:rgba(255,255,255,.74);font-size:6.5px}
@media(max-width:1350px){.kpis{grid-template-columns:repeat(4,1fr)}.filters{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr}}@media(max-width:860px){.header{margin:10px 8px 0;padding:16px;border-radius:22px}.header-inner{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.main{padding:12px 8px 27px}.kpis{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.form-grid,.detail-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}}@media(max-width:620px){.logo{width:54px;height:54px;flex-basis:54px}.nav{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.filters,.form-grid,.detail-grid{grid-template-columns:1fr}.group.full,.group.two{grid-column:auto}.table-wrap{overflow:visible}.data{min-width:0}.data thead{display:none}.data,.data tbody,.data tr,.data td{display:block;width:100%}.data tbody{padding:9px}.data tr{margin-bottom:9px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(6,31,66,.06)}.data td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;align-items:center;padding:9px 11px;border-bottom:1px solid #e9eff4;background:#fff}.data td::before{content:attr(data-label);color:#8390a0;font-size:6px;font-weight:950;text-transform:uppercase;letter-spacing:.4px}.actions{justify-content:flex-start}.event{grid-template-columns:auto 1fr}.event time{grid-column:2}.footer{flex-direction:column}}
