:root{font-family:DM Sans,SF Pro Display,system-ui,sans-serif;font-size:15px;line-height:1.6;font-weight:400;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--brand-grad-from: #6D5BF5;--brand-grad-to: #06D6E0;--shell-bg: #0A0C12;--shell-border: #20283A;--nav-text: #A6AEBE;--nav-muted: #586173;--nav-active: #FFFFFF;--nav-active-bg: rgba(255, 255, 255, .05);--bg: #F6F7FC;--surface: #FFFFFF;--surface-2: #F2F4FB;--border: #E9EBF3;--border-2: #D5D9E4;--ink: #121624;--muted: #6B7280;--dim: #9CA3AF;--accent: #5B6CF5;--accent-hover: #4A57E0;--accent-soft: #EDEFFF;--accent-border: #C7CEFB;--accent-text: #3A45B5;--success: #059669;--success-bg: #D1FAE5;--success-text: #065F46;--success-border: #6EE7B7;--warning: #D97706;--warning-bg: #FEF3C7;--warning-text: #92400E;--warning-border: #FDE68A;--danger: #DC2626;--danger-bg: #FEE2E2;--danger-text: #991B1B;--danger-border: #FECACA;--col-pct: rgba(6, 182, 212, .12);--col-pct-head: rgba(6, 182, 212, .22);--col-pct-text: #0E7490;--col-period: rgba(22, 163, 74, .12);--col-period-head: rgba(22, 163, 74, .22);--col-period-text: #15803D;--col-stored: rgba(217, 119, 6, .12);--col-stored-head: rgba(217, 119, 6, .22);--col-stored-text: #B45309;--co-color: #EA580C;--co-bg: rgba(234, 88, 12, .06);--co-bg-hover: rgba(234, 88, 12, .12)}*{box-sizing:border-box}h1,h2,h3,p{margin:0}body{margin:0;background:var(--shell-bg);color:var(--ink)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes subtleGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-in{animation:fadeSlideUp .4s ease-out both}.animate-in-1{animation-delay:.05s}.animate-in-2{animation-delay:.1s}.animate-in-3{animation-delay:.15s}.animate-in-4{animation-delay:.2s}.animate-in-5{animation-delay:.25s}.app-frame{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.side-nav{padding:1.5rem 1rem;border-right:1px solid var(--shell-border);background:var(--shell-bg)}.side-nav-title{margin-bottom:1.75rem;padding:0 .5rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nav-active);font-weight:700;font-family:var(--font-mono)}.side-nav-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding:0 .5rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.06)}.side-nav-brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}.side-nav-brand-name{font-size:1.9rem;font-weight:800;color:var(--nav-active);font-family:var(--font-mono);letter-spacing:.04em;line-height:1}.side-nav-brand-sub{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--nav-muted);font-family:var(--font-mono);margin-top:.4rem}.side-nav-brand-name .brand-a,.mobile-topbar-brand .brand-a{font:inherit;text-transform:none;letter-spacing:inherit;margin:0;background:linear-gradient(135deg,var(--brand-grad-from),var(--brand-grad-to));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.side-nav nav{display:grid;gap:4px}.side-nav-link{color:var(--nav-text);text-decoration:none;padding:.7rem .75rem;border-radius:8px;font-weight:500;font-size:.9rem;transition:color .12s,background .12s;display:flex;align-items:center;gap:.7rem;position:relative}.side-nav-icon{flex:none;opacity:.85}.side-nav-link.active .side-nav-icon{opacity:1}.side-nav-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav-badge{flex:none;margin-left:auto;font-size:.68rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;background:var(--danger);color:#fff;min-width:1.2rem;text-align:center}.side-nav-link:hover{color:#fff;background:#ffffff0f}.side-nav-link.active{color:var(--nav-active);background:var(--nav-active-bg);font-weight:600}.side-nav-link.active:not(.project):before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--brand-grad-from),var(--brand-grad-to))}.side-nav-collapse-toggle{margin-left:auto;flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid var(--shell-border);background:#ffffff0a;color:var(--nav-text);font-size:1rem;line-height:1;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.side-nav-collapse-toggle:hover{background:#ffffff1a;color:#fff;border-color:#fff3}.app-content{padding:1.75rem 2.5rem;width:100%;background:radial-gradient(circle at 20% 10%,rgba(91,108,245,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(6,182,212,.03) 0%,transparent 50%),var(--bg);min-height:100vh}.hero{background:linear-gradient(135deg,#0a0c12,#1b1742 30%,#143a52 70%,#0a0c12);background-size:200% 200%;animation:subtleGradient 12s ease infinite;color:#eef0ff;padding:2rem 2.25rem;border-radius:14px;border:1px solid rgba(138,160,255,.18);box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff0d;margin-bottom:1.5rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(109,91,245,.12) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(6,214,224,.08) 0%,transparent 50%);pointer-events:none}.hero.compact{display:flex;justify-content:space-between;gap:1.5rem;align-items:start}.eyebrow{font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;color:#8aa0ff;font-weight:600;position:relative}.hero h1{margin-top:.5rem;font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:800;color:#eceef8;letter-spacing:-.02em;position:relative}.subtitle{margin-top:.45rem;color:#98a0b5;font-size:.9rem}.subtitle.muted{color:var(--muted)}.payapp-number-badge{display:inline-flex;align-items:center;margin-left:.9rem;padding:.25rem .6rem;background:#8aa0ff24;color:#8aa0ff;border:1px solid rgba(138,160,255,.4);border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.06em;vertical-align:middle}.payapp-number-badge.editable{gap:.3rem;padding:.2rem .45rem .2rem .6rem;background:#8aa0ff33;border-color:#8aa0ffa6;cursor:text}.payapp-number-input{width:3.4rem;padding:.1rem .35rem;background:#0d11178c;color:#e6f0ff;border:1px solid rgba(138,160,255,.55);border-radius:4px;font:inherit;font-size:.78rem;text-align:center;-moz-appearance:textfield}.payapp-number-input::-webkit-outer-spin-button,.payapp-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.payapp-number-input:focus{outline:none;border-color:#8aa0ff;box-shadow:0 0 0 2px #8aa0ff40}.payapp-number-input:disabled{opacity:.5;cursor:not-allowed}.hero h1 .final-payapp-badge{margin-left:.5rem;vertical-align:middle}.header-summary{text-align:right;display:grid;gap:.35rem;color:#c7cdda;font-size:.9rem}.stats-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.5rem}.stats-grid article,.stat-card{border-radius:14px;background:var(--surface);border:1px solid var(--border);padding:1.25rem 1.5rem;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s,border-color .2s,transform .2s;animation:fadeSlideUp .4s ease-out both}a.stat-card{display:block;text-decoration:none;color:inherit;cursor:pointer}.stats-grid>*:nth-child(1){animation-delay:.1s}.stats-grid>*:nth-child(2){animation-delay:.15s}.stats-grid>*:nth-child(3){animation-delay:.2s}.stats-grid article:hover,.stat-card:hover{border-color:var(--accent-border);box-shadow:0 6px 20px #5b6cf51f;transform:translateY(-2px)}.stats-grid h3,.stat-card h3{color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.stats-grid p,.stat-card>p{margin-top:.4rem;font-size:2.25rem;font-weight:700;color:var(--ink);letter-spacing:-.02em;font-family:var(--font-mono)}.stat-card>p.subtitle{font-size:.74rem;font-weight:400;font-family:inherit}.home-attention-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.home-attention-row .attention-tasks-card{flex:2 1 380px}.home-attention-row .stat-attention-approvals{flex:1 1 260px}.stat-attention-approvals.has-pending{border-left:4px solid var(--danger)}.stat-attention-approvals.source-issue{border-left:4px solid var(--warning)}.attention-tasks-card{margin:0;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--warning);border-radius:14px;box-shadow:0 1px 3px #0000000f;animation:fadeSlideUp .4s ease-out both}.attention-tasks-card.is-urgent{border-left-color:var(--danger);background:linear-gradient(90deg,rgba(220,38,38,.05),var(--surface) 38%)}.attention-tasks-card.is-urgent .attention-tasks-title{color:var(--danger-text)}.attention-tasks-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.attention-tasks-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;color:var(--ink)}.attention-tasks-title .stat-icon{width:24px;height:24px}.attention-tasks-link{font-size:.82rem;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap}.attention-tasks-link:hover{color:var(--accent-hover);text-decoration:underline}.attention-tasks-list{list-style:none;margin:.6rem 0 0;padding:0}.attention-task-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--border)}.attention-task-main{display:flex;align-items:baseline;gap:.5rem;min-width:0;font-size:.88rem}.attention-task-main .task-title{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attention-task-due{color:var(--muted);font-size:.74rem;white-space:nowrap}.attention-task-due.overdue{color:var(--danger);font-weight:700}.attention-more{color:var(--muted);font-size:.76rem;padding-top:.5rem}.btn-pill{flex:none;font-size:.74rem;font-weight:600;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.btn-pill:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}a,button,[role=button],summary,label,select,.clickable{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem 1.75rem;box-shadow:0 1px 3px #0000000f;margin-bottom:1.5rem;animation:fadeSlideUp .4s ease-out both;animation-delay:.1s}.panel-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header-row h2{font-size:1.1rem;font-weight:700;color:var(--ink)}.notice-panel{border-radius:10px;padding:.85rem 1.1rem;border:1px solid var(--border);font-size:.9rem}.notice-panel.info{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.notice-panel.error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.notice-panel.warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text);margin-top:1rem}.lien-waiver-alert{animation:lienPulse 2s ease-in-out infinite;margin-bottom:1rem}@keyframes lienPulse{0%,to{border-color:var(--warning-border)}50%{border-color:#d97706;box-shadow:0 0 8px #d977064d}}.notice-panel button{margin-top:.6rem;background:var(--surface);border:1px solid var(--border-2);border-radius:8px;padding:.5rem .85rem;font-weight:600;cursor:pointer;color:var(--ink);font-family:inherit;font-size:.87rem}.notice-panel ul{margin:.5rem 0 0;padding-left:1.35rem}.config-meta{margin-top:1rem;display:grid;gap:.35rem;font-size:.9rem;color:var(--muted)}.settings-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin:1rem 0}.settings-status-card{display:flex;flex-direction:column;gap:.25rem;min-height:4.25rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.settings-status-card span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.settings-status-card strong{color:var(--ink);font-size:.94rem}.settings-status-card.ok{border-color:#a7f3d0;background:#ecfdf5}.settings-status-card.warning{border-color:var(--warning-border);background:var(--warning-bg)}.settings-status-card.muted{background:var(--surface-2)}.project-cards{display:grid;gap:.6rem}.project-cards-header{display:grid;grid-template-columns:1fr 1fr 140px 130px 40px;gap:1rem;padding:0 1.5rem .5rem;font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.project-cards-header span:nth-child(3),.project-cards-header span:nth-child(4){text-align:right}.project-count-label{font-size:.9rem;color:var(--muted);font-weight:500}.project-card{display:grid;grid-template-columns:1fr 1fr 140px 130px 40px;gap:1rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.5rem;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 1px 3px #0000000a;animation:fadeSlideUp .35s ease-out both}.project-card:nth-child(1){animation-delay:.1s}.project-card:nth-child(2){animation-delay:.15s}.project-card:nth-child(3){animation-delay:.2s}.project-card:nth-child(4){animation-delay:.25s}.project-card:nth-child(5){animation-delay:.3s}.project-card:nth-child(6){animation-delay:.35s}.project-card:hover{border-color:var(--accent);box-shadow:0 6px 24px #5b6cf524;transform:translateY(-2px)}.project-card-left{min-width:0}.project-card-customer{color:var(--ink);font-size:.9rem;min-width:0}.project-card-name{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:.15rem}.project-card-meta{color:var(--muted);font-size:.82rem}.project-card-right{text-align:right;flex-shrink:0}.project-card-value{font-size:1rem;font-weight:700;color:var(--ink);text-align:right;font-family:var(--font-mono)}.project-card-stage{display:flex;justify-content:flex-end}.project-card-arrow{font-size:1.3rem;color:var(--dim);flex-shrink:0;text-align:center;transition:color .12s,transform .12s}.project-card:hover .project-card-arrow{color:var(--accent);transform:translate(3px)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{background:var(--surface-2);color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:.75rem 1rem;text-align:left;border-bottom:2px solid var(--border)}.data-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;color:var(--ink)}.data-table td.num-col{font-family:var(--font-mono);font-size:.88rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table input{width:120px;border:1px solid var(--border-2);border-radius:8px;padding:.45rem .6rem;background:var(--surface);color:var(--ink);font-family:inherit;font-size:.9rem}.table-title{font-weight:600;color:var(--ink);font-size:1rem}.table-subtitle{margin-top:.2rem;color:var(--muted);font-size:.82rem}.status-pill{display:inline-block;border-radius:6px;padding:.3rem .7rem;font-size:.73rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.status-draft{color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-border)}.status-pending{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border)}.status-finalized{color:var(--success-text);background:var(--success-bg);border:1px solid var(--success-border)}.status-setup{color:#c2410c;background:#fff7ed;border:1px solid #FDBA74}.status-active{color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-border)}.status-review{color:var(--col-pct-text);background:#06b6d41a;border:1px solid rgba(6,182,212,.3)}.status-default{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.inline-link{color:var(--accent);text-decoration:none;font-weight:600}.inline-link:hover{text-decoration:underline}.actions-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.action-group{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem .35rem .75rem;border-radius:10px;border:1px solid var(--border-2);background:var(--surface)}.action-group-label{font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted, #64748b);padding-right:.35rem;border-right:1px solid var(--border-2);margin-right:.25rem}.action-group-pm{border-color:#93c5fd;background:#eff6ff}.action-group-pm .action-group-label{color:#1d4ed8;border-right-color:#bfdbfe}.action-group-admin{border-color:#fcd34d;background:#fffbeb}.action-group-admin .action-group-label{color:#b45309;border-right-color:#fde68a}.actions-row button{background:var(--surface);border:1px solid var(--border-2);border-radius:8px;color:var(--ink);padding:.55rem 1rem;font-weight:600;cursor:pointer;font-family:inherit;font-size:.87rem;transition:border-color .12s,background .12s}.actions-row button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-save{background:var(--accent);color:#fff;border:1px solid transparent;border-radius:8px;padding:.55rem 1.25rem;font-weight:700;cursor:pointer;font-family:inherit;font-size:.9rem;transition:background .12s}.btn-save:hover{background:var(--accent-hover)}.btn-save:disabled{opacity:.45;cursor:not-allowed}.btn-final-payapp{background:#b45309;color:#fff;border:1px solid transparent;border-radius:8px;padding:.55rem 1.25rem;font-weight:700;cursor:pointer;font-family:inherit;font-size:.9rem;transition:background .12s}.btn-final-payapp:hover{background:#92400e}.btn-final-payapp:disabled{opacity:.45;cursor:not-allowed}.btn-reject{background:#b91c1c;color:#fff;border:1px solid transparent;border-radius:8px;padding:.5rem 1rem;font-weight:700;cursor:pointer;font-family:inherit;font-size:.85rem;transition:background .12s}.btn-reject:hover{background:#991b1b}.btn-reject:disabled{opacity:.45;cursor:not-allowed}.btn-procore{display:inline-flex;align-items:center;gap:.4rem;margin-top:.55rem;padding:.45rem .95rem;background:linear-gradient(135deg,#ff8a3d,#f47e42);color:#fff;border:1px solid #FFAA6B;border-radius:6px;font-family:inherit;font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 0 1px #f47e4259,0 2px 8px #f47e4273;text-shadow:0 1px 1px rgba(0,0,0,.18);transition:background .15s ease,box-shadow .15s ease,border-color .15s ease,transform .05s ease}.btn-procore:before{content:"↻";font-size:1rem;font-weight:900;letter-spacing:0}.btn-procore:hover{background:linear-gradient(135deg,#ffa15a,#ff8a3d);border-color:#ffc089;box-shadow:0 0 0 1px #ff8a3d8c,0 4px 14px #ff8a3d99}.btn-procore:active{transform:translateY(1px);box-shadow:0 0 0 1px #f47e4280,0 1px 4px #f47e4266}.btn-procore:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#b86a38,#9a5630);box-shadow:none}.snapshot-controls{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;padding:.4rem .65rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;width:fit-content}.snapshot-controls label{font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;opacity:.75}.snapshot-controls select{font-family:inherit;font-size:.85rem;padding:.35rem .6rem;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:inherit;min-width:14rem;cursor:pointer}.snapshot-controls select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #5b6cf559}.final-payapp-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:8px;font-size:.72rem;font-weight:800;letter-spacing:.08em}.project-info-strip{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:center;padding:.85rem 1.25rem;margin-bottom:1rem;background:var(--surface, #fff);border:1px solid var(--border-2, #e5e7eb);border-radius:10px}.info-cell{display:flex;flex-direction:column;gap:.2rem;min-width:0}.info-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #64748b)}.info-value{font-size:.9rem;font-weight:600;color:var(--ink, #0f172a)}.info-value.muted{color:var(--muted, #94a3b8);font-weight:500}.info-value.warning{color:#b45309}.info-cell-docs{flex:1 1 auto;min-width:280px}.doc-chips{display:flex;flex-wrap:wrap;gap:.35rem}.doc-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.76rem;font-weight:600;border:1px solid transparent}.doc-chip-ok{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.doc-chip-missing{background:#fef3c7;color:#92400e;border-color:#fcd34d}.sov-header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.btn-confirm-sov{background:var(--accent);color:#fff;border:1px solid transparent;border-radius:8px;padding:.55rem 1.15rem;font-weight:700;cursor:pointer;font-family:inherit;font-size:.87rem;transition:background .12s}.btn-confirm-sov:hover{background:var(--accent-hover)}.btn-confirm-sov:disabled{opacity:.4;cursor:not-allowed}.sov-setup-hint{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:var(--warning-text)}.sov-input-legend{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.legend-chip{font-size:.75rem;font-weight:700;padding:.3rem .7rem;border-radius:6px;letter-spacing:.03em}.legend-chip.pct-to-bill{background:var(--col-pct-head);color:var(--col-pct-text)}.legend-chip.this-period{background:var(--col-period-head);color:var(--col-period-text)}.legend-chip.stored-mat{background:var(--col-stored-head);color:var(--col-stored-text)}.sov-table .num-col{text-align:right}.sov-table .row-num{color:var(--dim);font-size:.8rem;width:2.5rem;text-align:center}.sov-input{width:110px;border:1px solid var(--border-2);border-radius:6px;padding:.45rem .55rem;text-align:right;font-size:.9rem;background:var(--surface);color:var(--ink);font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s}.sov-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sov-input.desc-input{width:200px;text-align:left}.sov-input.sched-input{width:120px}.sov-input.prev-billed-input{width:110px}.sov-input.pct-input{width:80px;color:var(--col-pct-text);font-weight:700}.sov-input.period-input{width:110px;color:var(--col-period-text);font-weight:700}.sov-input.stored-input{width:100px;color:var(--col-stored-text);font-weight:700}.col-hint{display:block;font-size:.7rem;font-weight:400;color:var(--muted);white-space:nowrap}.sov-select{width:280px;border:1px solid var(--border-2);border-radius:6px;padding:.45rem .55rem;font-size:.87rem;background:var(--surface);color:var(--ink);font-family:inherit;cursor:pointer}.sov-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pct-to-bill-cell{background:var(--col-pct)!important}.this-period-cell{background:var(--col-period)!important}.stored-mat-cell{background:var(--col-stored)!important}.pct-to-bill-col{background:var(--col-pct-head)!important;color:var(--col-pct-text);font-weight:700}.this-period-col{background:var(--col-period-head)!important;color:var(--col-period-text);font-weight:700}.stored-mat-col{background:var(--col-stored-head)!important;color:var(--col-stored-text);font-weight:700}.gc-cell{width:100px}.gc-bar-container{position:relative;background:#f0faf0;border-radius:5px;height:24px;overflow:hidden;min-width:80px}.gc-bar{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#d1fae5,#6ee7b7);border-radius:5px;transition:width .3s ease}.gc-label{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:.78rem;font-weight:700;color:var(--ink)}.btn-add-line{background:var(--accent-soft);color:var(--accent);border:1px dashed var(--accent-border);border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer;font-family:inherit;font-size:.87rem;transition:background .12s}.btn-add-line:hover{background:var(--accent);color:#fff;border-style:solid}.btn-remove-line{background:none;border:1px solid var(--danger-border);color:var(--danger);border-radius:50%;width:28px;height:28px;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.btn-remove-line:hover{background:var(--danger-bg)}.add-line-row td{border-top:2px dashed var(--border);padding-top:.85rem}.totals-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}.totals-grid article{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.9rem 1.1rem;transition:box-shadow .12s}.totals-grid h3{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.totals-grid p{margin-top:.35rem;font-size:1.15rem;font-weight:700;color:var(--ink);font-family:var(--font-mono)}.totals-card-highlight{border-left:4px solid var(--accent)}.totals-card-highlight.co-card{border-left-color:var(--co-color)}.totals-card-highlight.revised-card{border-left-color:var(--success);background:var(--success-bg)}.totals-card-highlight.revised-card h3{color:var(--success-text);opacity:.8}.totals-card-highlight.revised-card p{color:var(--success-text)}.co-separator-row td{padding-top:1.25rem!important;padding-bottom:.5rem;border-top:2px solid rgba(234,88,12,.35);color:var(--co-color);font-size:.85rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.co-none{font-weight:400;opacity:.55}.co-row{background:var(--co-bg)}.co-row:hover{background:var(--co-bg-hover)!important}.btn-add-co{background:#ea580c14;color:var(--co-color);border:1px dashed rgba(234,88,12,.4);border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer;font-family:inherit;font-size:.87rem;transition:background .12s}.btn-add-co:hover{background:var(--co-color);color:#fff;border-style:solid}.sov-balanced{background:var(--success-bg)!important;border-color:var(--success-border)!important}.sov-unbalanced{background:var(--danger-bg)!important;border-color:var(--danger-border)!important}.sov-balance-badge{font-size:.8rem;font-weight:700;padding:.3rem .7rem;border-radius:6px}.sov-balance-badge.balanced{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.sov-balance-badge.unbalanced{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.auth-shell{min-height:100vh;background:var(--shell-bg);display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:3rem 2.5rem;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 32px #00000059,0 0 80px #8aa0ff0f;animation:fadeSlideUp .5s ease-out}.auth-card .eyebrow{display:block;margin-bottom:.5rem;color:var(--accent);letter-spacing:.14em}.auth-card h1{font-size:1.4rem;font-weight:700;color:var(--ink);margin:.35rem 0 .6rem}.auth-card .subtitle{color:var(--muted)}.auth-cta{display:block;width:100%;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.85rem 1.5rem;font-weight:700;cursor:pointer;font-family:inherit;font-size:1rem;margin-top:1.75rem;transition:background .12s}.auth-cta:hover{background:var(--accent-hover)}.auth-error{margin-top:.75rem;color:var(--danger);font-size:.87rem}.simple-list{list-style:none;margin:1rem 0 0;padding:0}.simple-list li{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-top:1px solid var(--border)}.footnote{margin-top:.85rem;color:var(--muted);font-size:.9rem}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,#E8EBF0 50%,var(--surface-2) 75%);background-size:800px 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.skeleton-card{height:90px;border-radius:14px;border:1px solid var(--border)}.skeleton-row{height:64px;border-radius:14px;border:1px solid var(--border)}.skeleton-hero{height:140px;border-radius:14px;margin-bottom:1.5rem}.sov-input,.header-summary p,.gc-label{font-family:var(--font-mono)}.stats-grid article.stat-draft{border-left:4px solid var(--accent)}.stats-grid article.stat-pending{border-left:4px solid var(--warning)}.stats-grid article.stat-finalized{border-left:4px solid var(--success)}.stats-grid article.stat-breakdown{border-left:4px solid var(--co-color);padding-bottom:.85rem}.stats-grid article.stat-breakdown h3{margin-bottom:.6rem}.stats-grid article.stat-breakdown p{font-size:.85rem;font-weight:400;color:var(--ink)}.breakdown-list{display:grid;gap:.4rem;margin-top:.25rem}.breakdown-row{display:grid;grid-template-columns:minmax(80px,1fr) 2fr auto;align-items:center;gap:.55rem;font-size:.82rem}a.breakdown-row.clickable{text-decoration:none;color:inherit;cursor:pointer;padding:.15rem .4rem;margin:0 -.4rem;border-radius:6px;transition:background .12s}a.breakdown-row.clickable:hover{background:var(--surface-2)}a.breakdown-row.clickable:hover .breakdown-label{color:var(--accent-text)}.breakdown-label{color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breakdown-bar-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.breakdown-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.breakdown-count{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;font-size:.84rem;min-width:1.8rem;text-align:right}.stat-icon{display:inline-block;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;margin-bottom:.5rem}.stat-icon.draft{background:var(--accent-soft);color:var(--accent)}.stat-icon.pending{background:var(--warning-bg);color:var(--warning)}.stat-icon.finalized{background:var(--success-bg);color:var(--success)}@media (min-width: 1025px){.app-frame.nav-collapsed{grid-template-columns:68px 1fr}.app-frame.nav-collapsed .app-content{grid-column:2}.app-frame.nav-collapsed .side-nav{position:fixed;top:0;left:0;bottom:0;width:68px;padding:1.5rem .6rem;overflow:hidden;z-index:80;transition:width .16s ease,padding .16s ease,box-shadow .16s ease}.app-frame.nav-collapsed .side-nav:hover{width:240px;padding:1.5rem 1rem;overflow-y:auto;box-shadow:8px 0 28px #00000073}.app-frame.nav-collapsed .side-nav:not(:hover) .side-nav-label,.app-frame.nav-collapsed .side-nav:not(:hover) .side-nav-section-label,.app-frame.nav-collapsed .side-nav:not(:hover) .side-nav-brand-text,.app-frame.nav-collapsed .side-nav:not(:hover) .side-nav-badge{display:none}.app-frame.nav-collapsed .side-nav:not(:hover) .side-nav-link{justify-content:center;gap:0;padding-left:0;padding-right:0}.app-frame.nav-collapsed .side-nav:not(:hover) .side-nav-brand{justify-content:center;padding-left:0;padding-right:0}.app-frame.nav-collapsed .side-nav:not(:hover) .side-nav-collapse-toggle{margin:0 auto}}.form-label{display:block;font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.form-input{display:block;width:100%;padding:.55rem .7rem;border:1px solid var(--border-2);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:.9rem;transition:border-color .12s,box-shadow .12s}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.form-input{resize:vertical;min-height:2.75rem}.btn-primary{border:1px solid transparent;background:var(--accent);color:#fff;font-weight:600;font-size:.85rem;padding:.5rem .95rem;border-radius:8px;cursor:pointer;transition:background .12s,box-shadow .12s}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 2px 10px #5b6cf54d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:1px solid var(--border-2);background:var(--surface);color:var(--ink);font-weight:600;font-size:.85rem;padding:.5rem .95rem;border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--dim)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-link{border:none;background:none;padding:0;font:inherit;font-size:.8rem;color:var(--accent);cursor:pointer}.btn-link:hover{text-decoration:underline;color:var(--accent-hover)}.filter-group{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px}.filter-chip{border:none;background:transparent;color:var(--muted);font-weight:600;font-size:.8rem;padding:.35rem .75rem;border-radius:6px;cursor:pointer;transition:background .12s,color .12s}.filter-chip:hover{color:var(--ink)}.filter-chip.active{background:var(--surface);color:var(--accent-text);box-shadow:0 1px 2px #0000001a}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:start}.kanban-col{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:.75rem;min-height:300px;transition:background .12s,border-color .12s,box-shadow .12s}.kanban-col.drop-target{background:var(--accent-soft);border-color:var(--accent);border-style:dashed;box-shadow:inset 0 0 0 1px var(--accent-border)}.kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:.15rem .35rem .65rem;margin-bottom:.65rem;border-bottom:2px solid var(--border-2)}.kanban-col-header .col-title{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.col-dot{width:9px;height:9px;border-radius:999px;flex:none}.col-dot.todo{background:var(--dim)}.col-dot.inprogress{background:var(--accent)}.col-dot.blocked{background:var(--warning)}.col-dot.done{background:var(--success)}.kanban-col-header .col-count{font-size:.72rem;font-weight:700;min-width:1.4rem;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.05rem .45rem;color:var(--muted);font-variant-numeric:tabular-nums}.kanban-empty{font-size:.76rem;color:var(--dim);text-align:center;padding:1.4rem .5rem;border:1px dashed var(--border-2);border-radius:8px}.task-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--dim);border-radius:8px;padding:.7rem .8rem;margin-bottom:.6rem;box-shadow:0 1px 2px #0000000d;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .12s,transform .12s}.task-card:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-1px)}.task-card:active{cursor:grabbing}.task-card.flagged{box-shadow:0 0 0 2px var(--danger-border)}.task-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.task-card-title{font-size:.9rem;font-weight:600;color:var(--ink);line-height:1.35}.task-card-desc{margin:.35rem 0 0;font-size:.8rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-card-meta{font-size:.73rem;color:var(--muted);margin-top:.4rem}.task-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:.55rem;gap:.5rem}.task-status-select{font-size:.75rem;padding:.28rem .45rem;border:1px solid var(--border-2);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer}.task-asap{flex:none;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.14rem .45rem;border-radius:5px;background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.task-card-meta .meta-overdue{color:var(--danger);font-weight:700}.asap-toggle{display:flex;align-items:flex-start;gap:.6rem;margin-top:1rem;padding:.7rem .85rem;border:1px solid var(--border-2);border-radius:10px;background:var(--surface-2);cursor:pointer;transition:background .12s,border-color .12s}.asap-toggle.on{background:var(--danger-bg);border-color:var(--danger-border)}.asap-toggle input{margin-top:.2rem;width:1rem;height:1rem;flex:none;cursor:pointer}.asap-toggle>span{display:flex;flex-direction:column;gap:.15rem}.asap-toggle strong{font-size:.9rem;color:var(--ink)}.asap-toggle-hint{font-size:.76rem;color:var(--muted)}.mobile-topbar,.nav-backdrop{display:none}@media (max-width: 1024px){.app-frame{grid-template-columns:1fr}.side-nav-collapse-toggle{display:none}.mobile-topbar{display:flex;align-items:center;gap:.75rem;position:sticky;top:0;z-index:90;padding:.55rem 1rem;background:var(--shell-bg);border-bottom:1px solid var(--shell-border)}.hamburger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border:1px solid var(--shell-border);border-radius:10px;background:#ffffff0d;cursor:pointer}.hamburger span{display:block;height:2px;width:100%;border-radius:2px;background:var(--nav-text);transition:transform .2s ease,opacity .2s ease}.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.is-open span:nth-child(2){opacity:0}.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-topbar-brand{color:var(--nav-active);font-family:var(--font-mono);font-weight:800;font-size:1rem;letter-spacing:.02em}.mobile-topbar-brand span{color:var(--nav-muted);font-weight:600;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;margin-left:.35rem}.mobile-topbar-project{color:var(--nav-text);font-style:normal;font-size:.82rem;margin-left:.25rem}.mobile-topbar-badge{margin-left:auto;background:var(--danger, #dc2626);color:#fff;font-weight:700;font-size:.72rem;padding:.18rem .55rem;border-radius:999px;text-decoration:none}.side-nav{position:fixed;top:0;left:0;bottom:0;z-index:70;width:272px;max-width:84vw;overflow-y:auto;padding:1.1rem 1rem 2rem;border-right:1px solid var(--shell-border);border-bottom:none;transform:translate(-100%);transition:transform .24s ease}.side-nav.open{transform:translate(0);box-shadow:0 0 44px #00000073}.side-nav .side-nav-brand{display:none}.side-nav nav{grid-template-columns:1fr}.side-nav-link{padding:.85rem .8rem}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#080c1485;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.hero.compact,.panel-header-row,.simple-list li{flex-direction:column;align-items:start;gap:.5rem}.header-summary{text-align:left}.totals-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-right{flex-direction:column;align-items:flex-end;gap:.5rem}}@media (max-width: 640px){.totals-grid,.stats-grid,.side-nav nav{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto}.app-content{padding:1rem}.project-card{grid-template-columns:1fr;gap:.5rem}.project-cards-header{display:none}.project-card-customer{font-size:.85rem}.project-card-value,.project-card-stage{text-align:left}.project-card-arrow{display:none}}.side-nav-section-label{margin:1.25rem .5rem .45rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--nav-muted);font-weight:700;font-family:var(--font-mono)}.side-nav-section-label:first-of-type{margin-top:0}.side-nav-section-label.project-context{color:#f97316}.side-nav-link.project{padding-left:1.25rem;border-left:2px solid transparent;border-radius:4px 8px 8px 4px}.side-nav-link.project.active{border-left-color:#f97316}.side-nav-link.muted{color:var(--nav-muted);font-size:.84rem}.module-tile-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.module-tile-grid-compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.module-tile{display:block;position:relative;padding:1rem 1.1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--ink);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;min-height:130px}.module-tile:hover{transform:translateY(-1px);border-color:var(--accent-border);box-shadow:0 6px 18px #5b6cf514}.module-tile h3{font-size:1rem;font-weight:700;margin:.35rem 0 .4rem}.module-tile-eyebrow{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent)}.module-tile-pm .module-tile-eyebrow{color:var(--accent)}.module-tile-company .module-tile-eyebrow{color:var(--co-color)}.module-tile-accounting .module-tile-eyebrow{color:var(--success)}.module-tile-description{font-size:.85rem;color:var(--muted);line-height:1.45;margin-right:1.5rem}.module-tile-arrow{position:absolute;right:1rem;bottom:1rem;font-size:1.1rem;color:var(--accent);opacity:.7}.project-detail-grid{display:grid;gap:.85rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0}.project-detail-grid>div{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .65rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.project-detail-grid dt{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.project-detail-grid dd{margin:0;font-size:.93rem;color:var(--ink);font-weight:500;word-break:break-word}.scope-work-panel{border-left:4px solid var(--accent)}.scope-work-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:1.25rem;align-items:stretch}.scope-work-narrative{padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.scope-work-kicker{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent-text)}.scope-work-narrative h3{margin-top:.35rem;font-size:1.25rem;color:var(--ink)}.scope-work-narrative p{margin-top:.55rem;color:var(--muted);max-width:70rem}.scope-work-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.scope-work-facts>div{padding:.9rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.scope-work-facts span,.scope-work-facts small{display:block;color:var(--muted);font-size:.75rem}.scope-work-facts strong{display:block;margin:.15rem 0;font-size:1rem;color:var(--ink)}.scope-work-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:1rem}.scope-work-line{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--border)}.scope-work-line span{display:block;font-size:.72rem;font-weight:700;color:var(--accent)}.scope-work-line strong{display:block;margin-top:.2rem;color:var(--ink);font-size:.9rem}.scope-work-line small{flex:0 0 auto;color:var(--muted);font-weight:700;font-family:var(--font-mono)}.scope-work-empty{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:grid;gap:.25rem}.scope-work-empty strong{color:var(--ink)}.scope-work-empty span{color:var(--muted)}.scope-work-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.scope-work-sections h4{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.scope-work-sections p{margin-top:.35rem;color:var(--muted);white-space:pre-wrap}.workflow-task-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.workflow-task-chip{display:grid;gap:.2rem;padding:.85rem .95rem;background:var(--surface-2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px}.workflow-task-chip span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.workflow-task-chip strong{color:var(--ink);font-size:.9rem}.workflow-task-chip small{color:var(--muted)}.workflow-task-done{border-left-color:var(--success)}.workflow-task-blocked{border-left-color:var(--danger)}.workflow-task-inprogress{border-left-color:var(--warning)}@media (max-width: 1024px){.scope-work-layout{grid-template-columns:1fr}}@media (max-width: 640px){.scope-work-facts{grid-template-columns:1fr}.scope-work-line{display:grid}}.simple-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}.simple-table th{text-align:left;padding:.55rem .7rem;background:var(--surface-2);border-bottom:1px solid var(--border);font-weight:700;color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.simple-table td{padding:.55rem .7rem;border-bottom:1px solid var(--border);color:var(--ink);vertical-align:top}.simple-table tr:last-child td{border-bottom:0}.simple-table tr:hover td{background:#5b6cf506}.simple-table .table-title{font-weight:600}.simple-table .table-subtitle{font-size:.78rem;color:var(--muted)}.status-pill.status-approved{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.status-pill.status-rejected{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.status-pill.status-pending{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.status-pill.status-draft,.status-pill.status-neutral{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.status-pill.stage-bidding{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-border)}.status-pill.stage-awarded{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.status-pill.stage-active{background:#06b6d41f;color:#0e7490;border:1px solid rgba(6,182,212,.4)}.status-pill.stage-closing{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.status-pill.stage-neutral{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.planned-list{margin:0;padding-left:1.25rem;display:grid;gap:.45rem;font-size:.92rem;color:var(--ink)}.planned-list li code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;font-size:.84em}.york-letterhead{display:inline-flex;align-items:center;color:#050505;line-height:1;max-width:460px}.york-letterhead-logo{display:block;width:100%;height:auto;max-width:420px}.york-letterhead.compact{max-width:280px}.york-letterhead.compact .york-letterhead-logo{max-width:240px}.workflow-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.85rem;padding-top:.8rem;border-top:1px dashed var(--border)}.workflow-step{display:inline-flex;align-items:center;min-height:1.65rem;padding:.28rem .5rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink);font-size:.72rem;font-weight:700;white-space:nowrap}.workflow-arrow{color:var(--muted);font-size:.78rem;font-weight:800}.module-tile-pm .workflow-step{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-text)}.module-tile-company .workflow-step{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.module-tile-accounting .workflow-step{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.po-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.po-form-grid label,.po-line-grid label{display:grid;gap:.25rem;color:var(--muted);font-size:.78rem}.po-form-grid input,.po-form-grid select,.po-form-grid textarea,.po-line-grid input{padding:.5rem .65rem;border:1px solid var(--border);border-radius:6px;font:inherit;color:var(--ink);background:var(--surface)}.po-line-grid{display:grid;grid-template-columns:minmax(180px,2fr) 100px 90px 120px 120px 42px;gap:.55rem;align-items:end}.po-preview{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.5rem;box-shadow:0 4px 20px #0000000d}.btn-qbwc{padding:.55rem 1rem;background:linear-gradient(180deg,#16a34a,#15803d);color:#fff;border:1px solid #15803D;border-radius:8px;font-size:.85rem;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 1px 2px #15803d40;transition:transform .08s ease,box-shadow .12s ease,background .12s ease;position:relative}.btn-qbwc:hover{background:linear-gradient(180deg,#15803d,#14532d);box-shadow:0 2px 6px #15803d59}.btn-qbwc:active{transform:translateY(1px)}.btn-qbwc:disabled{opacity:.45;cursor:not-allowed}.app-content input[type=date],.app-content input[type=search],.app-content select{font:inherit}.app-content input[type=date]:focus,.app-content input[type=search]:focus,.app-content select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}a:focus-visible,button:focus-visible,[role=button]:focus-visible,.module-tile:focus-visible,.side-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}::selection{background:var(--accent-soft);color:var(--accent-text)}html{scroll-behavior:smooth}*{-webkit-tap-highlight-color:transparent}.btn-save{box-shadow:0 1px 2px #5b6cf52e;letter-spacing:.01em}.btn-save:active{transform:translateY(1px)}.module-tile-arrow{transition:transform .14s ease,opacity .14s ease}.module-tile:hover .module-tile-arrow,.module-tile:focus-visible .module-tile-arrow{opacity:1;transform:translate(3px)}.panel{box-shadow:0 1px 2px #1018280a,0 1px 3px #1018280f}@media (max-width: 640px){.data-table,.simple-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table thead th,.data-table td,.simple-table th,.simple-table td{white-space:nowrap}.data-table td.wrap,.simple-table td.wrap{white-space:normal}.side-nav-link{min-height:44px;display:flex;align-items:center}.btn-save{min-height:44px}.panel{padding:1.1rem 1.15rem;border-radius:12px}.hero,.hero.compact{padding:1.15rem 1.2rem}.project-detail-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
