:root{--brand-blue:#064b86;--brand-blue-dark:#07365f;--brand-yellow:#f2ca18;--brand-red:#c92a34;--text:#172536;--text-soft:#5e6d79;--border:#d8e0e6;--surface:#fff;--surface-subtle:#f7f9fb;--surface-blue:#edf4fa;color:var(--text);font-synthesis:none;background:#f3f6f8;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#f3f6f8;min-width:320px;margin:0;line-height:1.45}::selection{color:var(--brand-blue-dark);background:#dcebf7}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}button:disabled{cursor:not-allowed;opacity:.65}.login-page{background:linear-gradient(145deg,#f8fafb,#e9eff3);justify-content:center;align-items:center;min-height:100vh;padding:72px 24px 24px;display:flex;position:relative}.login-page>.demo-banner{width:100%;position:absolute;inset:0 0 auto}.login-card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #162b3a0f}.login-card{border-top:4px solid var(--brand-yellow);width:min(440px,100%);padding:32px}.login-card.demo-login-card{width:min(520px,100%)}.demo-account-panel{border:1px solid #d6e2ec;border-left:4px solid var(--brand-blue);background:var(--surface-blue);border-radius:8px;gap:12px;margin:18px 0;padding:16px;display:grid}.demo-account-panel h2{margin:0 0 4px;font-size:1rem}.demo-account-panel p{color:var(--text-soft);margin:0;font-size:.88rem}.demo-account-panel small{color:var(--text-soft);font-weight:500}.login-brand,.brand-heading{align-items:center;gap:12px;display:flex}.brand-logo-frame{background:#fff;flex:0 0 60px;width:60px;height:49px;display:block;overflow:hidden}.brand-logo{width:100%;height:auto;display:block}.login-brand{margin-bottom:18px}.login-brand h1,.brand-heading h1{margin:0}.eyebrow{color:var(--brand-blue);letter-spacing:.09em;margin:0 0 6px;font-size:.75rem;font-weight:800}h1,h2{color:var(--brand-blue-dark);margin-top:0}.muted{color:var(--text-soft)}form{gap:16px;display:grid}label{color:#344759;gap:7px;font-size:.92rem;font-weight:650;display:grid}.check-row{align-items:center;gap:10px;display:flex}.check-row input{width:auto}input,select,textarea{width:100%;color:var(--text);background:#fff;border:1px solid #aebbc5;border-radius:7px;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--brand-blue);outline:3px solid #064b8624}button:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #064b8638}button{white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;min-height:42px;padding:10px 16px;font-weight:700;line-height:1.15;display:inline-flex}.primary{background:var(--brand-blue);color:#fff}.primary:hover:not(:disabled){background:var(--brand-blue-dark)}.secondary{color:var(--brand-blue-dark);background:#fff;border:1px solid #aebbc5}.secondary:hover:not(:disabled){border-color:var(--brand-blue);background:var(--surface-blue)}.danger{border:1px solid var(--brand-red);color:var(--brand-red);background:#fff}.app-shell{min-height:100vh}.demo-banner{color:#4d471c;text-align:center;background:#fff8d8;border-bottom:1px solid #ead268;padding:7px clamp(18px,4vw,56px);font-size:.82rem;font-weight:650}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(18px,4vw,56px);display:flex;box-shadow:0 3px 14px #162b3a0d}.topbar h1{margin:0;font-size:clamp(1.2rem,3vw,1.65rem)}.session,.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-user{text-align:right;line-height:1.25;display:grid}.session-user small{color:var(--text-soft);font-size:.72rem}.session-user span{color:var(--brand-blue-dark);font-weight:700}.actions button,.demo-actions button,.inline-form button,.form-grid button,.panel-head button{min-width:132px}td .actions{align-items:stretch}td .actions button{min-width:112px}.content{width:min(1680px,100% - 40px);margin:16px auto 24px}.presentation-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.side-menu{background:#fff;border:1px solid #d8e0e3;border-radius:10px;gap:6px;padding:14px;display:grid;position:sticky;top:18px;box-shadow:0 10px 30px #1830390f}.side-menu button{color:#25343b;text-align:left;background:0 0;border:0;width:100%;padding:10px 12px}.side-menu button.active{background:var(--brand-blue);color:#fff}.side-menu button:hover:not(.active){background:var(--surface-blue);color:var(--brand-blue-dark)}.demo-main{gap:18px;display:grid}.module-home{gap:18px;margin-bottom:18px;display:grid}.breadcrumb{color:#66747b;font-size:.9rem}.demo-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.badge{color:var(--brand-blue-dark);white-space:nowrap;background:#edf5fa;border-radius:999px;align-items:center;padding:5px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.badge.warning{color:#805400;background:#fff6df}.badge.source-validated{color:#1a6b2f;background:#e6f4ea}.badge.source-public{color:#1a4a8a;background:#e8f0fe}.badge.source-demo{color:#7a4500;background:#fff3e0}.badge.source-unknown{color:#5a6472;background:#f1f3f4}.badge.template-integrated{color:#1a6b2f;background:#e6f4ea}.badge.template-partial{color:#805400;background:#fff6df}.badge.template-blueprint{color:#526269;background:#edf1f3}.demo-disclaimer{color:#5a4000;background:#fff8e1;border:1px solid #f0c040;border-radius:8px;margin-bottom:12px;padding:12px 16px;font-size:.88rem}.source-counters{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.source-counter{background:#fff;border:1px solid #d8e0e3;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:700;display:flex}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.filter-bar label{gap:4px;font-size:.82rem}.filter-bar select,.filter-bar input{min-width:140px;padding:7px 10px;font-size:.88rem}.roles-table-notice{color:#5a4000;background:#fff9e3;border:1px solid #ead268;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:.85rem}.clarify-section{background:#fff;border:1px solid #d8e0e3;border-radius:8px;margin-bottom:12px;overflow:hidden}.clarify-section-header{cursor:pointer;background:#f7f9fa;border-bottom:1px solid #d8e0e3;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.clarify-section-header h3{margin:0;font-size:1rem}.clarify-section-body{padding:14px 18px}.kpi-card small.source-note{color:#7a4500;margin-top:4px;font-size:.75rem;font-style:italic;display:block}.roles-lot-group{margin-bottom:20px}.roles-lot-heading{text-transform:uppercase;color:var(--brand-blue);margin-bottom:8px;font-size:.92rem}.clarify-section-actions{align-items:center;gap:8px;display:flex}.kpi-card strong{color:var(--brand-blue-dark);margin-top:8px;font-size:1.8rem;display:block}.empty-state{color:#526269;background:#fbfcfd;border:1px dashed #aebbc0;border-radius:10px;gap:8px;padding:28px;display:grid}.demo-preview{background:#fff;border:1px solid #d8e0e3;border-radius:8px;gap:14px;padding:18px;display:grid}.demo-preview h3{margin:0;font-size:1rem}.module-demo{gap:16px;display:grid}.capability-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.capability-board article{background:#fbfcfd;border:1px solid #d8e0e3;border-radius:8px;align-content:start;gap:10px;padding:16px;display:grid}.capability-board h3,.surface-block h4{color:var(--brand-blue-dark);margin:0;font-size:.92rem}.capability-board ul{color:#526269;gap:8px;margin:0;padding-left:18px;display:grid}.module-surface{background:#fff}.surface-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.surface-heading p{margin-bottom:0}.surface-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;display:grid}.surface-block{background:#fff;border:1px solid #e1e6e8;border-radius:8px;align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.surface-block.wide{grid-column:1/-1}.form-skeleton{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-skeleton.compact{grid-template-columns:1fr;gap:10px}.form-skeleton.compact input{padding:9px 10px}.form-skeleton input:disabled{color:#66747b;opacity:1;background:#f7f9fa}.document-sheet{background:#fff;border:1px solid #c9d2d6;gap:10px;max-width:760px;padding:22px;display:grid}.document-sheet.compact{max-width:none;padding:16px}.document-sheet>div{border-bottom:2px solid var(--brand-blue-dark);justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.document-sheet span,.document-sheet em{display:block}.document-sheet p{border-bottom:1px solid #e1e6e8;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:14px;margin:0;padding:9px 0;display:grid}.document-sheet em{color:#66747b;font-style:normal}.document-sheet.compact p{grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:10px}.workflow-list{gap:8px;margin:0;padding-left:22px;display:grid}.workflow-list li{background:#fbfcfd;border:1px solid #e1e6e8;border-radius:6px;padding:8px 10px}.contract-panel{border-left:4px solid var(--brand-blue);background:var(--surface-blue);gap:7px;padding:14px;display:grid}.empty-row{color:#66747b;text-align:center}.demo-actions{flex-wrap:wrap;gap:10px;display:flex}.disabled-action{color:#526269;background:#eef2f3;border:1px solid #c9d2d6}.tabs{border-bottom:1px solid var(--border);align-items:stretch;gap:8px;margin-bottom:20px;padding:0 0 4px;display:flex;overflow-x:auto}.tabs button{color:#415365;background:0 0;border-radius:7px 7px 3px 3px;min-width:118px;min-height:44px}.tabs button.active{background:var(--brand-blue);color:#fff;box-shadow:inset 0 -3px 0 var(--brand-yellow)}.tabs button:hover:not(.active){background:var(--surface-blue);color:var(--brand-blue-dark)}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));align-items:start;gap:16px;display:grid}.grid>*{min-width:0}.budget-layout{grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr)}.budget-layout .engagement-panel{grid-column:1/-1}.demo-guide{gap:16px;display:grid}.demo-guide-list{border-top:1px solid #e1e6e8;display:grid}.demo-guide-row{border-bottom:1px solid #e1e6e8;grid-template-columns:38px minmax(0,1fr) auto 112px;align-items:center;gap:14px;padding:14px 0;display:grid}.demo-guide-row h3,.demo-guide-row p{margin:0}.demo-guide-row h3{font-size:1rem}.demo-guide-row p{color:#66747b;margin-top:4px;font-size:.9rem}.demo-guide-number{background:var(--brand-blue);color:#fff;border-radius:6px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.demo-guide-row button{width:112px;min-width:112px}.wide-panel{grid-column:1/-1}.work-panel{gap:18px;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:end;gap:14px;display:grid}.form-grid button{min-height:44px}.panel{padding:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e1e6e8;padding:11px 10px}th{color:var(--brand-blue-dark);text-transform:uppercase;background:#f5f8fa;font-size:.8rem}.message{border:1px solid #0000;border-radius:6px;padding:10px 12px}.message.error{color:#8d1f28;background:#fff0f2;border-color:#edc2c7}.message.success{color:#176336;background:#eaf7ef;border-color:#bfe2cb}.message.info{background:var(--surface-blue);color:var(--brand-blue-dark);border-color:#c9ddeb}.empty{color:#66747b;text-align:center;padding:24px 0}.template-library,.template-list,.template-card-body{gap:16px;display:grid}.template-filter{min-width:min(100%,260px)}.template-card{background:#fff;border:1px solid #d8e0e3;border-radius:9px;overflow:hidden}.template-card summary{cursor:pointer;background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;display:flex}.template-card[open]>summary{border-bottom:1px solid var(--border);background:var(--surface-blue)}.template-card summary span:first-child{gap:4px;display:grid}.template-card summary small{color:#66747b}.template-card-body{padding:0 18px 18px}.template-meta,.template-status-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;display:grid}.template-meta p,.template-status-grid section,.template-section{background:#fbfcfd;border:1px solid #e1e6e8;border-radius:8px;margin:0;padding:14px}.template-meta p{gap:5px;display:grid}.template-meta span{color:#526269;overflow-wrap:anywhere}.template-open-action{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.template-recipe-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.template-recipe-panel>summary::-webkit-details-marker{display:none}.template-recipe-panel>summary span:first-child{gap:.3rem;display:grid}.template-recipe-body{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.template-demo-steps{gap:.45rem;margin:0 0 1rem;padding-left:1.4rem;display:grid}@media (width<=720px){.template-recipe-panel>summary{flex-direction:column;align-items:flex-start}}.template-open-action small{color:#66747b}.ac-g58-intro{border-left:4px solid var(--brand-blue)}.ac-g58-totals{margin-bottom:14px}.ac-g58-line-form{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.ac-g58-readiness-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.ac-g58-readiness-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:.8rem;padding:1rem}.ac-g58-readiness-card h3,.ac-g58-readiness-card p{margin-top:0}.template-section h3,.template-status-grid h3{margin:0 0 10px;font-size:.95rem}.template-fields,.template-flow{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px;display:grid}.template-fields span,.template-flow span{color:#34444b;background:#fff;border:1px solid #d8e0e3;border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:9px 11px;display:flex}.template-flow b{background:var(--brand-blue);color:#fff;border-radius:50%;flex:0 0 24px;place-items:center;height:24px;font-size:.75rem;display:grid}.template-matrix table{background:#fff;min-width:max-content}.template-status-grid ul{color:#526269;gap:6px;margin:0;padding-left:20px;display:grid}.template-questions{color:#805400;margin:12px 0 0;font-weight:700}@media (width<=820px){.content{width:min(100% - 24px,100%);margin:12px auto 18px}.topbar,.grid,.budget-layout,.presentation-layout,.kpi-grid,.capability-board,.surface-grid{grid-template-columns:1fr;display:grid}.budget-layout .engagement-panel{grid-column:auto}.demo-guide-row{grid-template-columns:34px minmax(0,1fr)}.demo-guide-row .badge,.demo-guide-row button,.demo-guide-row>.muted{grid-column:2;justify-self:start}.session{justify-content:space-between;width:100%}.session-user{text-align:left}.form-skeleton,.document-sheet p,.template-card summary{grid-template-columns:1fr}.template-card summary,.document-sheet>div{display:grid}}@media (width<=520px){.login-page{padding:64px 14px 14px}.login-card{padding:24px 20px}.brand-logo-frame{flex-basis:52px;width:52px;height:43px}.topbar{padding:14px}.session{align-items:stretch}.session .secondary{flex:1 0 100%}.panel{padding:16px}}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.badge-due{color:var(--brand-red);font-weight:700}.billetage{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:8px 0;display:flex}.billetage-item{flex-direction:column;flex:90px;max-width:110px;font-size:.8rem;display:flex}.billetage-item input{width:100%}.billetage strong{white-space:nowrap;margin-left:auto;padding-bottom:10px}.subtable{background:#f6f8f9;border-radius:8px;margin-top:10px;padding:10px;overflow-x:auto}.subtable table{font-size:.9rem}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:8px;display:flex}.inline-form input,.inline-form select{flex:180px;min-width:min(100%,180px)}.operation-form,.closing-form{margin-top:4px}button.link{color:var(--brand-blue);cursor:pointer;font:inherit;background:0 0;border:none;min-width:auto;min-height:32px;padding:0 6px;text-decoration:underline}button.link.danger{color:var(--brand-red)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.kpi-card{border:1px solid var(--border);background:#fff;border-top:3px solid #dce8f1;border-radius:10px;padding:14px}.kpi-card strong{margin-top:4px;font-size:1.6rem;display:block}.alerts-badge{background:var(--brand-red);color:#fff;border-radius:10px;margin-left:6px;padding:1px 7px;font-size:.75rem}
