:root{--side:240px}*{box-sizing:border-box}body{margin:0;font:15.4px/1.6 var(--font);background:var(--canvas);color:var(--ink)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--data-color);outline-offset:3px}svg{width:19px;height:19px;flex-shrink:0;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1{font-size:41.8px;line-height:1.14;letter-spacing:-.055em;font-weight:600}h2{font-size:23.1px;line-height:1.25;letter-spacing:-.035em;font-weight:600}h3{font-size:17.6px;line-height:1.4;font-weight:600;letter-spacing:-.02em}.kicker{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13.2px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;padding:30px 18px 20px}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--accent);color:white;font-size:20.9px;letter-spacing:-.12em;font-weight:600}.brand-name{font-size:15.4px;font-weight:700;letter-spacing:-.02em}.brand-sub{font-size:9.9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.workspace-switch{border:1px solid var(--line);padding:12px;margin:0 3px 28px;display:flex;gap:10px;align-items:center;border-radius:4px}.workspace-switch .square{background:var(--wash);padding:5px 9px;font-size:14.3px;font-weight:700}.workspace-switch b{font-size:12.1px;display:block;font-weight:600}.workspace-switch small{font-size:11px;color:var(--muted)}.nav-label{padding:0 13px 9px;font-size:9.9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.nav-link{width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;margin:3px 0;color:var(--muted);font-size:13.2px;border-radius:4px;text-align:left}.nav-link:hover{background:var(--wash);text-decoration:none}.nav-link.active{color:var(--accent);background:var(--light);font-weight:700}.nav-link .nav-count{margin-left:auto;font-size:11px;font-weight:400;background:var(--paper);padding:0 5px;border-radius:2px}.sidebar-bottom{margin-top:auto}.phase{margin:28px 4px 18px;padding:17px 13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.phase p{font-size:12.1px;color:var(--muted);line-height:1.6;margin-top:8px}.phase strong{display:block;font-size:13.2px;margin-top:7px;font-weight:600}.phase-line{height:3px;background:var(--light);margin-top:14px}.phase-line span{display:block;width:20%;height:100%;background:var(--accent)}.profile{display:flex;align-items:center;gap:10px;padding:4px 10px;width:100%;text-align:left}.avatar{background:var(--wash);display:grid;place-items:center;border:1px solid var(--line);height:32px;width:32px;border-radius:50%;font-size:11px;font-weight:700}.profile b{display:block;font-size:12.1px}.profile small{font-size:11px;color:var(--muted)}.profile>svg{margin-left:auto;width:15px}.main{margin-left:var(--side);min-height:100vh}.topbar{height:74px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 38px;gap:20px}.breadcrumbs{font-size:12.1px;display:flex;gap:12px;align-items:center;color:var(--muted)}.breadcrumbs strong{color:var(--ink);font-weight:500}.top-actions{display:flex;gap:18px;align-items:center}.preview-pill{font-size:11px;display:flex;align-items:center;gap:7px;color:var(--muted);background:var(--wash);border:1px solid var(--line);border-radius:30px;padding:4px 10px}.preview-pill i{height:5px;width:5px;background:var(--accent);border-radius:50%}.top-date{font-size:11px;color:var(--muted)}.content{max-width:1550px;padding:35px 38px 24px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:27px}.page-head .kicker{margin-bottom:12px}.page-head p{color:var(--muted);font-size:13.2px;margin-top:11px;max-width:650px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--deep);color:#fff;border:1px solid var(--ink);padding:10px 16px;border-radius:3px;font-size:12.1px;font-weight:600;white-space:nowrap;line-height:1.5}.button:hover{background:var(--deep);text-decoration:none}.button svg{width:15px;height:15px}.button.primary{background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:var(--accent)}.button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--wash)}.button.ghost{color:var(--muted);background:transparent;border-color:transparent}.button-link{color:var(--accent);display:inline-flex;align-items:center;gap:7px;font-size:12.1px;font-weight:600}.button-link svg{width:14px}.demo-note{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}.demo-note svg{width:13px;height:13px}.demo-note button{margin-left:auto;color:var(--accent);font-size:11px;padding:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--paper);margin-bottom:25px}.metric{padding:22px 24px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric-top{display:flex;justify-content:space-between;color:var(--muted);align-items:center;font-size:11px}.metric-top svg{width:16px;height:16px;color:var(--muted)}.metric-number{font-size:41.8px;line-height:1.3;font-weight:500;letter-spacing:-.06em;margin-top:9px}.metric-foot{font-size:11px;color:var(--muted);margin-top:5px}.metric-foot.accent{color:var(--accent)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:23px}.hero-panel{background:var(--deep);color:white;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:178px;margin-bottom:23px}.hero-panel .kicker{color:var(--lime)}.hero-panel h2{font-size:30.8px;letter-spacing:-.04em;line-height:1.2;margin:12px 0}.hero-panel p{font-size:12.1px;color:var(--on-deep-muted);max-width:420px}.hero-panel .big-index{font-size:91.3px;letter-spacing:-.09em;line-height:1;color:var(--lime);font-weight:400;display:block}.hero-panel .hero-number{min-width:105px;text-align:right;border-left:1px solid #ffffff25;padding-left:24px}.hero-number small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:8.8px;color:var(--on-deep-muted);margin-top:12px}.panel{background:var(--paper);border:1px solid var(--line);margin-bottom:23px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:21px 23px;border-bottom:1px solid var(--line);gap:15px}.panel-head h2{font-size:17.6px}.panel-head p{color:var(--muted);font-size:11px;margin-top:3px}.compact-list{padding:0 23px}.compact-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:16px 0}.compact-row:last-child{border:0}.initials{width:33px;height:33px;display:grid;place-items:center;background:var(--wash);font-size:11px;color:var(--muted);font-weight:600;flex-shrink:0}.initials.purple{background:var(--light);color:var(--accent)}.compact-title{font-size:13.2px;line-height:1.45;font-weight:600}.compact-sub{font-size:12px;color:var(--muted);margin-top:3px}.row-open{margin-left:auto;flex-shrink:0;padding:6px;color:var(--muted);display:flex}.row-open svg{width:15px}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);padding:3px 7px;font-size:9.9px;font-weight:500;white-space:nowrap;border-radius:2px;color:var(--muted);line-height:1.5;background:var(--wash)}.tag.violet{background:var(--light);border-color:var(--line);color:var(--accent)}.tag.teal{background:var(--tealwash);border-color:var(--line);color:var(--teal)}.tag.dark{background:var(--deep);color:#fff;border-color:var(--ink)}.task-check{width:17px;height:17px;display:flex;align-items:center;justify-content:center;border:1px solid var(--control-line);border-radius:3px;flex-shrink:0;color:white;padding:0}.task-check.checked{background:var(--accent);border-color:var(--accent)}.task-check svg{width:12px;height:12px}.task-title{font-size:12.1px;font-weight:600;line-height:1.5}.done .task-title{text-decoration:line-through;color:var(--muted)}.readiness{padding:23px}.readiness .readiness-item{display:flex;gap:10px;margin-top:20px;font-size:12.1px;color:var(--muted)}.number-dot{display:grid;place-items:center;background:var(--light);color:var(--accent);width:23px;height:23px;flex-shrink:0;font-size:11px}.readiness-item b{color:var(--ink);font-size:12.1px;display:block;margin-bottom:2px}.readiness-bottom{border-top:1px solid var(--line);padding-top:17px;margin-top:21px}.overview-report{display:flex;gap:14px;align-items:center;padding:20px 23px}.doc-mini{height:48px;width:37px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent);border-top:3px solid var(--accent)}.toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;border:1px solid var(--line);background:var(--paper);border-bottom:0;flex-wrap:wrap}.search{display:flex;align-items:center;gap:9px;min-width:200px;flex:1}.search svg{color:var(--muted);width:16px}.search input{border:0;outline:0;width:100%;font-size:12.1px;background:none;color:var(--ink);padding:5px}.toolbar select{border:1px solid var(--line);border-radius:3px;background:var(--paper);font-size:11px;padding:8px 26px 8px 10px;color:var(--muted)}.view-tabs{display:flex;gap:4px;margin-right:12px;border-right:1px solid var(--line);padding-right:18px}.view-tabs button{font-size:12.1px;padding:6px 10px;color:var(--muted);border-radius:3px}.view-tabs button.active{background:var(--light);color:var(--accent);font-weight:600}.table-container{border:1px solid var(--line);overflow:auto;background:var(--paper)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12.1px}.data-table th{font-weight:500;background:var(--wash);color:var(--muted);font-size:9.9px;letter-spacing:.04em;text-transform:uppercase;padding:13px 18px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:17px 18px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--light)}.data-table .record-button{display:flex;align-items:center;gap:12px;text-align:left;padding:0;min-width:220px;max-width:340px}.record-name{font-size:13.2px;font-weight:600;line-height:1.5;color:var(--ink)}.record-location{font-size:11px;color:var(--muted);margin-top:3px}.data-table .dim{font-size:11px;color:var(--muted)}.table-footer{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:14px 20px;border:1px solid var(--line);border-top:0;background:var(--paper);gap:12px}.context-note{margin-top:19px;display:flex;gap:10px;align-items:flex-start;font-size:12.1px;color:var(--muted);max-width:850px}.context-note svg{width:15px;height:15px;color:var(--accent);margin-top:1px}.supplier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:19px}.supplier-card{border:1px solid var(--line);background:var(--paper);padding:23px;display:flex;flex-direction:column;min-height:290px}.supplier-top{display:flex;justify-content:space-between;gap:10px}.supplier-card h2{font-size:23.1px;margin:20px 0 3px}.supplier-card p{font-size:12.1px;color:var(--muted);margin-top:16px;line-height:1.8}.supplier-foot{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.supplier-card .location{font-size:11px;color:var(--muted)}.supplier-card .button-link{font-size:11px}.task-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:23px;margin-top:20px}.task-full{display:flex;align-items:flex-start;gap:14px;padding:23px;border-bottom:1px solid var(--line)}.task-full:last-child{border-bottom:0}.task-full .task-check{margin-top:4px}.task-full .task-title{font-size:14.3px}.task-full p{font-size:12.1px;color:var(--muted);margin-top:7px}.task-full .task-meta{display:flex;gap:10px;margin-top:13px;align-items:center;font-size:11px;color:var(--muted);flex-wrap:wrap}.task-full .row-open{margin-top:1px}.empty{padding:45px 25px;text-align:center;color:var(--muted);font-size:13.2px}.empty svg{width:27px;height:27px;margin-bottom:12px;color:var(--accent)}.empty h3{color:var(--ink);margin-bottom:6px}.empty .button{margin-top:18px}.document-feature{background:var(--paper);border:1px solid var(--line);display:grid;grid-template-columns:220px minmax(0,1fr);margin-bottom:25px}.document-cover{background:var(--deep);color:white;padding:26px;display:flex;flex-direction:column;min-height:240px}.document-cover .kicker{color:var(--lime);font-size:8.8px}.document-cover h2{font-size:29.7px;line-height:1.08;letter-spacing:-.05em;margin-top:26px}.document-cover h2 span{color:var(--lime)}.document-cover small{font-size:8.8px;color:var(--on-deep-muted);margin-top:auto;padding-top:25px}.document-body{padding:30px 33px}.document-body h2{font-size:27.5px;margin:11px 0}.document-body p{max-width:650px;font-size:13.2px;color:var(--muted);margin-bottom:22px}.doc-actions{display:flex;gap:10px;flex-wrap:wrap}.doc-stats{display:flex;gap:25px;margin-top:22px;color:var(--muted);font-size:11px}.doc-stats strong{color:var(--ink);font-size:15.4px;margin-right:5px}.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.doc-card{padding:25px;background:var(--paper);border:1px solid var(--line)}.doc-card h3{margin:17px 0 7px}.doc-card p{font-size:12.1px;color:var(--muted);margin-bottom:20px}.doc-card svg{color:var(--accent)}.signin{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper)}.signin-left{background:var(--deep);color:white;padding:48px 60px;display:flex;flex-direction:column}.signin-left .brand{padding:0}.signin-left .brand-sub{color:var(--on-deep-muted)}.signin-left .brand-mark{background:var(--lime);color:var(--ink)}.signin-editorial{margin:auto 0;padding:70px 0;max-width:520px}.signin-editorial .kicker{color:var(--lime)}.signin-editorial h1{font-size:clamp(49.5px,5.5vw,79.2px);margin:25px 0;line-height:1.06;font-weight:500}.signin-editorial h1 em{color:var(--lime);font-style:normal}.signin-editorial p{font-size:15.4px;line-height:1.8;color:var(--on-deep-muted);max-width:390px}.signin-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff25;padding-top:27px;gap:24px}.signin-stats strong{font-size:34.1px;font-weight:400;letter-spacing:-.04em;display:block}.signin-stats small{font-size:9.9px;color:var(--on-deep-muted)}.signin-right{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px}.signin-form{width:100%;max-width:360px}.signin-form h2{font-size:34.1px;margin:17px 0 13px}.signin-form p{font-size:13.2px;color:var(--muted);margin-bottom:25px}.signin-label{font-size:12.1px;display:block;margin-bottom:7px}.signin-input,.field input,.field select,.field textarea{width:100%;border:1px solid var(--control-line);background:var(--paper);color:var(--ink);padding:11px 12px;border-radius:3px;font-size:13.2px}.signin-form .button{width:100%;margin-top:16px;padding:12px}.signin-disclaimer{margin-top:24px;padding:15px;background:var(--light);font-size:11px;color:var(--accent);line-height:1.7}.signin-footer{font-size:11px;color:var(--on-deep-muted)}.signin-right .bottom-caption{font-size:11px;color:var(--muted);margin-top:50px}.mobile-menu{display:none}.drawer-backdrop{position:fixed;inset:0;background:#16192455;z-index:70;animation:fade .15s}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(550px,100vw);background:var(--paper);box-shadow:-12px 0 60px #20232b18;display:flex;flex-direction:column;z-index:71;animation:slide .2s}.drawer-head{padding:25px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.drawer-head h2{font-size:26.4px;line-height:1.25;margin-top:10px}.icon-button{display:flex;padding:6px;color:var(--muted);border-radius:3px}.icon-button:hover{background:var(--wash)}.drawer-body{padding:25px 28px;overflow:auto;flex:1}.drawer-body .tag{margin:0 5px 10px 0}.drawer-summary{border-left:3px solid var(--accent);padding:17px 18px;background:var(--light);font-size:13.2px;margin:9px 0 24px;color:var(--ink)}.drawer-section{margin-top:24px}.drawer-section h3{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;margin-bottom:9px}.drawer-section p{font-size:13.2px;line-height:1.85}.field{margin-bottom:18px}.field label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:7px}.field textarea{resize:vertical;min-height:120px;line-height:1.7}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.drawer-footer{border-top:1px solid var(--line);padding:19px 28px;display:flex;gap:10px;justify-content:flex-end;background:var(--canvas);align-items:center}.drawer-footer small{margin-right:auto;color:var(--muted);font-size:11px}.divider{height:1px;background:var(--line);margin:24px 0}.inline-refs{display:flex;gap:10px;margin-top:9px;flex-wrap:wrap;font-size:11px}.task-notice{padding:18px;background:var(--light);border-left:3px solid var(--accent);font-size:12.1px;color:var(--ink);line-height:1.8}.footer-line{display:flex;justify-content:space-between;font-size:9.9px;color:var(--muted);margin-top:22px}.screen-badge{display:inline-block;font-size:9.9px;color:var(--accent);border:1px solid var(--line);padding:3px 7px;background:var(--light);margin-left:10px;vertical-align:middle}#toast{position:fixed;bottom:24px;left:calc(50% + 114px);transform:translateX(-50%) translateY(15px);padding:11px 20px;background:var(--deep);color:white;font-size:12.1px;z-index:100;opacity:0;pointer-events:none;transition:.2s;border-radius:4px;box-shadow:0 5px 30px #20232b20;max-width:90vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes slide{from{transform:translateX(50px);opacity:.4}to{transform:translateX(0);opacity:1}}@keyframes fade{from{opacity:0}to{opacity:1}}@media(min-width:1550px){.content{padding-top:44px}.hero-panel{min-height:200px}.metric{padding:25px 29px}.dashboard-grid{grid-template-columns:1.9fr 1fr}}@media(max-width:1180px){:root{--side:200px}.content{padding:28px}.topbar{padding:0 28px}.supplier-grid{grid-template-columns:1fr 1fr}.metric{padding:19px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}.compact-list{padding:0 19px}.tag.hide-medium{display:none}.task-layout{grid-template-columns:minmax(0,1fr) 250px}.signin-left{padding:40px}.top-date{display:none}}@media(max-width:960px){.dashboard-grid{grid-template-columns:1fr}.dashboard-right{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-right .panel{margin-bottom:0}.dashboard-right .panel:last-child{grid-column:1/-1}.metric{padding:18px 15px}.metric-top svg{display:none}.metric-number{font-size:35.2px}.task-layout{grid-template-columns:1fr}.task-layout>aside{display:none}.topbar{height:65px}.page-head{align-items:flex-start}.page-head h1{font-size:36.3px}.page-head>.button{margin-top:24px}.signin-left{padding:35px}.signin-right{padding:35px}}@media(max-width:740px){:root{--side:0px}.sidebar{width:240px;transform:translateX(-100%);transition:transform .2s;z-index:61}.sidebar.open{transform:translateX(0);box-shadow:10px 0 50px #20232b20}.mobile-nav-backdrop{position:fixed;inset:0;background:#20232b55;z-index:60}.mobile-menu{display:flex;padding:0}.main{margin-left:0}.topbar{padding:0 20px;height:62px;gap:14px}.breadcrumbs{margin-right:auto;font-size:11px;gap:8px}.top-actions{gap:0}.content{padding:27px 20px}.page-head{gap:12px;flex-wrap:wrap;margin-bottom:23px}.page-head h1{font-size:37.4px}.page-head p{font-size:12.1px;max-width:330px}.page-head>.button{margin-top:0}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:19px;border-bottom:1px solid var(--line)}.metric:nth-child(2){border-right:0}.metric:nth-child(3){border-bottom:0}.metric-top{font-size:11px}.metric-top svg{display:block}.metric-number{font-size:37.4px}.hero-panel{padding:24px;min-height:185px}.hero-panel h2{font-size:27.5px;max-width:250px}.hero-panel .big-index{font-size:70.4px}.hero-panel .hero-number{min-width:80px;padding-left:15px}.hero-panel p{font-size:11px}.dashboard-right{display:block}.dashboard-right .panel{margin-bottom:20px}.toolbar{padding:13px;gap:10px}.view-tabs{border-right:0;width:100%;padding-right:0}.search{min-width:160px}.toolbar select{padding:8px 20px 8px 8px;max-width:160px}.data-table th,.data-table td{padding:14px}.data-table .record-button{min-width:210px}.supplier-grid{grid-template-columns:1fr}.supplier-card{min-height:260px}.document-feature{grid-template-columns:1fr}.document-cover{min-height:210px;padding:25px}.document-cover h2{max-width:250px;font-size:34.1px;margin-top:18px}.document-body{padding:25px}.document-body h2{font-size:25.3px}.docs-grid{grid-template-columns:1fr}.doc-stats{gap:15px}.doc-stats strong{font-size:13.2px}.signin{grid-template-columns:1fr}.signin-left{padding:27px}.signin-editorial{padding:50px 0 30px}.signin-editorial h1{font-size:52.8px;max-width:400px}.signin-editorial p{font-size:13.2px}.signin-stats,.signin-footer{display:none}.signin-right{padding:35px 27px}.signin-right .bottom-caption{margin-top:30px}.signin-form{max-width:100%}.signin-form h2{font-size:29.7px}.drawer-head,.drawer-body{padding:22px}.drawer-footer{padding:17px 22px}.demo-note{align-items:flex-start;font-size:9.9px}.demo-note button{white-space:nowrap}#toast{left:50%}.footer-line span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:root{--cloud-accent:var(--accent)}
.auth-wait{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;gap:22px}.auth-wait h2{font-size:27.5px}.auth-wait p{max-width:520px;line-height:1.7}.auth-wait .brand-mark{display:flex;align-items:center;justify-content:center}.auth-message{padding:14px 16px;background:var(--light);border-left:3px solid var(--accent);margin:18px 0;font-size:14.3px;line-height:1.6}.auth-links{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;margin:17px 0}.auth-links button{background:none;border:0;color:var(--accent);font:inherit;font-size:13.2px;cursor:pointer;padding:4px 0}.auth-links .button{padding:10px 18px}.signin-input{box-sizing:border-box}.signin-input:read-only{color:var(--muted);background:var(--wash)}.signin-form .button:disabled,.drawer .button:disabled{opacity:.55;cursor:wait}.save-error{font-size:14.3px;color:var(--danger);border-left:3px solid var(--danger);background:var(--danger-wash);padding:12px;line-height:1.6}.cloud-pill{color:#14645d;background:#e9f5f1;border-color:var(--line)}.cloud-refresh{display:flex;gap:6px;align-items:center;font:inherit;font-size:12.1px;border:0;background:none;color:var(--muted);cursor:pointer}.cloud-refresh svg{width:15px;height:15px}.legacy-note{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--light);border:1px solid var(--line);padding:18px 22px;margin-bottom:24px}.legacy-note b{font-size:14.3px}.legacy-note p{margin:6px 0 0;font-size:13.2px;line-height:1.6}.legacy-note .button{flex-shrink:0}@media(max-width:700px){.legacy-note{display:block}.legacy-note .button{margin-top:14px}.signin-form{padding-top:30px;padding-bottom:30px}.cloud-refresh{display:none}}

.button.danger-outline{color:var(--danger);border:1px solid var(--danger-line);background:var(--paper)}.button.danger{background:var(--danger);color:#fff}.button.danger:hover{background:var(--danger)}.delete-confirmation{padding:20px 28px;border-top:1px solid var(--danger-line);background:var(--danger-wash)}.delete-confirmation[hidden]{display:none}.delete-confirmation p{font-size:13.2px;margin-top:10px}.delete-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.delete-error{color:var(--danger)}.drawer-footer{flex-wrap:wrap}.drawer-footer .danger-outline{margin-right:auto}.drawer-footer:has(.danger-outline) small{display:none}.button:disabled{opacity:.6}@media(max-width:400px){.drawer-footer{padding:14px;gap:7px}.drawer-footer .button{font-size:12.1px;padding:9px}.delete-confirmation{padding:20px}}

/* Operational app shell */
.sidebar{padding:24px 16px 18px}.brand{padding:0 10px 24px;gap:10px}.brand-name{font-size:17.6px}.brand-sub{font-size:9.9px}.sidebar nav{padding-top:8px}.nav-link{min-height:46px}.nav-link>span:not(.nav-count){white-space:nowrap}.sidebar-bottom{margin-top:auto}.account{display:flex;gap:9px;align-items:center;border-top:1px solid var(--line);padding-top:18px}.account>div{min-width:0;flex:1}.account b{font-size:12.1px;display:block;line-height:1.5}.account small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.9px;color:var(--muted)}.account .avatar{flex-shrink:0}.account .icon-button{padding:5px}.account svg{width:17px;height:17px}.topbar{height:64px;padding:0 28px;position:sticky;top:0;z-index:40;gap:18px}.app-page-title{font-size:20.9px;line-height:1.3;letter-spacing:-.025em;white-space:nowrap;margin-right:auto}.top-actions{gap:17px}.top-actions>.button{padding:9px 14px;white-space:nowrap}.sync-status{font-size:12.1px;color:var(--muted);white-space:nowrap}.sync-status:empty{display:none}.sync-status.is-error{color:var(--danger)}.content{padding:24px 28px 32px;max-width:1600px}.metric-grid{margin-bottom:22px}.metric{padding:18px 22px}.metric-number{font-size:35.2px;margin-top:10px;line-height:1.25}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:22px}.dashboard-grid .panel{margin-bottom:22px}.task-summary{align-self:start}.panel-head{padding:17px 20px;min-height:64px}.panel-head h2{font-size:17.6px}.section-count{font-size:13.2px;font-weight:400;margin-left:6px}.panel-foot{padding:15px 20px;border-top:1px solid var(--line)}.compact-list{padding:0 20px}.compact-row{padding:16px 0}.compact-row>div{min-width:0}.compact-title{overflow-wrap:anywhere}.compact-row>.tag{white-space:nowrap}.compact-empty{padding:28px 20px;text-align:left}.compact-empty p{margin-bottom:5px}.compact-empty .button-link{font-size:12.1px}.task-open{text-align:left;padding:0}.task-open:hover{color:var(--accent)}.register-toolbar{padding:14px 17px;gap:14px}.register-toolbar .view-tabs{margin-right:0}.register-toolbar .search input{width:100%;min-width:0}.register-toolbar .search{min-width:180px}.data-table td,.data-table th{padding:14px 18px}.data-table .record-button{min-width:235px;max-width:400px}.data-table .record-name{font-size:13.2px;line-height:1.5}.data-table .record-location{font-size:12.1px;line-height:1.5;margin-top:3px}.supplier-table .capabilities{max-width:430px;min-width:220px;line-height:1.65;color:var(--muted)}.supplier-table td:nth-last-child(2){white-space:nowrap}.table-footer{padding:12px 18px}.app-task-layout{display:block;margin-top:18px}.app-task-layout .panel{margin-bottom:0}.task-full{padding:19px 20px}.document-list .panel-head{flex-wrap:wrap}.document-row{padding:20px;display:flex;align-items:center;gap:16px;border-top:1px solid var(--line)}.document-info{flex:1;min-width:0}.document-info h2{font-size:15.4px;margin:0 0 5px;line-height:1.4}.document-info p{font-size:12.1px;color:var(--muted);line-height:1.65}.document-row>.button{white-space:nowrap}.help-panel{border:1px solid var(--line);background:var(--paper);margin-top:20px;font-size:13.2px}.help-panel summary{padding:17px 20px;cursor:pointer;font-weight:600}.help-panel>div{border-top:1px solid var(--line);padding:20px}.help-panel h3{font-size:14.3px;margin-bottom:7px}.help-panel p{color:var(--muted);margin-bottom:18px;max-width:850px}.help-panel p:last-child{margin-bottom:0}.signin{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:36px 24px;background:var(--wash);gap:22px}.signin-left{background:none;padding:0;display:block;color:var(--ink)}.signin-left .brand{padding:0}.signin-left .brand-sub{color:var(--muted)}.signin-right{width:100%;max-width:430px;padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.signin-form{max-width:none}.signin-form h2{font-size:26.4px}.signin-right .bottom-caption{margin-top:25px}.auth-wait .brand-mark{margin:auto}.drawer-footer small{font-size:9.9px}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .task-summary{margin-bottom:0}.register-toolbar .view-tabs{border-right:0;padding-right:0}.table-footer span:last-child{display:none}}
@media(max-width:740px){.sidebar{width:240px;z-index:61}.topbar{padding:0 18px;gap:12px;height:62px}.app-page-title{font-size:18.7px}.top-actions{gap:10px}.top-actions>.button{padding:8px 11px;font-size:12.1px}.cloud-refresh{padding:5px}.cloud-refresh span{display:none}.sync-status{font-size:11px}.content{padding:18px 16px 28px}.metric{padding:15px}.metric-number{font-size:30.8px}.metric-top{font-size:11px;gap:8px}.metric-top svg{width:16px;height:16px}.dashboard-grid{display:block}.panel-head{padding:15px 16px}.panel-head h2{font-size:16.5px}.compact-list{padding:0 16px}.compact-row{gap:10px}.compact-row>.tag{display:none}.compact-empty{padding:24px 16px}.register-toolbar{padding:12px;gap:12px}.register-toolbar .view-tabs{width:100%;margin:0}.register-toolbar .search{min-width:140px}.register-toolbar select{max-width:135px}.data-table{min-width:740px}.data-table td,.data-table th{padding:13px 15px}.data-table .record-button{min-width:225px;max-width:280px}.table-footer{padding:11px 15px}.document-row{padding:17px 16px;gap:12px;flex-wrap:wrap}.document-info{flex-basis:calc(100% - 60px)}.document-row>.tag{margin-left:50px}.document-list .panel-head{gap:7px}.document-list .panel-head .small{font-size:11px}.signin-right{padding:25px}.drawer-head h2{font-size:24.2px}.task-full{padding:17px 16px}}
@media(max-width:400px){.topbar{gap:9px;padding:0 14px}.top-actions{gap:8px}.sync-status:not(:empty){position:absolute;top:66px;right:16px;padding:3px 7px;background:var(--paper);border:1px solid var(--line);border-radius:3px}.top-actions>.button{padding:8px 10px}.app-page-title{font-size:18.7px}}

@media(max-width:740px){.cloud-refresh{display:flex}.top-actions{flex-wrap:nowrap}}

/* Quiet lavender surface aligned with the navigation accent. */
.followup-panel{background:var(--light);border-color:var(--line);color:var(--ink)}
.followup-panel .panel-head{border-bottom-color:var(--line)}
.followup-panel .compact-row{border-bottom-color:var(--line)}
.followup-panel .tag{background:var(--paper);border-color:var(--line);color:var(--ink)}
.followup-panel .compact-row>svg{color:var(--accent)}
/* Procurement and delivery registers share the existing quiet surfaces. */
.work-overview{display:flex;flex-wrap:wrap;gap:12px 30px;padding:0 0 19px;color:var(--muted);font-size:13.2px}.work-overview a{color:var(--muted)}.work-overview b{color:var(--ink);font-size:16.5px;margin-right:5px}.record-location,.cell-sub{display:block}.cell-sub{margin-top:5px;font-size:12px;color:var(--muted)}.procurement-table .record-button{max-width:370px}.procurement-table td{vertical-align:top}.deadline-soon{color:var(--danger);font-weight:600}.search-context{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted);margin-bottom:12px}.source-row,.run-row{padding:21px 23px;border-bottom:1px solid var(--line)}.source-row:last-child,.run-row:last-child{border-bottom:0}.source-row{display:flex;gap:20px;justify-content:space-between}.source-row p,.run-row p{margin-top:7px}.source-row>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:13px;flex-shrink:0}.run-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.run-row details{margin-top:10px;font-size:12.1px}.run-row summary,.notice-history summary{cursor:pointer;color:var(--accent)}.procurement-drawer{width:min(760px,95vw)}.form-section{padding-top:20px;margin:8px 0 16px;border-top:1px solid var(--line)}.notice-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.notice-head a{margin-left:auto}.notice-history{margin-top:24px;font-size:12.1px}.history-item{padding:13px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.history-item p{margin-top:6px;white-space:pre-wrap}.financial-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:var(--wash);padding:15px;margin-bottom:10px}.financial-summary span{display:block;font-size:11px;color:var(--muted)}.financial-summary b{font-size:13.2px}.ledger-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13.2px}.ledger-row+.button{margin-top:14px}.void-entry{opacity:.6}.buyer-work{display:grid;gap:8px;padding:16px;margin-bottom:20px;background:var(--wash);font-size:12.1px}.buyer-work>span{color:var(--muted)}.procurement-drawer .drawer-footer{flex-wrap:wrap}.source-row .tag{white-space:nowrap}
@media(max-width:740px){.work-overview{gap:8px 18px;font-size:11px}.work-overview b{font-size:14.3px}.search-context{flex-direction:column;gap:4px}.source-row{padding:16px;flex-direction:column}.source-row>div:last-child{flex-direction:row;justify-content:space-between;align-items:center}.procurement-drawer{width:100vw}.financial-summary{grid-template-columns:1fr}.procurement-table .record-button{max-width:270px}.run-head{align-items:flex-start}.sidebar nav{overflow-y:auto}.sidebar .brand{padding-bottom:18px}}
/* A quieter hierarchy: medium-weight names, clear sizes and softer secondary text. */
body{font-family:var(--font)}
.record-name,.compact-title,.task-title,.task-open,.task-card-title,.insight-title,.document-info h2,.buyer-work b,.source-row .button-link,.run-head b,.ledger-row b{font-weight:500;color:var(--ink)}
.record-name{font-size:13.2px;line-height:1.5}.record-location{font-size:12px;color:var(--muted);margin-top:3px;font-weight:400}.task-title{font-weight:500}.panel-head h2,.section-heading h2,.kanban-heading h2{font-weight:550}.button,.button-link,.nav-link.active,.view-tabs button.active{font-weight:500}.brand-name,.account b{font-weight:550}.tag{font-weight:400}strong,b{font-weight:550}.data-table th{font-weight:500}.metric-number{font-weight:450}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 15px}.section-heading h2{font-size:17.6px;letter-spacing:-.025em}.dashboard-section{margin-bottom:27px}.overview-toolbar{padding:0 0 20px;margin-bottom:0}.dashboard-metrics{margin-bottom:20px}.dashboard-metrics .metric{padding:18px 22px}.dashboard-metrics .metric-number{font-size:33px}.insight-grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:22px}.insight-grid .panel{margin-bottom:0}.insight-grid .panel-head{padding:17px 20px;flex-wrap:wrap}.insight-grid .panel-head select,.register-subbar select{max-width:220px;font-size:11.5px;padding:6px 9px;border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:3px}.category-chart{display:grid;grid-template-columns:minmax(140px,.85fr) minmax(180px,1.1fr);align-items:center;gap:18px;padding:20px}.category-pie{width:100%;height:auto;max-width:235px;justify-self:center;stroke:none;stroke-width:0;fill:initial;overflow:visible}.category-pie g:hover{opacity:.85}.chart-legend{min-width:0}.legend-row{display:flex;align-items:center;width:100%;text-align:left;gap:9px;padding:7px 0;font-size:11.5px;color:var(--muted);line-height:1.35}.legend-row:hover{color:var(--ink)}.legend-row>span:nth-child(2){flex:1}.legend-row>span:last-child{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.legend-row small{color:var(--muted);margin-left:6px;font-size:10px}.legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.chart-caption{padding:0 20px 18px;font-size:10.5px;color:var(--muted);line-height:1.5}.chart-empty{min-height:260px;display:grid;place-items:center}.insight-title{text-align:left;padding:0;font-size:12.1px;line-height:1.5}.insight-title:hover{text-decoration:underline}.deadline-caption{font-size:10.5px;margin-top:5px}.insight-grid .compact-list{padding:0 20px}.insight-grid .compact-row{align-items:flex-start;padding:14px 0}.insight-grid .compact-row>div{flex:1}.insight-grid .compact-row>svg{color:var(--muted);margin-top:3px;width:15px}.insight-grid .compact-sub{font-size:12px}.delivery-pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px 18px;padding:24px 20px}.delivery-pipeline>div>span{display:block;color:var(--muted);font-size:11px}.delivery-pipeline b{font-weight:450;font-size:24px}.stage-bar{height:4px;background:var(--line);margin-top:5px;border-radius:5px;overflow:hidden}.stage-bar span{display:block;height:100%;background:var(--data-color)}.finance-scroll{overflow:auto}.finance-table{width:100%;border-collapse:collapse;font-size:11px}.finance-table th{color:var(--muted);font-weight:400;text-align:left}.finance-table th,.finance-table td{padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.finance-table small{display:block;color:var(--muted);margin-top:4px;font-size:10px}.register-subbar{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin:0 0 13px;font-size:11.5px;color:var(--muted)}.date-group-row th{background:var(--line)!important;color:var(--ink)!important;text-transform:none!important;font-size:12.1px!important;letter-spacing:0!important;padding:12px 20px!important}.date-group-row th>span:first-child{float:left;font-weight:550}.date-group-row th>span:last-child{float:right;font-size:10.5px;font-weight:400}.contract-view-toolbar{padding-top:0;margin-bottom:20px}.contract-view-toolbar+.register-toolbar{margin-top:-8px}.pipeline-caption{font-size:11.5px;color:var(--muted);margin-bottom:14px}.kanban-scroll{overflow-x:auto;padding-bottom:18px}.kanban-board{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:13px;min-width:1330px;align-items:start}.kanban-column{background:var(--line);border:1px solid var(--line);min-height:330px;border-radius:5px;padding:12px;transition:background .1s}.kanban-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.kanban-heading h2{font-size:12.1px;letter-spacing:0}.kanban-heading>span{font-size:11px;color:var(--muted);border-radius:12px;background:var(--line);min-width:22px;text-align:center}.kanban-card{background:var(--paper);border:1px solid var(--line);border-radius:4px;box-shadow:0 1px 2px #28304b05;margin-bottom:10px;padding:13px;cursor:grab}.kanban-card:active{cursor:grabbing}.task-card-title{font-size:12.1px;text-align:left;padding:0;line-height:1.5}.task-card-title:hover{text-decoration:underline}.kanban-card p{font-size:10.5px;line-height:1.6;color:var(--muted);margin:7px 0;overflow-wrap:anywhere}.task-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:10px;color:var(--muted);margin:12px 0}.task-card-meta .tag{font-size:9px;white-space:normal}.card-stage-select{width:100%;background:var(--canvas);border:1px solid var(--line);border-radius:3px;padding:6px;font-size:10.5px;color:var(--muted)}.kanban-empty{font-size:11px;color:var(--muted);padding:25px 4px}.kanban-add{font-size:11px;color:var(--muted);padding:8px 0;text-align:left}.drop-ready{background:var(--light);border-color:var(--data-color)}.dragging{opacity:.45}.tag.urgent{background:var(--danger-wash);color:var(--ink);border-color:var(--danger-line)}.task-list-panel .task-full{padding:20px 23px}.task-full p{white-space:pre-wrap}.task-drawer-body form .field:first-child{margin-top:0}.task-discussion{margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}.task-discussion h3{font-size:14px;font-weight:500;margin-bottom:16px}.task-comment{padding:13px 0;border-bottom:1px solid var(--line)}.task-comment>div{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.task-comment p{font-size:12.1px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px}.task-discussion form{margin-top:20px}.meeting-table{font-size:12.1px}.meeting-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.meeting-disclaimer{margin-top:20px}.linked-actions{display:grid;gap:10px;padding:15px;background:var(--wash);margin-top:15px}.linked-actions h3{font-size:13.2px;font-weight:500}.sidebar nav{overflow-y:auto}.sidebar-bottom{padding-top:12px;flex-shrink:0}.task-meta{gap:9px}.topbar h1{font-weight:550}
@media(max-width:1150px){.category-chart{grid-template-columns:1fr;gap:5px}.category-pie{max-width:180px}.chart-legend{width:100%}.legend-row{padding:5px 0}.insight-grid .panel-head{align-items:flex-start}.insight-grid .panel-head h2{font-size:15.4px}.finance-table td,.finance-table th{padding:12px}}
@media(max-width:740px){.insight-grid{grid-template-columns:1fr;gap:16px}.category-chart{grid-template-columns:140px minmax(0,1fr);gap:13px;padding:16px}.category-pie{max-width:140px}.dashboard-metrics .metric{padding:14px}.dashboard-metrics .metric-number{font-size:28.6px}.overview-toolbar .view-tabs{overflow-x:auto;white-space:nowrap;width:100%;display:flex}.overview-toolbar .view-tabs button{padding:9px}.section-heading h2{font-size:16.5px}.register-subbar{align-items:flex-start;flex-direction:column;gap:7px}.task-toolbar .view-tabs{width:auto}.task-toolbar .search{min-width:180px;flex:1}.task-toolbar select{width:auto}.kanban-board{grid-template-columns:repeat(6,230px);min-width:1445px}.meeting-actions .button{font-size:11px}.task-comment>div{flex-direction:column;gap:3px}.delivery-pipeline{gap:17px}.sidebar .brand{padding-bottom:12px}.nav-link{padding:10px 13px}.sidebar{padding-top:22px}.chart-caption{padding:0 16px 16px}.insight-grid .panel-head{padding:16px}.meeting-table .record-button{max-width:240px}}
@media(max-width:420px){.category-chart{grid-template-columns:1fr}.category-pie{max-width:175px}.category-chart .legend-row{font-size:11px}.dashboard-metrics .metric-top{font-size:10px}}
/* Keep opportunity panels compact, with three closing dates in view. */
.opportunity-insights{align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.opportunity-insights .category-chart{grid-template-columns:minmax(140px,.85fr) minmax(0,1.1fr);min-height:270px;padding:22px 20px 24px}.opportunity-insights .category-pie{max-width:220px}.opportunity-insights .chart-caption{padding-bottom:24px}.deadlines-panel{display:flex;flex-direction:column;min-width:0}.deadline-scroll{--deadline-row-height:100px;height:calc(3 * var(--deadline-row-height));max-height:calc(3 * var(--deadline-row-height));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;flex:none}.deadline-scroll .compact-row{height:var(--deadline-row-height);min-height:var(--deadline-row-height);padding:13px 0;align-items:flex-start}.deadline-scroll .insight-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}.deadline-scroll .compact-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.deadline-scroll .compact-row>div{min-width:0}.deadline-scroll .deadline-caption{margin-top:5px}.deadline-scroll-hint{margin-top:auto;padding:9px 20px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.deadline-scroll:focus-visible{outline:2px solid var(--data-color);outline-offset:-3px}.category-panel{display:flex;flex-direction:column}.category-panel .chart-caption{margin-top:auto}
/* Delivery and cash collection share one composed management panel. */
.contract-suite{border:1px solid var(--line);background:var(--paper);border-radius:4px;overflow:hidden}.contract-suite .dashboard-metrics{margin:0;border:0;border-bottom:1px solid var(--line);background:var(--canvas)}.contract-suite .dashboard-metrics .metric{padding:18px 22px}.contract-suite-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.contract-execution,.contract-cash{padding:23px 24px;min-width:0}.contract-cash{border-left:1px solid var(--line)}.suite-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.suite-eyebrow{font-size:9px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:5px}.suite-section-head h3{font-size:15.4px;font-weight:500;letter-spacing:-.02em}.contract-stage-track{display:flex;height:7px;background:var(--line);border-radius:5px;overflow:hidden;margin:5px 0 21px;gap:2px}.contract-stage-track>span{height:100%;display:block}.contract-stage-track .track-empty{width:100%;background:var(--line)}.contract-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 15px}.stage-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10.5px}.stage-label i{width:6px;height:6px;border-radius:50%;flex:none}.contract-stage-grid b{display:block;font-size:24px;font-weight:450;line-height:1.4;padding-left:12px;margin-top:3px}.suite-note{font-size:10.5px;line-height:1.6;color:var(--muted);margin-top:21px}.contract-cash .finance-table th:first-child,.contract-cash .finance-table td:first-child{padding-left:0}.contract-cash .finance-table th:last-child,.contract-cash .finance-table td:last-child{padding-right:0}.contract-cash .finance-table th{font-size:9.5px}.contract-cash .finance-table td{font-size:12.1px;font-variant-numeric:tabular-nums}.contract-suite-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 24px;border-top:1px solid var(--line);background:var(--canvas);font-size:10.5px;color:var(--muted)}.contract-suite-foot .button-link{font-size:10.5px}.finance-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:300px;margin:5px auto}.finance-empty-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--light);color:var(--data-color);margin-bottom:12px}.finance-empty h4{font-size:12.1px;font-weight:500;color:var(--ink);margin:0 0 7px}.finance-empty p{font-size:11px;line-height:1.6;color:var(--muted)}
/* Let cards fill their Kanban lanes with a thin surrounding gutter. */
.kanban-column{padding:5px;min-height:99px}.kanban-heading{padding:7px 7px 0;margin-bottom:13px}.kanban-card{width:100%;margin:0 0 5px;padding:14px;box-shadow:0 1px 2px #28304b04}.kanban-add{padding:8px 7px}.kanban-empty{padding:25px 10px}
.minutes-cell{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.minutes-cell .button{font-size:10.5px;padding:5px 8px}.minutes-cell .button-link{font-size:11px}.minutes-cell svg{width:13px;height:13px}.document-file-meta{display:block;color:var(--muted);font-size:10.5px;margin-top:6px;overflow-wrap:anywhere}.document-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;margin-top:-5px}.document-upload-note{margin-top:24px}.field input[type=file]{padding:14px;background:var(--canvas);font-size:12.1px}.field input[type=file]::file-selector-button{padding:7px 11px;margin-right:12px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);cursor:pointer}
@media(max-width:1150px){.opportunity-insights .category-chart{grid-template-columns:minmax(130px,.8fr) minmax(0,1.1fr);gap:14px}.opportunity-insights .category-pie{max-width:190px}.contract-execution,.contract-cash{padding:20px}.stage-label{font-size:10px}.contract-cash .finance-table td{font-size:11px}.contract-cash .finance-table th,.contract-cash .finance-table td{padding:11px 8px}}
@media(max-width:950px){.opportunity-insights{grid-template-columns:1fr}.opportunity-insights .category-chart{min-height:250px;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr)}.opportunity-insights .category-pie{max-width:220px}.contract-suite-body{grid-template-columns:1fr}.contract-cash{border-left:0;border-top:1px solid var(--line)}.finance-empty{min-height:145px}.suite-section-head{margin-bottom:19px}}
@media(max-width:740px){.opportunity-insights .category-chart{grid-template-columns:140px minmax(0,1fr);min-height:260px;padding:20px 16px}.opportunity-insights .category-pie{max-width:140px}.deadline-scroll-hint{padding:9px 16px}.contract-suite .dashboard-metrics .metric{padding:14px}.contract-execution,.contract-cash{padding:20px 16px}.contract-suite-foot{padding:12px 16px;flex-wrap:wrap}.document-footer{align-items:flex-start;flex-direction:column}.kanban-column{padding:5px}}
@media(max-width:420px){.opportunity-insights .category-chart{grid-template-columns:1fr;min-height:0}.opportunity-insights .category-pie{max-width:170px}.opportunity-insights .chart-legend{padding-top:8px}.opportunity-insights .chart-caption{padding-bottom:20px}}

