:root{color-scheme:light;--ink:#1c2c3d;--muted:#657588;--border:#e3eaf1;--blue:#1a5ea6;--navy:#132941;--paper:#f5f7fb;--card:#fff;--green:#14866f;--amber:#ab7424;--red:#bb4d48;--radius:12px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#d1dce8;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 12px 16px}.brand{display:flex;gap:12px;align-items:center;margin:4px 14px 32px;color:#fff}.brandmark{width:40px;height:40px;flex-shrink:0;border-radius:10px;background:#fff;color:#195592;font-weight:900;font-size:20px;letter-spacing:-2px;display:grid;place-items:center}.brand strong{display:block;font-size:17px}.brand small{color:#9bb0c7;font-size:10px;letter-spacing:1.3px}.side-group-label{color:#8397ab;font-size:10px;letter-spacing:1.5px;font-weight:800;padding:15px 15px 6px}.nav-link{width:100%;display:flex;align-items:center;gap:12px;color:#b4c5d5;border:0;background:transparent;padding:11px 14px;border-radius:8px;text-align:left;margin:2px 0}.nav-link span{color:#8eaccb;width:18px;text-align:center;font-size:17px}.nav-link.active,.nav-link:hover{color:white;background:#25415d}.nav-link.active{box-shadow:inset 3px 0 #62a5ea}.sidebar-foot{margin-top:auto;border-top:1px solid #2e455c;padding:15px 10px 0;color:#b4c5d5;font-size:12px}.sidebar-foot strong{color:#fff;display:block}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.breadcrumb{color:#54708c;font-size:12px;font-weight:800;letter-spacing:.4px}.light-arrow{color:#b7c3ce;padding:0 7px}.page{max-width:1480px;padding:36px;margin:auto;min-height:calc(100vh - 120px)}.footnote{font-size:11px;color:#8293a5;text-align:center;margin:0 20px 25px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{text-transform:uppercase;color:#60829f;letter-spacing:1.5px;font-size:11px;font-weight:800;margin:0 0 6px}.page-header h1,h1{margin:0;font-size:26px;letter-spacing:-.7px}.subheading{color:var(--muted);margin:6px 0 0}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn,.outline{border-radius:8px;border:1px solid #185d9e;background:#175eaa;color:#fff;font-weight:700;padding:10px 15px;white-space:nowrap}.btn:hover{background:#0f4e91}.outline{background:#fff;color:#1d5a92;border-color:#b7cadc}.outline:hover{background:#edf5fc}.btn.small,.outline.small{padding:7px 10px;font-size:12px}.full{width:100%}.danger{color:var(--red)}.secondary{color:var(--muted)}.tiny{font-size:11px}.muted{color:var(--muted)}.tag{display:inline-block;background:#e7f1fb;color:#1b6099;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:800;white-space:nowrap}.tag.green{background:#e3f5ef;color:#167c5c}.tag.amber{background:#fff1db;color:#995e14}.tag.red{background:#fff0ee;color:#b3443a}.tag.grey{background:#edf0f5;color:#64748b}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat,.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 9px rgba(21,49,77,.025)}.stat{padding:20px}.stat .value{font-size:28px;font-weight:800;letter-spacing:-.8px;margin:10px 0 2px}.stat .label{font-size:12px;color:var(--muted)}.stat .note{font-size:11px;color:#8293a5}.card{padding:22px;margin-bottom:17px}.card h2{font-size:17px;margin:0 0 15px}.section-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.section-header h2{margin:0}.cols{display:grid;grid-template-columns:1fr 1fr;gap:17px}.data-table{width:100%;border-collapse:collapse;min-width:630px}.scroll-x{overflow-x:auto}.data-table th{text-transform:uppercase;letter-spacing:.8px;color:#8192a5;font-size:10px;text-align:left;font-weight:800;background:#f9fbfd;padding:12px 13px;border-bottom:1px solid var(--border)}.data-table td{padding:13px;border-bottom:1px solid #edf1f5;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f8fbff}.linklike{border:none;background:none;color:#165d9a;padding:0;font-weight:700;text-align:left}.linklike:hover{text-decoration:underline}.muted-small{font-size:12px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters select,.filters input{max-width:220px}.empty{padding:34px 15px;text-align:center;color:#8293a5;background:#fbfcfe;border:1px dashed #d7e3ec;border-radius:10px}.pillbar{display:flex;height:10px;background:#e6edf4;border-radius:20px;overflow:hidden}.pillbar div{background:#2e81c0;height:100%;border-radius:20px}form{margin:0}label{display:block;font-size:12px;color:#51657b;font-weight:700;margin-bottom:6px}.field{margin-bottom:15px}input,select,textarea{border:1px solid #d6e1eb;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#6aa1d1;box-shadow:0 0 0 3px #e5f2fd}textarea{min-height:88px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-note{color:#63798c;background:#f0f6fc;border:1px solid #d7e9f9;padding:12px;border-radius:8px;font-size:12px}.form-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:15px}.dialog-backdrop{position:fixed;inset:0;background:rgba(11,26,42,.53);display:flex;align-items:center;justify-content:center;padding:20px;z-index:30}.dialog{width:min(830px,100%);max-height:92vh;display:flex;flex-direction:column;background:white;border-radius:15px;box-shadow:0 25px 90px rgba(0,0,0,.24)}.dialog-head{padding:19px 25px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:19px;margin:0}.dialog-body{padding:24px;overflow:auto}.icon-close{font-size:28px;line-height:1;border:none;background:none;color:#718399}.detail-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.detail-bar>div{background:#f5f8fc;border-radius:8px;padding:12px}.detail-bar span{display:block;font-size:11px;color:var(--muted)}.detail-bar strong{display:block;font-size:14px;margin-top:2px}.horizontal{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.top-gap{margin-top:20px}.line{height:1px;background:var(--border);margin:21px 0}.input-inline{display:flex;gap:10px}.input-inline>*{flex:1}.message{background:#fff4e6;color:#8b5517;border:1px solid #edc88c;padding:12px;border-radius:8px;font-size:13px;margin:15px 0}.toast{position:fixed;right:24px;bottom:25px;background:#193e5f;color:white;padding:13px 19px;border-radius:8px;z-index:40;max-width:420px;box-shadow:0 10px 30px #0d273b38}.login-screen{min-height:100vh;background:linear-gradient(145deg,#102c47,#1d567d 72%,#214c6f);display:grid;place-items:center;padding:25px}.login-card{background:white;padding:42px 45px;border-radius:18px;width:min(480px,100%);box-shadow:0 25px 65px #071a2c55}.login-card h1{font-size:29px;margin:13px 0}.login-card .brandmark{background:#1b5b99;color:#fff}.login-card .field{margin-top:12px}.login-card button{margin-top:8px}.login-card .eyebrow{margin-top:17px}.login-card .tiny{margin-top:24px}.section-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 18px}.section-tabs button{border:1px solid #d9e4ed;border-radius:7px;padding:8px 11px;color:#51657b;background:#fff}.section-tabs button.selected{background:#1c629d;color:white}.doc-list{list-style:none;padding:0;margin:0}.doc-list li{padding:11px;border-bottom:1px solid #edf0f5;display:flex;justify-content:space-between;gap:15px}.mono{font-family:ui-monospace,monospace}.menu-toggle{display:none}.warning-banner{background:#fff4df;color:#96600d;border-radius:8px;padding:13px 15px;font-size:12px;border:1px solid #ecd49c;margin-bottom:17px}@media(max-width:1080px){.stat-grid{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}.sidebar{width:228px}.shell{grid-template-columns:228px 1fr}.page{padding:23px}.topbar{padding:0 23px}}@media(max-width:720px){.shell{display:block}.sidebar{position:fixed;left:-260px;z-index:20;width:250px;transition:left .2s}.shell.open .sidebar{left:0}.menu-toggle{display:inline-block;margin-right:12px;border:0;background:transparent;font-size:20px}.page{padding:16px}.topbar{padding:0 17px}.page-header{flex-wrap:wrap}.page-header h1{font-size:21px}.stat-grid,.form-grid,.detail-bar{grid-template-columns:1fr 1fr}.dialog-backdrop{padding:7px}.dialog-body{padding:16px}.dialog-head{padding:14px}.login-card{padding:26px}.stat .value{font-size:23px}}@media(max-width:410px){.stat-grid,.form-grid,.detail-bar{grid-template-columns:1fr}}
/* V3.2 enhancements: presales tree, persistent Gantt and quarterly worksheet */
.w32-tree{border:1px solid #dbe5ef;border-radius:10px;margin:10px 0;background:#fff}.w32-tree>summary{padding:15px;cursor:pointer;font-size:14px;background:#f4f8fc}.w32-tree .w32-subtree{margin:9px 0;border:1px solid #e4eaf2;border-radius:8px}.w32-subtree summary{padding:10px;cursor:pointer;background:#f8fbfe}.w32-indent{padding:12px 14px 12px 22px}.w32-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 19px}.w32-tabs button{background:#f1f5f9;border:1px solid #d9e3ec;border-radius:7px;padding:10px 15px;color:#31445d;cursor:pointer}.w32-tabs button.selected{background:#235f9d;color:white;border-color:#235f9d}.w32-filters{display:flex;flex-wrap:wrap;gap:6px}.w32-filters select{max-width:200px}.w32-progress{display:inline-block;vertical-align:middle;background:#e4edf5;width:82px;height:9px;overflow:hidden;border-radius:8px;margin-right:6px}.w32-progress span{display:block;background:#327fb6;height:100%;border-radius:8px}.w32-scroll{width:100%;overflow-x:auto}.w32-sheet{min-width:850px}.w32-sheet input{min-width:80px;max-width:135px;padding:6px;font-size:13px}.w32-sheet thead th{background:#f4e737;color:#18283c;white-space:nowrap}.w32-sheet td,.w32-sheet th{white-space:nowrap}.w32-person-meta{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin:15px 0}.w32-person-meta .stat{padding:12px}.w32-person-meta .value{font-size:17px}.w32-none{background:#fce8e6}.w32-low{background:#fce8ba}.w32-mid{background:#fff1b6}.w32-good{background:#ddf2d6}.w32-high{background:#c3f0ef}.w32-total{background:#17365d;color:white;font-weight:bold}.w32-assign{border:1px solid #dfebf2;padding:12px;border-radius:9px;margin:10px 0}.w32-gantt{min-width:max-content}.w32-gantt-head,.w32-gantt-row{display:flex;height:44px;border-bottom:1px solid #e1e7ef}.w32-gantt-head>div:not(.w32-gantt-label){width:30px;min-width:30px;text-align:center;padding:8px 0;font-size:10px;color:#65768e}.w32-gantt-label{width:245px;min-width:245px;padding:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w32-gantt-label small{display:block;color:#78869b}.w32-gridline{position:relative;display:flex;width:calc(var(--day-count)*30px)}.w32-gridline i{width:30px;min-width:30px;height:100%;border-right:1px solid #edf1f5}.w32-bar{position:absolute;top:13px;height:18px;border-radius:5px;background:#93bedc;overflow:hidden}.w32-bar b{display:block;height:100%;background:#226ba5}.w32-calendar{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));overflow-x:auto}.w32-weekday{text-align:center;background:#eaf2fa;padding:8px;border:1px solid #e0e9f2}.w32-day{min-height:105px;border:1px solid #e7edf3;padding:5px;overflow:hidden}.w32-day strong{font-size:12px}.w32-day button{display:block;width:100%;font-size:11px;text-align:left;border:0;border-radius:4px;background:#e2eef9;color:#215078;padding:4px;margin-top:3px;cursor:pointer}.w32-day button small{float:right}.w32-day.empty-day{background:#f6f8fb}@media(max-width:760px){.w32-person-meta{grid-template-columns:repeat(2,1fr)}.w32-calendar{grid-template-columns:repeat(7,minmax(85px,1fr))}}
/* ITEC Workflow V3.4 — nested division navigation, phase workspace and client report */
.v34-side-sub{display:none;margin:0 10px 10px 22px;border-left:1px solid #60799255;padding-left:8px;flex-direction:column;gap:2px}
.v34-side-sub.v34-expanded{display:flex}
.v34-side-child{display:block;width:100%;border:0;border-radius:7px;background:transparent;color:#b3c9dc;text-align:left;cursor:pointer;font-size:13px;padding:8px 10px}
.v34-side-child:hover,.v34-side-child.v34-child-active{color:white;background:#285074}
.v34-caret{margin-left:auto;font-size:12px}
.v34-top-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.v34-top-tabs button{border:1px solid #cbd9e7;border-radius:8px;padding:11px 15px;color:#25547b;background:white;cursor:pointer;font-weight:650}
.v34-top-tabs button.selected{color:white;background:#1d5b97;border-color:#1d5b97}
.v34-phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin-bottom:20px}
.v34-phase-card{border:1px solid #d8e2ed;background:#f7fafd;border-radius:11px;padding:14px}
.v34-phase-card>div:first-child{display:flex;gap:5px;flex-direction:column;margin-bottom:10px}
.v34-phase-card small{color:#687f98}
.v34-project-head{align-items:flex-start;gap:20px}
.v34-project-head h1{margin:12px 0 4px;font-size:26px}
#v34-client-report{break-before:page}
@media print{.sidebar,.topbar,.footnote,.v34-top-tabs,.v34-project-head,.v34-phase-grid,.stat-grid,.form-note,.actions,article.card:not(#v34-client-report){display:none!important}.main,.page{padding:0!important;margin:0!important;width:100%!important}#v34-client-report{display:block!important;border:0!important;box-shadow:none!important}#v34-client-report .section-header button{display:none!important}}

.v34-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:20px}
.v34-stage-chip{border:1px solid #d8e2ed;border-radius:9px;background:#f6f9fc;padding:12px;display:flex;flex-direction:column;gap:5px}
.v34-stage-chip span{font-size:12px;color:#657e98}

/* V3.5 controlled handover checklist */
.v35-handover{margin:14px 0 24px}.v35-check-group{border-top:1px solid #e3eaf1;padding:12px 0}.v35-check-group h4{margin:0 0 8px}.v35-check{display:flex;gap:10px;align-items:center;margin:7px 0;cursor:pointer;font-size:14px}.v35-check input{width:auto;min-width:16px;height:16px}.v35-handover .actions{margin-top:12px}

/* V3.10: scrollable and collapsible navigation for compact laptops */
.sidebar{min-height:0;overflow:hidden}#sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#59758c transparent;padding-bottom:12px}#sidebar-nav::-webkit-scrollbar{width:6px}#sidebar-nav::-webkit-scrollbar-thumb{background:#59758c;border-radius:8px}.brand{flex-shrink:0;margin-bottom:12px}.sidebar-foot{flex-shrink:0;background:var(--navy);padding-top:10px}.sidebar>.side-group-label{flex-shrink:0;padding-top:4px}.v310-collapse{flex-shrink:0;align-self:flex-end;border:0;background:transparent;color:#bdd6ee;font-size:11px;padding:3px 12px 8px}.v310-collapse:hover{color:white;text-decoration:underline}.v34-caret{padding:5px 9px;min-width:28px;cursor:pointer;border-radius:6px;user-select:none}.v34-caret:hover{background:#3a5c79}#sidebar-nav .nav-link{min-height:38px}.sidebar-foot #sidebar-user{overflow-wrap:anywhere}
