@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--font-primary:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-primary);color:#1c2f3d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f7fc;font-weight:400;line-height:1.58}*,:before,:after{box-sizing:border-box;font-family:var(--font-primary)}body{min-height:100vh;font-family:var(--font-primary);background:radial-gradient(circle at 0 0,#f0a1002e,#0000 38%),radial-gradient(circle at 100% 0,#288ec338,#0000 34%),radial-gradient(circle at 50% 100%,#174b701a,#0000 45%),#f3f7fc;margin:0;font-weight:400;line-height:1.58}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:inherit}h1{letter-spacing:-.03em;font-weight:800;line-height:1.1}h2,h3{letter-spacing:-.02em;font-weight:700;line-height:1.2}:root{--ink-900:#1a2332;--ink-700:#344054;--ink-500:#667085;--ink-400:#98a2b3;--paper:#f2f4f7;--card:#fff;--line:#e4e7ec;--line-soft:#eaecf0;--brand-900:#164050;--brand-700:#1b5e6b;--brand-500:#2490a3;--brand-300:#7ec8d6;--accent:#e8960c;--success:#12805c;--danger:#c4454d;--shadow-soft:0 1px 3px #1018281a, 0 1px 2px #1018280f;--shadow-medium:0 4px 8px -2px #1018281a, 0 2px 4px -2px #1018280f;--radius:8px;--radius-lg:12px;--font-primary:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.portal-shell,.dashboard-shell,.workspace-shell,button,label,input,select,textarea,table,th,td,.ws-tab,.ws-subtab,.filter-pill,.status-badge{font-family:var(--font-primary)}.portal-shell{width:min(1240px,100% - 2rem);margin:0 auto;padding:1.4rem 0 2.8rem}.hero-banner{border-radius:var(--radius-lg);background:var(--brand-900);color:#f8fbff;box-shadow:var(--shadow-medium);padding:clamp(1.2rem,2vw,2.2rem);animation:.52s ease-out rise;position:relative;overflow:hidden}.hero-banner:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff4d,#0000 62%);border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-120px}.brand-row{justify-content:space-between;align-items:center;gap:.9rem;margin-bottom:.75rem;display:flex}.brand-logo{object-fit:contain;width:clamp(130px,17vw,214px);height:auto}.logo-home-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.logo-home-btn:focus-visible{outline-offset:3px;border-radius:8px;outline:2px solid #ffffffd9}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#f8fbffd1;margin:0;font-size:.73rem;font-weight:700}.hero-banner h1{font-family:var(--font-primary);letter-spacing:-.03em;color:#fff;max-width:16ch;margin:0;font-size:clamp(1.8rem,3vw,3rem);font-weight:800;line-height:1.1}.subtitle{color:#f5faffe6;max-width:56ch;margin:.8rem 0 0}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1rem;display:grid}.hero-metric{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#071a2733;border:1px solid #ffffff42;border-radius:14px;flex-direction:column;gap:.2rem;padding:.6rem .7rem;display:flex}.hero-metric span{letter-spacing:.08em;text-transform:uppercase;color:#ecf6ffd9;font-size:.72rem}.hero-metric strong{color:#fff;font-size:1.06rem}.workflow{margin-top:1rem}.utility-bar{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-soft);grid-template-columns:1fr auto auto;align-items:center;gap:.8rem;margin-top:1rem;padding:.9rem;display:grid}.utility-heading h2{color:var(--ink-900);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.96rem}.utility-heading p{color:var(--ink-500);margin:.2rem 0 0;font-size:.82rem}.draft-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.status-block p{margin:0;font-size:.78rem}.status-message{color:var(--success);white-space:nowrap;background:#eaf8f1;border:1px solid #bde5cf;border-radius:999px;padding:.35rem .6rem;font-weight:600}.stepper{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;padding:.75rem;display:flex;position:relative}.step-chip{border:1px solid var(--line);background:var(--card);color:var(--ink-700);cursor:pointer;white-space:nowrap;z-index:1;border-radius:999px;align-items:center;gap:.36rem;padding:.35rem .6rem;font-size:.73rem;font-weight:500;transition:all .14s;display:inline-flex}.step-chip:hover{border-color:var(--brand-300);color:var(--brand-700)}.step-chip span{background:#e8eef7;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:inline-flex}.step-chip.active{border-color:var(--brand-900);background:var(--brand-900);color:#fff}.step-chip.complete{color:var(--success);background:#ecfdf3;border-color:#abefc6}.step-chip.active span,.step-chip.complete span{background:var(--brand-700);color:#fff}.progress-track{background:#deebf6;border-radius:999px;height:5px;position:absolute;bottom:.32rem;left:.8rem;right:.8rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--brand-700), #37a4d8);height:100%;transition:width .24s}.work-area{grid-template-columns:minmax(0,1.95fr) minmax(290px,1fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}.form-card,.preview-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-soft);padding:1.1rem}.form-card{background:var(--card)}.form-card h2,.preview-card h3{font-family:var(--font-primary);letter-spacing:-.02em;color:var(--ink-900);margin:0;font-weight:700;line-height:1.2}.preview-card{position:sticky;top:1rem}.preview-card-header{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.summary-pill{color:var(--brand-900);background:#e9f5fc;border:1px solid #bcdff0;border-radius:999px;padding:.28rem .58rem;font-size:.73rem;font-weight:600}.hint{color:var(--ink-500);margin-top:.42rem;margin-bottom:.9rem;font-size:.91rem}.grid{gap:.78rem;display:grid}.grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.one-col{grid-template-columns:1fr}label{color:var(--ink-700);flex-direction:column;gap:.34rem;font-size:.84rem;font-weight:600;display:flex}input,textarea,select{border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem;font-family:var(--font-primary);color:var(--ink-900);background:#fff;padding:.55rem .75rem;font-weight:500;transition:border-color .12s,box-shadow .12s}textarea{resize:vertical;min-height:90px}input:focus,textarea:focus,select:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 3px #1f86b833}input.invalid,textarea.invalid,select.invalid{background:#fff8f9;border-color:#d15c66}.field-error{color:var(--danger);margin-top:-.08rem;font-size:.74rem;font-weight:700}.req{color:var(--danger);margin-left:2px}.error-box{background:#fff4f4;border:1px solid #efc1c5;border-radius:10px;margin-bottom:.8rem;padding:.6rem .7rem}.error-box p{color:#8d2e37;margin:0;font-size:.83rem;font-weight:700}.error-box ul{color:#8d2e37;margin:.35rem 0 0;padding-left:1rem;font-size:.8rem}.actions{justify-content:space-between;gap:.7rem;margin-top:1rem;display:flex}button{border-radius:var(--radius);cursor:pointer;font-family:var(--font-primary);border:1px solid #0000;padding:.55rem 1rem;font-size:.86rem;font-weight:600;transition:all .15s}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.46;cursor:not-allowed}.primary{color:#fff;background:var(--brand-900);box-shadow:var(--shadow-soft)}.primary:hover:not(:disabled){filter:brightness(1.05)}.ghost{color:var(--brand-900);border-color:var(--line);background:var(--card)}.ghost:hover:not(:disabled){border-color:var(--brand-300);background:#f0f5f7}.ghost.danger{color:var(--danger);background:#fef3f2;border-color:#fecdca}.checkbox-panel{border:1px solid var(--line-soft);background:#fafcff;border-radius:12px;gap:.46rem;margin:0;padding:.75rem;display:grid}.checkbox-panel legend{color:var(--ink-700);padding:0 .3rem;font-weight:700}.checkbox-row{flex-direction:row;align-items:center;gap:.55rem;font-weight:600;display:flex}.checkbox-row input{width:16px;height:16px}.review-block p{margin-top:0;margin-bottom:1rem}.preview-card ul{gap:.42rem;margin:0;padding:0;list-style:none;display:grid}.preview-card li{border:1px solid var(--line-soft);background:#fbfdff;border-radius:10px;justify-content:space-between;gap:.8rem;padding:.48rem .58rem;font-size:.82rem;display:flex}.preview-card li span{color:var(--ink-500)}.preview-card li strong{color:var(--ink-900);text-align:right}.small-note{color:var(--ink-500);margin-top:1rem;font-size:.85rem}.table-editor{border:1px solid var(--line-soft);border-radius:10px;margin-bottom:.75rem;overflow-x:auto}.table-editor table{border-collapse:collapse;background:#fff;width:100%;font-size:.87rem}.table-editor th{background:var(--paper);color:var(--ink-500);text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);padding:.5rem .6rem;font-size:.72rem;font-weight:600}.table-editor td{border-bottom:1px solid #edf2f8;padding:.35rem .4rem}.table-editor td input,.table-editor td select{border:1px solid var(--line);border-radius:7px;width:100%;padding:.4rem .5rem;font-size:.84rem}.empty-row{text-align:center;color:#8698ad;font-style:italic;padding:1.2rem!important}button.small{border-radius:8px;padding:.25rem .5rem;font-size:.78rem}button.icon-only{justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}button.icon-only svg{width:16px;height:16px}.price-summary{border:1px solid var(--line-soft);background:#f7fbff;border-radius:12px;margin-top:1rem;padding:1rem}.totals{flex-direction:column;align-items:flex-end;gap:.3rem;margin-top:.6rem;font-size:.9rem;display:flex}.grand-total{color:var(--brand-900);font-size:1.08rem}.review-summary{gap:.4rem;display:grid}.review-row{border:1px solid var(--line-soft);background:#f8fbff;border-radius:9px;justify-content:space-between;gap:.8rem;padding:.52rem .7rem;font-size:.88rem;display:flex}.review-row span{color:var(--ink-500)}.export-buttons{gap:.8rem;margin-top:1.1rem;display:flex}.export-buttons .primary{padding:.78rem 1.4rem;font-size:.96rem}.image-upload{flex-direction:column;gap:.34rem;display:flex}.image-upload-label{color:var(--ink-700);font-size:.84rem;font-weight:700}.image-upload-hint{color:var(--ink-500);font-size:.76rem}.image-upload-zone{cursor:pointer;background:#f8fbff;border:2px dashed #b9cadb;border-radius:12px;justify-content:center;align-items:center;transition:border-color .18s,background .18s;display:flex;overflow:hidden}.image-upload-zone:hover{border-color:var(--brand-500);background:#f0f8fd}.image-upload-zone.circle,.image-preview.circle{border-radius:50%}.image-preview{object-fit:cover;width:100%;height:100%}.image-placeholder{color:#8397ac;flex-direction:column;align-items:center;gap:.28rem;font-size:.78rem;display:flex}.image-placeholder-icon{color:#a9bfd3;font-size:1.8rem;font-weight:300}.image-upload-actions{gap:.4rem;display:flex}.image-upload-grid{flex-wrap:wrap;gap:1.15rem;margin-top:.5rem;display:flex}.cert-images-grid,.headshot-grid{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}.cert-image-card{border:1px solid var(--line-soft);background:#fff;border-radius:12px;width:180px;overflow:hidden}.cert-image-preview{object-fit:cover;width:180px;height:240px;display:block}.cert-image-actions{justify-content:space-between;align-items:center;padding:.4rem;display:flex}.cert-image-label{color:var(--ink-500);font-size:.76rem;font-weight:700}.cert-image-add{cursor:pointer;color:#8397ac;border:2px dashed #b9cadb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:180px;height:280px;font-size:.82rem;transition:border-color .18s,background .18s;display:flex}.cert-image-add:hover{border-color:var(--brand-500);background:#f0f8fd}.headshot-card{cursor:pointer;flex-direction:column;align-items:center;gap:.3rem;width:102px;display:flex}.headshot-frame{border:3px solid var(--brand-700);background:#f0f7fc;border-radius:50%;justify-content:center;align-items:center;width:82px;height:82px;transition:border-color .18s;display:flex;overflow:hidden}.headshot-card:hover .headshot-frame{border-color:var(--brand-500)}.headshot-img{object-fit:cover;width:100%;height:100%}.headshot-placeholder{color:#a7bed2;font-size:1.4rem}.headshot-name{color:var(--ink-700);text-align:center;font-size:.72rem;font-weight:700;line-height:1.2}.headshot-role{color:var(--ink-500);text-align:center;font-size:.66rem;line-height:1.2}.form-card h3{color:var(--ink-900);border-bottom:2px solid #ecf2fa;margin-top:1.5rem;margin-bottom:.5rem;padding-bottom:.28rem;font-size:1.02rem}.form-card h3:first-child{margin-top:0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.portal-shell{width:min(1240px,100% - 1.2rem);padding-top:1rem}.work-area{grid-template-columns:1fr}.preview-card{position:static}.utility-bar{grid-template-columns:1fr}.draft-actions{justify-content:flex-start}}@media (width<=760px){.brand-row{flex-direction:column;align-items:flex-start}.hero-metrics,.grid.two-cols{grid-template-columns:1fr}.stepper{padding-bottom:.95rem}.step-chip{font-size:.7rem}.actions{flex-direction:column-reverse}.actions button,.export-buttons .primary{width:100%}.export-buttons{flex-direction:column}}.dashboard-shell{width:min(1400px,100% - 2rem);margin:0 auto;padding:1rem 0 2.5rem}.dash-topbar{background:var(--brand-900);border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-medium);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.5rem;display:flex}.dash-topbar-left{align-items:center;gap:1rem;display:flex}.dash-logo{width:100px;height:auto}.dash-topbar h1{font-size:1.3rem;font-family:var(--font-primary);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.1}.dash-title-row{align-items:center;gap:.45rem;display:inline-flex}.dash-beta-pill{letter-spacing:.08em;text-transform:uppercase;color:#0a4f60;background:#c9f0ff;border:1px solid #86d3ee;border-radius:999px;justify-content:center;align-items:center;padding:.12rem .42rem;font-size:.62rem;font-weight:700;display:inline-flex}.dash-topbar p{opacity:.85;margin:.15rem 0 0;font-size:.82rem}.dash-metrics{grid-template-columns:repeat(7,1fr);gap:.7rem;margin-top:1rem;display:grid}.dash-metric-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-soft);align-items:flex-start;gap:.65rem;padding:.85rem;transition:transform .15s;display:flex}.dash-metric-card:hover{transform:translateY(-1px)}.dash-metric-card.highlight-amber{background:#fffbf0;border-color:#e68a00}.dash-metric-card.highlight-red{border-color:var(--danger);background:#fef5f5}.dash-metric-content{width:100%;min-width:0}.dash-metric-icon{background:#f0f5fa;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.6rem;display:flex}.dash-metric-header{justify-content:space-between;align-items:flex-start;gap:.45rem;min-height:1.25rem;display:flex}.dash-metric-title{align-items:flex-start;gap:.4rem;min-width:0;display:inline-flex}.dash-metric-heading-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;margin-top:-.02rem;font-size:1.5rem;line-height:1;display:inline-flex}.dash-metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);overflow-wrap:anywhere;font-size:.72rem;font-weight:600;line-height:1.3}.dash-metric-info{flex-shrink:0;position:relative}.dash-metric-info-button{width:1.15rem;height:1.15rem;color:var(--ink-500);cursor:help;background:#f8fafc;border:1px solid #b8c5d2;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.dash-metric-info-button:hover,.dash-metric-info-button:focus-visible{color:#0a4f60;border-color:#0a4f60;outline:none;box-shadow:0 0 0 3px #0a4f601f}.dash-metric-tooltip{z-index:20;pointer-events:none;opacity:0;width:max-content;max-width:min(17rem,76vw);color:var(--ink-700);text-transform:none;letter-spacing:0;white-space:normal;background:#fff;border:1px solid #d4dee8;border-radius:8px;padding:.65rem .75rem;font-size:.72rem;line-height:1.35;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + .55rem);right:-.25rem;transform:translateY(-.2rem);box-shadow:0 12px 28px #0f172a2e}.dash-metric-tooltip:before{content:"";background:#fff;border-top:1px solid #d4dee8;border-left:1px solid #d4dee8;width:.7rem;height:.7rem;position:absolute;top:-.38rem;right:.55rem;transform:rotate(45deg)}.dash-metric-info:hover .dash-metric-tooltip,.dash-metric-info:focus-within .dash-metric-tooltip{opacity:1;transform:translateY(0)}.dash-metric-value{color:var(--ink-900);font-size:1.5rem;line-height:1.1;display:block}.dash-metric-sub{color:var(--ink-500);font-size:.72rem}.dash-charts-row{grid-template-columns:1fr 1fr;gap:.9rem;margin-top:.9rem;display:grid}.dash-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1rem}.dash-card h3{color:var(--ink-900);font-size:.95rem;font-family:var(--font-primary);letter-spacing:-.02em;margin:0 0 .7rem;font-weight:700;line-height:1.2}.pipeline-bar{border-radius:10px;gap:2px;height:36px;display:flex;overflow:hidden}.pipeline-segment{color:#fff;justify-content:center;align-items:center;min-width:32px;font-size:.85rem;font-weight:700;transition:flex .3s;display:flex}.pipeline-legend{flex-wrap:wrap;gap:.6rem;margin-top:.6rem;display:flex}.legend-item{color:var(--ink-500);align-items:center;gap:.3rem;font-size:.72rem;display:flex}.legend-dot{border-radius:3px;width:10px;height:10px}.heatmap-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;display:grid}.heatmap-cell{border:1px solid var(--line);cursor:pointer;border-left:4px solid var(--success);background:#f4faf6;border-radius:10px;flex-direction:column;gap:.2rem;padding:.55rem .65rem;transition:transform .12s,border-color .12s;display:flex}.heatmap-cell:hover{border-color:var(--brand-500);transform:translateY(-1px)}.heatmap-cell.soon{background:#fffbf0;border-left-color:#e68a00}.heatmap-cell.urgent{background:#fff5f0;border-left-color:#e05a00}.heatmap-cell.overdue{border-left-color:var(--danger);background:#fef2f2}.heatmap-name{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700;overflow:hidden}.heatmap-days{color:var(--ink-500);font-size:.72rem;font-weight:600}.heatmap-cell.overdue .heatmap-days{color:var(--danger)}.heatmap-cell.urgent .heatmap-days{color:#e05a00}.dash-filter-bar{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.9rem;display:flex}.dash-topbar-actions{align-items:center;gap:.55rem;display:flex}.dev-user-switcher{color:#fff;min-width:220px;max-width:280px;height:38px;font:inherit;background:#ffffff1f;border:1px solid #ffffff73;border-radius:8px;padding:0 .75rem;font-size:.86rem;font-weight:600}.dev-user-switcher option{color:var(--ink-900)}.active-role-switcher{color:#ffffffd1;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.active-role-switcher select{color:#fff;min-width:170px;height:38px;font:inherit;text-transform:none;background:#ffffff1f;border:1px solid #ffffff73;border-radius:8px;padding:0 .7rem;font-size:.82rem}.active-role-switcher option{color:var(--ink-900)}.dash-modal-backdrop{z-index:50;background:#0f172a6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dash-modal{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(100%,760px);max-height:calc(100vh - 2rem);padding:1.25rem;overflow-y:auto;box-shadow:0 24px 60px #0f172a3d}.dash-modal h3{margin:0 0 .35rem}.dash-modal p{color:var(--ink-500);margin:0 0 1rem}.dash-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.new-tender-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.new-tender-grid label{min-width:0}.new-tender-grid input,.new-tender-grid select{width:100%}.new-tender-wide{grid-column:1/-1}.dash-modal .new-tender-error{color:var(--danger);margin:.8rem 0 0;font-size:.8rem;font-weight:600}.feedback-floating-button{z-index:40;color:#fff;background:var(--brand-900);align-items:center;gap:.45rem;display:inline-flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 10px 28px #0f3f474d}.feedback-floating-button span{font-size:1rem}.feedback-modal{width:min(100%,620px)}.feedback-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.feedback-close-button{color:var(--ink-500);background:0 0;padding:.2rem .5rem;font-size:1.35rem}.feedback-modal form,.feedback-modal label{gap:.4rem;display:grid}.feedback-modal form{gap:.9rem}.feedback-modal input,.feedback-modal textarea{width:100%}.feedback-modal textarea{resize:vertical}.feedback-attachment-panel{border:1px dashed var(--brand-300);background:#f7fbfc;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.feedback-attachment-panel.drag-active{border-color:var(--brand-900);background:#eaf5f7;box-shadow:0 0 0 3px #0f5c671f}.feedback-attachment-panel div{gap:.2rem;display:grid}.feedback-attachment-panel span{color:var(--ink-500);font-size:.78rem}.feedback-file-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.feedback-file-list li{border:1px solid var(--line-soft);border-radius:7px;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .65rem;font-size:.8rem;display:flex}.feedback-file-list li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.feedback-file-list li button{color:var(--danger);background:0 0;padding:.1rem .35rem}.feedback-modal .feedback-error{color:var(--danger);margin:0;font-size:.82rem;font-weight:600}.feedback-success{color:#145c46;background:#effaf5;border:1px solid #a7d7c5;border-radius:8px;justify-items:start;gap:1rem;padding:1rem;display:grid}@media (width<=640px){.feedback-floating-button{bottom:1rem;right:1rem}.feedback-attachment-panel{flex-direction:column;align-items:stretch}}.dash-search{border:1px solid var(--line);background:var(--card);border-radius:12px;flex:1;min-width:200px;padding:.55rem .8rem;font-size:.88rem}.dash-filter-pills{flex-wrap:wrap;gap:.3rem;display:flex}.filter-pill{border:1px solid var(--line);background:var(--card);color:var(--ink-500);cursor:pointer;border-radius:999px;padding:.3rem .6rem;font-size:.73rem;font-weight:600;transition:all .12s}.filter-pill:hover{background:var(--paper);color:var(--brand-700)}.filter-pill.active{background:var(--brand-900);color:#fff;border-color:var(--brand-900);font-weight:600}.dash-register-area{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:.9rem;margin-top:.9rem;display:grid}.dash-register-area.no-detail{grid-template-columns:minmax(0,1fr)}.dash-register{min-width:0;overflow-x:auto}.register-table{border-collapse:collapse;width:100%;min-width:1120px;font-size:.82rem}.register-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);border-bottom:2px solid var(--line);padding:.55rem .5rem;font-size:.72rem;font-weight:600}.register-filter-row th{background:#f8fafc;border-bottom-width:1px;padding:.4rem .35rem .55rem}.register-filter-row input,.register-filter-row select{background:var(--card);width:100%;min-width:72px;height:32px;color:var(--ink-700);text-transform:none;letter-spacing:normal;border-color:#d0d5dd;border-radius:6px;padding:0 .5rem;font-size:.7rem;font-weight:500}.table-filter-hint{min-height:32px;color:var(--ink-400);text-transform:none;letter-spacing:0;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.register-filter-row input::placeholder{color:var(--ink-400)}.register-filter-row input:focus,.register-filter-row select:focus{border-color:var(--brand-500);box-shadow:0 0 0 2px #2490a324}.register-row{cursor:pointer;transition:background .1s}.register-row:hover{background:#f6f9fd}.register-row.selected{background:#ebf5fc}.register-row td{border-bottom:1px solid var(--line-soft);color:var(--ink-700);padding:.55rem .5rem}.register-row.overdue td{color:var(--danger)}.register-row.urgent td:nth-child(6){color:#e05a00;font-weight:700}.ref-cell{font-family:var(--font-primary);font-size:.78rem;font-weight:500}.name-cell{font-weight:700;color:var(--ink-900)!important}.value-cell{text-align:right;font-weight:600}.register-table th:last-child{text-align:right}.status-badge{color:#fff;white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.empty-state{text-align:center;color:var(--ink-500);padding:2rem;font-style:italic}.dash-detail{position:sticky;top:1rem}.detail-header{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.detail-ref{font-family:var(--font-primary);color:var(--ink-500);font-size:.8rem;font-weight:500}.dash-detail h4{color:var(--ink-900);margin:0 0 .7rem;font-size:1rem}.detail-open-button{width:100%;margin-bottom:.8rem}.detail-rows{gap:.3rem;display:grid}.detail-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;padding:.35rem 0;font-size:.82rem;display:flex}.detail-row span{color:var(--ink-500)}.detail-row strong{color:var(--ink-900)}.detail-notes{border:1px solid var(--line-soft);color:var(--ink-700);background:#f8fbff;border-radius:10px;margin-top:.6rem;padding:.5rem .65rem;font-size:.8rem}.detail-status-change{gap:.35rem;margin-top:.7rem;display:grid}.detail-status-change span{color:var(--ink-500);font-size:.8rem;font-weight:700}.detail-status-change .status-badge{width:fit-content}@media (width<=1100px){.dash-metrics{grid-template-columns:repeat(3,1fr)}.dash-register-area{grid-template-columns:1fr}}@media (width<=768px){.dash-metrics{grid-template-columns:repeat(2,1fr)}.dash-charts-row{grid-template-columns:1fr}.dash-topbar{text-align:center;flex-direction:column}.dash-topbar-actions{justify-content:center}.new-tender-grid{grid-template-columns:1fr}.new-tender-wide{grid-column:auto}}.users-shell{padding-bottom:2rem}.users-summary{margin-top:.8rem}.users-grid{grid-template-columns:340px 1fr;align-items:start;gap:.9rem;margin-top:.9rem;display:grid}.users-form{gap:.6rem;display:grid}.users-message{color:var(--ink-500);margin:.7rem 0 0;font-size:.8rem;font-weight:600}.users-role-fieldset,.users-role-editor{border:1px solid var(--line-soft);background:#fbfdff;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.25rem .45rem;padding:.55rem;display:grid}.users-role-fieldset legend{color:var(--ink-700);padding:0 .25rem;font-size:.82rem;font-weight:700}.users-role-check{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;min-height:24px;color:var(--ink-700);grid-template-columns:16px minmax(0,1fr);align-items:center;gap:.38rem;padding:.08rem .12rem;font-size:.82rem;font-weight:600;line-height:1.2;display:grid}.users-role-check input{width:16px;height:16px;accent-color:var(--brand-500);flex:none;margin:0}.users-role-check span{min-width:0}.users-count-icon{letter-spacing:0;color:var(--brand-700);font-size:1rem;font-weight:800}.users-role-chips{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.users-role-chip{border:1px solid var(--line-soft);color:var(--ink-700);background:#f4f8fb;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.users-role-editor{margin-top:.45rem}.users-list{gap:.6rem;display:grid}.user-row{border:1px solid var(--line-soft);background:#fbfdff;border-radius:12px;justify-content:space-between;align-items:center;gap:.8rem;padding:.65rem .75rem;display:flex}.user-row strong{color:var(--ink-900);font-size:.9rem}.user-row p{color:var(--ink-700);margin:.1rem 0;font-size:.8rem}.user-row span{color:var(--ink-500);font-size:.72rem}.user-row.inactive{opacity:.7}.user-row-actions{flex-shrink:0;gap:.35rem;display:flex}.users-modal-backdrop{z-index:60;background:#1a23326b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.users-modal{border:1px solid var(--line);background:var(--card);border-radius:12px;width:min(520px,100%);padding:1rem;box-shadow:0 20px 48px #10182838}.users-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.users-modal-header h3{color:var(--ink-900);margin:0;font-size:1rem}.users-modal-header p{color:var(--ink-500);margin:.2rem 0 0;font-size:.82rem;font-weight:600}.users-modal-close{flex:none}.users-modal-message{color:var(--ink-700);margin:.8rem 0;font-size:.86rem;font-weight:600}.users-link-counts{gap:.35rem;max-height:min(46vh,360px);display:grid;overflow:auto}.users-link-count-row{border:1px solid var(--line-soft);background:#fbfdff;border-radius:8px;justify-content:space-between;align-items:center;gap:.8rem;padding:.45rem .55rem;display:flex}.users-link-count-row span{color:var(--ink-700);font-size:.82rem;font-weight:600}.users-link-count-row strong{min-width:2ch;color:var(--danger);text-align:right}@media (width<=980px){.users-grid{grid-template-columns:1fr}}.ws-shell{background:var(--paper);min-height:100vh}.ws-not-found{text-align:center;padding:4rem}.ws-logo{flex-shrink:0;width:96px;height:auto}.ws-not-found .ws-logo{margin:0 auto .8rem}.ws-header{background:var(--brand-900);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.5rem;display:flex}.ws-header-left{align-items:center;gap:.8rem;display:flex}.ws-header-left .ghost{color:#fff;white-space:nowrap;background:#ffffff1f;border-color:#ffffff40;padding:.3rem .65rem;font-size:.78rem}.ws-header-left .ghost:hover{background:#ffffff38}.ws-ref{font-family:var(--font-primary);opacity:.8;font-size:.76rem;font-weight:500}.ws-header h1{font-size:1.15rem;font-family:var(--font-primary);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.1}.ws-header p{opacity:.85;margin:.1rem 0 0;font-size:.78rem}.ws-header-right{align-items:center;gap:.8rem;display:flex}.ws-status-badge{border-radius:var(--radius);color:#fff;white-space:nowrap;box-shadow:var(--shadow-soft);padding:.38rem .7rem;font-size:.8rem;font-weight:600}.outcome-choice-fieldset{border:1px solid var(--line-soft);border-radius:8px;padding:.65rem}.outcome-choice-fieldset legend{color:var(--ink-700);padding:0 .25rem;font-size:.82rem;font-weight:700}.outcome-choice-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.outcome-choice{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-700);cursor:pointer;background:#fff;padding:.55rem .7rem;font-weight:800}.outcome-choice.selected{color:#fff}.outcome-choice.won.selected{background:#188359;border-color:#188359}.outcome-choice.lost.selected{background:#b13e47;border-color:#b13e47}.outcome-choice:disabled{cursor:default;opacity:.75}.ws-header-stats{opacity:.9;gap:.8rem;font-size:.76rem;display:flex}.ws-header-stats span{background:#ffffff26;border-radius:999px;padding:.25rem .5rem}.ws-tab-bar{background:var(--card);border-bottom:1px solid var(--line);gap:0;padding:0 1.5rem;display:flex;overflow-x:auto}.ws-tab{color:var(--ink-500);cursor:pointer;white-space:nowrap;font-size:.82rem;font-weight:600;font-family:var(--font-primary);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.65rem 1rem;transition:color .12s,border-color .12s}.ws-tab:hover{color:var(--brand-700)}.ws-tab.active{color:var(--brand-900);border-bottom-color:var(--brand-700);font-weight:600}.ws-tab-gate{vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:4px;font-size:.65rem;font-weight:700;display:inline-flex}.ws-tab-gate--pass{color:#276749;background:#c6f6d5}.ws-tab-gate--warn{color:#975a16;background:#fefcbf}.ws-subtab-bar{background:var(--card);border-bottom:1px solid var(--line);gap:.35rem;padding:.5rem 1.5rem;display:flex;overflow-x:auto}.ws-subtab{color:var(--ink-500);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.38rem .85rem;font-size:.78rem;font-weight:600;transition:all .12s;display:flex}.ws-subtab:hover{background:var(--paper);color:var(--brand-700)}.ws-subtab.active{background:var(--brand-900);color:#fff;border-color:var(--brand-900);font-weight:600}.ws-subtab-icon{font-size:.9rem}.ws-stat-badge{border-radius:var(--radius);background:#ffffff1a;border:1px solid #fff3;padding:.2rem .55rem;font-size:.74rem;font-weight:600}.ws-stat-badge.complete{background:#12805c4d;border-color:#12805c66}.ws-content{padding:1.2rem 1.5rem;overflow-y:auto}.ws-content-tabs{max-width:1200px;margin:0 auto}.ws-persistent-section-panel[hidden]{display:none!important}.ws-content h2{font-family:var(--font-primary);color:var(--ink-900);letter-spacing:-.02em;margin:0 0 .2rem;font-size:1.2rem;font-weight:700;line-height:1.2}.ws-details-layout{grid-template-columns:minmax(0,2.4fr) minmax(280px,.95fr);align-items:start;gap:1rem;display:grid}.ws-details-side,.ws-details-main{min-width:0}.ws-required-details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:1rem;padding:.85rem 1rem}.ws-required-header{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.ws-required-actions{align-items:center;gap:.4rem;display:flex}.ws-required-header h3{color:var(--ink-900);letter-spacing:-.02em;margin:0;font-size:.98rem;font-weight:700;line-height:1.2}.ws-required-badge{border-radius:var(--radius);padding:.2rem .5rem;font-size:.72rem;font-weight:600}.ws-required-badge.complete{color:var(--success);background:#ecfdf3;border:1px solid #abefc6}.ws-required-badge.pending{color:#b54708;background:#fffaeb;border:1px solid #fedf89}.ws-required-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.7rem;display:grid}.ws-required-grid label{color:var(--ink-700);background:#fbfcfd;border:1px solid #e8edf3;border-radius:10px;flex-direction:column;gap:.25rem;padding:.48rem .55rem;font-size:.78rem;font-weight:600;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}.ws-label-text{color:var(--ink-500);flex-wrap:wrap;align-items:baseline;gap:.15rem;display:inline-flex}.ws-required-grid label:focus-within{border-color:var(--brand-400);background:#fff;box-shadow:0 0 0 2px #1e5aa01f}.ws-required-grid input,.ws-required-grid select{width:100%;min-height:2.1rem;margin-top:0;padding:.45rem .55rem;display:block}.ws-required-grid .ws-field-span-2{grid-column:span 2}.ws-required-grid .req{color:var(--danger);vertical-align:baseline;margin-left:.15rem;line-height:1;display:inline-block}.ws-required-details.is-viewing .ws-required-grid{gap:.45rem .6rem}.ws-required-details.is-viewing .ws-required-grid label{background:0 0;border-color:#0000;padding:.28rem .15rem}.ws-required-details.is-viewing .ws-required-grid label:focus-within{box-shadow:none;background:0 0;border-color:#0000}.ws-required-details.is-viewing .ws-required-grid input,.ws-required-details.is-viewing .ws-required-grid select{min-height:1.45rem;color:var(--ink-900);background:0 0;border:0;padding:0;font-weight:600}.ws-required-details.is-viewing .ws-required-grid input:disabled,.ws-required-details.is-viewing .ws-required-grid select:disabled{opacity:1;-webkit-text-fill-color:var(--ink-900)}.ws-required-details.is-viewing .ws-required-grid select{appearance:none;background-image:none;padding-right:0}.ws-system-managed-field{color:var(--ink-500);background:#f6f8fb;border-color:#dde5ee}.ws-system-managed-field input{background:var(--paper);border-color:var(--ink-400);color:var(--ink-500)}.ws-optional-field{color:var(--ink-500);font-size:.7rem;font-weight:500}.ws-required-warning{color:var(--danger);margin:.7rem 0 0;font-size:.78rem;font-weight:600}.ws-required-info{color:var(--ink-500);margin:.55rem 0 0;font-size:.76rem;font-weight:600}.ws-overview-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.7rem;margin-top:.8rem;display:grid}.ws-folder-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-soft);align-items:center;gap:.7rem;padding:.8rem;transition:all .15s;display:flex}.ws-folder-card:hover{border-color:var(--brand-300);transform:translateY(-1px)}.ws-folder-card.submission-card{border-color:var(--brand-500);background:linear-gradient(135deg,#f0f8ff,#e8f4fd)}.ws-folder-icon{background:#f0f5fa;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.8rem;display:flex}.ws-folder-info strong{color:var(--ink-900);font-size:.84rem;display:block}.ws-folder-info span{color:var(--ink-500);font-size:.74rem}.ws-section-panel{min-width:0;margin-top:.8rem;display:block}.ws-notes-area{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1rem}.section-explorer{min-width:0}.ws-files-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.ws-files-header h4,.ws-notes-area h4{color:var(--ink-900);margin:0;font-size:.9rem}@media (width<=720px){.quote-folder-explorer{max-height:none;overflow-y:visible}}.ws-gate-note{color:var(--danger);font-weight:600;margin-top:.3rem!important;font-size:.74rem!important}.ws-file-list{flex-direction:column;gap:.35rem;display:flex}.ws-file-item{border-radius:10px;align-items:center;gap:.6rem;padding:.45rem .5rem;transition:background .1s;display:flex}.ws-file-item:hover{background:#f6f9fd}.ws-file-thumb{object-fit:cover;border:1px solid var(--line-soft);border-radius:8px;width:44px;height:44px}.ws-file-icon{background:#f0f5fa;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.4rem;display:flex}.ws-file-info{flex:1;min-width:0}.ws-file-name{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;display:block;overflow:hidden}.ws-file-meta{color:var(--ink-500);font-size:.7rem}.ws-file-actions{flex-shrink:0;gap:.25rem;display:flex}.ws-file-actions a{padding:.2rem .4rem;font-size:.78rem;text-decoration:none;display:inline-block}.ws-file-original{color:var(--ink-400);margin-left:.3rem;font-size:.68rem;font-weight:400;display:inline}.ws-rename-row{align-items:center;gap:.35rem;display:flex}.ws-rename-input{border:1px solid var(--brand-500);color:var(--ink-900);border-radius:6px;flex:1;padding:.2rem .4rem;font-size:.82rem;font-weight:600}.ws-rename-input:focus{outline:none;box-shadow:0 0 0 2px #1e5aa01f}.ws-note-input{align-items:flex-end;gap:.4rem;margin:.5rem 0;display:flex}.ws-note-input textarea{border-radius:10px;flex:1;min-height:50px;font-size:.82rem}.ws-note-item{border-bottom:1px solid var(--line-soft);padding:.5rem}.ws-note-header{align-items:center;gap:.4rem;margin-bottom:.2rem;display:flex}.ws-note-author{color:var(--ink-700);font-size:.74rem;font-weight:700}.ws-note-date{color:var(--ink-500);flex:1;font-size:.68rem}.ws-note-content{color:var(--ink-700);white-space:pre-wrap;margin:0;font-size:.82rem}.ws-submission-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:640px;box-shadow:var(--shadow-soft);padding:1.5rem}.ws-submission-stats{gap:1.2rem;margin:1rem 0;display:flex}.ws-stat{flex-direction:column;gap:.15rem;display:flex}.ws-stat span{color:var(--ink-500);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.ws-stat strong{color:var(--ink-900);font-size:1.1rem}.ws-open-wizard{padding:.8rem 1.8rem;font-size:1rem}.ws-lifecycle-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.25rem}.ws-lifecycle-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin:1rem 0 1.25rem;display:grid}.ws-lifecycle-form label{color:var(--ink-700);flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.ws-lifecycle-form input,.ws-lifecycle-form select,.ws-lifecycle-form textarea{border:1px solid var(--line);font:inherit;color:var(--ink-900);border-radius:8px;padding:.55rem .65rem}.ws-lifecycle-list{gap:.65rem;display:grid}.ws-lifecycle-item{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.75rem;display:flex}.ws-lifecycle-item.preferred{background:#f0fff4;border-color:#2f855a}.ws-lifecycle-item p{color:var(--ink-600);margin:.2rem 0 0;font-size:.82rem}.ws-lifecycle-actions{flex-wrap:wrap;gap:.45rem;display:flex}html,body,#root{font-family:var(--font-primary)}body{color:var(--ink-900);background:#eef3f7}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #2490a338}.ws-shell{background:linear-gradient(#1b5e6b09,#0000 240px),#f1f4f8}.ws-header{background:radial-gradient(circle at 78% -120%,#2490a380,#0000 45%),linear-gradient(110deg,#123d4c 0%,#174b5b 100%);min-height:88px;padding:.75rem clamp(1rem,2vw,2rem);box-shadow:0 5px 18px #10283429}.ws-header h1{letter-spacing:-.025em;font-size:1.2rem}.ws-header p,.ws-ref{color:#ffffffc7}.ws-tab-bar{gap:.25rem;min-height:48px;padding:0 clamp(1rem,2vw,2rem);box-shadow:0 1px #10182808}.ws-tab{padding:.8rem 1rem .7rem;font-weight:650;position:relative}.ws-tab.active{color:var(--brand-900);border-bottom-color:#0000}.ws-tab.active:after{background:linear-gradient(90deg, var(--brand-700), var(--brand-500), var(--accent));content:"";border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:-1px;left:.45rem;right:.45rem}.ws-subtab-bar{background:#fffffff5;gap:.5rem;padding:.55rem clamp(1rem,2vw,2rem)}.ws-subtab{background:#fafcfd;border-color:#e6ebf0;padding:.45rem .85rem}.ws-subtab.active{border-color:var(--brand-900);background:linear-gradient(135deg, var(--brand-900), var(--brand-700));box-shadow:0 3px 9px #1640502e}.ws-content-tabs{max-width:1240px;padding-top:1.35rem;padding-bottom:3rem}.ws-page-hero{background:linear-gradient(125deg,#f0f8f8 0%,#f7fbfc 52%,#fff9ed 100%);border:1px solid #d8e3e8;border-radius:14px;align-items:center;gap:1rem;min-height:104px;margin-bottom:1rem;padding:1.1rem 1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #1028340f}.ws-page-hero:before{background:linear-gradient(90deg, var(--brand-900), var(--brand-500) 58%, var(--accent));content:"";height:4px;position:absolute;top:0;left:0;right:0}.ws-page-hero:after{content:"";pointer-events:none;background:#e8960c0f;border-radius:50%;width:190px;height:190px;position:absolute;top:-75px;right:-50px}.ws-page-hero__icon,.approval-trail-header__icon{z-index:1;width:50px;height:50px;color:var(--brand-700);background:linear-gradient(145deg,#dff2f3,#fff);border:1px solid #2490a333;border-radius:13px;flex:none;place-items:center;font-size:1.25rem;font-weight:800;display:grid;position:relative;box-shadow:0 4px 10px #16405014}.ws-page-hero__copy{z-index:1;flex:1;min-width:0;position:relative}.ws-page-hero__copy h2,.ws-content .ws-page-hero__copy h2{color:var(--ink-900);margin:.1rem 0 .25rem;font-size:1.2rem;font-weight:750}.ws-page-hero__copy p{max-width:720px;color:var(--ink-500);margin:0;font-size:.82rem;line-height:1.5}.ws-page-hero__eyebrow,.approval-trail-eyebrow{color:var(--brand-700);letter-spacing:.09em;text-transform:uppercase;font-size:.67rem;font-weight:800;line-height:1.3;display:block}.ws-page-hero__status{z-index:1;color:#93370d;text-align:right;background:#fffaeb;border:1px solid #fedf89;border-radius:12px;flex:none;gap:.05rem;min-width:142px;padding:.65rem .85rem;display:grid;position:relative}.ws-page-hero__status.complete{color:#067647;background:#ecfdf3;border-color:#abefc6}.ws-page-hero__status strong{font-size:1rem;line-height:1.2}.ws-page-hero__status span{font-size:.68rem;font-weight:650}.ws-page-hero__pill{z-index:1;color:var(--brand-700);background:#ffffffc7;border:1px solid #b9dce2;border-radius:999px;flex:none;padding:.32rem .62rem;font-size:.7rem;font-weight:750;position:relative}.ws-page-hero--quotes .ws-page-hero__icon,.ws-page-hero--submission .ws-page-hero__icon{color:#9a5c00;background:linear-gradient(145deg,#fff3d6,#fff);border-color:#fde1a8}.ws-page-hero--outcome .ws-page-hero__icon{color:var(--success);background:linear-gradient(145deg,#dcf8e9,#fff);border-color:#b8e4cd}.ws-required-details,.ws-details-side .ws-lifecycle-panel,.ws-lifecycle-panel,.approval-trail-panel,.ws-submission-panel{border-color:#dbe3ea;border-radius:14px;box-shadow:0 5px 16px #10283411,0 1px 2px #1018280a}.ws-required-details,.ws-details-side .ws-lifecycle-panel{position:relative;overflow:hidden}.ws-required-details:before,.ws-details-side .ws-lifecycle-panel:before{background:linear-gradient(90deg, var(--brand-700), var(--brand-500), var(--accent));content:"";height:3px;position:absolute;top:0;left:0;right:0}.ws-required-details{padding:1.05rem 1.1rem 1.15rem}.ws-required-header{border-bottom:1px solid var(--line-soft);align-items:center;padding-bottom:.8rem}.ws-required-header h3{color:var(--brand-900);font-size:1.02rem}.ws-required-details.is-editing .ws-required-grid label{background:#fbfdfd;border-color:#e0e8ec}.ws-details-side .ws-lifecycle-panel{background:linear-gradient(150deg,#fff,#f7fbfc);padding:1.15rem}.ws-details-side .ws-lifecycle-panel>h2{color:var(--brand-900)}.ws-overview{margin-top:1.15rem}.ws-overview>h2{font-size:1.08rem}.ws-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.ws-folder-card{border-color:#dce4ea;border-radius:13px;min-height:82px;padding:.9rem;position:relative;overflow:hidden;box-shadow:0 3px 10px #1028340e}.ws-folder-card:before{background:var(--brand-500);content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.ws-folder-card:hover{border-color:#aad1d9;transform:translateY(-2px);box-shadow:0 8px 20px #1028341a}.ws-folder-icon{background:#eaf6f7;border:1px solid #d6e9ed;width:44px;height:44px;font-size:1.4rem}.ws-folder-card--documents:before,.ws-folder-card--goNoGo:before{background:#7c3aed}.ws-folder-card--documents .ws-folder-icon,.ws-folder-card--goNoGo .ws-folder-icon{background:#f2edff;border-color:#dfd4ff}.ws-folder-card--tenderPlan:before{background:var(--accent)}.ws-folder-card--tenderPlan .ws-folder-icon{background:#fff5df;border-color:#f9dfaa}.ws-folder-card--finalReview:before,.ws-folder-card--outcome:before{background:var(--success)}.ws-folder-card--finalReview .ws-folder-icon,.ws-folder-card--outcome .ws-folder-icon{background:#e9f8f0;border-color:#c8ead8}.ws-folder-card--approvalTrail:before{background:#2f7db2}.ws-folder-card--approvalTrail .ws-folder-icon{background:#eaf4fb;border-color:#cee3f2}.ws-persistent-section-panel,.ws-submission-panel,.ws-lifecycle-panel{max-width:1120px;margin-left:auto;margin-right:auto}.ws-persistent-section-panel>.ws-section-panel{margin-top:0}.quote-explorer{background:#fff;border-color:#dbe4e9;border-radius:13px;padding:1rem;box-shadow:0 4px 14px #1028340e}.quote-explorer-header{border-bottom:1px solid var(--line-soft);align-items:center;padding-bottom:.75rem}.quote-explorer-header h3{color:var(--brand-900);font-weight:750}.quote-explorer-search{background:#fff}.quote-explorer-search input{background:#fbfdfe;border-color:#d8e2e8;border-radius:10px;height:40px}.quote-tree{gap:.3rem}.quote-tree-row{border-radius:9px;min-height:46px}.quote-tree-row.folder{background:#f7fbfc;border:1px solid #e4edf1}.quote-tree-row.selected{box-shadow:inset 3px 0 0 var(--brand-500);background:#eaf6f7;border-color:#9dced7}.ws-submission-panel{max-width:900px;box-shadow:none;background:0 0;border:0;padding:0}.ws-submission-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1rem;display:grid}.ws-stat{background:#fff;border:1px solid #dce5ea;border-radius:12px;padding:.9rem 1rem;box-shadow:0 3px 9px #1028340b}.approval-trail-panel{max-width:1120px;padding-top:1.35rem;position:relative;overflow:hidden}.approval-trail-panel:before{background:linear-gradient(90deg, var(--brand-900), #2f7db2, var(--accent));content:"";height:4px;position:absolute;top:0;left:0;right:0}.approval-trail-header{border-bottom:1px solid var(--line-soft);align-items:center;padding:.15rem 0 1.1rem}.approval-trail-header>div{flex:1}.approval-trail-header h2{color:var(--ink-900);margin:.1rem 0 .25rem;font-size:1.2rem}.approval-timeline-card{border-color:#dce4ea;overflow:hidden;box-shadow:0 3px 10px #1028340d}.approval-timeline-event--approved .approval-timeline-card{border-left:4px solid var(--success)}.approval-timeline-event--rejected .approval-timeline-card{border-left:4px solid var(--danger)}.approval-timeline-event--returned .approval-timeline-card{border-left:4px solid var(--accent)}.approval-timeline-event--submitted .approval-timeline-card{border-left:4px solid #2f7db2}.ws-content .gng-panel,.ws-content .tp-panel,.ws-content .fr-panel{width:100%;max-width:1120px;margin-left:auto;margin-right:auto;padding-top:0}.gng-hero,.tp-hero,.ws-content .fr-hero{background:linear-gradient(125deg,#f0f8f8 0%,#f8fbfc 60%,#fff9ed 100%);border-color:#d8e3e8;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 4px 14px #1028340f}.gng-hero:before,.tp-hero:before,.ws-content .fr-hero:before{background:linear-gradient(90deg, var(--brand-900), var(--brand-500), var(--accent));content:"";height:4px;position:absolute;top:0;left:0;right:0}.gng-card-section,.tp-tab-content>section,.ws-content .fr-section{border-color:#dbe3ea;border-radius:14px;box-shadow:0 5px 16px #1028340f}.tp-sub-tabs,.ws-content .fr-subtabs{background:#eaf2f4;border:1px solid #d9e3e8;border-radius:13px;padding:.45rem;box-shadow:0 2px 8px #1028340b}.tp-sub-tab{border:1px solid #0000;border-radius:9px;flex:1;justify-content:center;margin:0}.tp-sub-tab-active,.tp-sub-tab.tp-sub-tab-active{background:#fff;border-color:#c6dce1;box-shadow:0 3px 9px #10283414}.tp-stat-card{border-radius:11px;box-shadow:0 2px 7px #1028340a}@media (width<=900px){.ws-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-page-hero{align-items:flex-start}}@media (width<=640px){.ws-header{align-items:flex-start}.ws-header-right{flex-wrap:wrap;width:100%}.ws-page-hero{flex-wrap:wrap;padding:1rem}.ws-page-hero__status{text-align:left;width:100%}.ws-page-hero__pill{margin-left:66px}.ws-overview-grid,.ws-submission-stats{grid-template-columns:1fr}.tp-sub-tabs{overflow-x:auto}.tp-sub-tab{flex:none}}.approval-email-modal{width:min(1100px,100%);padding:0;overflow:hidden}.approval-email-modal__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.4rem 1rem;display:flex}.approval-email-modal__header p{margin-bottom:0}.approval-email-modal__eyebrow,.approval-trail-eyebrow,.approval-timeline-step{color:var(--brand-700);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.68rem;font-weight:800;display:block}.approval-email-meta{border-bottom:1px solid var(--line);background:#f8fafc;gap:.55rem;padding:.85rem 1.4rem;display:grid}.approval-email-meta div{grid-template-columns:70px minmax(0,1fr);gap:.6rem;font-size:.82rem;display:grid}.approval-email-meta span{color:var(--ink-500)}.approval-email-meta strong{overflow-wrap:anywhere;color:var(--ink-900)}.approval-email-editor{grid-template-columns:minmax(180px,.36fr) minmax(0,1fr);gap:1rem;max-height:min(58vh,620px);padding:1.15rem 1.4rem;display:grid;overflow-y:auto}.approval-email-editor label{color:var(--ink-700);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:700;display:flex}.approval-email-editor label:last-child{grid-column:2}.approval-commentary-field{flex-direction:column;grid-column:2;gap:.35rem;display:flex}.approval-commentary-field__label{color:var(--ink-700);font-size:.8rem;font-weight:700}.approval-commentary-field>small{color:var(--ink-500);font-size:.68rem}.approval-commentary-editor{border:1px solid var(--line);background:#fff;border-radius:8px;gap:.45rem;max-height:270px;padding:.65rem .75rem;display:grid;overflow-y:auto}.approval-commentary-editor textarea,.approval-commentary-heading{width:100%;font:inherit;resize:vertical;background:0 0;border:0;border-radius:4px;padding:.2rem;line-height:1.5}.approval-commentary-heading{color:#0f3a2c;font-size:.92rem;font-weight:800}.approval-commentary-editor textarea:focus,.approval-commentary-heading:focus{outline:2px solid #2490a32e}.approval-email-editor textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink-900);font:inherit;border-radius:8px;padding:.7rem;font-weight:400;line-height:1.5}.approval-email-editor textarea:focus{border-color:var(--brand-500);outline:3px solid #2490a31f}.approval-email-editor small{color:var(--ink-500);font-weight:400}.approval-email-score-card{border-radius:var(--radius-lg);min-height:150px;color:var(--brand-900);text-align:center;background:#effaf6;border:1px solid #b7ddd6;flex-direction:column;grid-row:span 2;justify-content:center;align-items:center;padding:1rem;display:flex}.approval-email-score-card span,.approval-email-score-card small{color:var(--ink-500);text-transform:capitalize}.approval-email-score-card strong{margin:.2rem 0;font-size:1.8rem}.approval-email-score-list{grid-column:1;align-content:start;gap:.35rem;display:grid}.approval-email-score-list span{border-bottom:1px solid var(--line-soft);color:var(--ink-500);justify-content:space-between;gap:.5rem;padding:.35rem 0;font-size:.74rem;display:flex}.approval-email-preview-wrap{background:#eef1f5;padding:1rem 1.4rem}.approval-email-preview-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.7rem;display:flex}.approval-email-preview-wrap iframe{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:min(58vh,650px)}.approval-email-actions{border-top:1px solid var(--line);margin:0;padding:.85rem 1.4rem 1.15rem}.approval-trail-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);max-width:960px;box-shadow:var(--shadow-soft);margin:0 auto;padding:clamp(1rem,2.5vw,1.75rem)}.approval-trail-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem;display:flex}.approval-trail-header .hint{max-width:680px;margin:.45rem 0 0}.approval-trail-error{color:#9f1239;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:.8rem}.approval-trail-empty{border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--ink-500);text-align:center;padding:3rem 1rem}.approval-trail-empty>span{font-size:2rem;display:block}.approval-trail-empty h3{color:var(--ink-900);margin:.6rem 0 .25rem}.approval-trail-empty p{margin:0}.approval-timeline{gap:1rem;padding-left:2.8rem;display:grid;position:relative}.approval-timeline:before{background:var(--line);content:"";width:2px;position:absolute;top:1.2rem;bottom:1.2rem;left:1.15rem}.approval-timeline-event{position:relative}.approval-timeline-marker{z-index:1;background:var(--brand-700);color:#fff;width:2.25rem;height:2.25rem;box-shadow:0 0 0 1px var(--line);border:4px solid #fff;border-radius:50%;place-items:center;font-size:1rem;font-weight:800;display:grid;position:absolute;top:1rem;left:-2.8rem}.approval-timeline-event--approved .approval-timeline-marker{background:var(--success)}.approval-timeline-event--rejected .approval-timeline-marker{background:var(--danger)}.approval-timeline-event--returned .approval-timeline-marker{background:var(--accent)}.approval-timeline-card{border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;color:inherit;text-align:left;box-shadow:var(--shadow-soft);cursor:pointer;background:#fff;padding:1rem 1.1rem;transition:border-color .12s,box-shadow .12s,transform .12s}.approval-timeline-card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.approval-timeline-card__top,.approval-timeline-meta{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.approval-timeline-card h3{color:var(--ink-900);margin:0;font-size:1rem}.approval-timeline-toggle{color:var(--brand-700);white-space:nowrap;font-size:.72rem;font-weight:700}.approval-timeline-meta{color:var(--ink-500);margin-top:.5rem;font-size:.76rem}.approval-timeline-details{border-top:1px solid var(--line-soft);margin-top:.9rem;padding-top:.9rem}.approval-timeline-details>p{color:var(--ink-700);margin:0;font-size:.84rem;line-height:1.5}.approval-timeline-details blockquote{border-left:3px solid var(--brand-500);color:var(--ink-700);white-space:pre-wrap;background:#f8fafc;border-radius:0 8px 8px 0;margin:.8rem 0 0;padding:.75rem .9rem;font-size:.84rem;line-height:1.55}.approval-timeline-details blockquote span{color:var(--ink-500);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.3rem;font-size:.68rem;font-weight:800;display:block}.approval-timeline-no-comment{font-style:italic;color:var(--ink-400)!important;margin-top:.55rem!important}.approval-gates{gap:.5rem;margin:.75rem 0;display:grid}.approval-gates__title{color:var(--ink-700);margin:0 0 .25rem;font-size:.85rem;font-weight:600}.approval-gate{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;display:flex}.approval-gate--pass{background:#f0fff4;border-color:#c6f6d5}.approval-gate--fail{background:#fffbeb;border-color:#fde68a}.approval-gate__icon{flex-shrink:0;font-size:1rem;line-height:1.3}.approval-gate__content{flex-direction:column;gap:.1rem;min-width:0;display:flex}.approval-gate__label{color:var(--ink-800);font-size:.82rem;font-weight:600}.approval-gate__detail{color:var(--ink-600);font-size:.75rem}.approval-ai-score{background:linear-gradient(135deg,#f5f3ff 0%,#eef2ff 100%);border:1px solid #c7d2fe;border-radius:10px;margin:.75rem 0;padding:.75rem}.approval-ai-score__header{align-items:center;gap:.5rem;display:flex}.approval-ai-score__icon{flex-shrink:0;font-size:1.25rem}.approval-ai-score__title{color:var(--ink-800);margin:0;font-size:.82rem;font-weight:600}.approval-ai-score__version{color:var(--ink-500);font-size:.7rem}.approval-ai-score__badge{font-variant-numeric:tabular-nums;border-radius:8px;margin-left:auto;padding:.2rem .6rem;font-size:1.1rem;font-weight:700}.approval-ai-score__badge--high{color:#15803d;background:#dcfce7}.approval-ai-score__badge--mid{color:#92400e;background:#fef3c7}.approval-ai-score__badge--low{color:#991b1b;background:#fee2e2}.approval-ai-score__dims{gap:.35rem;margin-top:.6rem;display:grid}.approval-ai-score__dim{grid-template-columns:120px 1fr 30px;align-items:center;gap:.5rem;display:grid}.approval-ai-score__dim-label{color:var(--ink-600);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.approval-ai-score__dim-bar{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden}.approval-ai-score__dim-fill{border-radius:3px;height:100%;transition:width .3s}.approval-ai-score__dim-val{color:var(--ink-700);text-align:right;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.approval-ai-score__alert{color:#991b1b;background:#fee2e2;border-radius:6px;margin-top:.5rem;padding:.4rem .6rem;font-size:.75rem;font-weight:500}.quote-workspace{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.quote-main{min-width:0}.quote-explorer{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:.85rem}.quote-folder-explorer{max-height:none;overflow:visible}.quote-explorer.has-open-row-menu{padding-bottom:7.5rem}.quote-explorer-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.quote-explorer-header h3{color:var(--ink-900);margin:0;font-size:.95rem}.quote-explorer-header p{color:var(--ink-500);word-break:break-word;margin:.15rem 0 0;font-size:.74rem}.quote-explorer-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.quote-explorer-header-actions .small{white-space:normal;line-height:1.2}.quote-explorer-message{color:var(--ink-600);margin:0 0 .75rem;font-size:.78rem}.quote-explorer-search{z-index:10;background:#fbfcfd;margin:0 -.2rem .75rem;padding:.2rem .2rem .55rem;position:sticky;top:0}.quote-explorer-search input{width:100%;height:34px;font-size:.82rem}.upload-progress-toast{z-index:120;border:1px solid var(--line);background:#fff;border-radius:8px;gap:.55rem;width:min(360px,100vw - 2rem);padding:.75rem;display:grid;position:fixed;bottom:1rem;right:1rem;box-shadow:0 14px 32px #1018282e}.upload-progress-toast.complete{border-color:#abefc6}.upload-progress-toast.error{border-color:#fecdca}.upload-progress-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.upload-progress-heading strong{color:var(--ink-900);font-size:.86rem}.upload-progress-heading span{color:var(--ink-500);text-align:right;font-size:.76rem}.upload-progress-track{background:#e8eef5;border-radius:999px;height:7px;overflow:hidden}.upload-progress-track span{border-radius:inherit;background:var(--brand-700);height:100%;transition:width .18s;display:block}.upload-progress-toast.complete .upload-progress-track span{background:var(--success)}.upload-progress-toast.error .upload-progress-track span{background:var(--danger)}.upload-progress-toast p{color:var(--danger);margin:0;font-size:.78rem;line-height:1.35}.quote-tree{gap:.2rem;display:grid}.quote-tree-row{border:1px solid #0000;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.4rem;min-height:42px;padding:.35rem;display:grid}.quote-tree-row.folder{background:#f7fbff}.quote-tree-row.file{background:#fff;border:1px solid #edf1f4}.quote-tree-row.draggable{cursor:grab}.quote-tree-row.selected{background:#e8f3ff}.quote-tree-row.dragging{opacity:.55}.quote-tree-row.drop-target{border-color:var(--brand-500);box-shadow:inset 0 0 0 1px var(--brand-500);background:#eef8ff}.quote-tree-row.drop-blocked{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger);background:#fff5f5}.quote-tree-row.pending{opacity:.72}.quote-create-upload-target{border:1px dashed var(--brand-500);color:var(--brand-900);background:#f4fbff;border-radius:6px;margin:.18rem 0 .28rem;padding:.45rem .6rem;font-size:.76rem;font-weight:700}.quote-tree-expand{width:1.15rem;height:1.15rem;color:var(--ink-600);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.quote-tree-expand svg{width:14px;height:14px;transition:transform .15s}.quote-tree-expand svg.expanded{transform:rotate(90deg)}.quote-tree-expand-spacer{flex:none;width:1.15rem;height:1.15rem}.quote-tree-name{text-align:left;min-width:0;color:var(--ink-800);cursor:pointer;background:0 0;border:0;width:100%;padding:0}.quote-tree-primary{align-items:center;gap:.35rem;min-width:0;display:flex}.quote-tree-icon{width:16px;height:16px;color:var(--ink-500);flex:none;justify-content:center;align-items:center;display:inline-flex}.quote-tree-icon.folder-badge{width:auto;min-width:24px;height:20px}.quote-folder-symbol{min-width:24px;height:20px;color:var(--brand-900);background:#eef5f8;border:1px solid #c8d6e3;border-radius:6px;justify-content:center;align-items:center;padding:0 .22rem;font-size:.66rem;font-weight:900;line-height:1;display:inline-flex}.quote-tree-icon svg,.quote-row-menu-trigger svg,.file-action-button svg,.icon-only svg{width:100%;height:100%;display:block}.quote-tree-name strong{overflow-wrap:anywhere;white-space:normal;font-size:.8rem;line-height:1.3;display:block}.quote-tree-row.file .quote-tree-name{cursor:default}.quote-tree-row.file .quote-tree-name.has-preview{cursor:pointer}.quote-tree-row.file .quote-tree-name.has-preview:hover strong{color:var(--brand-700);text-underline-offset:2px;text-decoration:underline}.quote-tree-body{flex-direction:column;gap:.35rem;min-width:0;display:flex}.quote-tree-row.file .quote-tree-body{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.quote-tree-row-actions{justify-content:flex-end;align-items:flex-start;gap:.25rem;display:flex;position:relative}.quote-row-menu{position:relative}.quote-row-menu-trigger{border:1px solid var(--line);width:28px;height:28px;color:var(--ink-700);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;justify-content:center;align-items:center;list-style:none;display:inline-flex}.quote-row-menu-trigger svg{width:16px;height:16px}.quote-row-menu-trigger::-webkit-details-marker{display:none}.quote-row-menu[open] .quote-row-menu-trigger{border-color:var(--brand-300);background:#f5fbff}.quote-row-menu-items{z-index:20;border:1px solid var(--line);min-width:130px;box-shadow:var(--shadow-soft);background:#fff;border-radius:10px;gap:.2rem;padding:.25rem;display:grid;position:absolute;top:calc(100% + 6px);right:0}.quote-row-menu-item{text-align:left;color:var(--ink-700);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.45rem .5rem;font-size:.78rem}.quote-row-menu-item:hover:not(:disabled){background:#f5f9ff}.quote-row-menu-item.danger{color:var(--danger)}.quote-row-menu-item:disabled{opacity:.45;cursor:not-allowed}.quote-tree-file-meta{justify-content:flex-end;align-items:center;gap:.5rem;padding-left:0;display:flex}.quote-tree-file-meta.preferred{border-left:2px solid #2f855a;padding-left:.35rem}.quote-tree-file-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;gap:.25rem;display:flex}.file-action-button{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-700);cursor:pointer;background:#fff;border-radius:8px;flex:0 0 30px;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .15s,background .15s,border-color .15s,transform .15s;display:inline-flex}.file-action-button:hover:not(:disabled){color:var(--brand-700);border-color:var(--brand-300);background:#f5fbff}.file-action-button:focus-visible{outline-offset:2px;outline:2px solid #2490a359}.file-action-button.active{color:#a66a00;background:#fff8e8;border-color:#f7c56c}.file-action-button.danger{color:var(--danger);background:#fff8f7;border-color:#fecdca}.file-action-button.danger:hover:not(:disabled){color:#a4323a;background:#fef3f2;border-color:#f5a7a1}.file-action-button:disabled{opacity:.46;cursor:not-allowed}.file-action-button svg{width:16px;height:16px}.file-pending-spinner{border:2px solid #2490a338;border-top-color:var(--brand-600);border-radius:999px;flex:none;width:14px;height:14px;animation:.75s linear infinite file-pending-spin;display:inline-block}@keyframes file-pending-spin{to{transform:rotate(360deg)}}@media (width<=720px){.quote-tree-file-meta{flex-wrap:wrap;align-items:flex-start}.quote-tree-file-actions{justify-content:flex-start;width:100%;padding-top:.1rem}}.quote-tree-more{color:var(--ink-500);margin:.05rem 0 .3rem;font-size:.72rem}.quote-upload-destination{border:1px dashed var(--line);color:var(--ink-700);background:#f7fbff;border-radius:6px;margin:0;padding:.5rem .65rem;font-size:.78rem}.quote-trade-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.quote-drop-zone{border:2px dashed var(--line);background:#fbfdff;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;min-height:120px;padding:.8rem;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.quote-drop-zone p{color:var(--ink-600);margin:0;font-size:.78rem}.quote-drop-zone.disabled{background:#f5f7fa;border-color:#d8e0ea}.quote-drop-zone.drag-over{border-color:var(--brand-500);background:#eef8ff;box-shadow:0 0 0 3px #2490a326}@media (width<=900px){.ws-tab-bar{padding:0 .75rem}.ws-tab{padding:.55rem .7rem;font-size:.74rem}.ws-subtab-bar{padding:.3rem .75rem}.ws-subtab{padding:.3rem .6rem;font-size:.7rem}.ws-content-tabs{padding:.8rem}.ws-section-panel,.ws-details-layout{grid-template-columns:1fr}.ws-required-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-workspace{grid-template-columns:1fr}}@media (width<=640px){.ws-required-grid{grid-template-columns:1fr}.ws-required-grid .ws-field-span-2{grid-column:auto}.approval-email-editor{grid-template-columns:1fr}.approval-email-editor label:last-child,.approval-email-score-list,.approval-commentary-field{grid-column:1}.approval-email-score-card{grid-row:auto}.approval-email-meta div{grid-template-columns:1fr;gap:.1rem}.approval-timeline{padding-left:2.35rem}.approval-timeline-marker{left:-2.35rem}.approval-timeline-card__top,.approval-timeline-meta{flex-direction:column;gap:.3rem}}.login-shell{background:#f0f4f8;width:100%;min-height:100vh;display:flex}.login-brand{color:#fff;background:linear-gradient(165deg,#164050f2 0%,#1b5e6be6 50%,#2490a3d9 100%),url(/hero.png) 50%/cover no-repeat;flex-direction:column;flex:1;justify-content:center;padding:3rem 4rem;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";pointer-events:none;background:radial-gradient(at 20% 80%,#f0a1001f,#0000 60%),radial-gradient(at 80% 20%,#ffffff0d,#0000 50%);position:absolute;inset:0}.login-brand-content{z-index:1;max-width:520px;position:relative}.login-logo{filter:brightness(0)invert();height:52px;margin-bottom:2.5rem}.login-welcome{opacity:.85;letter-spacing:.02em;margin:0 0 .25rem;font-size:1.25rem;font-weight:300}.login-hero-text h1{letter-spacing:-.02em;margin:0;font-size:3.2rem;font-weight:700;line-height:1.1}.login-tagline{opacity:.82;max-width:440px;margin:1.5rem 0 2.5rem;font-size:1.05rem;line-height:1.6}.login-features{flex-direction:column;gap:1.5rem;display:flex}.login-feature{align-items:flex-start;gap:1rem;display:flex}.login-feature-icon{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border:1px solid #ffffff26;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.login-feature-icon svg{color:#fff;width:22px;height:22px}.login-feature strong{margin-bottom:.15rem;font-size:.92rem;font-weight:600;display:block}.login-feature span{opacity:.72;font-size:.82rem;line-height:1.45;display:block}.login-footer{opacity:.5;margin-top:3rem;font-size:.78rem}.login-form-area{background:radial-gradient(circle at 50% 0,#288ec30f,#0000 50%),#f0f4f8;flex:0 0 520px;justify-content:center;align-items:center;padding:3rem;display:flex}.login-card{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2.5rem 2rem;box-shadow:0 20px 50px #0f315414,0 2px 8px #0f31540a}.login-card-icon{background:linear-gradient(135deg,#e8f4fa,#dceef8);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;display:flex}.login-card-icon svg{width:30px;height:30px;color:var(--brand-700)}.login-card h2{color:var(--ink-900);margin:0 0 .4rem;font-size:1.4rem;font-weight:700}.login-card-sub{color:var(--ink-500);margin:0 0 2rem;font-size:.88rem}.login-sso-btn{border:1.5px solid var(--line);width:100%;color:var(--ink-900);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.login-sso-btn:hover{border-color:var(--brand-500);background:#fafcfe;box-shadow:0 4px 12px #1f86b81a}.login-sso-btn .ms-logo{width:20px;height:20px}.login-divider{color:var(--ink-500);align-items:center;gap:1rem;margin:1.5rem 0;font-size:.78rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line-soft);flex:1;height:1px}.login-dev-form{text-align:left}.login-dev-form label{color:var(--ink-700);margin-bottom:.3rem;font-size:.82rem;font-weight:600;display:block}.login-dev-form input{border:1.5px solid var(--line);border-radius:10px;width:100%;margin-bottom:.75rem;padding:.7rem .9rem;font-size:.9rem;transition:border-color .2s}.login-dev-form input:focus{border-color:var(--brand-500);outline:none}.login-dev-btn{background:linear-gradient(135deg, var(--brand-900), var(--brand-700));color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:.75rem;font-size:.92rem;font-weight:600;transition:opacity .2s}.login-dev-btn:hover{opacity:.9}.login-dev-btn:disabled{opacity:.5;cursor:default}.login-error{color:var(--danger);text-align:center;margin:.5rem 0 0;font-size:.82rem}.login-help{color:var(--ink-500);margin:1.75rem 0 0;font-size:.82rem}.login-help a{color:var(--brand-500);font-weight:500;text-decoration:none}.login-help a:hover{text-decoration:underline}.auth-loading{min-height:100vh;color:var(--ink-500);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.auth-loading-spinner{border:3px solid var(--line);border-top-color:var(--brand-500);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.login-shell{flex-direction:column}.login-brand{min-height:auto;padding:2rem 2rem 1.5rem}.login-hero-text h1{font-size:2.2rem}.login-features{gap:1rem}.login-form-area{flex:none;padding:2rem}.login-footer{margin-top:1.5rem}}@media (width<=640px){.login-brand{padding:1.5rem}.login-hero-text h1{font-size:1.8rem}.login-tagline{margin:1rem 0 1.5rem;font-size:.92rem}.login-features{gap:.75rem}.login-feature-icon{width:38px;height:38px}.login-form-area{padding:1.25rem}.login-card{border-radius:16px;padding:2rem 1.5rem 1.5rem}}.dash-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-metric-card{border-left:4px solid var(--brand-700);min-height:122px;position:relative}.dash-metric-card.tone-amber{background:#fffaf0;border-left-color:#b7791f}.dash-metric-card.tone-red{border-left-color:var(--danger);background:#fff5f5}.dash-metric-card.tone-blue{background:#f4f9ff;border-left-color:#1f6fb2}.dash-metric-card.tone-green{border-left-color:var(--success);background:#f3fbf7}.dash-metric-card .dash-metric-icon{color:var(--brand-900);background:#e8f3f6}.mini-icon{justify-content:center;align-items:center;min-width:18px;font-size:.72rem;font-weight:900;display:inline-flex}.dash-metric-card .dash-metric-label,.dash-metric-card .dash-metric-value,.dash-metric-card .dash-metric-sub{min-width:0;display:block}.dash-metric-card .dash-metric-value{overflow-wrap:anywhere;margin-top:.2rem;font-size:clamp(1.55rem,2.8vw,1.95rem);line-height:1.1}.dash-metric-card .dash-metric-sub{margin-top:.25rem;line-height:1.35}.dashboard-filter-bar{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;grid-template-columns:auto repeat(6,minmax(112px,1fr)) auto;align-items:center;gap:.55rem;margin-top:.85rem;padding:.7rem;display:grid}.dashboard-filter-bar>div{white-space:nowrap;gap:.08rem;padding-right:.25rem;display:grid}.filter-bar-label{color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.dashboard-filter-bar strong{color:var(--ink-900);font-size:.86rem}.dashboard-filter-bar input,.dashboard-filter-bar select{width:100%;min-width:0;height:34px;padding:0 .6rem;font-size:.8rem}.dashboard-filter-bar button{height:34px;padding:0 .75rem;transform:none}.dashboard-section{min-width:0}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.section-heading h3{margin:0}.section-heading p{color:var(--ink-500);margin:.18rem 0 0;font-size:.78rem;line-height:1.35}.section-actions{flex-shrink:0}.dash-insights-grid,.dash-operations-grid{align-items:stretch;gap:.85rem;margin-top:.85rem;display:grid}.dash-insights-grid{grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr)}.dash-operations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pipeline-status-section,.division-workload-section{grid-column:auto}.submitted-decision-section{margin-top:.85rem}.dashboard-empty-state{min-height:132px;color:var(--ink-500);text-align:center;background:#f8fbfd;border:1px dashed #cfd9e4;border-radius:12px;flex-direction:column;justify-content:center;gap:.35rem;padding:1rem;display:flex}.dashboard-empty-state strong{color:var(--ink-900);font-size:.9rem}.dashboard-empty-state span{font-size:.8rem;line-height:1.4}.division-table-wrap{border:1px solid var(--line-soft);border-radius:12px;overflow-x:auto}.division-performance-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.8rem}.division-performance-table th{color:var(--ink-500);border-bottom:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;text-align:left;background:#f8fafc;padding:.55rem .6rem;font-size:.68rem;font-weight:800}.division-performance-table td{border-bottom:1px solid var(--line-soft);color:var(--ink-700);white-space:nowrap;padding:.58rem .6rem}.division-performance-table tbody tr:last-child td{border-bottom:0}.division-performance-table strong{color:var(--ink-900)}.numeric-cell{text-align:right;font-variant-numeric:tabular-nums}.attention-list{gap:.55rem;display:grid}.attention-item{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:42px 1fr;align-items:center;gap:.15rem .65rem;width:100%;padding:.65rem;display:grid;transform:none}.attention-item:hover{border-color:var(--brand-300);background:#f8fbfd}.attention-item span{width:36px;height:36px;color:var(--brand-900);background:#e8f3f6;border-radius:10px;grid-row:span 2;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.attention-item strong{color:var(--ink-900);font-size:.84rem}.attention-item small{color:var(--ink-500);font-size:.74rem;line-height:1.35}.attention-item.tone-red span{color:#8d2e37;background:#fff0f1}.attention-item.tone-amber span{color:#8a5200;background:#fff4dc}.attention-item.tone-blue span{color:#164f86;background:#edf6ff}.segmented-control{border:1px solid var(--line);background:#f8fafc;border-radius:10px;display:inline-flex;overflow:hidden}.segmented-control button{min-height:32px;color:var(--ink-500);background:0 0;border:0;border-radius:0;padding:.3rem .65rem;font-size:.76rem;transform:none}.segmented-control button.active{background:var(--brand-900);color:#fff}.pipeline-bar.compact{background:#eef3f7;height:42px}.pipeline-segment span{text-overflow:ellipsis;white-space:nowrap;padding:0 .35rem;overflow:hidden}.pipeline-legend.compact{gap:.45rem .7rem}.pipeline-pie-layout{grid-template-columns:1fr;place-items:start center;gap:1.1rem;display:grid}.pipeline-pie{aspect-ratio:1;width:min(100%,204px);box-shadow:inset 0 0 0 1px #102a4314, var(--shadow-soft);cursor:help;border-radius:50%;position:relative}.pipeline-pie:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:18%;box-shadow:0 0 0 1px #102a4314}.pipeline-pie-center{z-index:1;text-align:center;place-content:center;gap:.12rem;min-width:0;display:grid;position:absolute;inset:23%}.pipeline-pie-center span{color:var(--ink-500);text-transform:uppercase;font-size:.68rem;font-weight:800}.pipeline-pie-center strong{color:var(--ink-900);overflow-wrap:anywhere;font-size:clamp(.78rem,1.5vw,.9rem);line-height:1.15}.pipeline-pie-tooltip{z-index:100;min-width:150px;color:var(--ink-700);pointer-events:none;background:#fff;border:1px solid #d4dee8;border-radius:8px;gap:.2rem;padding:.6rem .7rem;font-size:.74rem;line-height:1.35;display:grid;position:fixed;box-shadow:0 12px 28px #0f172a2e}.pipeline-pie-tooltip strong{color:var(--ink-900);font-size:.8rem}.pipeline-pie-legend{gap:.45rem;width:min(100%,520px);display:grid}.pipeline-pie-legend-item{color:var(--ink-500);grid-template-columns:10px minmax(92px,1fr) minmax(92px,max-content) 42px;align-items:center;gap:.45rem;font-size:.76rem;display:grid}.pipeline-pie-legend-item strong{color:var(--ink-900);text-align:right;font-size:.78rem}.pipeline-pie-legend-item small{color:var(--ink-500);text-align:right;font-size:.72rem}.urgency-panel,.urgency-bars,.urgent-list{display:grid}.urgency-panel{gap:.85rem}.urgency-bars{gap:.5rem}.urgent-list{gap:.4rem}.urgency-row{grid-template-columns:92px minmax(0,1fr) 28px;align-items:center;gap:.55rem;display:grid}.urgency-row div:first-child{gap:.1rem;display:grid}.urgency-row strong{color:var(--ink-900);font-size:.78rem}.urgency-row span{color:var(--ink-500);font-size:.7rem}.urgency-row b{color:var(--ink-900);text-align:right;font-size:.82rem}.urgency-track{background:#e8eef5;border-radius:999px;height:10px;overflow:hidden}.urgency-fill{background:var(--brand-700);border-radius:999px;height:100%;display:block}.urgency-fill.tone-red{background:var(--danger)}.urgency-fill.tone-amber{background:#b7791f}.urgency-fill.tone-blue{background:#1f6fb2}.urgent-list button{border:1px solid var(--line-soft);text-align:left;background:#fbfdff;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;min-width:0;padding:.45rem .55rem;display:flex;transform:none}.urgent-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-900);font-size:.78rem;overflow:hidden}.urgent-list span{color:var(--ink-500);flex-shrink:0;font-size:.72rem}.division-workload-list{gap:.62rem;display:grid}.division-workload-row{border:1px solid var(--line-soft);background:#fbfdff;border-radius:12px;grid-template-columns:minmax(0,.9fr) minmax(72px,1fr) minmax(2ch,auto);align-items:center;gap:.65rem;min-width:0;padding:.62rem;display:grid}.division-workload-row div:first-child{gap:.08rem;min-width:0;display:grid}.division-workload-row strong{color:var(--ink-900);font-size:.84rem}.division-workload-row span{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.division-workload-track{background:#e8eef5;border-radius:999px;min-width:0;height:10px;overflow:hidden}.division-workload-track span{border-radius:inherit;background:var(--brand-700);height:100%;display:block}.division-workload-row b{color:var(--ink-900);text-align:right;font-size:.9rem}.division-workload-row em,.division-workload-row small{white-space:nowrap;border-radius:999px;grid-column:1/-1;justify-self:start;padding:.22rem .45rem;font-size:.68rem;font-style:normal;font-weight:800}.division-workload-row em{color:#8a5200;background:#fff4dc}.division-workload-row small{color:#164f86;background:#edf6ff}.submitted-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;display:grid}.submitted-summary div{border:1px solid var(--line-soft);background:#fbfdff;border-radius:12px;padding:.75rem}.submitted-summary span{color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700;display:block}.submitted-summary strong{color:var(--ink-900);margin-top:.25rem;font-size:1.02rem;line-height:1.2;display:block}@media (width<=1100px){.dashboard-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-filter-bar>div{grid-column:1/-1}.dash-metrics,.dash-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-status-section,.division-workload-section{grid-column:auto}}@media (width<=820px){.dashboard-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-insights-grid,.dash-operations-grid{grid-template-columns:1fr}.pipeline-status-section,.division-workload-section{grid-column:auto}.submitted-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.division-workload-row{grid-template-columns:minmax(0,1fr) 42px}.division-workload-track,.division-workload-row em,.division-workload-row small{grid-column:1/-1}.pipeline-pie-layout{grid-template-columns:1fr}.pipeline-pie{justify-self:center}}@media (width<=600px){.dashboard-filter-bar,.dash-metrics,.submitted-summary{grid-template-columns:1fr}.section-heading{flex-direction:column}.pipeline-pie-legend-item{grid-template-columns:10px minmax(0,1fr) 42px}.pipeline-pie-legend-item strong{text-align:left;grid-column:2/-1}.urgency-row{grid-template-columns:78px minmax(0,1fr) 24px}}.gng-panel,.tp-panel,.fr-panel{max-width:960px;padding:1.5rem 0;animation:.4s ease-out rise}.gng-panel h2,.tp-panel h2,.fr-panel h2{color:var(--ink-900);margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.gng-panel h3,.tp-panel h3,.fr-panel h3{color:var(--ink-700);margin:0 0 .8rem;font-size:.95rem;font-weight:600}.lifecycle-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.lifecycle-badge.go{color:#166534;background:#dcfce7}.lifecycle-badge.go-with-conditions{color:#854d0e;background:#fef9c3}.lifecycle-badge.executive-review{color:#9a3412;background:#fed7aa}.lifecycle-badge.no-go{color:#991b1b;background:#fecaca}.lifecycle-badge.approved{color:#166534;background:#dcfce7}.lifecycle-badge.declined,.lifecycle-badge.rejected{color:#991b1b;background:#fecaca}.lifecycle-badge.deferred{color:#3730a3;background:#e0e7ff}.lifecycle-badge.returned{color:#854d0e;background:#fef9c3}.lifecycle-badge.pending{background:var(--paper);color:var(--ink-500)}.lifecycle-badge.risk{color:#991b1b;background:#fecaca}.lifecycle-badge.opportunity,.lifecycle-badge.low{color:#166534;background:#dcfce7}.lifecycle-badge.medium{color:#854d0e;background:#fef9c3}.lifecycle-badge.high{color:#991b1b;background:#fecaca}.lifecycle-badge.draft{background:var(--paper);color:var(--ink-500)}.lifecycle-badge.issued{color:#1e40af;background:#dbeafe}.lifecycle-badge.responded{color:#166534;background:#dcfce7}.lifecycle-badge.closed{background:var(--ink-700);color:#fff}.lifecycle-badge.waived{background:var(--ink-400);color:#fff}.lifecycle-badge.not-started{background:var(--paper);color:var(--ink-500)}.lifecycle-badge.reviewed{color:#1e40af;background:#dbeafe}.lifecycle-badge.final,.lifecycle-badge.strong{color:#166534;background:#dcfce7}.lifecycle-badge.weak{color:#991b1b;background:#fecaca}.lifecycle-badge.unassessed{background:var(--paper);color:var(--ink-500)}.lifecycle-badge.open{color:#1e40af;background:#dbeafe}.lifecycle-badge.in-progress{color:#854d0e;background:#fef9c3}.lifecycle-badge.assumption{color:#3730a3;background:#e0e7ff}.lifecycle-badge.qualification{color:#854d0e;background:#fef9c3}.lifecycle-badge.exclusion{color:#991b1b;background:#fecaca}.lifecycle-badge.departure{color:#9a3412;background:#fed7aa}.lifecycle-badge.confirmed{color:#166534;background:#dcfce7}.lifecycle-msg{border-radius:var(--radius);margin:.6rem 0;padding:.5rem .8rem;font-size:.82rem}.lifecycle-msg.success{color:#166534;background:#dcfce7}.lifecycle-msg.error{color:#991b1b;background:#fecaca}.gng-toast{border-radius:var(--radius);margin-bottom:1rem;padding:.6rem 1rem;font-size:.82rem;font-weight:500;animation:.3s ease-out rise}.gng-toast--success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.gng-toast--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.gng-hero{border:1px solid var(--line);background:linear-gradient(135deg,#f0f7f4 0%,#e8f0f2 100%);border-radius:12px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.5rem 2rem;display:flex}.gng-hero__icon{width:56px;height:56px;color:var(--brand-700,#1a5c45);background:#fffc;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gng-hero__text{flex:1;min-width:0}.gng-hero__title{color:var(--ink-900);margin:0 0 .15rem;font-size:1.35rem;font-weight:700}.gng-hero__subtitle{color:var(--ink-500);margin:0;font-size:.82rem;line-height:1.4}.gng-ai-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;align-items:center;gap:.35rem;margin-top:.25rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;transition:opacity .15s;display:inline-flex}.gng-ai-btn:hover:not(:disabled){opacity:.9}.gng-ai-btn:disabled{opacity:.6;cursor:wait}.gng-ai-score-cell{align-items:center;gap:.3rem;display:inline-flex}.gng-ai-score-value{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.gng-ai-score-empty{color:var(--ink-400);font-size:.82rem}.gng-ai-accept-btn{color:#7c3aed;cursor:pointer;background:#f5f3ff;border:1.5px solid #7c3aed;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.7rem;font-weight:700;transition:background .15s;display:inline-flex}.gng-ai-accept-btn:hover{background:#ede9fe}.gng-ai-narrative{color:var(--ink-700);background:#f5f3ff;border:1px solid #e9d5ff;border-radius:8px;padding:.75rem 1rem;font-size:.82rem;line-height:1.55}.gng-ai-narrative p{margin:0 0 .6rem}.gng-ai-narrative p:last-child{margin-bottom:0}.gng-hero__score-card{flex-shrink:0;align-items:center;gap:1rem;display:flex}.gng-hero__score-block{text-align:center;padding:0 1rem}.gng-hero__score-label{color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem;font-size:.7rem;font-weight:600;display:block}.gng-hero__score-value{font-variant-numeric:tabular-nums;color:var(--ink-900);font-size:2.2rem;font-weight:800;line-height:1}.gng-hero__score-max{color:var(--ink-400);font-size:1rem;font-weight:500}.gng-hero__rec-block{border-radius:10px;align-items:center;gap:.6rem;min-width:180px;padding:.8rem 1rem;display:flex}.gng-hero__rec-block--empty{background:var(--card);border:1px solid var(--line);color:var(--ink-500)}.gng-hero__rec-icon{flex-shrink:0}.gng-hero__rec-label{font-size:.88rem;font-weight:700;display:block}.gng-hero__rec-progress{opacity:.8;font-size:.72rem;display:block}.gng-hero__rec-chevron{opacity:.5;flex-shrink:0}.gng-section{margin-bottom:1.5rem}.gng-section-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.gng-section__heading{color:var(--ink-900);align-items:center;gap:.5rem;margin:0;font-size:1.05rem;font-weight:700;display:flex}.gng-section__hint{color:var(--ink-400);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.gng-count-badge{background:var(--brand-100,#dbeafe);width:22px;height:22px;color:var(--brand-700,#1d4ed8);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.gng-card-section{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.25rem 1.5rem}.gng-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:10px;overflow-x:auto}.gng-score-table{border-collapse:collapse;width:100%;font-size:.85rem}.gng-score-table thead{background:var(--paper,#f8fafc)}.gng-score-table th{text-align:left;color:var(--ink-500);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:.7rem .8rem;font-size:.72rem;font-weight:600}.gng-score-table td{border-bottom:1px solid var(--line-soft,#f0f0f0);vertical-align:middle;padding:.7rem .8rem}.gng-score-table tbody tr:last-child td{border-bottom:none}.gng-col-center{text-align:center!important}.gng-col-num{width:40px}.gng-row-num{font-variant-numeric:tabular-nums;color:var(--ink-400);font-size:.82rem;font-weight:500}.gng-row-icon{text-align:center;width:36px;font-size:1rem}.gng-score-row__category{color:var(--ink-900);font-weight:500}.gng-score-row__weight{font-variant-numeric:tabular-nums;color:var(--ink-500);font-weight:500}.gng-score-row__weighted{font-variant-numeric:tabular-nums;color:var(--ink-700);font-weight:600}.gng-score-row--expanded,.gng-score-row:hover{background:#00000003}.gng-input--score{border:1px solid var(--line);font-variant-numeric:tabular-nums;text-align:center;background:#fff;border-radius:6px;padding:7px 8px;font-size:.85rem;width:72px!important}.gng-input--score:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.gng-expand-btn{color:#2e7d32;cursor:pointer;white-space:nowrap;background:#e8f5e9;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:4px 10px;font-size:.75rem;font-weight:600;transition:background .15s;display:inline-flex}.gng-expand-btn:hover{background:#c8e6c9}.gng-expand-chevron{font-size:.65rem}.gng-detail-row td{border-bottom:1px solid var(--line);background:#fafbfc;padding:.5rem .8rem 1rem}.gng-detail-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.gng-detail-label{color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;font-size:.72rem;font-weight:600;display:block}.gng-textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:6px;width:100%;min-height:48px;padding:8px 10px;font-family:inherit;font-size:.82rem;line-height:1.5}.gng-textarea:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.gng-details-bar{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:flex-end;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.gng-details-bar__fields{flex:1;min-width:0}.gng-details-bar__title{color:var(--ink-900);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.05rem;font-weight:700;display:flex}.gng-details-bar__title svg{color:var(--brand-700,#1a5c45)}.gng-details-cards{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.gng-detail-card{background:var(--paper,#f8fafc);border:1px solid var(--line-soft,#f0f0f0);border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.gng-detail-card__icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.gng-detail-card__icon--purple{color:#7c3aed;background:#ede9fe}.gng-detail-card__icon--blue{color:#2563eb;background:#dbeafe}.gng-detail-card__icon--teal{color:#0d9488;background:#ccfbf1}.gng-detail-card__content{flex:1;min-width:0}.gng-detail-card__content label{color:var(--ink-700);margin-bottom:.3rem;font-size:.78rem;font-weight:600;display:block}.gng-detail-card__input-row{align-items:center;gap:.3rem;margin-bottom:.25rem;display:flex}.gng-detail-card__input-row .gng-input{border:1px solid var(--line);font-variant-numeric:tabular-nums;background:#fff;border-radius:6px;width:80px;padding:6px 8px;font-size:.85rem}.gng-detail-card__input-row .gng-input:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.gng-unit{color:var(--ink-500);font-size:.82rem;font-weight:500}.gng-detail-card__hint{color:var(--ink-400);font-size:.7rem;line-height:1.3}.gng-save-btn{background:var(--brand-700,#1a5c45);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;align-self:flex-end;align-items:center;gap:.4rem;padding:10px 20px;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.gng-save-btn:hover:not(:disabled){background:var(--brand-800,#155e42)}.gng-save-btn:disabled{opacity:.5;cursor:not-allowed}.gng-save-btn--sm{padding:8px 16px;font-size:.82rem}.gng-form-field label{color:var(--ink-600);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.gng-select{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:200px;padding:8px 10px;font-size:.85rem}.gng-select:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.gng-select--small{min-width:120px;padding:4px 8px;font-size:.78rem}.gng-existing-decision{background:var(--paper,#f8fafc);border:1px solid var(--line-soft,#f0f0f0);border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}.gng-existing-decision__row{align-items:center;gap:.8rem;margin-bottom:.4rem;display:flex}.gng-existing-decision__label{color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;min-width:80px;font-size:.72rem;font-weight:600}.gng-existing-decision__value{color:var(--ink-700);font-size:.85rem}.gng-decision-meta{color:var(--ink-400);margin-top:.5rem;font-size:.75rem}.gng-decision-form{flex-direction:column;gap:.8rem;display:flex}.gng-btn--danger{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #fecaca;border-radius:6px;padding:4px 10px;font-size:.78rem;font-weight:500}.gng-btn--danger:hover:not(:disabled){background:#fef2f2}.gng-btn--sm{padding:4px 10px;font-size:.78rem}.gng-conditions-list{margin:0 0 1rem;padding:0;list-style:none}.gng-condition-item{border-bottom:1px solid var(--line-soft,#f0f0f0);padding:.8rem 0}.gng-condition-item:last-child{border-bottom:none}.gng-condition-header{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.3rem;display:flex}.gng-condition-text{color:var(--ink-900);font-size:.85rem;font-weight:500}.gng-condition-info{gap:1rem;margin-bottom:.3rem;display:flex}.gng-condition-meta{color:var(--ink-500);font-size:.75rem}.gng-condition-resolution,.gng-condition-closed-info{color:var(--ink-500);margin:.2rem 0;font-size:.78rem}.gng-condition-actions{align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.gng-add-condition{border-top:1px solid var(--line);padding-top:1rem}.gng-add-condition__title{color:var(--ink-700);margin:0 0 .6rem;font-size:.82rem;font-weight:600}.gng-add-condition-form{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:.6rem;display:grid}.gng-add-condition-field label{color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.72rem;font-weight:600;display:block}.gng-add-condition-field .gng-input{border:1px solid var(--line);border-radius:6px;width:100%;padding:8px 10px;font-size:.82rem}.gng-add-condition-field .gng-input:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.gng-loading,.gng-empty{text-align:center;color:var(--ink-500);padding:3rem 1rem;font-size:.85rem}.gng-error{text-align:center;color:#991b1b;padding:2rem 1rem;font-size:.85rem}.gng-error button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:6px;margin-top:.8rem;padding:6px 16px;font-size:.82rem}@media (width<=768px){.gng-hero{text-align:center;flex-direction:column}.gng-hero__score-card{flex-direction:column;width:100%}.gng-details-cards{grid-template-columns:1fr}.gng-details-bar{flex-direction:column;align-items:stretch}.gng-save-btn{justify-content:center;align-self:stretch}.gng-detail-grid,.gng-add-condition-form{grid-template-columns:1fr}.gng-section-header{flex-direction:column;align-items:flex-start;gap:.3rem}}.gng-snapshot-banner{color:#92400e;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.gng-snapshot-banner__icon{color:#d97706;flex-shrink:0}.gng-snapshot-banner__text strong{font-weight:600}.gng-revision-banner{color:#7c2d12;background:#fff7ed;border:1px solid #fb923c;border-left:4px solid #ea580c;border-radius:8px;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.gng-revision-banner__icon{color:#ea580c;flex-shrink:0;margin-top:2px}.gng-revision-banner__content{flex:1}.gng-revision-banner__content strong{font-size:.9rem;font-weight:700}.gng-revision-banner__meta{opacity:.7;margin-top:2px;font-size:.78rem;display:block}.gng-revision-banner__feedback{white-space:pre-wrap;background:#ea580c14;border-radius:6px;margin:.5rem 0;padding:.5rem .75rem;font-size:.85rem;line-height:1.5}.gng-revision-banner__action{opacity:.8;margin:0;font-size:.8rem;font-style:italic}.gng-detail-readonly{color:#4b5563;background:#f3f4f6;border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.85rem;line-height:1.5}.fr-financials-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.fr-financials-grid label{color:var(--ink-700);flex-direction:column;gap:4px;font-size:.82rem;font-weight:500;display:flex}.fr-financials-grid input{border:1px solid var(--line);border-radius:4px;padding:6px 8px;font-size:.85rem}.fr-approval-section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:1rem;padding:1rem 1.2rem}.tp-sub-tabs{border-bottom:2px solid var(--line);gap:0;margin-bottom:1.5rem;display:flex}.tp-sub-tab{color:var(--ink-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-2px;padding:.7rem 1.2rem;font-size:.85rem;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.tp-sub-tab__icon{font-size:1rem}.tp-sub-tab__count{background:var(--paper,#f1f5f9);min-width:18px;height:18px;color:var(--ink-500);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:.7rem;font-weight:600;display:inline-flex}.tp-sub-tab:hover{color:var(--ink-700)}.tp-sub-tab-active,.tp-sub-tab.tp-sub-tab-active{color:var(--brand-700,#1a5c45);border-bottom-color:var(--brand-600,#1a5c45);font-weight:600}.tp-sub-tab-active .tp-sub-tab__count{background:var(--brand-700,#1a5c45);color:#fff}.tp-hero{background:linear-gradient(135deg, var(--paper,#f8fafc) 0%, var(--card,#fff) 100%);border:1px solid var(--line);border-radius:10px;align-items:center;gap:.8rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.tp-hero__icon{background:var(--card,#fff);border:1px solid var(--line);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.6rem;display:flex}.tp-hero__text{flex:1;min-width:0}.tp-hero__title{color:var(--ink-900);margin:0;font-size:1rem;font-weight:700}.tp-hero__subtitle{color:var(--ink-500);margin:.15rem 0 0;font-size:.8rem}.tp-hero__action{flex-shrink:0}.tp-stats-row{gap:.6rem;margin-bottom:1rem;display:flex}.tp-stat-card{background:var(--card);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.7rem .5rem;display:flex}.tp-stat-card__value{color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.tp-stat-card__label{color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:500}.tp-stat-card--green{background:#f0fdf4;border-color:#bbf7d0}.tp-stat-card--green .tp-stat-card__value{color:#166534}.tp-stat-card--amber{background:#fffbeb;border-color:#fde68a}.tp-stat-card--amber .tp-stat-card__value{color:#92400e}.tp-stat-card--red{background:#fef2f2;border-color:#fecaca}.tp-stat-card--red .tp-stat-card__value{color:#991b1b}.tp-empty{text-align:center;flex-direction:column;align-items:center;padding:3rem 1.5rem;display:flex}.tp-empty__icon{opacity:.7;margin-bottom:.8rem;font-size:2.5rem}.tp-empty__title{color:var(--ink-700);margin:0 0 .3rem;font-size:.95rem;font-weight:600}.tp-empty__desc{color:var(--ink-500);max-width:360px;margin:0;font-size:.82rem;line-height:1.5}.tp-code{background:var(--paper,#f1f5f9);border:1px solid var(--line);font-size:.75rem;font-weight:600;font-family:var(--font-primary);color:var(--ink-700);border-radius:4px;padding:1px 6px;display:inline-block}.tp-tab-content{animation:.3s ease-out rise}.tp-loading{text-align:center;color:var(--ink-500);justify-content:center;align-items:center;gap:.5rem;padding:3rem 1rem;font-size:.85rem;display:flex}.tp-loading__spinner{border:2px solid var(--line);border-top-color:var(--brand-700,#1a5c45);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite tp-spin;display:inline-block}@keyframes tp-spin{to{transform:rotate(360deg)}}.tp-table{border-collapse:collapse;border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;font-size:.85rem;overflow:hidden}.tp-table thead{background:var(--paper,#f8fafc)}.tp-table th{text-align:left;color:var(--ink-500);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:.7rem .8rem;font-size:.72rem;font-weight:600}.tp-table td{border-bottom:1px solid var(--line-soft,#f0f0f0);vertical-align:middle;padding:.65rem .8rem}.tp-table tbody tr:last-child td{border-bottom:none}.tp-table input,.tp-table select,.tp-table textarea{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.82rem}.tp-table input:focus,.tp-table select:focus,.tp-table textarea:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.tp-table input[type=number],.tp-table input[type=date]{width:auto}.tp-table textarea{resize:vertical;width:100%;min-height:40px}.tp-row-clickable{cursor:pointer;transition:background .15s}.tp-row-clickable:hover{background:#00000003}.tp-badge{text-transform:capitalize;letter-spacing:.03em;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.tp-badge-grey{background:var(--paper,#f1f5f9);color:var(--ink-500)}.tp-badge-yellow{color:#854d0e;background:#fef9c3}.tp-badge-blue{color:#1e40af;background:#dbeafe}.tp-badge-green{color:#166534;background:#dcfce7}.tp-badge-red{color:#991b1b;background:#fecaca}.tp-badge-dark{background:var(--ink-700);color:#fff}.tp-badge-purple{color:#6d28d9;background:#ede9fe}.tp-btn-sm{border:1px solid var(--line);cursor:pointer;background:var(--card);color:var(--ink-700);border-radius:6px;align-items:center;margin-right:.3rem;padding:4px 10px;font-size:.75rem;font-weight:500;transition:background .15s;display:inline-flex}.tp-btn-sm:hover:not(:disabled){background:var(--paper)}.tp-btn-sm:disabled{opacity:.5;cursor:not-allowed}.tp-btn-primary{background:var(--brand-700,#1a5c45);color:#fff;border-color:var(--brand-700,#1a5c45)}.tp-btn-primary:hover:not(:disabled){background:var(--brand-800,#155e42)}.tp-btn-danger{color:#dc2626;border-color:#fecaca}.tp-btn-danger:hover:not(:disabled){background:#fef2f2}.tp-btn-confirm{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.tp-btn-confirm:hover:not(:disabled){background:#dcfce7}.tp-edit-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;padding:.6rem 0;display:flex}.tp-edit-row input,.tp-edit-row select,.tp-edit-row textarea{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.82rem}.tp-edit-row input:focus,.tp-edit-row select:focus,.tp-edit-row textarea:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.tp-expanded{color:var(--ink-700);background:#fafbfc;border-radius:6px;padding:.8rem 1rem;font-size:.82rem}.tp-expanded p{margin:.3rem 0}.tp-add-row td{background:var(--paper,#f8fafc);border-top:2px solid var(--line)}.tp-add-row input{width:100%}.tp-stats-bar{gap:.8rem;margin-bottom:1rem;display:flex}.tp-stat{background:var(--card);border:1px solid var(--line);color:var(--ink-700);border-radius:8px;padding:.6rem 1rem;font-size:.82rem}.tp-stat strong{color:var(--ink-900);font-weight:700}.tp-stat-warn{color:#991b1b;background:#fef2f2;border-color:#fecaca}.tp-add-form{border:1px solid var(--line);background:var(--card);border-radius:10px;margin-top:1rem;padding:1.25rem}.tp-add-form h4{color:var(--ink-800);margin:0 0 .8rem;font-size:.9rem;font-weight:600}.tp-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:.8rem;display:grid}.tp-form-grid label{color:var(--ink-600);flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;display:flex}.tp-form-grid input,.tp-form-grid select,.tp-form-grid textarea{border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:.85rem}.tp-form-grid input:focus,.tp-form-grid select:focus,.tp-form-grid textarea:focus{border-color:var(--brand-500,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.tp-form-grid textarea{resize:vertical;min-height:56px}.tp-filter-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.tp-filter-btn{border:1px solid var(--line);background:var(--card);color:var(--ink-700);cursor:pointer;border-radius:16px;padding:5px 12px;font-size:.78rem;font-weight:500;transition:all .15s}.tp-filter-btn:hover{border-color:var(--brand-300,#86efac)}.tp-filter-active,.tp-filter-btn.tp-filter-active{background:var(--brand-700,#1a5c45);color:#fff;border-color:var(--brand-700,#1a5c45)}.tp-evidence-list{margin:.5rem 0 0;font-size:.8rem}.tp-evidence-list strong{color:var(--ink-700);margin-bottom:.4rem;display:block}.tp-evidence-item{align-items:center;gap:.5rem;padding:4px 0;display:flex}.tp-evidence-add{border-top:1px solid var(--line-soft,#f0f0f0);align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.tp-evidence-add input{flex:1}@media (width<=768px){.tp-sub-tabs{overflow-x:auto}.tp-stats-bar{flex-direction:column}.tp-stats-row{flex-wrap:wrap}.tp-stat-card{min-width:calc(50% - .3rem)}.tp-hero{text-align:center;flex-direction:column}.tp-form-grid{grid-template-columns:1fr}.tp-edit-row{flex-direction:column}.tp-evidence-add{flex-direction:column;align-items:stretch}}.lifecycle-table{border-collapse:collapse;width:100%;font-size:.85rem}.lifecycle-table th{text-align:left;color:var(--ink-500);border-bottom:2px solid var(--line);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.5rem .6rem;font-size:.75rem;font-weight:600}.lifecycle-table td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:.5rem .6rem}.lifecycle-table tr:hover{background:#00000004}.lifecycle-table input,.lifecycle-table select,.lifecycle-table textarea{border:1px solid var(--line);border-radius:4px;width:100%;padding:4px 6px;font-size:.82rem}.lifecycle-table input[type=number],.lifecycle-table input[type=date]{width:auto}.lifecycle-add-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:.5rem;padding:.8rem 0;display:flex}.lifecycle-add-row input,.lifecycle-add-row select,.lifecycle-add-row textarea{border:1px solid var(--line);border-radius:4px;padding:6px 8px;font-size:.85rem}.fr-calculated{color:var(--ink-700);gap:1rem;padding:.6rem 0;font-size:.85rem;display:flex}.fr-calculated strong{color:var(--ink-900)}.fr-checklist{margin:0;padding:0;list-style:none}.fr-checklist li{border-bottom:1px solid var(--line-soft);color:var(--ink-700);align-items:center;gap:.6rem;padding:.4rem 0;font-size:.85rem;display:flex}.fr-checklist li:last-child{border-bottom:none}.fr-checklist input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-500)}.fr-approval-chain{padding-left:2rem;position:relative}.fr-approval-step{padding:.6rem 0 1.2rem;position:relative}.fr-approval-step:before{content:"";background:var(--line);width:2px;position:absolute;top:0;bottom:0;left:-1.5rem}.fr-approval-step:last-child:before{bottom:50%}.fr-approval-step:after{content:"";background:var(--paper);border:2px solid var(--line);border-radius:50%;width:12px;height:12px;position:absolute;top:.85rem;left:calc(-1.5rem - 5px)}.fr-approval-step.step-approved:after{background:#dcfce7;border-color:#166534}.fr-approval-step.step-returned:after{background:#fef9c3;border-color:#854d0e}.fr-approval-step.step-rejected:after{background:#fecaca;border-color:#991b1b}.fr-approval-step-header{align-items:center;gap:.6rem;font-size:.85rem;display:flex}.fr-approval-step-role{color:var(--ink-900);font-weight:600}.fr-approval-step-info{color:var(--ink-500);margin-top:2px;font-size:.78rem}.fr-progress-bar{background:var(--line);border-radius:3px;height:6px;margin-bottom:1rem;overflow:hidden}.fr-progress-fill{background:var(--success);border-radius:3px;height:100%;transition:width .3s}.fr-all-approved{color:#166534;border-radius:var(--radius);text-align:center;background:#dcfce7;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600}.lifecycle-actions{gap:.3rem;display:flex}.lifecycle-actions button{border-radius:4px;padding:3px 8px;font-size:.75rem}.lifecycle-expand-row td{background:#fafbfc;padding:.8rem 1rem}.lifecycle-toggle{cursor:pointer;color:var(--brand-500);background:0 0;border:none;padding:2px 4px;font-size:.8rem}.lifecycle-toggle:hover{text-decoration:underline}.lifecycle-confirm{color:var(--danger);align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}@media (width<=768px){.gng-meta-grid,.fr-financials-grid{grid-template-columns:1fr}.gng-score-table,.lifecycle-table{font-size:.8rem}}.timesheet-panel{padding:0}.timesheet-hero{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 50%,#f0f9ff 100%);border-bottom:1px solid #d1fae5;border-radius:12px 12px 0 0;align-items:flex-start;gap:1.25rem;padding:2rem 2rem 1.5rem;display:flex}.timesheet-hero__icon{color:#fff;background:#065f46;border-radius:12px;flex-shrink:0;place-items:center;width:3.5rem;height:3.5rem;font-size:2rem;line-height:1;display:grid}.timesheet-hero__copy{flex:1;min-width:0}.timesheet-hero__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#065f46;font-size:.7rem;font-weight:600}.timesheet-hero h2{color:#0f172a;margin:.15rem 0 .25rem;font-size:1.35rem;font-weight:700}.timesheet-hero p{color:#475569;margin:0;font-size:.85rem}.timesheet-hero__totals{flex-shrink:0;gap:1.25rem;display:flex}.timesheet-stat{text-align:center;background:#fff;border:1px solid #d1fae5;border-radius:10px;min-width:90px;padding:.5rem 1rem}.timesheet-stat__value{color:#065f46;font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700;display:block}.timesheet-stat__label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-top:.15rem;font-size:.7rem;display:block}.timesheet-tabs{background:#fafbfc;border-bottom:1px solid #e2e8f0;gap:0;padding:0 2rem;display:flex}.timesheet-tabs button{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.65rem 1.25rem;font-size:.82rem;font-weight:500;transition:color .15s,border-color .15s}.timesheet-tabs button:hover{color:#334155}.timesheet-tabs button.active{color:#065f46;border-bottom-color:#065f46;font-weight:600}.timesheet-entries,.timesheet-summary,.timesheet-rates{padding:1.5rem 2rem 2rem}.timesheet-new-entry{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1.5rem;padding:1.25rem}.timesheet-new-entry h3{color:#334155;margin:0 0 .75rem;font-size:.9rem;font-weight:600}.timesheet-new-entry__form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.timesheet-new-entry__form label{color:#64748b;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.timesheet-new-entry__form input[type=date],.timesheet-new-entry__form input[type=number]{width:130px}.timesheet-desc-field{flex:1;min-width:200px}.timesheet-desc-field input{width:100%}.timesheet-new-entry__form button{flex-shrink:0;height:36px}.timesheet-week{margin-bottom:1.5rem}.timesheet-week__header{color:#334155;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding:.5rem 0;font-size:.82rem;font-weight:600;display:flex}.timesheet-week__summary{font-variant-numeric:tabular-nums;color:#065f46}.timesheet-table{border-collapse:collapse;width:100%;font-size:.82rem}.timesheet-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#64748b;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:.5rem .75rem;font-size:.7rem;font-weight:600}.timesheet-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.5rem .75rem}.timesheet-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.timesheet-table tbody tr:hover{background:#f8fafc}.timesheet-table tfoot td{border-top:2px solid #e2e8f0;padding-top:.75rem}.timesheet-role-badge{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:500;display:inline-block}.timesheet-description{text-overflow:ellipsis;white-space:nowrap;color:#64748b;max-width:200px;overflow:hidden}.timesheet-actions{white-space:nowrap}.timesheet-actions button{padding:.2rem .5rem;font-size:.72rem}.timesheet-row--editing td{background:#fffbeb}.timesheet-row--editing input[type=date],.timesheet-row--editing input[type=number],.timesheet-row--editing input[type=text]{width:100%;min-width:80px;padding:.25rem .4rem;font-size:.8rem}.timesheet-empty{text-align:center;color:#94a3b8;padding:3rem 1rem}.timesheet-empty span{margin-bottom:.5rem;font-size:2rem;display:block}.timesheet-empty h3{color:#475569;margin:0 0 .25rem;font-size:1rem}.timesheet-empty p{margin:0;font-size:.85rem}.timesheet-summary-section{margin-bottom:2rem}.timesheet-summary-section h3{color:#1e293b;margin:0 0 .75rem;font-size:1rem;font-weight:600}.timesheet-role-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.timesheet-role-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.timesheet-role-card__label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.timesheet-role-card__cost{color:#0f172a;font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700;display:block}.timesheet-role-card__detail{color:#64748b;font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:.75rem;display:block}.timesheet-role-card__bar{background:#e2e8f0;border-radius:2px;height:4px;margin-top:.5rem;overflow:hidden}.timesheet-role-card__bar div{background:#065f46;border-radius:2px;height:100%;transition:width .3s}.timesheet-rates h3{color:#1e293b;margin:0 0 .5rem;font-size:1rem;font-weight:600}.timesheet-rate-input{font-variant-numeric:tabular-nums;width:120px;padding:.35rem .5rem;font-size:.85rem}@media (width<=768px){.timesheet-hero{flex-direction:column}.timesheet-hero__totals{justify-content:space-between;width:100%}.timesheet-new-entry__form{flex-direction:column}.timesheet-new-entry__form input[type=date],.timesheet-new-entry__form input[type=number]{width:100%}.timesheet-table{font-size:.75rem}.timesheet-table th,.timesheet-table td{padding:.4rem .5rem}.timesheet-role-cards{grid-template-columns:1fr}}.sa-panel{padding:0}.sa-hero{background:linear-gradient(135deg,#ede9fe 0%,#e0e7ff 50%,#dbeafe 100%);border-bottom:1px solid #c7d2fe;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:1.25rem;padding:2rem 2rem 1.5rem;display:flex}.sa-hero h2{color:#312e81;margin:0;font-size:1.4rem;font-weight:700}.sa-hero-sub{color:#4338ca;opacity:.8;margin:.25rem 0 0;font-size:.85rem}.sa-hero-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.sa-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.sa-btn-primary{color:#fff;background:#4f46e5}.sa-btn-primary:hover:not(:disabled){background:#4338ca}.sa-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sa-btn-ghost{color:#4338ca;background:0 0;border:1px solid #c7d2fe}.sa-btn-ghost:hover{background:#eef2ff}.sa-loading{text-align:center;color:#6b7280;padding:3rem 2rem}.sa-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:1rem 1.5rem 0;padding:.75rem 1rem;font-size:.85rem}.sa-stale-banner{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:.6rem;margin:.75rem 1.5rem 0;padding:.6rem 1rem;display:flex}.sa-stale-icon{flex-shrink:0;font-size:1.1rem}.sa-stale-content{flex:1;min-width:0}.sa-stale-content strong{color:#92400e;font-size:.82rem;display:block}.sa-stale-content span{color:#a16207;font-size:.75rem}.sa-btn-sm{white-space:nowrap;padding:.3rem .75rem;font-size:.75rem}.approval-ai-score--stale{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#fde68a}.approval-ai-score__stale{color:#92400e;background:#fef3c7;border-radius:5px;margin-top:.4rem;padding:.3rem .5rem;font-size:.72rem;font-weight:500}.sa-empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.sa-empty-icon{font-size:3rem}.sa-empty h3{color:#1f2937;margin:0;font-size:1.2rem}.sa-empty p{color:#6b7280;max-width:480px;margin:0;font-size:.9rem;line-height:1.5}.sa-empty-msg{text-align:center;color:#6b7280;padding:2rem;font-size:.9rem}.sa-history-strip{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:.5rem;padding:.75rem 1.5rem;display:flex;overflow-x:auto}.sa-version-chip{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:.15rem;min-width:70px;padding:.5rem 1rem;transition:all .15s;display:flex}.sa-version-chip:hover{background:#eef2ff;border-color:#a5b4fc}.sa-version-chip.active{background:#eef2ff;border-color:#4f46e5}.sa-version-num{color:#4f46e5;font-size:.75rem;font-weight:600}.sa-version-score{color:#1f2937;font-size:1.1rem;font-weight:700}.sa-version-date{color:#9ca3af;font-size:.65rem}.sa-tabs{background:#f9fafb;border-bottom:2px solid #e5e7eb;gap:0;padding:0 1.5rem;display:flex}.sa-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;transition:color .15s;display:flex;position:relative}.sa-tab:hover{color:#4338ca}.sa-tab.active{color:#4f46e5;font-weight:600}.sa-tab.active:after{content:"";background:#4f46e5;border-radius:1px 1px 0 0;height:2px;position:absolute;bottom:-2px;left:0;right:0}.sa-tab-badge{color:#fff;background:#4f46e5;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;display:inline-flex}.sa-tab-content{padding:1.5rem}.sa-overview-top{align-items:flex-start;gap:2rem;margin-bottom:2rem;display:flex}.sa-score-ring-container{flex-direction:column;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.sa-score-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.sa-quick-stats{flex:1;grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.sa-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;padding:1rem;display:flex}.sa-stat-card.sa-stat-critical{background:#fef2f2;border-color:#fecaca}.sa-stat-card.sa-stat-warning{background:#fffbeb;border-color:#fde68a}.sa-stat-value{color:#1f2937;font-size:1.5rem;font-weight:700}.sa-stat-critical .sa-stat-value{color:#dc2626}.sa-stat-warning .sa-stat-value{color:#d97706}.sa-stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:500}.sa-dimensions-grid{margin-bottom:2rem}.sa-dimensions-grid h3,.sa-findings-section h3,.sa-narrative-section h3,.sa-criteria-detail h3,.sa-pricing-detail h3,.sa-actions-detail h3{color:#1f2937;margin:0 0 1rem;font-size:1rem;font-weight:700}.sa-dimension-bar{margin-bottom:1rem}.sa-dim-header{justify-content:space-between;align-items:baseline;margin-bottom:.3rem;display:flex}.sa-dim-label{color:#374151;font-size:.85rem;font-weight:600}.sa-dim-score{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.sa-bar-track{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.sa-bar-fill{border-radius:4px;height:100%;transition:width .6s}.sa-dim-summary{color:#6b7280;margin:.3rem 0 0;font-size:.8rem;line-height:1.4}.sa-findings-list{flex-direction:column;gap:.75rem;display:flex}.sa-finding-card{border-left:4px solid #e5e7eb;border-radius:8px;padding:1rem 1.25rem}.sa-finding-header{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.sa-severity-badge{color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.sa-finding-category{color:#6b7280;font-size:.75rem}.sa-finding-title{color:#1f2937;margin:0 0 .3rem;font-size:.9rem;font-weight:600}.sa-finding-desc{color:#4b5563;margin:0 0 .3rem;font-size:.82rem;line-height:1.45}.sa-finding-rec{color:#374151;margin:0;font-size:.8rem;line-height:1.4}.sa-narrative{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem 1.5rem}.sa-narrative p{color:#374151;margin:0 0 .75rem;font-size:.88rem;line-height:1.6}.sa-narrative p:last-child{margin-bottom:0}.sa-criteria-table-wrap{overflow-x:auto}.sa-criteria-table{border-collapse:collapse;width:100%;font-size:.82rem}.sa-criteria-table th{text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:.6rem .75rem;font-weight:600}.sa-criteria-table td{vertical-align:top;border-bottom:1px solid #f3f4f6;padding:.75rem}.sa-cell-code{color:#6b7280;white-space:nowrap;font-family:SF Mono,Consolas,monospace;font-size:.75rem}.sa-cell-name{color:#1f2937;min-width:150px;font-weight:500}.sa-cell-weight{font-variant-numeric:tabular-nums;text-align:center;color:#6b7280}.sa-cell-score{text-align:center}.sa-inline-score{font-variant-numeric:tabular-nums;font-weight:700}.sa-evidence-badge{white-space:nowrap;border:1px solid;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.sa-cell-detail{max-width:300px}.sa-gap-list{margin:0 0 .3rem;padding-left:1rem}.sa-gap-list li{color:#d97706;margin-bottom:.15rem;font-size:.78rem}.sa-rec-text{color:#374151;margin:0;font-size:.78rem;line-height:1.4}.sa-pricing-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.sa-pricing-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:.25rem;padding:1.25rem;display:flex}.sa-pricing-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:500}.sa-pricing-value{color:#1f2937;font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.sa-pricing-value.sa-rating{text-transform:capitalize;font-size:1rem}.sa-pricing-section{margin-bottom:1.25rem}.sa-pricing-section h4{color:#1f2937;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.sa-risk-list{margin:0;padding-left:1.25rem}.sa-risk-item{color:#dc2626;margin-bottom:.3rem;font-size:.85rem}.sa-obs-list{margin:0;padding-left:1.25rem}.sa-obs-list li{color:#4b5563;margin-bottom:.3rem;font-size:.85rem}.sa-actions-list{flex-direction:column;gap:.75rem;display:flex}.sa-action-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.25rem}.sa-action-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.sa-priority-badge{color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.sa-action-owner{color:#6b7280;font-size:.75rem}.sa-action-title{color:#1f2937;margin:0 0 .25rem;font-size:.9rem;font-weight:600}.sa-action-desc{color:#4b5563;margin:0;font-size:.82rem;line-height:1.45}@media (width<=768px){.sa-hero{flex-direction:column;padding:1.5rem}.sa-overview-top{flex-direction:column;align-items:center}.sa-quick-stats{grid-template-columns:repeat(2,1fr);width:100%}.sa-pricing-grid{grid-template-columns:1fr 1fr}.sa-tabs{padding:0 1rem;overflow-x:auto}}
