:root{--blue:#0f4c81;--blue-dark:#0a355a;--blue-soft:#eaf2f8;--orange:#ff7a00;--green:#16845a;--red:#d92d20;--ink:#263442;--muted:#667685;--line:#dce4ea;--surface:#fff;--canvas:#f4f7f9;--radius:7px;--shadow:0 8px 24px rgba(23,50,72,.08)}
*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas)}body{margin:0}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:25px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:block;padding:4px 10px 30px}.brand img{display:block;width:176px;height:auto}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:6px;color:#506271;font-size:14px;font-weight:600}.nav-item:hover{background:#f3f6f8;color:var(--blue)}.nav-item.active{background:var(--blue-soft);color:var(--blue);box-shadow:inset 3px 0 var(--blue)}.nav-icon{display:grid;place-items:center}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:18px 11px 0;display:grid;gap:6px;font-size:13px}.sidebar-foot span{font-weight:700}.sidebar-foot a{color:var(--muted)}main{min-width:0}.topbar{min-height:92px;background:#fff;border-bottom:1px solid var(--line);padding:20px clamp(22px,4vw,54px);display:flex;align-items:center;gap:18px;justify-content:space-between}.topbar h1{font-size:25px;margin:3px 0 0;letter-spacing:0}.eyebrow{text-transform:uppercase;color:var(--blue);font-weight:800;font-size:11px;letter-spacing:.08em}.source-badge,.pill{display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:700;padding:6px 10px;background:var(--blue-soft);color:var(--blue)}.menu-button{display:none;background:none;border:0;color:var(--blue);padding:8px}.page{padding:28px clamp(22px,4vw,54px) 56px;max-width:1600px;margin:0 auto}.notice,.error,.info-band{padding:13px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:14px}.notice,.info-band{background:#eaf6f1;border-left:4px solid var(--green)}.error{background:#fff0ef;color:#9e2018;border-left:4px solid var(--red)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px}.metric{padding:20px 22px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric span,.metric small{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:29px;color:var(--blue-dark);margin:7px 0;letter-spacing:0}.metric-grid.compact{grid-template-columns:minmax(260px,420px);width:max-content;max-width:100%}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;margin-bottom:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:22px}.panel h2,.requirements h2,.install-form h2{font-size:18px;margin:5px 0 14px;letter-spacing:0}.panel p{color:var(--muted);line-height:1.55;font-size:14px}.panel code{background:#edf3f7;color:var(--blue-dark);padding:2px 5px;border-radius:4px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;margin:14px 0;overflow:hidden}.stat-grid div{padding:13px;border-right:1px solid var(--line)}.stat-grid div:last-child{border:0}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-size:23px;color:var(--blue-dark)}.stat-grid span{font-size:11px;color:var(--muted);margin-top:3px}.notice.attention{background:#fff7ed;border-left-color:var(--orange);color:#8a3f00}.section-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:10px}.list{margin:0 -22px -22px}.list-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 22px;border-top:1px solid var(--line)}.list-row strong{font-size:14px}.list-row p{margin:4px 0 0;font-size:12px}.list-row time{font-size:12px;color:var(--muted)}.severity{width:8px;height:34px;border-radius:4px;background:var(--blue)}.severity.urgent{background:var(--red)}.severity.attention{background:var(--orange)}.severity.informative{background:var(--blue)}.severity.resolved{background:var(--green)}.status-line{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.status-panel .secondary-button{margin-top:16px;width:100%}
.searchbar{display:flex;max-width:720px;margin-bottom:18px}.searchbar input{border-radius:6px 0 0 6px}.searchbar button{border:0;background:var(--blue);color:white;font-weight:700;padding:0 22px;border-radius:0 6px 6px 0}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#f6f8fa;color:#607080;padding:12px 14px;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.05em}td{padding:13px 14px;border-top:1px solid var(--line);vertical-align:top;line-height:1.4}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px;max-width:520px}.progress{width:90px;height:6px;background:#e6ecf0;border-radius:3px;display:inline-block;margin-right:8px;overflow:hidden;vertical-align:middle}.progress i{display:block;height:100%;background:var(--green)}.pill{padding:4px 8px}.pill.urgent{background:#ffebe9;color:var(--red)}.pill.attention{background:#fff0df;color:#b25000}.pill.informative{background:#e5f5ee;color:var(--green)}.pill.resolved{background:#eef1f3;color:#687580}.empty{padding:30px;text-align:center;color:var(--muted)}code{font-family:"Cascadia Code",Consolas,monospace;font-size:12px;background:#eef3f6;padding:2px 5px;border-radius:4px}
label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#465867;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #bcc9d2;background:#fff;border-radius:6px;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(15,76,129,.12)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.toggle{display:flex;align-items:center;gap:10px}.toggle input{width:18px;height:18px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:6px;padding:10px 17px;border:1px solid var(--blue);font-weight:800;font-size:13px}.primary-button{background:var(--blue);color:#fff}.primary-button:hover{background:var(--blue-dark)}.secondary-button{background:#fff;color:var(--blue)}.help{font-size:12px!important;color:var(--muted)}
.auth-page{min-height:100vh;background:linear-gradient(135deg,#f7fafb 0 66%,#e8f1f6 66%);display:grid;place-items:center;padding:30px}.login-panel{width:min(440px,100%);background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px rgba(21,54,78,.14);padding:36px;border-radius:8px}.login-panel img{width:190px;margin-bottom:30px}.login-panel h1{font-size:26px;margin:5px 0 8px}.login-panel p{color:var(--muted);margin:0 0 25px}.login-panel .primary-button{width:100%}.install-shell{width:min(980px,100%);background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px rgba(21,54,78,.13);border-radius:8px;padding:clamp(24px,5vw,50px)}.install-head{display:grid;grid-template-columns:220px 1fr;gap:35px;align-items:center;padding-bottom:30px;border-bottom:1px solid var(--line)}.install-head img{width:100%}.install-head h1{font-size:28px;margin:5px 0 7px}.install-head p{margin:0;color:var(--muted)}.requirements{padding:23px 0;border-bottom:1px solid var(--line)}.check{display:inline-flex;padding:6px 9px;border-radius:4px;margin:0 6px 6px 0;font-size:12px;font-weight:700}.check.ok{background:#e5f5ee;color:var(--green)}.check.bad{background:#ffebe9;color:var(--red)}.install-form section{padding:23px 0;border-bottom:1px solid var(--line)}.install-form h2 small{font-size:12px;font-weight:400;color:var(--muted)}.install-form>.primary-button{margin-top:25px;min-width:220px}
@media(max-width:980px){.metric-grid{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.split{grid-template-columns:1fr}.source-badge{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;width:260px;transform:translateX(-102%);transition:transform .2s;box-shadow:var(--shadow)}.menu-open .sidebar{transform:translateX(0)}.menu-button{display:grid}.topbar{justify-content:flex-start;padding:15px 18px;min-height:76px}.topbar h1{font-size:20px}.page{padding:20px 16px 45px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:24px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.install-head{grid-template-columns:1fr}.install-head img{width:190px}.auth-page{padding:14px}.install-shell,.login-panel{padding:25px 20px}.table-wrap{border-radius:4px}td,th{padding:11px}.list-row{grid-template-columns:7px minmax(0,1fr)}.list-row time{display:none}}
