:root{color-scheme:dark;--bg:#06121d;--panel:#0c2131;--line:#204154;--line-soft:#163345;--text:#edf7fa;--muted:#8fa9b6;--cyan:#39d9e8;--cyan-soft:#9bebf2;--gold:#dca85a;--green:#6ad5a5;--red:#ff7280;--sidebar:248px;--radius:14px;font-family:Manrope,system-ui,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-height:100vh;font-size:15px}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 0%,rgba(35,121,150,.15),transparent 32%),linear-gradient(rgba(46,105,129,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(46,105,129,.035) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px}.eyebrow,.card-kicker{font:600 .72rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.16em;color:var(--cyan)}button,input,select{font:inherit}button{cursor:pointer}.auth-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.75fr);align-items:center;gap:clamp(3rem,9vw,9rem);padding:clamp(2rem,7vw,7rem);max-width:1440px;margin:auto}.auth-brand h1{font-size:clamp(3rem,6vw,6.6rem);line-height:.89;letter-spacing:-.07em;text-transform:uppercase;margin:.8rem 0 1.5rem}.auth-brand p{max-width:540px;color:#b6c9d2;font-size:1.1rem;line-height:1.7}.auth-signal{display:flex;gap:8px;margin-top:2rem}.auth-signal span{width:52px;height:3px;background:var(--cyan)}.auth-signal span:nth-child(2){width:22px;background:var(--gold)}.auth-signal span:nth-child(3){width:9px;background:var(--line)}.auth-card{background:linear-gradient(145deg,rgba(15,41,59,.96),rgba(8,26,39,.96));border:1px solid var(--line);border-top-color:#397089;padding:2.2rem;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.33)}.auth-card h2{font-size:1.7rem;margin:.55rem 0 .65rem}.muted{color:var(--muted);line-height:1.6}.auth-card label{display:grid;gap:.5rem;margin-top:1.3rem;font-size:.82rem;font-weight:700;color:#bcd0d8}.auth-card input,.filter-row input,.filter-row select{width:100%;background:#071722;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:.83rem .9rem;outline:none}.auth-card input:focus,.filter-row input:focus,.filter-row select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,217,232,.12)}.primary-btn,.secondary-btn{border:0;border-radius:9px;padding:.92rem 1.1rem;font-weight:800;letter-spacing:.07em}.primary-btn{width:100%;margin-top:1.4rem;background:var(--cyan);color:#04151d}.secondary-btn{background:#173344;color:var(--text);border:1px solid var(--line)}.form-message{min-height:1.2em;margin:.8rem 0 0;color:var(--red)}.security-note{display:flex;gap:.7rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.78rem;line-height:1.5}.lock-mark{color:var(--gold)}.state-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.state-card{max-width:480px;text-align:center;background:var(--panel);border:1px solid var(--line);padding:3rem;border-radius:18px}.state-icon{display:grid;place-items:center;width:56px;height:56px;margin:auto;border-radius:50%;background:rgba(255,114,128,.12);border:1px solid var(--red);color:var(--red);font-size:1.4rem}.state-card p{color:var(--muted);line-height:1.6}.portal{position:relative;z-index:1;min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;background:rgba(5,18,28,.98);border-right:1px solid var(--line-soft);padding:1.5rem 1rem}.brand-lockup{padding:.5rem .65rem 1.65rem;border-bottom:1px solid var(--line-soft)}.brand-lockup span{font-size:1.2rem;font-weight:800;letter-spacing:.13em}.brand-lockup strong{display:block;margin-top:.35rem;font:600 .68rem/1.45 'IBM Plex Mono';letter-spacing:.12em;color:var(--cyan)}#portalNav{display:grid;gap:.25rem;padding:1.5rem 0}#portalNav button{position:relative;display:flex;align-items:center;gap:.8rem;width:100%;padding:.78rem .8rem;border:0;border-radius:8px;background:transparent;color:#96afba;text-align:left;font-size:.85rem;font-weight:650}#portalNav button::before{content:'';width:7px;height:7px;border:1px solid #54707d;transform:rotate(45deg)}#portalNav button:hover{background:#0c2637;color:var(--text)}#portalNav button.active{background:linear-gradient(90deg,rgba(57,217,232,.15),rgba(57,217,232,.03));color:var(--cyan-soft)}#portalNav button.active::before{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 9px rgba(57,217,232,.55)}.sidebar-foot{margin-top:auto;padding:.8rem;color:#6f8995;font:500 .62rem/1 'IBM Plex Mono';letter-spacing:.09em;display:flex;align-items:center;gap:.6rem}.live-pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.workspace{min-height:100vh;margin-left:var(--sidebar)}.topbar{height:88px;display:flex;align-items:center;gap:1rem;padding:0 clamp(1rem,3vw,2.6rem);border-bottom:1px solid var(--line-soft);background:rgba(6,18,29,.85);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.topbar h1{margin:.15rem 0 0;font-size:1.4rem}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.85rem;position:relative}.sync-state{display:grid;text-align:right}.sync-state span{font:500 .6rem 'IBM Plex Mono';letter-spacing:.11em;color:#6e8996}.sync-state strong{font-size:.75rem;margin-top:.18rem;color:#aac0c9}.role-badge,.status-pill{font:600 .67rem 'IBM Plex Mono';letter-spacing:.07em;padding:.38rem .55rem;border-radius:5px;background:rgba(57,217,232,.09);border:1px solid rgba(57,217,232,.25);color:var(--cyan-soft)}.role-badge.admin{background:rgba(220,168,90,.1);border-color:rgba(220,168,90,.3);color:#f0c680}.account-button{display:flex;align-items:center;gap:.55rem;border:0;background:transparent;color:var(--text);max-width:220px}.account-button>span:first-child{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#17394a;border:1px solid #2c6075;color:var(--cyan);font-size:.72rem;font-weight:800}.account-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:#acc1ca}.account-menu{position:absolute;right:0;top:48px;background:#0b2130;border:1px solid var(--line);border-radius:8px;padding:.4rem;box-shadow:0 14px 30px rgba(0,0,0,.35)}.account-menu button{border:0;background:transparent;color:var(--text);padding:.6rem 1rem;font-size:.75rem;font-weight:700}.icon-btn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#0b2231;color:var(--text);font-size:1.2rem}.menu-btn{display:none}.notice{margin:1.3rem clamp(1rem,3vw,2.6rem) 0;padding:.85rem 1rem;border:1px solid #8e6a34;border-radius:8px;background:rgba(220,168,90,.09);color:#eac98f}.page-content{padding:clamp(1.2rem,2.5vw,2.2rem) clamp(1rem,3vw,2.6rem) 3rem;max-width:1600px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-head h2{margin:0;font-size:1.05rem}.section-head p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem}.panel{background:linear-gradient(145deg,rgba(13,34,50,.9),rgba(8,27,40,.91));border:1px solid var(--line-soft);border-top-color:#28536a;border-radius:var(--radius);padding:1.15rem}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:.8rem;margin-bottom:1.25rem}.kpi{min-height:125px;display:flex;flex-direction:column;justify-content:space-between}.kpi .label{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#91acb7;text-transform:uppercase}.kpi .value{font-size:clamp(1.5rem,2.2vw,2.4rem);font-weight:800;letter-spacing:-.05em}.kpi .sub{font-size:.7rem;color:#6e8994}.kpi.accent{border-top-color:var(--cyan)}.kpi.gold{border-top-color:var(--gold)}.overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:1rem}.chart-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.65rem;align-items:end;height:220px;padding-top:1rem}.mission-bar{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.55rem}.bar-track{height:150px;width:min(52px,70%);display:flex;align-items:flex-end;border-radius:5px;background:#071925;border:1px solid #17384a;overflow:hidden}.bar-fill{width:100%;min-height:2px;background:linear-gradient(var(--cyan),#157c93);border-top:1px solid #a7f6fc}.bar-fill.suppressed{height:3px!important;background:#38515e}.mission-bar strong{font:600 .7rem 'IBM Plex Mono';color:#c8dce3}.mission-bar span{font-size:.7rem;color:var(--muted)}.status-stack{display:grid;gap:.65rem;margin-top:1rem}.status-line{display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:center}.status-line div{height:7px;grid-column:1/-1;background:#071824;border-radius:10px;overflow:hidden}.status-line div span{display:block;height:100%;background:var(--cyan)}.status-line:nth-child(2) div span{background:var(--gold)}.status-line:nth-child(3) div span{background:#526d7a}.activity-list{display:grid;gap:.65rem}.activity-item{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.7rem;border-bottom:1px solid var(--line-soft)}.activity-item:last-child{border:0}.event-mark{width:8px;height:8px;border-radius:50%;background:var(--cyan)}.activity-item strong{display:block;font-size:.8rem}.activity-item small{color:var(--muted)}.activity-item time{font:500 .68rem 'IBM Plex Mono';color:#78929d}.split-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem}.filter-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}.filter-row input{max-width:310px}.filter-row select{width:auto;min-width:170px}.table-wrap{overflow:auto;border:1px solid var(--line-soft);border-radius:10px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:.78rem .85rem;text-align:left;border-bottom:1px solid var(--line-soft)}th{position:sticky;top:0;background:#0b2434;color:#86a3af;font:600 .66rem 'IBM Plex Mono';letter-spacing:.08em;text-transform:uppercase}td{font-size:.8rem;color:#c8d8de}tbody tr{background:rgba(8,27,40,.45)}tbody tr:hover{background:#102c3e}tbody tr:last-child td{border:0}.participant-row{cursor:pointer}.status-pill{display:inline-block}.status-pill.completed{color:var(--green);border-color:rgba(106,213,165,.3);background:rgba(106,213,165,.08)}.status-pill.progress{color:#f0c680;border-color:rgba(220,168,90,.3);background:rgba(220,168,90,.08)}.status-pill.not-started{color:#a7b9c0;border-color:#405866;background:#122734}.pager{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;margin-top:.9rem}.pager button{padding:.55rem .8rem}.empty-state,.loading-state,.error-state{min-height:260px;display:grid;place-items:center;text-align:center;color:var(--muted)}.error-state{color:#f0a3aa}.mission-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.mission-card h3{font-size:.92rem;margin:.45rem 0}.mission-card .topic{color:var(--muted);font-size:.75rem;min-height:2.2em}.mission-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}.metric-mini{padding:.65rem;background:#071925;border-radius:7px}.metric-mini span{display:block;font-size:.64rem;color:#78939e;text-transform:uppercase}.metric-mini strong{display:block;margin-top:.25rem}.timeline-filter{max-width:220px}.technical-callout{border-left:3px solid var(--gold);padding:.8rem 1rem;background:rgba(220,168,90,.07);color:#c9b88f;line-height:1.55;font-size:.82rem}.detail-dialog{width:min(940px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;background:#081b29;border:1px solid #2d566a;border-radius:15px;color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.6)}.detail-dialog::backdrop{background:rgba(1,8,13,.72);backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;background:#0b2130;border-bottom:1px solid var(--line-soft)}.dialog-head h2{margin:.25rem 0 0}.detail-dialog #detailContent{padding:1.4rem}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.detail-missions{display:grid;gap:.55rem;margin-top:1rem}.detail-mission{display:grid;grid-template-columns:54px 1.3fr 1fr 1fr 1fr;gap:.7rem;align-items:center;padding:.8rem;background:#0b2434;border:1px solid var(--line-soft);border-radius:8px}.identity-box{margin-top:1rem}.identity-box summary{cursor:pointer;color:var(--gold);font-weight:700}.identity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:.9rem}.code{font-family:'IBM Plex Mono';font-size:.74rem;word-break:break-all}.feedback-placeholder{display:grid;place-items:center;min-height:240px;text-align:center;border:1px dashed #365465;border-radius:12px;color:var(--muted)}.feedback-placeholder strong{display:block;color:var(--text);font-size:1rem;margin-bottom:.4rem}.system-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.system-item{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line-soft)}.system-item:last-child{border:0}.system-item span{color:var(--muted)}
@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.overview-grid{grid-template-columns:1fr}.mission-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){:root{--sidebar:270px}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}.sidebar-scrim{position:fixed;z-index:15;inset:0;background:rgba(0,0,0,.55)}.workspace{margin-left:0}.menu-btn{display:grid}.sync-state{display:none}.account-button>span:last-child{display:none}.page-content{padding-bottom:5rem}.split-grid,.system-grid{grid-template-columns:1fr}.mission-cards{grid-template-columns:1fr}.detail-summary{grid-template-columns:repeat(2,1fr)}.detail-mission{grid-template-columns:50px 1fr 1fr}.detail-mission>*:nth-child(n+4){display:none}}
@media(max-width:620px){.auth-shell{grid-template-columns:1fr;align-content:center;padding:1.3rem}.auth-brand h1{font-size:2.7rem}.auth-brand p,.auth-signal{display:none}.auth-card{padding:1.4rem}.topbar{height:76px}.topbar .eyebrow{display:none}.topbar h1{font-size:1.08rem}.role-badge{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi{min-height:108px}.kpi .value{font-size:1.6rem}.chart-row{gap:.25rem}.bar-track{width:70%;height:125px}.mission-bar span{font-size:.62rem}.filter-row>*{max-width:none!important;width:100%!important}.identity-grid{grid-template-columns:1fr}.detail-summary{grid-template-columns:1fr 1fr}.detail-dialog #detailContent{padding:1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
