:root{--bg:#07101f;--side:#091427;--panel:#0e1a30;--panel2:#111f39;--line:#213456;--text:#edf4ff;--muted:#8ea3c5;--blue:#5b7cff;--blue2:#7e98ff;--green:#25c69a;--amber:#f1b84b;--red:#ef6379;--shadow:0 18px 50px rgba(0,0,0,.18)}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 85% 5%,#122650 0,transparent 28%),var(--bg);color:var(--text);font-size:14px}.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:rgba(7,17,34,.94);border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;font-weight:900;font-size:17px;letter-spacing:.05em;padding:3px 8px 22px}.brand span{display:block;color:var(--blue2);font-size:10px;font-weight:700;letter-spacing:.1em;margin-top:3px}.brandIcon,.logoMark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#5b7cff,#8b65ff);box-shadow:0 8px 24px rgba(91,124,255,.3);font-weight:900;color:#fff}.nav a{display:flex;gap:10px;align-items:center;color:#a9b9d4;text-decoration:none;padding:10px 11px;border-radius:10px;margin:2px 0;transition:.15s}.nav a span{width:18px;text-align:center;color:#7188b5}.nav a:hover,.nav a.active{background:#122342;color:#fff}.nav a.active{box-shadow:inset 2px 0 0 var(--blue)}.navLabel{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#526c98;margin:18px 10px 7px}.main{padding:26px 30px 50px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{font-size:28px;margin:2px 0 0;letter-spacing:-.03em}.eyebrow{font-size:10px;letter-spacing:.13em;color:#6884b5;font-weight:800}.topActions{display:flex;align-items:center;gap:10px}.userChip{background:#0d1a31;border:1px solid var(--line);border-radius:12px;padding:7px 11px;min-width:120px}.userChip b,.userChip span{display:block}.userChip span{color:var(--muted);font-size:11px}.muted{color:var(--muted)}a{color:#9eb2ff}.stats{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.stat{display:block;text-decoration:none;color:inherit;background:linear-gradient(180deg,rgba(18,34,62,.95),rgba(12,25,46,.95));border:1px solid var(--line);border-radius:15px;padding:17px;min-height:120px;box-shadow:var(--shadow)}.stat:hover{border-color:#38558a}.stat span,.stat small{display:block;color:var(--muted)}.stat b{display:block;font-size:28px;letter-spacing:-.04em;margin:8px 0 5px}.stat small{font-size:11px}.stat.accent{background:linear-gradient(150deg,#17355d,#18254b);border-color:#345a90}.panel,.tablePanel,.projectCard,.installCard{background:linear-gradient(180deg,rgba(15,29,53,.96),rgba(11,24,44,.96));border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.panel{padding:18px;margin-top:16px}.tablePanel{margin-top:16px;overflow:hidden}.panel h3{margin:0 0 4px;font-size:17px}.panel p{color:var(--muted);margin:3px 0 12px}.panelHead{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:13px}.panelHead a{text-decoration:none}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.statusDot{color:#8bf1ce;background:#123d38;border:1px solid #1d6156;border-radius:999px;padding:6px 9px;font-size:11px}.apiBox{background:#081426;border:1px solid #1c3357;border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.apiBox span{color:var(--muted);font-size:12px}.apiBox code,code{font-family:"SFMono-Regular",Consolas,monospace;color:#cbd7ff}.miniGrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:13px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.miniGrid div{padding:12px;border-right:1px solid var(--line)}.miniGrid div:last-child{border:0}.miniGrid b,.miniGrid span{display:block}.miniGrid b{font-size:20px}.miniGrid span{font-size:11px;color:var(--muted)}.listRow{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit;padding:10px 0;border-bottom:1px solid var(--line)}.listRow:last-child{border:0}.listRow b,.listRow span{display:block}.listRow span{color:var(--muted);font-size:11px}.activityList{display:grid;gap:2px}.activityItem{display:flex;gap:11px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(33,52,86,.7)}.activityItem:last-child{border:0}.activityIcon{width:31px;height:31px;border-radius:9px;background:#152a4c;color:#8ca8ff;display:grid;place-items:center;font-weight:800}.activityItem b,.activityItem span{display:block}.activityItem span{font-size:11px;color:var(--muted);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,#5275ff,#6d62f5);color:#fff;border:0;border-radius:9px;padding:9px 13px;text-decoration:none;cursor:pointer;font-weight:700;font-size:12px;box-shadow:0 8px 22px rgba(79,110,247,.18)}.btn:hover{filter:brightness(1.07)}.btn.secondary{background:#172846;color:#c7d4e9;box-shadow:none;border:1px solid #294064}.btn.small{padding:7px 10px;font-size:11px}.btn.full{width:100%}.formPanel{padding:0}.formPanel summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:800;color:#dce6ff}.formPanel summary::-webkit-details-marker{display:none}.formPanel[open] summary{border-bottom:1px solid var(--line)}.formBody{padding:17px 18px}.formGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.field{margin-bottom:11px}.field.wide{grid-column:span 2}.field label{display:block;color:#9fb0cc;font-size:11px;font-weight:700;margin-bottom:6px}.input,select,textarea{width:100%;background:#081426;color:#edf4ff;border:1px solid #263b61;border-radius:9px;padding:9px 10px;outline:none;min-height:38px}.input:focus,select:focus,textarea:focus{border-color:#5b7cff;box-shadow:0 0 0 3px rgba(91,124,255,.1)}textarea{min-height:88px;resize:vertical}.checkField{display:flex;align-items:end}.checkField label{padding:10px 0}.checkField input{vertical-align:middle}.hint{font-size:12px}.projectGrid,.installationGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.projectCard,.installCard{padding:16px}.projectCard h3,.installCard h3{font-size:18px;margin:12px 0 3px}.projectCard p,.installCard p{color:var(--muted);margin:0 0 14px}.projectTop,.installHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.projectTop strong{color:#a9baff}.projectMeta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.projectMeta span{background:#0a172b;border:1px solid #1e3253;border-radius:9px;padding:8px;color:var(--muted);font-size:10px}.projectMeta b{display:block;color:#e6eeff;font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#1a2d50;color:#b9c9e7;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.badge.ok{background:#113f37;color:#8de8cd}.badge.warn{background:#4f3918;color:#ffd488}.badge.bad{background:#4d2431;color:#ff9caf}.badge.big{padding:7px 11px;font-size:11px}.toolbar{margin-bottom:8px}.filterPills{display:flex;gap:6px;flex-wrap:wrap}.filterPills a{padding:7px 9px;background:#0c1a30;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:#9fb0cc;font-size:11px}.filterPills a.active{background:#1b3562;color:#fff;border-color:#34588f}.kanban{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:12px;margin-top:16px;overflow-x:auto;padding-bottom:8px}.kanbanCol{background:rgba(8,19,37,.7);border:1px solid #1d3050;border-radius:14px;padding:10px;min-height:380px}.kanbanHead{display:flex;justify-content:space-between;align-items:center;padding:3px 3px 10px}.kanbanHead h3{font-size:13px;margin:0}.kanbanHead span{font-size:10px;background:#1a2d4e;padding:4px 7px;border-radius:999px}.taskCard{background:#10203a;border:1px solid #24395d;border-radius:12px;padding:11px;margin-bottom:9px}.taskCard h4{margin:9px 0 4px;font-size:13px}.taskCard p{font-size:11px;color:#91a5c7;margin:0 0 8px}.taskCard>small{display:block;color:#b0c0d9;font-size:10px;line-height:1.45}.taskBadges{display:flex;gap:5px}.taskFoot{display:flex;justify-content:space-between;color:#7289ad;font-size:9px;margin-top:10px}.taskActions{display:flex;gap:4px;flex-wrap:wrap;margin-top:9px}.taskActions form{margin:0}.iconBtn{background:#172d50;color:#b9cae5;border:1px solid #29446e;border-radius:7px;padding:5px 7px;cursor:pointer;font-size:10px}.iconBtn.danger{color:#ff9aab}.tablePanel table,.panel table{width:100%;border-collapse:collapse}.tablePanel th,.tablePanel td,.panel th,.panel td{padding:11px 12px;border-bottom:1px solid #1f3252;text-align:left;font-size:12px;vertical-align:middle}.tablePanel th,.panel th{color:#7f96ba;font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:#0b1830}.tablePanel tr:last-child td,.panel tr:last-child td{border:0}.tablePanel td small,.panel td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.key{font-size:10px}.licenseHero{display:flex;align-items:end;justify-content:space-between;background:linear-gradient(135deg,#142a50,#151f42);border:1px solid #2b4875;border-radius:16px;padding:18px}.licenseHero h2{margin:7px 0;font-size:20px}.licenseHero .back{text-decoration:none;font-size:11px}.moduleChecks{display:grid;gap:8px;margin-bottom:13px}.moduleChecks label{display:flex;gap:10px;align-items:center;padding:10px;background:#0a172b;border:1px solid #203658;border-radius:10px;cursor:pointer}.moduleChecks label:has(input:checked){border-color:#446bd6;background:#10234a}.moduleChecks input{width:17px;height:17px}.moduleChecks b,.moduleChecks small{display:block}.moduleChecks small{color:var(--muted);font-size:10px;margin-top:2px}.licenseFacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.licenseFacts div,.settingsRows div{padding:10px;background:#09162a;border:1px solid #1e3355;border-radius:9px}.licenseFacts span,.licenseFacts b,.settingsRows span,.settingsRows b{display:block}.licenseFacts span,.settingsRows span{color:var(--muted);font-size:10px}.licenseFacts b,.settingsRows b{font-size:11px;margin-top:3px}.updateFlag{font-size:10px;background:#4b3616;color:#ffd178;border:1px solid #705327;border-radius:999px;padding:5px 8px}.settingsRows{display:grid;gap:8px}.textOk{color:#75dfc2}.textBad{color:#ff8fa1}.roadmap{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center}.roadmap>span{display:grid;place-items:center;width:28px;height:28px;background:#17325b;border-radius:8px;color:#9db4ff;font-weight:900}.roadmap b,.roadmap small{display:block}.roadmap small{color:var(--muted);margin-top:2px}.empty{color:var(--muted);padding:15px 0}.flash{padding:11px 13px;border-radius:10px;margin-bottom:12px;background:#17365e;border:1px solid #28517f}.flash.success{background:#123b34;border-color:#225d51}.flash.error{background:#472631;border-color:#6d3545}.loginbody{background:radial-gradient(circle at 50% 0,#172c57 0,transparent 35%),#07101f}.loginwrap{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(430px,100%);background:rgba(13,27,51,.95);border:1px solid #294269;border-radius:20px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.loginbox .logoMark{margin-bottom:17px}.loginbox h1{font-size:23px;margin:0 0 6px}.loginbox p{margin:0 0 20px}.tableScroll{overflow:auto}@media(max-width:1250px){.stats{grid-template-columns:repeat(3,1fr)}.projectGrid,.installationGrid{grid-template-columns:repeat(2,1fr)}.formGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{display:flex;gap:4px;overflow:auto}.nav a{white-space:nowrap}.navLabel{display:none}.brand{padding-bottom:12px}.main{padding:20px}.split{grid-template-columns:1fr}.projectGrid,.installationGrid{grid-template-columns:1fr}.topbar{align-items:flex-start}.userChip{display:none}.kanban{grid-template-columns:repeat(4,260px)}}@media(max-width:620px){.main{padding:15px}.stats{grid-template-columns:1fr 1fr}.formGrid{grid-template-columns:1fr}.field.wide{grid-column:span 1}.topbar h1{font-size:23px}.tablePanel{overflow:auto}.tablePanel table{min-width:800px}.licenseHero{align-items:flex-start;gap:15px}.licenseFacts,.projectMeta{grid-template-columns:1fr}.miniGrid{grid-template-columns:1fr}.miniGrid div{border-right:0;border-bottom:1px solid var(--line)}.stats .stat:last-child{grid-column:span 2}}@media(max-width:420px){.stats{grid-template-columns:1fr}.stats .stat:last-child{grid-column:auto}}
.deployActions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:12px}.deployActions form{margin:0}.updateForm{display:flex;gap:6px;align-items:center;flex:1}.updateForm select{min-width:140px;min-height:32px;padding:6px 8px}.btn:disabled,.iconBtn:disabled{opacity:.45;cursor:not-allowed;filter:none}.dangerBtn{background:#4d2431;border:1px solid #7b394a;color:#ffd4dc;box-shadow:none}.agentHint{display:block;color:#7f96ba;margin-top:10px;line-height:1.45}.inlineError{background:#472631;border:1px solid #6d3545;color:#ffb8c4;border-radius:9px;padding:8px 10px;font-size:10px;margin:9px 0}.topGap{margin-top:8px}.hash{font-size:9px;white-space:nowrap}
.serverBanner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0}.serverBanner h3{margin:4px 0;font-size:18px}.serverBanner p{margin:0;color:var(--muted)}.serverGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.serverCard{background:linear-gradient(145deg,#0d1d36,#0b172a);border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow)}.serverHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.serverHead>div{display:flex;gap:6px;flex-wrap:wrap}.serverCard h3{font-size:18px;margin:13px 0 4px}.serverCard>p{margin:0 0 13px;color:var(--muted)}.serverFacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.serverFacts span{background:#081426;border:1px solid #1e3355;border-radius:9px;padding:8px;color:var(--muted);font-size:10px}.serverFacts b{display:block;color:var(--text);font-size:11px;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.credentialPanel{border-color:#705327;background:linear-gradient(135deg,#231b10,#101a2d)}.credentialGrid{display:grid;grid-template-columns:1fr 2fr;gap:10px}.credentialGrid>div{padding:12px;background:#081426;border:1px solid #31476b;border-radius:10px;overflow:auto}.credentialGrid span,.credentialGrid code{display:block}.credentialGrid span{font-size:10px;color:var(--muted);margin-bottom:6px}.credentialGrid code{font-size:12px;white-space:nowrap}.codeHint{margin-top:10px;color:var(--muted);font-size:11px}.wideMeta{grid-column:1/-1}.wideMeta b{white-space:normal;word-break:break-all}@media(max-width:900px){.serverGrid{grid-template-columns:1fr}.serverBanner{align-items:flex-start;flex-direction:column}.credentialGrid{grid-template-columns:1fr}}@media(max-width:620px){.serverFacts{grid-template-columns:1fr 1fr}}
.aiStats .stat b{font-size:23px}.aiPricing3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:10px 0 14px}.aiPricing3>div{background:#081426;border:1px solid #1e3355;border-radius:12px;padding:12px}.aiPricing3 b{display:block;margin-bottom:9px}.aiPricing3 label{display:grid;grid-template-columns:65px 1fr;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin:6px 0}.miniEdit{display:grid;gap:6px;min-width:300px;background:#081426;border:1px solid #294064;border-radius:10px;padding:10px;margin-top:7px}.miniThree{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.input.compact{min-width:90px;padding:6px 8px;min-height:32px}@media(max-width:900px){.aiPricing3{grid-template-columns:1fr}}@media(max-width:620px){.miniEdit{min-width:240px}.miniThree{grid-template-columns:1fr}}

/* v0.7 Release Pipeline */
.releasePipeline{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin-top:18px}
.releasePipeline>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent,#6d5dfc);color:#fff;font-weight:800}
.releasePipeline div{min-width:0}.releasePipeline b,.releasePipeline small{display:block}.releasePipeline small{opacity:.7;margin-top:3px}
.releaseCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;margin-top:16px}
.releaseCard{margin:0}.releaseCardHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.releaseCardHead>div{display:flex;gap:6px;flex-wrap:wrap}.releaseCardHead>code{font-size:1.05rem;font-weight:800}
.releaseActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.releaseActions form{margin:0}.releaseActions .updateForm{display:flex;gap:8px;align-items:center;flex:1;min-width:260px}.releaseActions select{max-width:290px}
.packageLine{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid rgba(127,127,127,.18);border-radius:10px}.releaseNotes{display:block;margin-top:12px;opacity:.78;line-height:1.5}
@media(max-width:900px){.releasePipeline{grid-template-columns:auto 1fr}.releaseCards{grid-template-columns:1fr}}

/* v1.3.1 temporary test-data cleanup */
.dangerZone{border-color:#75394a;background:linear-gradient(180deg,rgba(75,31,43,.72),rgba(26,21,34,.95))}.dangerZone summary{cursor:pointer;font-weight:900;color:#ffb7c4}.dangerZone code{color:#ffd5dd}.dangerResetForm{display:grid;gap:8px;max-width:760px}.dangerResetForm label{color:#d7a5af;font-size:11px}.dangerResetForm .row{display:flex;gap:8px;align-items:center}.dangerResetForm .input{flex:1}.inlineDelete{display:inline;margin:0}.row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
