:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#182a3d;background:#f4f7fb;--navy:#10273e;--muted:#647489;--line:#e2e9f1;--blue:#2269bd;--pale:#eef5ff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.eyebrow,.nav-label,.form-kicker{font-size:10px;font-weight:800;letter-spacing:.15em;color:#4684c5;margin:0 0 10px}.muted{color:#718096;line-height:1.55;margin:9px 0 0}.primary,.outline{border-radius:8px;padding:11px 16px;font-weight:650;white-space:nowrap}.primary{background:#1768c3;border:1px solid #1768c3;color:white;box-shadow:0 4px 10px #1768c321}.primary:hover{background:#0755a8}.outline{border:1px solid #d7e2ee;background:#fff;color:#294463}.outline:hover{border-color:#8db9e6;background:#f6faff}.text-button{border:0;background:none;color:#1d66b6;font-weight:700;padding:8px 0}.text-button:hover{text-decoration:underline}.full{width:100%;display:flex;justify-content:space-between}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-art{min-height:100vh;background:radial-gradient(circle at 78% 70%,#1b6c9e88,transparent 42%),linear-gradient(135deg,#0a223b,#123c5c 70%,#105d81);color:white;padding:8vh 9%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-art:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #ffffff19;border-radius:50%;bottom:-190px;right:-120px;box-shadow:0 0 0 75px #ffffff09,0 0 0 160px #ffffff08}.auth-logo{font-weight:900;letter-spacing:-.14em;font-size:31px;margin-bottom:90px}.auth-logo span,.brand-symbol span{color:#44c7b6}.auth-kicker{color:#7de5d2;font-size:11px;font-weight:700;letter-spacing:.22em}.auth-art h1{font-size:clamp(38px,4vw,67px);letter-spacing:-.05em;line-height:1.1;margin:22px 0;max-width:700px;z-index:1}.auth-art p{font-size:18px;line-height:1.5;color:#c7dae9;max-width:440px}.auth-art-footer{position:absolute;bottom:38px;font-size:10px;letter-spacing:.2em;color:#8fb0c6}.login-card{align-self:center;justify-self:center;width:min(420px,calc(100vw - 40px))}.login-card h2{font-size:30px;letter-spacing:-.035em;margin:0 0 8px}.login-card p{color:#78889c;margin:0 0 34px}.login-card label{display:block;font-weight:700;font-size:13px;margin:18px 0}.login-card input,.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #d7e1ec;border-radius:8px;padding:12px 13px;background:#fff;color:#20344a;margin-top:8px;outline:none}.login-card input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#2583d6;box-shadow:0 0 0 3px #2583d61e}.login-card .error{color:#ad3237;margin:12px 0;min-height:20px}.demo-link{display:block;text-align:center;color:#256cba;margin-top:25px;font-size:13px;text-decoration:none}.demo-link:hover{text-decoration:underline}#app-view{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:#10283f;color:#d9e6f2;display:flex;flex-direction:column;z-index:20}.side-brand{height:78px;display:flex;align-items:center;gap:13px;padding:0 22px;border-bottom:1px solid #ffffff15}.brand-symbol{display:grid;place-items:center;background:#25577b;border:1px solid #ffffff2a;border-radius:10px;width:40px;height:40px;font-weight:900;letter-spacing:-.12em}.side-brand strong,.side-brand small,.side-foot strong,.side-foot small{display:block}.side-brand strong{font-size:13px}.side-brand small{font-size:11px;color:#90adc6;margin-top:3px}.side-scroll{overflow:auto;flex:1;padding:26px 13px}.nav-label{color:#7996ae;margin:0 13px 13px}.main-nav,.category-nav{display:grid;gap:4px}.nav-item,.category-link{border:0;background:none;color:#a9bfd1;text-align:left;width:100%;display:flex;gap:12px;align-items:center;padding:11px 13px;border-radius:8px;font-size:13px}.nav-item:hover,.category-link:hover{background:#ffffff12;color:#fff}.nav-item.active,.category-link.active{background:#1f5275;color:white;font-weight:700}.nav-icon{font-size:20px;width:22px;line-height:16px;color:#83bacd}.category-nav-title{margin-top:32px;display:flex;align-items:center;justify-content:space-between}.category-nav-title .nav-label{margin-bottom:9px}.icon-button{border:0;background:none;color:#adcade;font-size:20px;margin-right:10px}.category-link{font-size:12px;line-height:1.25}.category-link i{width:8px;height:8px;border-radius:3px;background:var(--accent);flex:none}.category-link span{flex:1}.category-link small{color:#8ba6ba}.side-foot{padding:15px;border-top:1px solid #ffffff15;display:flex;align-items:center;gap:10px;min-width:0}.side-avatar{width:35px;height:35px;border-radius:50%;background:#285d7e;display:grid;place-items:center;font-size:10px;font-weight:800;flex:none}.side-foot div:nth-child(2){min-width:0;flex:1}.side-foot strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-foot small{font-size:10px;color:#93acc0;text-transform:capitalize;margin-top:3px}.side-foot button{border:0;background:none;color:#a8c4d7;font-size:21px}.workspace{margin-left:258px;min-width:0;flex:1}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:18px}.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:13px;color:#8998a9}.breadcrumbs strong{color:#2b4159}.crumb-sep{color:#c0cbd6}.top-actions{display:flex;align-items:center;gap:18px}.live-indicator{color:#718296;font-size:12px}.live-indicator i{display:inline-block;width:7px;height:7px;background:#27ab87;border-radius:50%;margin-right:6px}#demo-badge{font-size:10px;font-weight:800;color:#8b5d21;background:#fff0d4;padding:7px 9px;border-radius:5px;letter-spacing:.07em}#menu-toggle{display:none;border:0;background:transparent;font-size:20px;color:#294463}.main-content{max-width:1770px;margin:auto;padding:39px 38px 100px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:29px}.page-head h1{font-size:34px;line-height:1.15;letter-spacing:-.04em;margin:0}.page-head .muted{font-size:13px}.actions{display:flex;gap:9px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:29px 0 43px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px 23px;min-height:135px;box-shadow:0 3px 13px #15375c05;position:relative}.metric:before{content:"";height:3px;position:absolute;top:0;left:22px;right:22px;border-radius:3px;background:var(--metric)}.metric .label{color:#6b7c90;font-size:12px;font-weight:650}.metric strong{display:block;font-size:34px;letter-spacing:-.05em;margin:16px 0 2px}.metric small{font-size:11px;color:#8d9daf}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 18px;gap:16px}.section-heading h2{font-size:19px;letter-spacing:-.025em;margin:0}.section-heading .eyebrow{margin-bottom:6px}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.category-tile{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 12px #15375c06;text-align:left;color:#203347;min-height:184px;display:flex;flex-direction:column;padding:0;transition:transform .15s,box-shadow .15s}.category-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px #15375c16}.tile-band{height:7px;background:var(--accent)}.tile-inner{padding:20px;flex:1;display:flex;flex-direction:column;width:100%;background:linear-gradient(145deg,var(--tint),#fff 72%)}.tile-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--tint-strong);color:var(--accent-dark);font-size:17px;font-weight:800;margin-bottom:18px}.category-tile strong{font-size:14px;line-height:1.35;min-height:38px}.tile-meta{display:flex;justify-content:space-between;gap:7px;align-items:end;margin-top:auto;color:#72859a;font-size:11px}.tile-meta b{font-size:12px;color:#334e66}.bottom-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:15px;margin-top:29px}.surface{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;min-height:245px}.compact h2{font-size:17px}.leadership{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.leader-card{border:1px solid #e8edf2;border-radius:9px;padding:14px;min-width:0;background:#fbfcfe}.leader-card .person-avatar{margin-bottom:11px}.leader-card small{display:block;color:#718399;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.leader-card strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-avatar{width:36px;height:36px;border-radius:9px;background:#dceafb;color:#17518d;display:grid;place-items:center;font-weight:800;font-size:12px;flex:none;overflow:hidden}.person-avatar img{width:100%;height:100%;object-fit:cover}.attention-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f5;padding:13px 0;gap:12px}.attention-row:last-child{border:0}.attention-row span{font-size:12px;color:#5c7187}.attention-row strong{font-size:15px;color:#a66526}.attention-row button{background:none;border:0;color:#2168b1;font-size:11px}.filterbar{display:flex;align-items:end;gap:13px;margin:27px 0 17px;flex-wrap:wrap}.search-field{flex:1;min-width:260px;position:relative}.search-field>span:not(.sr-only){position:absolute;left:15px;top:7px;font-size:24px;color:#8ba2b9}.search-field input{width:100%;height:44px;border:1px solid #dce5ee;border-radius:8px;background:#fff;padding:0 15px 0 44px;outline:none}.search-field input:focus,.filter-select select:focus{border-color:#3785cf}.filter-select{font-size:10px;letter-spacing:.08em;font-weight:800;color:#6c7e90}.filter-select select{display:block;border:1px solid #dce5ee;border-radius:8px;background:#fff;height:44px;min-width:175px;padding:0 33px 0 12px;font-size:12px;font-weight:500;color:#293e53;margin-top:5px;max-width:275px}.table-surface{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-headline{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);color:#718397;font-size:11px}.table-headline span:first-child{font-size:13px;font-weight:750;color:#30485d}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:830px}th{font-size:10px;letter-spacing:.09em;text-align:left;color:#8292a5;background:#f8fafc;padding:13px 18px;border-bottom:1px solid var(--line)}td{border-bottom:1px solid #edf1f5;padding:14px 18px;color:#31475c;font-size:12px;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer}tbody tr:hover{background:#f4f9ff}.tech-cell{display:flex;gap:12px;align-items:center;min-width:230px}.tech-cell strong{font-size:12px;color:#213a52}.tech-icon{width:38px;height:38px;flex:none;border:1px solid #e4eaf0;border-radius:8px;background:white;display:grid;place-items:center;overflow:hidden;padding:3px;color:#1c639e;font-weight:800;font-size:11px}.tech-icon img{width:100%;height:100%;object-fit:contain;display:block}.category-name{font-weight:700;display:block;font-size:11px}.sub-name{display:block;color:#8797a7;font-size:10px;margin-top:4px}.owner-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}.owner-cell .person-avatar{width:27px;height:27px;border-radius:50%;font-size:9px}.owner-empty{color:#a77949;background:#fff4e8;padding:5px 8px;border-radius:5px;font-size:11px}.status-pill{display:inline-block;background:#e9f5ef;color:#268267;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:750}.status-pill.planning{background:#ecf3fd;color:#4070ab}.status-pill.implementing{background:#e9f4fb;color:#267ba8}.status-pill.on-hold{background:#fff2de;color:#9c742e}.status-pill.retired{background:#f0f0f1;color:#686f75}.row-arrow{font-size:18px;color:#88a0b6}.table-empty{padding:45px;text-align:center;color:#718397}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.person-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:21px}.person-card-head{display:flex;gap:12px;align-items:center;margin-bottom:19px}.person-card-head .person-avatar{width:44px;height:44px}.person-card strong{display:block;font-size:14px}.person-card small{color:#8392a1;font-size:11px}.person-card-stats{border-top:1px solid var(--line);padding-top:15px;display:flex;gap:18px;font-size:11px;color:#6c7c8d}.person-card-stats b{color:#285682;font-size:15px;display:block;margin-bottom:3px}.detail-panel{position:fixed;z-index:52;inset:0 0 0 auto;width:min(470px,100vw);background:#fff;box-shadow:-20px 0 60px #10274030;padding:28px;overflow:auto}.detail-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.detail-top .eyebrow{margin:0}.detail-close{border:0;background:none;font-size:26px;color:#6e8194}.detail-hero{display:flex;gap:18px;align-items:center;margin:30px 0}.detail-hero .tech-icon{width:65px;height:65px}.detail-hero h2{font-size:24px;letter-spacing:-.035em;margin:0 0 5px}.detail-hero p{color:#738498;font-size:12px;margin:0}.detail-section{padding:18px 0;border-top:1px solid var(--line)}.detail-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#8192a3;margin:0 0 15px}.detail-owner{display:flex;align-items:center;gap:11px;padding:10px 0}.detail-owner>div:last-child{flex:1}.detail-owner small{display:block;color:#8192a4;font-size:10px;margin-bottom:4px}.detail-owner strong{display:block;font-size:13px}.detail-meta{display:flex;justify-content:space-between;padding:9px 0;gap:15px;font-size:12px}.detail-meta span{color:#8192a3}.detail-meta strong{text-align:right}.detail-actions{display:flex;gap:10px;margin-top:23px}.detail-actions button{flex:1}.detail-notes{line-height:1.5;color:#586d82;font-size:13px;white-space:pre-wrap}#detail-scrim,#mobile-scrim{position:fixed;inset:0;background:#0b253b70;z-index:50}#mobile-scrim{z-index:19}.notice:not(:empty){background:#e6f5ed;color:#195f40;border:1px solid #b8ddc8;padding:11px 15px;border-radius:8px;margin-bottom:18px;font-size:12px}.notice.error{background:#fff0ef;color:#9d3433;border-color:#f3c2c0}dialog{border:1px solid var(--line);border-radius:13px;padding:26px;width:min(580px,calc(100vw - 25px));max-height:90vh;box-shadow:0 25px 75px #10274040;color:#1e3449}dialog::backdrop{background:#1027408c}dialog header,dialog footer{display:flex;justify-content:space-between;align-items:center}dialog header h2{margin:0 0 4px;font-size:23px}dialog header button{border:0;background:none;font-size:25px;color:#8293a6}dialog footer{justify-content:flex-end;gap:10px;margin-top:22px}.field{display:block;font-size:12px;color:#536b80;font-weight:700;margin:16px 0}.field textarea{min-height:85px;resize:vertical}.form-hint{color:#8091a3;font-size:11px;line-height:1.5;margin-top:12px}@media(max-width:1380px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-grid{grid-template-columns:1fr}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.topbar{padding:0 18px;height:66px}#menu-toggle{display:block}.main-content{padding:26px 20px}.page-head{align-items:start;flex-direction:column}.page-head h1{font-size:29px}.top-actions .live-indicator{display:none}}@media(max-width:580px){.auth-shell{grid-template-columns:1fr}.auth-art{min-height:240px;padding:30px}.auth-art h1{font-size:30px;margin:14px 0}.auth-art p,.auth-art-footer,.auth-logo{display:none}.login-card{padding:35px 0}.metrics,.category-grid,.people-grid{grid-template-columns:1fr 1fr}.metric{min-height:112px;padding:17px}.metric strong{font-size:29px}.category-tile{min-height:167px}.tile-inner{padding:14px}.category-tile strong{font-size:12px}.bottom-grid,.leadership{grid-template-columns:1fr}.top-actions .outline{padding:8px;font-size:11px}.breadcrumbs>span:first-child,.crumb-sep{display:none}.filter-select{flex:1}.filter-select select{min-width:0;width:100%}}@page{size:A3 landscape;margin:10mm}@media print{body{background:#fff;color:#172f45}.sidebar,.topbar,.actions,.filterbar,.bottom-grid,.text-button,.detail-panel,#detail-scrim,.category-nav,.table-headline span:last-child,#notice{display:none!important}.workspace{margin:0}.main-content{max-width:none;padding:0}.view-panel{display:none!important}#technologies-panel{display:block!important}.page-head{margin:0 0 15px}.page-head h1{font-size:20px}.page-head .muted{font-size:9px}.table-surface{border:0;overflow:visible}.table-headline{padding:8px 0}.table-scroll{overflow:visible}table{min-width:0}th{font-size:8px;padding:7px}td{font-size:8px;padding:7px;break-inside:avoid}.tech-cell{min-width:0;gap:5px}.tech-cell strong{font-size:8px}.tech-icon{height:21px;width:21px}.owner-cell .person-avatar{display:none}.category-name,.sub-name{font-size:7px}tr{break-inside:avoid}.status-pill{font-size:7px;padding:3px}.row-arrow{display:none}}
/* Department workspace: deliberate, compact hierarchy. */
.department-view{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#eef3f8,#f8fafc);padding:28px}.department-picker{width:min(620px,100%);background:#fff;border:1px solid #e2e9f1;border-radius:14px;padding:38px 42px;box-shadow:0 20px 70px #233e5812}.picker-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:10px;background:#153d61;color:white;font-weight:850;letter-spacing:-.12em;margin-bottom:31px}.picker-mark span{color:#54c0b1}.department-picker h1{font-size:30px;letter-spacing:-.04em;margin:0}.department-picker>.muted{margin-bottom:29px}.department-list{display:grid;gap:11px;margin-bottom:22px}.department-choice{display:flex;align-items:center;text-align:left;gap:12px;width:100%;background:#fff;border:1px solid #dce5ee;border-radius:9px;padding:18px;color:#283e54}.department-choice:hover{border-color:#4286bd;background:#f5f9fd}.department-choice strong{font-size:14px;flex:1}.department-choice span{font-size:11px;color:#72869a;text-transform:capitalize}.department-choice b{font-size:18px;color:#3677ae}.department-switch{border:0;background:#f1f6fa;border-radius:7px;color:#5e7890;padding:9px 12px;font-size:12px}.department-switch strong{color:#1f4c74;margin-left:5px}.department-switch:hover{background:#e5f0f8}.category-nav-title,.category-nav{display:none!important}.main-nav{gap:6px}.side-scroll{padding-top:31px}.sidebar .nav-label{margin-bottom:15px}.category-grid{display:grid;grid-template-columns:1fr;gap:10px}.stack-row{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(120px,190px) 100px 25px;align-items:center;gap:20px;text-align:left;background:#fff;border:1px solid #e1e9f1;border-left:5px solid var(--accent);border-radius:9px;padding:17px 22px;color:#1c334a;width:100%;min-height:88px}.stack-row:hover{background:var(--tint);border-color:var(--accent);box-shadow:0 5px 20px #153a6010}.stack-mark{width:39px;height:39px;border-radius:8px;background:var(--tint);color:var(--accent);font-size:12px;font-weight:800;display:grid;place-items:center}.stack-main{min-width:0}.stack-main strong{display:block;font-size:15px;line-height:1.3}.stack-main small{display:block;color:#8293a4;font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stack-owner small,.stack-count small{display:block;color:#8293a4;font-size:9px;letter-spacing:.1em;font-weight:700;margin-bottom:5px}.stack-owner b,.stack-count b{font-size:12px;color:#415a70;font-weight:650}.stack-count b{font-size:18px}.stack-arrow{font-size:18px;color:#7193ad}.group-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:2px 0 18px}.group-chip{border:1px solid #d9e4ee;border-radius:6px;background:#fff;color:#58708a;font-size:11px;padding:9px 12px}.group-chip.active{background:#1d5e99;color:white;border-color:#1d5e99}.group-chip:hover{border-color:#4985b7}.group-chip.add-group{border-style:dashed}.person-edit{margin-top:11px;font-size:11px}.access-row{display:flex;align-items:center;gap:15px;padding:18px 22px;border-bottom:1px solid #e9eef3}.access-row:last-child{border:0}.access-row div{flex:1}.access-row strong,.access-row small{display:block}.access-row strong{font-size:13px}.access-row small{font-size:11px;color:#8292a3;text-transform:capitalize;margin-top:3px}.danger-text{color:#a14e51}.manage-group-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5ebf2;padding:12px 0}.manage-group-row strong{font-size:13px}.form-hint{margin:10px 0 14px}.section-heading{margin-top:4px}.main-content{max-width:1450px}.page-head{margin-bottom:27px}.bottom-grid{display:none!important}@media(max-width:900px){.stack-row{grid-template-columns:42px minmax(0,1fr) 95px 15px;gap:12px}.stack-owner{display:none}}@media(max-width:580px){.stack-row{grid-template-columns:40px minmax(0,1fr) 15px;padding:14px;min-height:74px}.stack-count{display:none}.stack-main strong{font-size:13px}.department-picker{padding:28px 22px}.department-choice{flex-wrap:wrap}.department-choice strong{min-width:70%}.breadcrumbs{min-width:0}.department-switch{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media print{.group-bar,.department-view{display:none!important}}
/* Presentation-ready portfolio landing page */
:root{--navy:#122e49;--blue:#145b9e;--ink:#172e44}
body{background:#f2f5f8;color:var(--ink)}.sidebar{background:#132c43}.side-brand{height:86px}.brand-symbol{background:#e8f2fa;color:#194d78;border:0;letter-spacing:-.13em}.side-brand strong{font-size:14px;letter-spacing:-.01em}.side-brand small{font-size:10px}.side-scroll{padding-top:30px}.nav-item{font-size:13px;margin-bottom:4px}.nav-item.active{background:#2b5d83}.workspace{background:#f4f7fa}.topbar{height:75px;background:#fff}.main-content{max-width:1510px;padding:31px 39px 100px}.portfolio-hero{min-height:285px;display:flex;justify-content:space-between;align-items:center;gap:40px;border-radius:15px;padding:42px 55px;background:radial-gradient(circle at 96% 3%,#34658a80,transparent 38%),linear-gradient(115deg,#102b45,#174268);color:#fff;position:relative;overflow:hidden}.portfolio-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,transparent 45%,#000 100%)}.hero-copy,.hero-coverage{z-index:1}.hero-eyebrow{font-size:10px;letter-spacing:.17em;color:#95c9e6;font-weight:800;margin:0 0 16px}.hero-copy h1{font-size:clamp(29px,3vw,42px);font-weight:710;letter-spacing:-.04em;margin:0;max-width:690px;line-height:1.15}.hero-copy>p:not(.hero-eyebrow){color:#c3d8e8;max-width:570px;font-size:13px;line-height:1.65;margin:15px 0 25px}.hero-actions{display:flex;gap:11px;align-items:center}.hero-primary,.hero-secondary{border-radius:7px;padding:11px 16px;font-size:12px;font-weight:700}.hero-primary{border:1px solid white;background:white;color:#17446d}.hero-primary:hover{background:#e8f5fb}.hero-primary span{margin-left:14px}.hero-secondary{border:1px solid #89b0cb;color:white;background:#ffffff14}.hero-secondary:hover{background:#ffffff2b}.hero-coverage{text-align:center;min-width:188px}.coverage-ring{--coverage:0%;width:142px;height:142px;margin:auto;border-radius:50%;padding:9px;background:conic-gradient(#77d5bd var(--coverage),#ffffff30 var(--coverage));box-shadow:0 8px 30px #051d323b}.coverage-ring>div{height:100%;width:100%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#204766}.coverage-ring strong{display:block;font-size:31px;line-height:1.1;letter-spacing:-.05em}.coverage-ring span{font-size:8px;letter-spacing:.1em;color:#b5ccdd;margin-top:9px}.hero-coverage>p{font-size:11px;color:#d0e0eb;margin:14px 0 0}.portfolio-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #dfe7ee;border-radius:11px;margin:19px 0 44px;box-shadow:0 4px 16px #1a375008}.portfolio-stats>div{padding:21px 28px;border-right:1px solid #e7edf2;display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}.portfolio-stats>div:last-child{border:0}.portfolio-stats span{color:#728699;font-size:10px;font-weight:800;letter-spacing:.09em;width:100%}.portfolio-stats strong{font-size:29px;letter-spacing:-.04em;color:#183d5d;line-height:1}.portfolio-stats small{font-size:11px;color:#899aab}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.portfolio-heading .eyebrow{margin-bottom:7px}.portfolio-heading h2{font-size:22px;letter-spacing:-.035em;margin:0}.portfolio-heading h2 span{color:#9aabba;font-size:15px;font-weight:500}.portfolio-heading p:last-child{font-size:12px;color:#8393a4;margin:7px 0 0}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stack-card{border:1px solid #dfe7ef;border-top:4px solid var(--accent);border-radius:10px;background:#fff;min-height:228px;padding:23px 25px 0;display:flex;flex-direction:column;text-align:left;color:#21384d;box-shadow:0 3px 12px #263f5705;transition:transform .16s,box-shadow .16s,border-color .16s;overflow:hidden}.stack-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px #20446114;border-color:var(--accent)}.stack-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.stack-card-mark{width:33px;height:33px;display:grid;place-items:center;background:var(--tint);border-radius:7px;color:var(--accent);font-size:10px;font-weight:900}.stack-card-number{font-size:12px;color:#9faebe;font-weight:700;letter-spacing:.07em}.stack-card-title{font-size:16px;line-height:1.2;letter-spacing:-.015em;margin-bottom:8px}.stack-card-description{font-size:11px;color:#8295a6;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:17px}.stack-card-owner{display:flex;gap:8px;align-items:center;margin:17px 0;color:#60768c;font-size:11px}.stack-card-owner .person-avatar{width:24px;height:24px;border-radius:50%;font-size:9px}.stack-card-footer{border-top:1px solid #e8edf3;display:flex;align-items:center;gap:14px;min-height:43px;color:#71879a;font-size:10px;margin-top:auto}.stack-card-footer b{margin-left:auto;color:var(--accent);font-size:11px;white-space:nowrap}.page-head h1{font-size:30px}.table-surface,.person-card{box-shadow:0 3px 14px #1c395106}.person-card{border-radius:10px}.detail-panel{border-left:1px solid #dce5ef}@media(max-width:1200px){.portfolio-hero{padding:34px}.category-grid{gap:12px}.stack-card{padding:19px 20px 0}}@media(max-width:960px){.portfolio-hero{min-height:0}.hero-coverage{display:none}.portfolio-stats>div{padding:18px}.category-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.main-content{padding:21px 16px}.portfolio-hero{padding:25px 22px}.hero-copy h1{font-size:27px}.hero-copy>p:not(.hero-eyebrow){font-size:12px}.portfolio-stats{grid-template-columns:repeat(3,1fr);margin-bottom:32px}.portfolio-stats>div{padding:12px 10px;gap:4px}.portfolio-stats span{font-size:8px}.portfolio-stats strong{font-size:23px}.portfolio-stats small{font-size:9px}.category-grid{grid-template-columns:1fr}.stack-card{min-height:215px}.hero-actions{flex-wrap:wrap}}@media print{.portfolio-hero,.portfolio-stats,.portfolio-heading{display:none!important}}
.stack-card{min-height:258px}.stack-tech-preview{display:flex;align-items:center;gap:7px;margin:14px 0 17px;min-height:42px;overflow:hidden}.stack-tech-item{display:flex;align-items:center;gap:5px;border:1px solid #e9eff4;border-radius:6px;padding:5px 7px 5px 5px;color:#52697f;font-size:10px;white-space:nowrap;min-width:0;max-width:33%}.stack-tech-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-tech-item .tech-icon{width:23px;height:23px;border:0;padding:0;font-size:7px}.stack-tech-empty{font-size:11px;color:#9eabba}.stack-card-footer{gap:11px}.stack-card-footer b{max-width:145px;overflow:hidden;text-overflow:ellipsis;font-weight:650}@media(max-width:680px){.stack-card{min-height:240px}}
/* ITSO themes and adjustable stack row shading */
:root{--panel:#fff}.theme-toggle{border:1px solid #d9e4ee;background:#fff;color:#36536d;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:700;white-space:nowrap}.theme-toggle:hover{border-color:#6796bf}.color-picker{width:45px!important;height:38px!important;padding:3px!important;border-radius:7px!important;cursor:pointer;margin-top:7px!important}.field:has(.color-picker){display:grid;grid-template-columns:1fr 45px;gap:0 10px}.field:has(.color-picker)>span{grid-column:1/-1}.field:has(.color-picker)>input[name=color_hex]{grid-column:1}.field:has(.color-picker)>.color-picker{grid-column:2;grid-row:2}tbody tr td{background:color-mix(in srgb,var(--stack-color) 8%,var(--panel))}tbody tr:hover td{background:color-mix(in srgb,var(--stack-color) 15%,var(--panel))}tbody tr td:first-child{box-shadow:inset 3px 0 var(--stack-color)}[data-theme=dark]{color-scheme:dark;--panel:#182f47;--line:#34506a;--ink:#e8f0f7;background:#0a1929;color:#e8f0f7}[data-theme=dark] body{background:#0c1d30;color:#e9f1f9}[data-theme=dark] .workspace{background:#0c1d30}[data-theme=dark] .sidebar{background:#071a2c;color:#d8e8f6;border-right:1px solid #284057}[data-theme=dark] .side-brand,[data-theme=dark] .side-foot{border-color:#2b435a}[data-theme=dark] .side-brand strong,[data-theme=dark] .side-foot strong{color:#f0f5fa}[data-theme=dark] .side-brand small,[data-theme=dark] .side-foot small{color:#a4bbcf}[data-theme=dark] .brand-symbol{background:#204563;color:#d9ebf8}[data-theme=dark] .nav-item{color:#adc6d9}[data-theme=dark] .nav-item.active{background:#275878;color:#fff}[data-theme=dark] .topbar{background:#10273d;border-color:#31506a}[data-theme=dark] .breadcrumbs,[data-theme=dark] .breadcrumbs strong{color:#b7ccde}[data-theme=dark] .department-switch{background:#1d3a55;color:#aec6d9}[data-theme=dark] .department-switch strong{color:#f0f5fa}[data-theme=dark] .department-switch:hover{background:#2c4f6d}[data-theme=dark] .theme-toggle{background:#1a354e;color:#d7e8f4;border-color:#3a5973}[data-theme=dark] .theme-toggle:hover{background:#284760}[data-theme=dark] .outline{background:#19344d;color:#dceaf6;border-color:#46627d}[data-theme=dark] .outline:hover{background:#28475f}[data-theme=dark] .primary{background:#4b9eda;border-color:#4b9eda;color:#0b2439;box-shadow:none}[data-theme=dark] .primary:hover{background:#77b7e4}[data-theme=dark] .portfolio-hero{background:radial-gradient(circle at 90% 3%,#266c8d80,transparent 42%),linear-gradient(115deg,#17405c,#1d5370);border:1px solid #38607a}[data-theme=dark] .coverage-ring>div{background:#19435e}[data-theme=dark] .portfolio-stats{background:#142d45;border-color:#38516a;box-shadow:none}[data-theme=dark] .portfolio-stats>div{border-color:#38516a}[data-theme=dark] .portfolio-stats strong{color:#e8f5ff}[data-theme=dark] .portfolio-stats span,[data-theme=dark] .portfolio-stats small{color:#a8bfd1}[data-theme=dark] .portfolio-heading h2,[data-theme=dark] .page-head h1{color:#edf4fa}[data-theme=dark] .portfolio-heading p:last-child,[data-theme=dark] .muted{color:#9fb5c8}[data-theme=dark] .stack-card{background:#17314a;border-color:#3a5470;border-top-color:var(--accent);color:#e9f3fa;box-shadow:0 3px 12px #06172524}[data-theme=dark] .stack-card:hover{background:#1e3b55;box-shadow:0 14px 30px #06172555}[data-theme=dark] .stack-card-title{color:#edf5fb}[data-theme=dark] .stack-card-description,[data-theme=dark] .stack-card-number,[data-theme=dark] .stack-card-footer{color:#aec0d0}[data-theme=dark] .stack-card-mark{background:color-mix(in srgb,var(--accent) 22%,#142d45);color:#eaf5fb}[data-theme=dark] .stack-card-footer,[data-theme=dark] .stack-tech-item{border-color:#3a536b}[data-theme=dark] .stack-card-footer b{color:#d4e5f2}[data-theme=dark] .stack-tech-item{color:#c0d2e0}[data-theme=dark] .tech-icon{border-color:#39546a}[data-theme=dark] .table-surface,[data-theme=dark] .person-card,[data-theme=dark] .surface{background:#142c44;border-color:#37516a;color:#e5f0f9;box-shadow:none}[data-theme=dark] .table-headline,[data-theme=dark] th,[data-theme=dark] td,[data-theme=dark] .person-card-stats,[data-theme=dark] .detail-section{border-color:#38516b}[data-theme=dark] .table-headline span:first-child,[data-theme=dark] .tech-cell strong,[data-theme=dark] .category-name,[data-theme=dark] .person-card strong,[data-theme=dark] .detail-hero h2,[data-theme=dark] .detail-owner strong{color:#eaf3fa}[data-theme=dark] .table-headline span:last-child,[data-theme=dark] .sub-name,[data-theme=dark] .person-card small,[data-theme=dark] .detail-hero p{color:#a5bbcd}[data-theme=dark] th{background:#1c3851;color:#b5c9d9}[data-theme=dark] td{color:#d5e4f0}[data-theme=dark] tbody tr td{border-color:#38536b}[data-theme=dark] .owner-empty{color:#f6c089;background:#5b3b2d}[data-theme=dark] .status-pill{background:#1c544d;color:#bce8d9}[data-theme=dark] .status-pill.planning{background:#274668;color:#d1e3fa}[data-theme=dark] .status-pill.implementing{background:#234d63;color:#c1e3f5}[data-theme=dark] .status-pill.on-hold{background:#5a472e;color:#f6dcab}[data-theme=dark] .status-pill.retired{background:#364757;color:#d7e1e9}[data-theme=dark] .search-field input,[data-theme=dark] .filter-select select,[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .field textarea{background:#142d45;border-color:#42617b;color:#e7f2fb}[data-theme=dark] input::placeholder{color:#93aec0}[data-theme=dark] .filter-select{color:#b4cada}[data-theme=dark] .group-chip{background:#18334b;border-color:#3c5b76;color:#bdd3e2}[data-theme=dark] .group-chip.active{background:#2771a5;border-color:#2771a5;color:white}[data-theme=dark] .detail-panel,[data-theme=dark] dialog{background:#132b42;color:#edf5fb;border-color:#3f607c}[data-theme=dark] .detail-top,[data-theme=dark] .access-row,[data-theme=dark] .manage-group-row{border-color:#38536a}[data-theme=dark] .detail-meta strong,[data-theme=dark] .access-row strong{color:#e3edf7}[data-theme=dark] .detail-notes{color:#bdd1df}[data-theme=dark] .department-view{background:linear-gradient(135deg,#09192b,#102e47)}[data-theme=dark] .department-picker{background:#173149;border-color:#405a73;color:#edf5fb;box-shadow:0 18px 60px #020f1d55}[data-theme=dark] .department-choice{background:#203d57;border-color:#49647c;color:#edf5fb}[data-theme=dark] .department-choice:hover{background:#2b4b64}[data-theme=dark] .department-choice span,[data-theme=dark] .department-picker .muted{color:#acc1d0}[data-theme=dark] .auth-shell{background:#11283e}[data-theme=dark] .auth-art{background:radial-gradient(circle at 80% 70%,#23678e80,transparent 40%),linear-gradient(135deg,#0c263e,#194764)}[data-theme=dark] .login-card{color:#eaf4fc}[data-theme=dark] .login-card p{color:#adbfce}[data-theme=dark] .login-card input{background:#19354e;border-color:#48637a;color:#e9f3fc}[data-theme=dark] .login-card label{color:#d7e7f4}[data-theme=dark] .demo-link{color:#86c8ee}[data-theme=dark] .side-avatar,[data-theme=dark] .person-avatar{background:#2a5474;color:#e5f4ff}[data-theme=dark] .notice:not(:empty){background:#205041;border-color:#4c856f;color:#d6fae6}[data-theme=dark] .notice.error{background:#613b40;border-color:#9f5d64;color:#ffe4e6}@media print{[data-theme=dark] body,[data-theme=dark] .workspace{background:white;color:#152a3e}[data-theme=dark] .table-surface,[data-theme=dark] th,[data-theme=dark] td{background:white!important;color:#172b3e;border-color:#d2dbe3}[data-theme=dark] tbody tr td{background:color-mix(in srgb,var(--stack-color) 13%,white)!important;color:#182e40}[data-theme=dark] .tech-cell strong,[data-theme=dark] .category-name,[data-theme=dark] .page-head h1{color:#172b3e}}

/* Supplied corporate brand asset, kept legible on either theme. */
.auth-logo,.picker-mark,.brand-symbol{width:max-content;height:auto;background:#fff;border-radius:7px;padding:8px;display:block;letter-spacing:normal}.auth-logo img{display:block;width:260px;height:auto}.picker-mark img{display:block;width:220px;height:auto}.brand-symbol img{display:block;width:145px;height:auto}.side-brand{height:auto;min-height:94px;gap:12px;padding:14px 15px}.side-brand strong{font-size:13px}.side-brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.side-brand>div:last-child{min-width:0}.auth-logo{margin-bottom:24px}.picker-mark{margin-bottom:28px}.auth-art .auth-logo{position:relative;z-index:1}@media(max-width:950px){.brand-symbol img{width:130px}}
/* The printed portfolio follows the original one-page, side-by-side Stack diagram. */
#print-portfolio{display:none}
@page{size:17in 13.014in;margin:0}
@media print{
 body{margin:0!important;background:#fff!important;color:#223449!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #auth-view,#department-view,#app-view,#detail-scrim,#detail-panel,#editor,#import-file{display:none!important}
 #print-portfolio{display:flex!important;width:17in;height:13.014in;max-height:13.014in;overflow:hidden;flex-direction:column;background:white!important;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#213248;break-after:avoid}
 .print-head{height:.8in;flex:none;background:#1b2f45;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 .34in}.print-head strong{font-size:20px;letter-spacing:.04em}.print-head span{font-size:9px;letter-spacing:.06em}
 .print-leads{height:1.28in;flex:none;padding:.2in .32in .08in;display:flex;gap:.16in}.print-lead{position:relative;flex:0 0 2.95in;background:#263f68;color:#fff;border-radius:7px;padding:.16in;overflow:hidden}.print-lead:nth-child(2){background:#185265}.print-lead:nth-child(3){background:#353e77}.print-lead small,.print-lead strong{display:block;max-width:75%}.print-lead small{font-size:10px;font-weight:700}.print-lead strong{margin-top:.15in;font-size:13px}.print-lead img{position:absolute;right:8px;bottom:0;height:90%;width:.76in;object-fit:cover}
 .print-team{flex:none;padding:.05in .32in .18in;min-height:1.4in}.print-team h2{font-size:11px;margin:0 0 .09in}.print-people{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.07in}.print-person{height:.48in;border:1px solid #c8d6e6;border-radius:5px;display:flex;align-items:center;gap:.07in;overflow:hidden;background:#f7fbff}.print-person img,.print-person-initials{width:.44in;height:.44in;flex:none;object-fit:cover}.print-person-initials{display:grid;place-items:center;background:#e4edf5;color:#546c84;font-size:9px;font-weight:800}.print-person span:last-child{min-width:0}.print-person strong,.print-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-person strong{font-size:9px}.print-person small{font-size:7px;color:#577086}
 .print-columns{display:grid;grid-template-columns:repeat(var(--print-stack-count,8),minmax(0,1fr));gap:.055in;margin:0 .32in;flex:1;min-height:0}.print-stack{background:var(--ptint);border:1px solid color-mix(in srgb,var(--pcolor) 30%,white);border-radius:7px;overflow:hidden;min-width:0}.print-stack>h2{margin:0;height:.83in;display:flex;align-items:flex-start;justify-content:center;text-align:center;padding:.13in .045in;background:var(--pband);font-size:11px;line-height:1.18;overflow-wrap:anywhere}.print-stack h3{margin:.055in .055in .025in;background:var(--pband);font-size:9px;padding:.04in .05in;border-radius:3px}.print-tech{min-height:.48in;margin:.045in .055in 0;padding:.035in;background:color-mix(in srgb,var(--pcolor) 13%,white);display:flex;align-items:flex-start;gap:.04in;overflow:hidden;border-radius:3px}.print-tech:nth-of-type(even){background:color-mix(in srgb,var(--pcolor) 6%,white)}.print-tech .tech-icon{flex:0 0 .3in;width:.3in;height:.3in;min-width:0;margin:.015in 0 0;background:white;color:#415b74;overflow:hidden;border-radius:2px;font-size:7px}.print-tech .tech-icon img{display:block;width:100%;height:100%;object-fit:contain}.print-tech>span{min-width:0}.print-tech strong{display:block;font-size:9px;line-height:1.1;overflow-wrap:anywhere}.print-tech small{display:block;font-size:7px;line-height:1.15;color:#455e76;overflow-wrap:anywhere;margin-top:2px}
 .print-footer{height:.27in;flex:none;padding:0 .35in;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#50677c}
}
.leadership-actions{display:flex;gap:9px;flex-wrap:wrap}.department-leadership{display:flex;gap:10px;margin:0 0 17px}.leadership-summary{min-width:160px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:var(--pale)}.leadership-summary small,.leadership-summary strong{display:block}.leadership-summary small{font-size:10px;letter-spacing:.09em;color:#567086}.leadership-summary strong{font-size:14px;margin-top:5px}[data-theme=dark] .leadership-summary{background:#1b3851;border-color:#38516b;color:#e9f3fa}[data-theme=dark] .leadership-summary small{color:#a5bbcd}@media(max-width:680px){.department-leadership{flex-direction:column}.leadership-summary{min-width:0}}@media print{.leadership-actions,.department-leadership{display:none!important}#print-portfolio{height:calc(13.014in - 2px);max-height:calc(13.014in - 2px)}}
.photo-upload-field{display:flex;flex-direction:column;gap:8px}.photo-upload-field input[type=file]{max-width:100%;font-size:13px}.photo-upload-field small{color:var(--muted);font-size:12px}.photo-upload-preview{width:84px;height:84px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.photo-remove{display:flex;align-items:center;gap:8px;font-size:13px;margin:5px 0 14px}.photo-remove input{width:auto!important}