/* Document titles follow the same name hierarchy as buyers and suppliers. */
.document-info h2{font-size:13.2px;font-weight:500;line-height:1.5;margin:0;color:var(--ink)}
/* Keep contract files beside delivery and payment information. */
.contract-register-table{min-width:1180px}.contract-attachment-cell{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:135px;max-width:215px}.contract-file-download{display:flex;align-items:center;gap:7px;text-align:left;max-width:100%;padding:0;color:var(--ink);font-size:11.5px;line-height:1.5}.contract-file-download svg{width:13px;height:13px;flex:none}.contract-file-download span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-file-download:hover span{text-decoration:underline}.contract-upload-link{font-size:10.5px;font-weight:400}.contract-upload-link svg{width:12px;height:12px}.contract-attachment-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px;border:1px solid var(--line);border-radius:4px}.contract-attachment-summary h4{font-size:11.5px;font-weight:500;margin:0 0 12px}.contract-attachment-summary .contract-attachment-cell{max-width:100%}.attachment-contract-name{margin-top:8px}.contract-attachment-row{padding:14px 0;border-bottom:1px solid var(--line)}.contract-attachment-row .contract-file-download{font-size:12.1px}.contract-attachment-row .contract-file-download span{white-space:normal;overflow-wrap:anywhere}.contract-attachment-row .cell-sub{padding-left:20px}.attachment-file-field{margin-top:28px}#attachment-upload-status{margin-top:14px;overflow-wrap:anywhere}@media(max-width:500px){.contract-attachment-summary{grid-template-columns:1fr}}
/* Annual buyer recurrence uses one quiet, comparable bar per organization. */
.recurring-buyers-panel .panel-head p{margin-top:6px}.recurrence-chart{padding:15px 22px 20px}.recurrence-axis,.recurrence-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(150px,1.8fr) 55px;gap:22px;align-items:center}.recurrence-axis{font-size:10px;color:var(--muted);padding:6px 0 13px}.recurrence-axis>div{display:flex;justify-content:space-between}.recurrence-axis>span:last-child{text-align:right}.recurrence-row{width:100%;text-align:left;padding:16px 0;border-top:1px solid var(--line)}.recurrence-row:hover .recurrence-fill{background:var(--data-hover)}.recurrence-row:hover .recurrence-buyer{text-decoration:underline}.recurrence-buyer{font-size:13.2px;font-weight:500;line-height:1.5;color:var(--ink)}.recurrence-track{height:25px;background:var(--light);display:block;border-radius:3px;overflow:hidden}.recurrence-fill{display:block;height:100%;background:var(--data-color);border-radius:3px;transition:background .15s}.recurrence-count{text-align:right;font-size:19.8px;font-weight:450;font-variant-numeric:tabular-nums;color:var(--ink)}.recurrence-caption{padding:16px 22px;border-top:1px solid var(--line);font-size:10.5px;color:var(--muted);line-height:1.6}.buyer-notice-row{padding:22px 0;border-bottom:1px solid var(--line)}.buyer-notice-title{text-align:left;padding:0;line-height:1.5}.buyer-notice-title:hover{text-decoration:underline}.buyer-notice-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:10px 0;font-size:10.5px;color:var(--muted)}@media(max-width:740px){.recurrence-chart{padding:12px 16px}.recurrence-axis,.recurrence-row{grid-template-columns:minmax(120px,1fr) minmax(90px,1fr) 35px;gap:12px}.recurrence-buyer{font-size:12.1px}.recurrence-axis>span:last-child{font-size:9px}.recurrence-track{height:22px}.recurrence-caption{padding:14px 16px}}
/* Buyer names inherit the smaller, muted record-location supporting style. */
.opportunity-buyer-name{font:inherit;color:inherit}
.delivery-line-wrap{padding-top:1px}.delivery-line-chart{display:block;width:100%;height:auto;max-height:250px;fill:none;stroke:none;stroke-width:0;overflow:visible}.delivery-grid-line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.delivery-axis-number,.delivery-stage-name{fill:var(--muted);stroke:none;font-size:11px;font-weight:400}.delivery-line-area{fill:var(--light);stroke:none}.delivery-line-path{fill:none;stroke:var(--data-color);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.delivery-line-point{fill:var(--paper);stroke:var(--data-color);stroke-width:2;vector-effect:non-scaling-stroke}.delivery-point-value{fill:var(--ink);stroke:none;font-size:12px;font-weight:500}.delivery-line-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 0;font-size:10.5px;color:var(--muted)}.delivery-hold{display:flex;align-items:center;gap:7px}.delivery-hold i{width:6px;height:6px;border-radius:50%;background:var(--data-color)}.delivery-hold b{font-weight:500;color:var(--ink);margin-left:4px}
/* Keep long opportunity titles to one line; details retain the full title. */
.opportunity-register-table .record-button>span{min-width:0;max-width:100%;flex:1}.opportunity-register-table .record-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-scroll .insight-title{display:block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}.procurement-drawer .drawer-head>div{min-width:0}.procurement-drawer .drawer-head h2{overflow-wrap:anywhere}

