:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#203135;background:#f5f7f8;font-synthesis:none;--teal:#12776c;--muted:#718084;--border:#e4e9e9;--ink:#142d34;--nav:#112d35}
*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #37aa98}button{transition:background .15s,color .15s}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.05px;line-height:1.25;margin-bottom:12px;font-weight:650}h2{font-size:19px;letter-spacing:-.4px;margin-bottom:10px;font-weight:650}h3{font-size:16px}p{line-height:1.65}strong{font-weight:600}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#748588;margin-bottom:11px}.layout{display:flex;min-height:100vh}.sidebar{width:246px;background:var(--nav);color:#c5d5d8;position:fixed;inset:0 auto 0 0;padding:31px 18px 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none;font-size:27px;font-weight:650;letter-spacing:2.5px;margin:0 12px 33px}.brand-mark{display:grid;place-items:center;width:38px;height:40px;border:1px solid #80b7b0;background:#28545a;color:#d3f1e8;font-size:28px;letter-spacing:-3px;font-weight:500;border-radius:6px 1px 6px 1px;padding-right:3px}.brand small{display:block;font-size:7px;font-weight:400;letter-spacing:1.8px;color:#91adb2;margin-top:3px}.workspace{display:flex;align-items:center;gap:9px;padding:13px 9px;border:1px solid #ffffff13;border-radius:7px;margin-bottom:34px;font-size:12px;color:#e4ecee}.workspace small{display:block;color:#7e9da3;font-size:10px;margin-top:5px}.workspace-dot{width:7px;height:7px;border-radius:50%;background:#80bf9e}.nav-label{font-size:9px;letter-spacing:1.6px;color:#75949c;margin-left:13px;margin-bottom:13px}.nav-item{display:flex;align-items:center;text-align:left;gap:12px;width:100%;border:0;border-radius:6px;background:transparent;color:#afc5ca;padding:13px 12px;font-size:12px;margin-bottom:5px}.nav-item:hover{background:#ffffff08;color:#fff}.nav-item.active{background:#255050;color:#b5ecda;box-shadow:inset 2px 0 #79c6ad}.nav-icon{font-size:18px;width:18px}.nav-count{font-size:10px;margin-left:auto;background:#ffffff13;padding:2px 6px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding:27px 3px 0;font-size:11px;color:#c0d2d5}.sidebar-bottom>p{font-size:10px;color:#728e96;margin:7px 0 23px 14px}.live-dot{display:inline-block;width:5px;height:5px;background:#80c09e;border-radius:50%;margin-right:6px}.user{display:flex;align-items:center;gap:9px;border-top:1px solid #ffffff13;padding:19px 0}.avatar{width:29px;height:29px;background:#47616b;color:#e6eeef;border-radius:50%;display:grid;place-items:center;font-size:11px}.user div{font-size:10px}.user small{display:block;color:#7f9ca4;font-size:9px;margin-top:4px}.logout{border:0;background:transparent;color:#adc3c9;font-size:20px;margin-left:auto;padding:5px}.main{margin-left:246px;width:calc(100% - 246px)}.topbar{height:70px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:12px;color:#748386}.slash{margin:0 13px;color:#bcc7c9}.top-label{font-size:11px;color:#384f54}.version{margin-left:8px;color:#91a0a3;background:#f5f7f7;padding:4px 6px;border-radius:4px;font-size:10px}.content{padding:40px;max-width:1680px;margin:auto;min-height:calc(100vh - 123px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.page-heading p{color:var(--muted);font-size:13px;margin-bottom:0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:6px;padding:11px 17px;font-size:12px;font-weight:600;white-space:nowrap}.primary{background:var(--teal);color:white;box-shadow:0 2px 3px #00382c10}.primary:hover{background:#0f655c}.secondary{border-color:#d6e0e0;background:#fff;color:#476064}.secondary:hover{background:#f1f6f5}.text-button{background:none;border:0;color:#1b7c70;font-size:11px;font-weight:600;white-space:nowrap;padding:7px 0}.text-button:hover{color:#094d45;text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.stat{background:white;border:1px solid var(--border);padding:22px;text-align:left;border-radius:8px;color:inherit}.stat:hover{border-color:#aacdc4;background:#fcfefd}.stat-label{font-size:12px;color:#6d7e83;display:flex;align-items:center;justify-content:space-between}.stat-label span{color:#649b8f;border-radius:6px;background:#eef6f3;font-size:19px;width:30px;height:30px;display:grid;place-items:center}.stat strong{display:block;font-size:37px;font-weight:600;letter-spacing:-1px;margin:8px 0 11px}.stat small{color:#869296;font-size:11px}.panel{background:white;border:1px solid var(--border);border-radius:8px;overflow:hidden}.panel-heading{padding:24px 24px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading .eyebrow{font-size:9px;margin-bottom:8px}.panel-heading h2{font-size:17px;margin-bottom:0}.dashboard-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;margin-bottom:27px}.scope-card{border:1px solid #d7e6e0;background:linear-gradient(135deg,#e8f3ec,#e3eeeb);border-radius:8px;padding:27px;display:flex;flex-direction:column}.scope-card .eyebrow{font-size:9px;color:#66867d}.scope-card h2{font-size:25px;line-height:1.3;color:#24594e;letter-spacing:-.75px}.scope-card p{font-size:12px;color:#6c8780;margin:7px 0 17px;max-width:380px}.scope-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.scope-tags span{font-size:9px;border:1px solid #a7c5b764;border-radius:4px;padding:4px 7px;color:#5c7e72}.scope-card button{background:transparent;border:0;border-top:1px solid #bad1c7;padding:14px 0 0;color:#2a6c5c;font-weight:600;font-size:11px;display:flex;justify-content:space-between;margin-top:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:9px;color:#8a9799;font-weight:500;text-transform:uppercase;letter-spacing:.75px;background:#fbfcfc;padding:12px 24px;white-space:nowrap;border-top:1px solid #f0f3f3;border-bottom:1px solid #eef2f2}td{padding:19px 24px;border-bottom:1px solid #f0f3f3;line-height:1.5}tr:last-child td{border-bottom:0}td strong{display:block;color:#294148;font-size:12px}td small{display:block;color:#859297;margin-top:5px;font-size:10px}.dashboard-grid td{padding:19px 20px}.dashboard-grid th{padding-left:20px}.dashboard-grid td:nth-child(2){font-size:11px}.badge{display:inline-block;font-size:9px;line-height:1.4;background:#f0f4f5;border:1px solid #e6edee;border-radius:4px;color:#688088;padding:4px 7px;white-space:nowrap}.badge.green{background:#edf8ef;color:#518263;border-color:#dfeee1}.badge.amber{background:#fdf7e8;color:#a88535;border-color:#f1e8cd}.development-note{display:flex;align-items:center;gap:15px;padding:20px 0;margin-top:7px;color:#759087}.development-note>span{font-size:20px}.development-note p{font-size:11px;color:#80918d;margin:0;flex:1}.development-note strong{color:#5a7770}.footer{border-top:1px solid var(--border);padding:20px 40px;font-size:9px;color:#97a1a4;display:flex;justify-content:space-between;gap:15px}.heading-count{font-size:15px;letter-spacing:0;color:#92a4a4;font-weight:400;vertical-align:middle;margin-left:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.search{display:flex;gap:9px;align-items:center;background:white;border:1px solid #e0e7e7;padding:0 12px;width:min(360px,100%);border-radius:6px;color:#7e9695}.search span{font-size:25px}.search input{background:transparent;border:0;width:100%;padding:11px 0;font-size:12px;outline:0}.search:focus-within{outline:2px solid #55a899;outline-offset:2px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{background:#fff;border:1px solid var(--border);padding:23px;border-radius:8px;display:flex;flex-direction:column}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.service-icon{width:34px;height:34px;background:#eff6f3;color:#619986;display:grid;place-items:center;font-size:20px;border-radius:7px}.service-top .small{font-size:10px}.service-family{text-transform:uppercase;font-size:8px;letter-spacing:1px;color:#8b9c9a;margin-bottom:8px}.service-card h2{font-size:17px;line-height:1.35}.service-description{font-size:12px;color:#7c8b8b;margin-bottom:19px;flex:1}.service-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:19px}.service-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #edf2f0;padding-top:12px;font-size:10px;color:#90a09b}.empty{text-align:center;padding:48px 20px;color:#829690;background:white;border-radius:8px;border:1px solid var(--border)}.panel .empty{border:0}.empty>span{font-size:33px}.empty h2{font-size:19px;margin-top:15px}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.progress-card{padding:30px}.progress-card p{font-size:13px}.check-list{list-style:none;padding:0;margin:25px 0 0}.check-list li{padding:10px 0;font-size:13px;border-bottom:1px solid #f1f5f3}.check-list li:before{content:'✓';color:#42967e;margin-right:13px}.roadmap{padding-left:20px;color:#497769;margin:25px 0 0}.roadmap li{padding:0 0 22px 10px;font-size:13px}.roadmap span{display:block;color:#80908b;font-size:12px;line-height:1.65;margin-top:7px}dialog{border:1px solid #d8e4df;border-radius:10px;max-height:90vh;width:620px;max-width:95vw;padding:28px;box-shadow:0 20px 80px #082a3433;color:inherit}dialog.wide{width:960px}dialog::backdrop{background:#0c293774;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:23px}.dialog-heading h2{font-size:23px;line-height:1.35;margin-bottom:0}.dialog-heading .eyebrow{font-size:9px}.icon-button{background:transparent;border:0;color:#79928b;font-size:25px;line-height:1;padding:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:span 2}label{display:block;font-size:12px;font-weight:500;color:#557169}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #d9e3df;background:#fff;border-radius:5px;margin-top:7px;font-size:12px;color:#29483c}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{outline:2px solid #58a994;outline-offset:1px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:20px;margin-top:24px}.form-error{color:#a63c31;font-size:12px;margin:16px 0 0}.hint{padding:11px 14px;background:#f3f7f3;color:#71867b;border-radius:5px;font-size:11px;line-height:1.65;margin:20px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 5px}.section-heading h3{margin:0}.spec-row{display:grid;grid-template-columns:1.5fr .5fr 1fr 30px;gap:12px;align-items:end;border-bottom:1px solid #eaf0ec;padding:15px 0}.spec-row button{margin-bottom:4px}.spec-meta{display:flex;gap:18px;align-items:center;font-size:11px;color:#819188}.spec-parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:25px 0}.spec-parties strong{display:block;font-size:14px}.spec-parties p{font-size:12px;color:#7b8c83;margin-top:7px}.spec-table td{vertical-align:top}.spec-table p{font-size:12px;color:#71847a;min-width:200px;margin:8px 0}.nowrap{white-space:nowrap}#notification{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#163d35;color:white;padding:13px 22px;border-radius:7px;box-shadow:0 5px 20px #163d3530;font-size:13px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw}#notification.visible{opacity:1;transform:translate(-50%,0)}.login-page{min-height:100vh;background:radial-gradient(ellipse at 10% 5%,#dfefe7,transparent 50%),#f4f7f5;padding:40px 20px;display:flex;flex-direction:column;align-items:center}.login-brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:600;letter-spacing:2px;color:#20443b;margin-bottom:33px}.brand-sub{font-size:8px;color:#7b968a;letter-spacing:1px;margin-left:6px}.login-card{width:440px;max-width:100%;padding:35px;background:white;border:1px solid #dfe8e1;border-radius:10px;box-shadow:0 15px 60px #254e3b08}.login-card h1{font-size:30px;line-height:1.3}.login-card>p{font-size:12px;color:#819187;margin-bottom:24px}.login-card label{margin:16px 0}.login-card .full{width:100%;justify-content:space-between;margin:8px 0 21px}.login-card .small{font-size:10px;line-height:1.7;margin-bottom:0}.login-footer{font-size:10px;color:#8a9c91;margin:27px}.loading{text-align:center;margin-top:30vh;color:#647c74}
@media(min-width:1600px){.dashboard-grid{grid-template-columns:2fr 1fr}.content{padding:45px 50px}.topbar{padding:0 50px}}@media(max-width:1200px){.sidebar{width:220px;padding-left:12px;padding-right:12px}.main{margin-left:220px;width:calc(100% - 220px)}.content{padding:28px}.topbar{padding:0 28px}.dashboard-grid{grid-template-columns:1fr}.scope-card{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:18px}h1{font-size:28px}.toolbar .small{display:none}.stats{gap:13px}.footer{padding:20px 28px}}@media(max-width:780px){.layout{display:block}.sidebar{position:static;width:100%;padding:16px;display:block}.brand{margin:0 0 17px;font-size:23px}.brand-mark{height:33px;width:33px;font-size:24px}.workspace,.nav-label,.sidebar-bottom>p,.sidebar-bottom>.live-dot{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px}.nav-item{white-space:nowrap;width:auto;padding:9px;font-size:11px;margin:0}.nav-item .nav-icon{font-size:14px;width:14px}.nav-count{display:none}.sidebar-bottom{padding:0;margin:0;font-size:0}.sidebar-bottom .user{position:absolute;right:20px;top:15px;border:0;padding:0}.user div{display:none}.avatar{display:none}.main{margin:0;width:100%}.topbar{height:49px;padding:0 20px;font-size:11px}.content{padding:25px 19px;min-height:65vh}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.page-heading .primary{align-self:flex-start}h1{font-size:26px}.page-heading p{font-size:12px}.stats{gap:8px}.stat{padding:12px}.stat-label{font-size:10px}.stat-label span{display:none}.stat strong{font-size:28px}.stat small{font-size:9px;line-height:1.5;display:block}.panel-heading{padding:19px}.dashboard-grid td,.dashboard-grid th,td,th{padding:13px 16px}.development-note{align-items:flex-start}.development-note .text-button{display:none}.service-grid,.progress-grid{grid-template-columns:1fr}.footer{padding:17px 19px}.footer span{display:none}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.spec-row{grid-template-columns:1fr 80px}.spec-row label:nth-child(3){grid-column:span 1}.spec-parties{grid-template-columns:1fr;gap:5px}dialog{padding:22px}.dialog-heading h2{font-size:21px}.dialog-actions{flex-wrap:wrap}.spec-table td{padding:12px}.spec-table th{padding:10px}.login-brand{flex-wrap:wrap;justify-content:center}.brand-sub{width:100%;text-align:center;margin-top:4px}}
.cost-position{padding:20px 0;border-top:1px solid var(--border)}.cost-position h3{font-size:14px;margin-bottom:8px}.cost-position h3 span{font-weight:400;font-size:12px}.cost-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cost-fields label{font-size:11px}.cost-summary{display:flex;justify-content:flex-end;padding-top:20px}.cost-summary dl{width:min(100%,480px);font-size:12px}.cost-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--border)}.cost-summary dd{margin:0;font-weight:600;white-space:nowrap}.cost-summary .cost-total{font-size:16px;color:var(--teal);border-bottom:0;padding-top:17px;font-weight:600}@media(max-width:780px){.cost-fields{grid-template-columns:1fr 1fr}.cost-summary dl>div{gap:12px}}
@media print{@page{size:A4;margin:18mm}body.printing{background:white}body.printing #app,body.printing #notification{display:none!important}body.printing dialog{display:block!important;position:static;overflow:visible;max-width:none;max-height:none;width:100%;border:0;box-shadow:none;padding:0}body.printing dialog::backdrop{background:none}body.printing .dialog-actions,body.printing .icon-button,body.printing .form-error{display:none}body.printing .table-wrap{overflow:visible}body.printing th,body.printing td{padding:12px 9px}body.printing tr{break-inside:avoid}body.printing .spec-parties{grid-template-columns:1fr 1fr}.spec-table th{color:#405249}}

.visit-timing-summary{margin:.5rem 0}.visit-timing-summary small{display:block;margin-top:.3rem}.visit-timing-summary ul{padding-left:1.1rem;font-size:.85rem;margin:.4rem 0;overflow-wrap:anywhere}.visit-window-row{border-top:1px solid var(--line,#dfe5eb);padding:1rem 0}.visit-timing-form fieldset{min-width:0;border:1px solid var(--line,#dfe5eb);border-radius:8px;padding:1rem}.planning-attention{color:#87510b;font-weight:600}.visit-window-row .form-grid input{min-width:0}

.time-correction{border-left:4px solid var(--navy,#0a2140);padding:1rem;margin:1rem 0;background:#f2f5f8;overflow-wrap:anywhere}.correction-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}.correction-comparison h4{margin:.4rem 0}.correction-comparison p{margin:.4rem 0}

.work-location{margin:1.2rem 0;padding:1rem;border:1px solid var(--line,#d7dfe7);border-radius:12px;background:var(--surface,#fff);overflow-wrap:anywhere}
.work-location h3{margin-top:0}.work-location details{margin:.7rem 0}.work-location summary{cursor:pointer;line-height:1.6}.location-route{display:block;width:100%;max-width:700px;background:#f4f7fa;border:1px solid #ced8e2;border-radius:8px}.location-route polyline{fill:none;stroke:currentColor;stroke-width:2}.location-route circle{fill:currentColor}.route-0{color:#0a2140}.route-1{color:#167560}.route-2{color:#946412}.location-table{overflow:auto;max-width:100%}.location-table table{width:100%;font-size:.88rem}.location-table td,.location-table th{text-align:left;padding:.6rem;border-bottom:1px solid #d7dfe7}

.workspace-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px;border-bottom:1px solid var(--line,#dce3e8);padding-bottom:12px}.workspace-tabs a{padding:8px 12px;border-radius:8px}.workspace-tabs a[aria-current=page]{background:#0a2140;color:white}.qualification-history article{border-bottom:1px solid #dce3e8;padding:12px 0}.qualification-requirement-list{display:grid;gap:12px;max-height:45vh;overflow:auto}.qualification-summary{margin-bottom:24px}.qualification-summary details{padding:10px 0}.qualification-summary .panel-heading{flex-wrap:wrap;gap:12px}