/* Opportunity list title sizing; full modal titles retain their hierarchy. */
.opportunity-register-table .record-name{font-size:13.068px}
.deadline-scroll .insight-title{font-size:13.31px}

/* Compact document register with persistent categories and name search. */
.document-toolbar{border:0;border-top:1px solid var(--line);padding:12px 16px;gap:16px}
.document-toolbar .search{flex:1;min-width:180px}
.document-toolbar .search input{width:100%;min-width:0}
.document-toolbar select{max-width:240px;width:220px}
.document-columns{display:grid;grid-template-columns:minmax(0,1fr) 220px 55px 112px;gap:16px;padding:8px 16px 8px 54px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--canvas)}
.document-list .document-row{display:grid;grid-template-columns:22px minmax(0,1fr) 220px 55px 112px;gap:16px;min-height:56px;padding:9px 16px}
.document-list .doc-mini{width:22px;height:28px;border-top-width:2px}
.document-list .doc-mini svg{width:14px;height:14px}
.document-list .document-info{min-width:0}
.document-list .document-info h2{overflow-wrap:anywhere}
.document-category{width:100%;min-width:0;font-size:12.1px;line-height:1.5;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:5px 7px;background:var(--paper)}
.document-list .document-row>.tag{margin:0;justify-self:start}
.document-list .document-row>.button{font-size:11px;padding:6px 10px;justify-self:end}
@media(max-width:760px){.document-columns{display:none}.document-toolbar{gap:10px}.document-toolbar .search{width:100%;flex-basis:100%}.document-toolbar select{width:100%;max-width:none}.document-list .document-row{grid-template-columns:22px minmax(0,1fr) auto;gap:8px 12px;padding:10px 14px}.document-list .document-info{grid-column:2/4}.document-list .document-category{grid-column:2}.document-list .document-row>.tag{grid-column:1;grid-row:2;font-size:8px;padding:2px}.document-list .document-row>.button{grid-column:3;grid-row:2}}
/* Workspace administration uses the existing register and form typography. */
.settings-nav{margin-bottom:14px;border-top:1px solid var(--line);border-radius:0;padding-top:17px}
.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.settings-tabs{padding:0 0 18px;background:transparent;border:0}.settings-tabs .view-tabs{padding:0;border:0}
.settings-panel .panel-head{min-height:66px}.settings-panel .panel-head h2{font-size:17.6px;font-weight:500}.settings-panel .panel-head p{margin-top:4px}
.settings-form{padding:24px;max-width:1000px}.settings-form .field{margin-bottom:18px}.settings-form .field input,.settings-form .field textarea{background:var(--paper)}
.settings-form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}
.settings-note{padding:16px 20px;border-top:1px solid var(--line);font-size:12.1px;color:var(--muted);background:var(--canvas);line-height:1.6}
.member-table td{padding-top:16px;padding-bottom:16px}.member-table .record-name{display:block}.member-table .button-link{white-space:nowrap}
.role-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0}.role-guide h3{font-size:13.2px;font-weight:500;margin-bottom:5px}.role-guide p{font-size:12.1px;color:var(--muted);line-height:1.6}
.member-permissions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:20px}.member-permissions h3{font-size:14.3px;font-weight:500;margin-bottom:14px}.member-permissions label,.member-active{display:flex;gap:10px;align-items:center;font-size:13.2px}.member-permissions input,.member-active input{width:16px;height:16px;accent-color:var(--accent)}.member-permissions p{font-size:12.1px;color:var(--muted);margin:5px 0 16px 26px}.member-permissions p:last-child{margin-bottom:0}.member-active{margin-bottom:8px}
.activity-toolbar{border:0;border-top:1px solid var(--line);gap:16px}.activity-toolbar .search{flex:1}.activity-toolbar .search input{width:100%;min-width:160px}.activity-toolbar select{max-width:200px;width:180px}
.activity-table td{font-size:12.1px;padding-top:13px;padding-bottom:13px;vertical-align:top}.activity-table td:first-child{white-space:nowrap}.activity-table td:nth-child(2){overflow-wrap:anywhere}.activity-table .record-name{font-size:12.1px}.activity-table .cell-sub{font-size:11px;max-width:340px;overflow-wrap:anywhere}
.permission-panel{padding:40px;text-align:center}.permission-panel>svg{width:28px;height:28px;color:var(--accent);margin-bottom:14px}.permission-panel h2{font-size:18px;font-weight:500}.permission-panel p{color:var(--muted);font-size:13.2px;margin-top:9px}
@media(max-width:800px){.settings-form{padding:18px}.settings-form .field-row{grid-template-columns:1fr}.role-guide{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-form-foot{align-items:flex-start;flex-direction:column}.settings-tabs .view-tabs{overflow:auto;white-space:nowrap;width:100%}.activity-toolbar .search{flex-basis:100%}.settings-panel .panel-head{flex-wrap:wrap;gap:12px}.settings-heading{align-items:flex-start}}

.site-access-confirmation{margin-top:22px;align-items:flex-start;line-height:1.6}.site-access-confirmation input{flex-shrink:0;margin-top:3px}.member-invite-link{display:block;margin-top:8px}

/* Smaller supporting buyer names and closing dates in Opportunities only. */
.opportunity-register-table .opportunity-buyer-name,.opportunity-register-table .opportunity-closing-date{font-size:90%}

/* Theme-aware workspace surfaces and navigation. */
.sidebar {
  background: var(--sidebar);
  border-color: var(--line);
  color: var(--sidebar-heading);
}
.sidebar .brand { border-bottom-color: var(--line); }
.brand-mark, .signin-left .brand-mark {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 8px;
  background: var(--deep) url("brand-mark.svg") center / 32px no-repeat;
}
.sidebar .brand-name, .signin-left .brand-name { font-size: 20px; font-weight: 650; }
.sidebar .brand-name { color: var(--sidebar-heading); }
.sidebar .brand-sub { color: var(--sidebar-text); }
.sidebar .nav-link, .sidebar .account small, .sidebar .icon-button { color: var(--sidebar-text); }
.sidebar .nav-link:hover, .sidebar .icon-button:hover { background: var(--sidebar-hover); color: var(--sidebar-heading); }
.sidebar .nav-link.active {
  background: var(--sidebar-active);
  color: var(--sidebar-active-text);
  font-weight: 600;
}
.sidebar .avatar { background: var(--sidebar-count); color: var(--sidebar-heading); }
.sidebar .nav-count { background: var(--sidebar-count); }
.sidebar .nav-link.active .nav-count { background: var(--sidebar-count); }
.sidebar .account { border-color: var(--line); }
.sidebar :focus-visible { outline-color: var(--accent); }

.topbar { border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
.topbar .app-page-title { color: var(--heading); font-weight: 650; letter-spacing: -.035em; }
.content { padding-top: clamp(18px, 2.5vw, 34px); }
.panel, .metric-grid, .contract-suite, .table-container, .kanban-card, .signin-right {
  border-radius: 10px;
  box-shadow: var(--shadow);
}
.panel-head h2, .section-heading h2, .metric-number, .drawer-head h2, .signin-form h2 {
  color: var(--heading);
  font-weight: 600;
  letter-spacing: -.025em;
}
.metric-number, .finance-table { font-variant-numeric: tabular-nums; }
.metric-top svg { color: var(--accent); }
.dashboard-metrics .metric { border-top: 0; }
.data-table th, .document-columns { background: var(--wash); font-weight: 600; }
.data-table tbody tr:hover { background: var(--canvas); }
.record-name, .task-title, .document-info h2 { font-weight: 650; }

.button, .toolbar select, .field input, .field select, .field textarea, .signin-input { border-radius: 6px; }
.button.primary { background: var(--button); border-color: var(--button); color: #fff; font-weight: 650; }
.button.primary:hover { background: var(--button-hover); border-color: var(--button-hover); }
.button.secondary:hover, .theme-toggle:hover { border-color: var(--control-line); }
.button.danger, .button.danger:hover { background: #9d292d; color: white; border-color: #9d292d; }
.button.danger:hover { background: #812126; }
.task-check.checked { color: var(--paper); }
.field input, .field select, .field textarea, .signin-input, .search, .toolbar select {
  border-color: var(--control-line);
  accent-color: var(--accent);
}
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.signin > .theme-toggle, .auth-wait > .theme-toggle { position: absolute; top: 18px; right: 20px; }
.signin-right { border-top: 1px solid var(--line); }

@media (max-width: 740px) {
  .topbar .app-page-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .top-actions { gap: 7px; }
  .top-actions .theme-toggle { width: 34px; height: 34px; padding: 6px; }
  .top-actions > .tag { padding-inline: 5px; }
}

/* Dates stay in a separate column so long titles cannot displace them. */
.deadline-scroll .compact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 15px;
  gap: 12px;
}
.deadline-scroll .deadline-caption {
  margin-top: 1px;
  color: var(--deadline);
  font-size: 11.5px;
  font-weight: 550;
  line-height: 1.8;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.deadline-scroll .compact-row > svg { margin-top: 3px; }
@media (max-width: 740px) {
  .deadline-scroll .compact-row { gap: 8px; }
  .deadline-scroll .deadline-caption { font-size: 11px; }
}
.overview-toolbar {
  border: 0;
  background: transparent;
  padding: 0 0 20px;
}
.overview-toolbar .view-tabs {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 4px;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--wash);
}
.overview-toolbar .view-tabs button {
  border-radius: 5px;
  padding: 7px 12px;
}
.overview-toolbar .view-tabs button.active {
  background: var(--paper);
  color: var(--heading);
  box-shadow: 0 1px 3px #1118270a;
}

/* A continuous edge marks the start of the workspace above its fixed shell. */
body { padding-top: 5px; }
body::before {
  content: "";
  position: fixed;
  inset: 0 0 auto;
  height: 5px;
  background: #182230;
  z-index: 65;
  pointer-events: none;
}
.sidebar { top: 5px; }
.topbar { top: 5px; }
.main, .signin, .auth-wait { min-height: calc(100vh - 5px); }
@media print {
  body { padding-top: 0; }
  body::before { display: none; }
}
