:root{color:#142431;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#06131e;--navy-900:#091c2a;--navy-800:#102b3c;--cyan-500:#21c6dc;--cyan-100:#dff8fb;--orange-500:#ec8c32;--green-500:#24a36a;--red-500:#d94b58;--border:#dce4e7;--muted:#667986;--surface:#fff;--shadow:0 14px 44px #0a202f14;background:#f3f6f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f3f6f7;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{z-index:30;color:#d9e7ed;background:radial-gradient(circle at 10% 4%,#15384b 0,#0000 24%),linear-gradient(165deg,#071722 0%,#06111b 100%);flex-direction:column;height:100vh;padding:25px 17px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-height:44px;padding:0 8px;display:flex}.brand-mark{color:#53d8e8;border:1px solid #37d0e3;border-radius:11px;justify-content:center;align-items:center;width:36px;height:36px;font-size:19px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 20px #21c6dc14}.brand>span:nth-child(2){letter-spacing:.07em;flex-direction:column;display:flex}.brand strong{color:#fff;font-size:13px}.brand small{color:var(--cyan-500);letter-spacing:.24em;margin-top:2px;font-size:8px}.mobile-close{display:none}.signed-in{color:#78909d;align-items:baseline;gap:6px;margin:30px 9px 17px;font-size:11px;display:flex}.signed-in strong{text-transform:uppercase;letter-spacing:.12em;color:#beeaf0;font-size:9px}.sidebar nav{flex-direction:column;gap:3px;display:flex}.sidebar nav button{color:#8da3af;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:13px;transition:all .18s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0b}.sidebar nav button.active{color:#fff;box-shadow:inset 2px 0 var(--cyan-500);background:linear-gradient(90deg,#21c6dc33,#21c6dc0d)}.sidebar nav button.active svg{color:var(--cyan-500)}.sidebar-profile{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding:16px 8px 0;display:flex}.avatar{color:#6ce5f1;background:#173b4c;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.sidebar-profile>span:last-child{flex-direction:column;min-width:0;display:flex}.sidebar-profile strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sidebar-profile small{color:#6d8592;margin-top:3px;font-size:10px}.main-shell{min-width:0}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#ffffffe0;justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 34px;display:flex;position:sticky;top:0}.menu-button{display:none}.search-shell{color:#8b9aa3;align-items:center;gap:9px;width:min(460px,50vw);display:flex}.search-shell input{color:#213541;background:0 0;border:0;outline:0;width:100%;font-size:13px}.role-preview{color:#71838e;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;font-size:10px;display:flex}.role-preview select{color:#173243;text-transform:none;letter-spacing:normal;background:#fff;border:1px solid #d8e1e4;border-radius:8px;padding:8px 28px 8px 11px;font-size:12px;font-weight:700}.page-content{max-width:1500px;margin:0 auto;padding:38px 36px 80px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.page-heading h1{color:#0a1e2d;letter-spacing:-.038em;margin:4px 0 7px;font-size:clamp(27px,3vw,39px);line-height:1.04}.page-heading>div:first-child>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.eyebrow{color:#159db2;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:9px;font-weight:800}.heading-actions{flex:none;gap:9px;display:flex}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 15px;font-size:12px;font-weight:750;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{color:#042330;background:var(--cyan-500);box-shadow:0 8px 18px #21c6dc33}.button-primary:hover:not(:disabled){background:#3dd1e3;box-shadow:0 10px 24px #21c6dc47}.button-secondary{border-color:var(--border);color:#18313f;background:#fff}.button-ghost{color:#667986;background:0 0;border-color:#dce4e7}.button-dark{color:#fff;background:var(--navy-900)}.button-small{border-color:var(--border);background:#fff;min-height:34px;padding:0 11px;font-size:11px}.button.button-small.button-dark{color:#fff;background:var(--navy-900);border-color:var(--navy-900)}.button.button-small.button-primary{color:#042330;background:var(--cyan-500);border-color:var(--cyan-500)}.button-full{width:100%}.text-button{color:#169caf;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:11px;font-weight:800;display:inline-flex}.icon-button{border:1px solid var(--border);color:#5c717e;background:#fff;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px;display:grid}.metric-card{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;min-height:136px;padding:21px;display:flex;box-shadow:0 8px 24px #0d2b3c09}.metric-card>span{color:#687b86;font-size:11px}.metric-card>strong{color:#092130;letter-spacing:-.04em;margin:8px 0 5px;font-size:29px}.metric-card .metric-text{letter-spacing:-.02em;font-size:18px}.metric-card small{color:#8a989f;margin-top:auto;font-size:10px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.span-two{grid-column:span 2}.panel{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px #0c2a3909}.admin-table-panel{box-shadow:var(--shadow)}.table-wrap{width:100%;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:900px;font-size:11px}.table-wrap th{color:#71838c;border-bottom:1px solid var(--border);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#f8fafb;padding:14px 16px;font-size:9px}.table-wrap td{color:#334f5c;vertical-align:middle;border-bottom:1px solid #edf1f2;padding:14px 16px}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap td small{color:#87979e;margin-top:3px;font-size:9px}.table-wrap tbody tr:hover{background:#fbfdfe}.yardage-panel{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:18px;padding:18px;box-shadow:0 8px 24px #0d2b3c09}.read-only-banner{color:#5d4800;background:#fff3bd;border:1px solid #eed57a;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:12px;display:flex}.read-only-view button:not(.menu-button),.read-only-view input,.read-only-view select,.read-only-view textarea{pointer-events:none;opacity:.55}.read-only-view .manager-allowed,.read-only-view .manager-allowed button,.read-only-view .manager-allowed input,.read-only-view .manager-allowed select,.read-only-view .manager-allowed textarea{pointer-events:auto;opacity:1}.panel-title,.yardage-toolbar,.page-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-title h2{color:#092130;margin:0;font-size:17px}.panel-title p,.form-hint{color:#71838c;margin:4px 0 0;font-size:12px}.yardage-form{grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end;gap:9px;margin-top:16px;display:grid}.yardage-form input,.yardage-form select,.yardage-toolbar input,.yardage-toolbar select,.supplier-form input{color:#183442;background:#fff;border:1px solid #d7e1e5;border-radius:7px;min-width:0;padding:10px}.currency-input{color:#5e7480;text-transform:uppercase;letter-spacing:.04em;gap:3px;font-size:10px;display:grid}.currency-input input{width:100%}.yardage-toolbar{flex-wrap:wrap;justify-content:flex-start;margin-bottom:14px}.yardage-toolbar input{min-width:260px}.yardage-table table{min-width:1850px}.yardage-table th{z-index:1;color:#fff;white-space:nowrap;background:#0a3046;position:sticky;top:0}.yardage-table td{white-space:nowrap}.yardage-table .yardage-active{background:#fff9c8}.yardage-table .yardage-inactive{color:#65737b;background:#edf0f1}.yardage-table .yardage-potential{background:#edf7ff}.yardage-table .yardage-completed{background:#eef8ee}.yardage-table tbody tr:hover{filter:brightness(.98)}.project-link{color:#075f80;font-weight:700}.empty-cell{text-align:center;color:#72838c;padding:28px!important}.supplier-form{grid-template-columns:repeat(6,minmax(110px,1fr));gap:9px;margin:16px 0;display:grid}.supplier-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.supplier-list div{background:#f5f8f9;border-radius:8px;padding:11px}.supplier-list strong,.supplier-list span{display:block}.supplier-list span{color:#617681;margin-top:4px;font-size:11px}.photo-gallery{margin:18px 0}.photo-gallery h3{color:#173745;margin:0 0 9px;font-size:14px}.photo-gallery>div{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.photo-gallery button{text-align:left;color:#123948;background:#f9fcfd;border:1px solid #c7d7de;border-radius:9px;min-height:102px;padding:0;overflow:hidden}.photo-gallery button img{object-fit:cover;width:100%;height:130px;display:block}.photo-gallery button span{color:#3d7082;text-transform:uppercase;letter-spacing:.07em;padding:38px 10px;font-size:10px;display:block}.photo-lightbox{text-align:center;background:#102b3a;border-radius:10px;margin:15px 0;padding:40px 12px 12px;position:relative}.photo-lightbox img{object-fit:contain;border-radius:6px;max-width:100%;max-height:55vh}.photo-lightbox p{color:#fff;margin:8px 0 0;font-size:12px}.photo-lightbox>button{color:#fff;background:0 0;border:0;font-size:24px;position:absolute;top:8px;right:10px}.plan-icons{flex-wrap:wrap;gap:12px;display:flex}.plan-icon{color:#0e536d;background:#f9fcfd;border:1px solid #c7d7de;border-radius:9px;place-items:center;gap:5px;width:100px;min-height:94px;padding:10px;display:grid}.plan-icon:hover{background:#eef9fc;border-color:#177692}.plan-icon span{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.file-control{position:relative}.plan-download{width:100%;min-height:72px;color:inherit;background:0 0;border:0;place-items:center;gap:5px;padding:0;display:grid}.icon-delete{color:#a62929;background:#fff;border:1px solid #e5baba;border-radius:50%;place-items:center;width:27px;height:27px;padding:0;display:grid;position:absolute;top:5px;right:5px}.project-filter{justify-content:flex-end;margin:-4px 0 16px;display:flex}.project-filter label{color:#395967;align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.project-filter select{color:#173745;background:#fff;border:1px solid #c7d7de;border-radius:7px;min-width:155px;padding:8px 10px}@media print{.sidebar,.topbar,.preview-bar,.page-actions,.yardage-form,.yardage-toolbar,.supplier-panel{display:none!important}.main-shell{margin:0!important}.page-content{padding:0!important}.yardage-panel{box-shadow:none;border:0;padding:0}.yardage-table table{min-width:0;font-size:8px}.yardage-table th,.yardage-table td{padding:5px}}.table-actions{flex-wrap:wrap;gap:6px;min-width:220px;display:flex}.button.button-small.button-paid{color:#fff;background:var(--green-500);border-color:var(--green-500)}.button.button-small.button-denied{color:#fff;background:var(--red-500);border-color:var(--red-500)}.panel-heading{border-bottom:1px solid #edf1f2;justify-content:space-between;align-items:flex-start;gap:18px;min-height:74px;padding:20px 22px 15px;display:flex}.panel-heading h2{color:#142d3b;margin:0 0 4px;font-size:15px}.panel-heading p,.panel-heading small{color:#86949b;margin:0;font-size:10px}.project-pulse-list{padding:3px 22px 13px}.project-pulse-list article{border-bottom:1px solid #edf1f2;padding:17px 0}.project-pulse-list article:last-child{border-bottom:0}.pulse-top,.pulse-bottom{justify-content:space-between;align-items:center;gap:16px;display:flex}.pulse-top{margin-bottom:10px}.pulse-top>span{align-items:baseline;gap:10px;min-width:0;display:flex}.pulse-top small{color:#179db1;font-size:9px;font-weight:800}.pulse-top strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pulse-top b{color:#0f9cb1;font-size:12px}.pulse-bottom{color:#7a8b94;margin-top:8px;font-size:9px}.progress-track{background:#e8eef0;border-radius:999px;height:5px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#14aabd,#36d2df);height:100%;display:block}.compact-list{padding:4px 20px 12px}.compact-list article{border-bottom:1px solid #edf1f2;align-items:center;gap:11px;min-height:62px;display:flex}.compact-list article:last-child{border-bottom:0}.compact-list article>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.compact-list article strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.compact-list article small{color:#84939a;font-size:9px}.compact-list .icon-button{margin-left:auto}.date-tile{background:#edfbfc;border:1px solid #caedf1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:38px;height:42px;display:flex}.date-tile b{color:#0f7182;font-size:14px;line-height:1}.date-tile small{text-transform:uppercase;margin-top:3px;color:#3e8895!important;font-size:8px!important}.mini-icon{color:#1aa7b9;background:#eef9fa;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid!important}.project-stack{gap:21px;display:grid}.project-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:15px;overflow:hidden}.project-card>header{grid-template-columns:minmax(240px,1.3fr) minmax(360px,1fr) auto;align-items:center;gap:25px;padding:22px 24px 18px;display:grid}.project-identity h2{color:#0c2635;letter-spacing:-.02em;margin:5px 0;font-size:18px}.project-code{color:#159cb1;letter-spacing:.08em;font-size:9px;font-weight:800}.project-identity p{color:#778992;align-items:center;gap:5px;margin:0;font-size:10px;display:flex}.project-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-summary div{flex-direction:column;gap:4px;display:flex}.project-summary small{color:#88979e;font-size:9px}.project-summary strong{color:#304854;font-size:11px}.project-card>.progress-track{margin:0 24px 18px}.job-list{border-top:1px solid #e7edef}.job-row{border-bottom:1px solid #edf1f2;grid-template-columns:minmax(230px,1.25fr) minmax(360px,1.45fr) 120px auto;align-items:center;gap:23px;padding:18px 24px;display:grid}.job-row:last-child{border-bottom:0}.job-main>span{align-items:center;gap:8px;display:flex}.job-main small{color:#82929a;font-size:8px}.job-main h3{color:#18303e;margin:8px 0 4px;font-size:13px}.job-main p{color:#788991;max-width:430px;margin:0;font-size:9px;line-height:1.45}.job-facts{grid-template-columns:90px 1fr 1.2fr;gap:13px;display:grid}.job-facts span{flex-direction:column;gap:3px;min-width:0;display:flex}.job-facts small{color:#84949b;font-size:8px}.job-facts strong{color:#324a56;font-size:9px;line-height:1.35}.job-progress{gap:6px;display:grid}.job-progress strong{color:#159fb2;font-size:11px}.job-progress small{color:#7c8e96;font-size:8px}.row-actions{justify-content:flex-end;gap:4px;display:flex}.row-actions button{color:#59707c;background:#fff;border:1px solid #dce5e8;border-radius:7px;align-items:center;gap:5px;height:31px;padding:0 8px;font-size:9px;font-weight:700;display:inline-flex}.row-actions .action-emphasis{color:#087b8d;background:#eafafb;border-color:#b8e9ef}.pill{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:4px 7px;font-size:8px;font-weight:800;display:inline-flex}.pill-neutral{color:#637680;background:#ecf0f2}.pill-cyan{color:#08798b;background:#dcf7fa}.pill-green{color:#117548;background:#dff6e9}.pill-orange{color:#9a5a1f;background:#fff0de}.pill-red{color:#9b2833;background:#fde8ea}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#030f18a8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #ffffff40;border-radius:16px;width:min(580px,100%);max-height:min(88vh,920px);overflow:auto;box-shadow:0 30px 100px #010a1059}.modal-wide{width:min(760px,100%)}.modal-header{z-index:2;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:21px 24px;display:flex;position:sticky;top:0}.modal-header h2{color:#102938;margin:4px 0 0;font-size:18px}.modal-body{padding:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{color:#324a56;flex-direction:column;gap:7px;min-width:0;font-size:10px;font-weight:750;display:flex}:is(.field:has(textarea),.field:has(.template-editor)){grid-column:1/-1}.field input,.field select,.field textarea{color:#17313f;background:#fbfcfc;border:1px solid #d7e0e3;border-radius:8px;outline:0;width:100%;font-size:12px;font-weight:450;transition:all .15s}.field input,.field select{height:41px;padding:0 11px}.field textarea{resize:vertical;min-height:90px;padding:11px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#32c5d7;box-shadow:0 0 0 3px #21c6dc1a}.field small{color:#8a989f;font-size:8px;font-weight:450;line-height:1.4}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:7px;display:flex}.check-field{background:#f8fafb;border:1px solid #dce5e7;border-radius:9px;grid-column:1/-1;gap:10px;padding:12px;display:flex}.check-field input{accent-color:#12a8bb}.check-field span{flex-direction:column;gap:3px;display:flex}.check-field strong{color:#263f4c;font-size:10px}.check-field small{color:#82929a;font-size:9px}.callout{color:#4c626d;background:#f6f9fa;border:1px solid #dce5e7;border-radius:9px;grid-column:1/-1;align-items:flex-start;gap:11px;padding:13px;display:flex}.callout-accent{color:#13798a;background:#eaf9fb;border-color:#bae9ee}.callout svg{flex:none}.callout span{flex-direction:column;gap:3px;display:flex}.callout strong{font-size:10px}.callout small{font-size:9px;line-height:1.45}.schedule-layout{grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr);align-items:start;gap:18px;display:grid}.schedule-list{padding:6px 20px 15px}.schedule-list article{border-bottom:1px solid #edf1f2;grid-template-columns:155px 1fr auto auto;align-items:center;gap:18px;min-height:76px;display:grid}.schedule-list article:last-child{border-bottom:0}.schedule-date{flex-direction:column;gap:3px;display:flex}.schedule-date b{font-size:11px}.schedule-date small{color:#83939b;font-size:9px}.schedule-list article>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.schedule-list article>span:nth-child(2) strong{font-size:11px}.schedule-list article>span:nth-child(2) small{color:#809098;font-size:9px}.contract-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.contract-card{border:1px solid var(--border);min-height:300px;box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;padding:20px;display:flex}.contract-card header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.document-icon{color:#19aabd;background:#e9fafa;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.contract-card>small{color:#159caf;font-size:9px;font-weight:800}.contract-card h2{margin:7px 0 5px;font-size:15px}.contract-card>p{color:#71838c;font-size:11px}.contract-card dl{gap:7px;margin:10px 0 20px;display:grid}.contract-card dl div{border-bottom:1px solid #edf1f2;justify-content:space-between;gap:10px;padding-bottom:7px;font-size:9px;display:flex}.contract-card dt{color:#85949b}.contract-card dd{color:#354d59;text-overflow:ellipsis;max-width:60%;margin:0;overflow:hidden}.contract-card footer{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.inline-error{background:#fdecef;border-radius:7px;padding:8px;color:#a1323d!important;font-size:9px!important}.empty-state{color:#6f818b;text-align:center;background:#fff9;border:1px dashed #cfdadd;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:230px;padding:40px 20px;display:flex}.empty-icon{color:#159fb1;background:#e4f8fa;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:13px;display:grid}.empty-state strong{color:#25404e;font-size:13px}.empty-state p{max-width:400px;margin:6px 0 0;font-size:10px;line-height:1.5}.table-panel{overflow-x:auto}.data-table{min-width:800px}.data-head,.data-table article{grid-template-columns:1.3fr 1.2fr 1.5fr .75fr .6fr;align-items:center;gap:18px;padding:13px 20px;display:grid}.data-head{color:#83939b;text-transform:uppercase;letter-spacing:.06em;background:#f8fafb;font-size:8px;font-weight:800}.data-table article{border-top:1px solid #edf1f2;min-height:72px;font-size:10px}.data-table article>span:not(.pill){flex-direction:column;gap:4px;display:flex}.data-table article strong{font-size:10px}.data-table article small{color:#84939a;font-size:8px;line-height:1.4}.settings-layout{gap:18px;display:grid}.settings-section{padding-bottom:24px;overflow:visible}.settings-section>.form-grid,.settings-section>.field,.settings-section>.token-list{margin:0 24px}.section-title{align-items:center;gap:12px;padding:22px 24px;display:flex}.section-title>span{color:#159fb2;background:#e7f9fb;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.section-title h2{margin:0 0 3px;font-size:14px}.section-title p{color:#819199;margin:0;font-size:9px}.token-list{flex-wrap:wrap;gap:5px;display:flex;margin-bottom:13px!important}.token-list code{color:#167f8f;background:#edf9fa;border-radius:5px;padding:4px 6px;font-size:8px}.template-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:380px!important;font-size:10px!important}.sticky-save{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5fdfef0;border:1px solid #bde4e9;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:13px 16px;display:flex;position:sticky;bottom:18px;box-shadow:0 10px 35px #052d3a21}.sticky-save span{color:#58717c;font-size:10px}.timeline{padding:10px 24px}.timeline article{border-left:1px solid #d9e3e6;padding:14px 0 18px 30px;position:relative}.timeline-dot{background:#25bacd;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:17px;left:-5px;box-shadow:0 0 0 1px #25bacd}.timeline strong{font-size:11px}.timeline p{color:#6f818b;margin:4px 0;font-size:10px}.timeline small{color:#94a0a5;font-size:8px}.client-hero{color:#fff;background:radial-gradient(circle at 87% 12%,#25cfe133,#0000 35%),linear-gradient(130deg,#071a28,#0d3041);border-radius:17px;justify-content:space-between;align-items:center;gap:30px;min-height:185px;margin-bottom:18px;padding:30px;display:flex;box-shadow:0 18px 50px #051b2829}.client-hero>div:first-child>span{color:#58d5e4;font-size:9px;font-weight:800}.client-hero h2{letter-spacing:-.04em;margin:8px 0;font-size:clamp(22px,3vw,34px)}.client-hero p{color:#9db2bd;align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.hero-progress{border:8px solid #3dd3e32e;border-right-color:#35ccdc;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;width:118px;height:118px;display:flex}.hero-progress strong{font-size:25px}.hero-progress span{color:#8eabb6;font-size:8px}.client-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.client-job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 24px;display:grid}.client-job-grid article{background:#fbfcfc;border:1px solid #e0e7e9;border-radius:11px;padding:16px}.client-job-grid article>div:first-child{justify-content:space-between;align-items:center;display:flex}.client-job-grid article>div:first-child small{color:#87979e;font-size:8px}.client-job-grid h3{margin:13px 0 5px;font-size:12px}.client-job-grid p{color:#73858e;min-height:42px;margin:0 0 14px;font-size:9px;line-height:1.45}.client-job-grid dl{gap:6px;margin:0;display:grid}.client-job-grid dl div{border-top:1px solid #e7ecee;justify-content:space-between;gap:8px;padding-top:6px;font-size:8px;display:flex}.client-job-grid dt{color:#83939a}.client-job-grid dd{color:#314a56;text-align:right;margin:0}.schedule-banner{color:#0f8293;background:#e8fafc;border:1px solid #bceaf0;border-radius:12px;align-items:center;gap:13px;margin-bottom:17px;padding:17px 20px;display:flex}.schedule-banner>div{flex-direction:column;gap:3px;display:flex}.schedule-banner strong{font-size:12px}.schedule-banner span{font-size:9px}.client-schedule{padding:5px 21px 14px}.client-schedule article{border-bottom:1px solid #e9eef0;grid-template-columns:54px 1fr auto;align-items:center;gap:16px;min-height:92px;display:grid}.client-schedule article:last-child{border-bottom:0}.date-block{color:#0d7687;background:#e3f8fa;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:50px;height:56px;display:flex}.date-block b{font-size:19px;line-height:1}.date-block small{text-transform:uppercase;margin-top:4px;font-size:8px;font-weight:800}.client-schedule article>div{flex-direction:column;gap:3px;display:flex}.client-schedule article>div small{color:#159daf;font-size:8px;font-weight:750}.client-schedule article>div strong{font-size:12px}.client-schedule article>div p{color:#71858e;margin:0;font-size:9px}.crew-chip{color:#4e6874;background:#f2f5f6;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;display:flex}.large-progress{text-align:center;flex-direction:column;justify-content:center;min-height:250px;padding:35px;display:flex}.large-progress strong{color:#149fb1;letter-spacing:-.05em;font-size:46px}.large-progress .progress-track{margin:20px 0 12px}.large-progress span{color:#324d59;font-size:12px;font-weight:750}.large-progress small{color:#84949b;margin-top:4px;font-size:9px}.progress-page{gap:17px;display:grid}.large-number{color:#139eb1;font-size:25px}.progress-page>.panel>.progress-track{margin:18px 22px}.stage-job-list{padding:0 22px 14px}.stage-job-list article{border-top:1px solid #edf1f2;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;min-height:60px;display:grid}.stage-job-list article>div{flex-direction:column;gap:3px;display:flex}.stage-job-list strong{font-size:10px}.stage-job-list small{color:#819199;font-size:8px}.stage-check{color:#8b9aa1;background:#eef2f3;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.stage-check svg{width:14px}.stage-check.complete{color:#168b59;background:#e2f6eb}.info-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:60px 20px;display:flex}.info-panel>span{color:#16a7ba;background:#e5f9fb;border-radius:15px;place-items:center;width:56px;height:56px;display:grid}.info-panel h2{margin:17px 0 6px;font-size:16px}.info-panel p{color:#758790;max-width:500px;margin:0;font-size:10px}.info-panel small{color:#93a0a6;margin-top:18px;font-size:8px}.sub-schedule-mini{padding:3px 22px 14px}.sub-schedule-mini article{border-bottom:1px solid #edf1f2;align-items:center;gap:13px;min-height:82px;display:flex}.sub-schedule-mini article>svg{color:#19a8ba;background:#e8f9fb;border-radius:9px;width:34px;height:34px;padding:8px}.sub-schedule-mini span{flex-direction:column;gap:3px;display:flex}.sub-schedule-mini small{color:#159aad;font-size:8px;font-weight:750}.sub-schedule-mini strong{font-size:11px}.sub-schedule-mini p{color:#7d8e96;margin:0;font-size:9px}.embedded-section{margin-top:24px}.potential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.potential-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:22px}.potential-card header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.potential-card header>span{flex-direction:column;gap:8px;display:flex}.potential-card header small{color:#159eaf;font-size:8px;font-weight:800}.potential-card header>strong{color:#173340;font-size:20px}.potential-card h2{margin:18px 0 7px;font-size:16px}.potential-card>p{color:#72858e;min-height:43px;font-size:10px;line-height:1.5}.potential-card>div{color:#768990;align-items:center;gap:6px;font-size:9px;display:flex}.potential-card footer{border-top:1px solid #edf1f2;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding-top:16px;display:flex}.potential-card footer>span{color:#697c86;font-size:9px}.confirmation{text-align:center}.confirmation>span{color:#118b59;background:#e2f7eb;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 15px;display:grid}.confirmation>span svg{width:30px;height:30px}.confirmation h3{margin-bottom:7px;font-size:20px}.confirmation>p{color:#71838c;font-size:11px;line-height:1.5}.confirmation dl{background:#f5f8f9;border-radius:10px;margin:22px 0;padding:8px 14px}.confirmation dl div{text-align:left;border-bottom:1px solid #e1e8ea;justify-content:space-between;align-items:center;gap:20px;min-height:40px;font-size:9px;display:flex}.confirmation dl div:last-child{border-bottom:0}.confirmation dt{color:#829199}.confirmation dd{color:#2d4754;text-align:right;margin:0;font-weight:700}.next-step{color:#116f7e;text-align:left;background:#ebfafb;border:1px solid #bfe8ed;border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px;display:flex}.next-step span{flex-direction:column;gap:3px;display:flex}.next-step strong{font-size:10px}.next-step small{font-size:9px;line-height:1.45}.privacy-note{color:#839199;grid-column:1/-1;margin:0;font-size:8px}.assigned-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.assigned-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:22px}.assigned-card header{justify-content:space-between;align-items:center;display:flex}.assigned-card header>span{color:#84949b;font-size:8px}.assigned-card h2{margin:18px 0 7px;font-size:16px}.assigned-card>p{color:#73858e;min-height:45px;font-size:10px;line-height:1.5}.location-line{color:#687d87;align-items:center;gap:6px;font-size:9px;display:flex}.assigned-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.assigned-facts span{flex-direction:column;gap:5px;display:flex}.assigned-facts small{color:#89969d;font-size:8px}.assigned-facts strong{font-size:9px;line-height:1.4}.assigned-card footer{color:#526a75;justify-content:space-between;margin-bottom:7px;font-size:9px;display:flex}.assigned-card footer strong{color:#169caf}.sub-calendar{gap:14px;display:grid}.sub-calendar article{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:13px;grid-template-columns:minmax(330px,.95fr) 1fr auto;align-items:center;gap:25px;padding:20px 22px;display:grid}.calendar-range{align-items:center;gap:16px;display:flex}.calendar-range span{flex-direction:column;gap:4px;display:flex}.calendar-range small{color:#159eb1;font-size:7px;font-weight:850}.calendar-range strong{font-size:11px}.calendar-range svg{color:#8a999f;width:15px}.sub-calendar article>div:nth-child(2) small{color:#159caf;font-size:8px;font-weight:800}.sub-calendar h2{margin:4px 0;font-size:13px}.sub-calendar p{color:#7b8c94;margin:0;font-size:9px}.toast-stack{z-index:200;gap:9px;width:min(390px,100vw - 44px);display:grid;position:fixed;bottom:22px;right:22px}.toast{color:#fff;background:#123041;border-radius:11px;grid-template-columns:20px 1fr 22px;align-items:center;gap:9px;padding:13px 14px;font-size:10px;display:grid;box-shadow:0 15px 45px #03131c47}.toast>svg{width:18px}.toast-success>svg{color:#6ee7ad}.toast-error>svg{color:#ff9aa4}.toast button{color:#8da5b0;background:0 0;border:0;padding:0}.toast button svg{width:16px}.boot-screen{color:#9dcbd3;background:var(--navy-950);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.boot-screen .brand-mark{margin-bottom:5px}.boot-screen p{font-size:11px}.login-form{background:#0a2533b3;border:1px solid #9dcbd333;border-radius:14px;gap:13px;width:min(390px,100vw - 34px);padding:24px;display:grid}.login-form label{color:#d7edf0;gap:6px;font-size:11px;font-weight:800;display:grid}.login-form input{color:#fff;background:#082332;border:1px solid #345767;border-radius:7px;padding:11px}.form-error{color:#ffabb3}.preview-bar{color:#604900;background:#fff5d7;border:1px solid #e6bd57;border-radius:9px;align-items:center;gap:12px;margin:-6px 0 22px;padding:10px 14px;font-size:11px;display:flex}.preview-bar label{align-items:center;gap:6px;margin-left:auto;font-weight:700;display:flex}.preview-bar select{background:#fff;border:1px solid #d3ad4c;border-radius:5px;padding:5px 7px}.boot-screen .spin{animation:1s linear infinite spin}.error-screen{color:#fff}.error-screen>svg{color:#ef7580}.error-screen h1{margin:0;font-size:20px}.error-screen p{color:#9bb0ba}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card>header{grid-template-columns:1fr auto}.project-summary{grid-area:2/1/auto/-1}.job-row{grid-template-columns:minmax(220px,1fr) minmax(300px,1.3fr)}.job-progress{grid-column:1}.row-actions{grid-area:2/2}.client-job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(290px,86vw);transition:transform .2s;position:fixed;left:0;transform:translate(-102%);box-shadow:20px 0 60px #00000040}.sidebar-open{transform:translate(0)}.sidebar-scrim{z-index:25;background:#030d148c;border:0;position:fixed;inset:0}.mobile-close{color:#8099a4;background:0 0;border:0;place-items:center;margin-left:auto;padding:0;display:grid}.mobile-close svg{width:19px}.menu-button{border:1px solid var(--border);color:#39525e;background:#fff;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;display:grid}.menu-button svg{width:18px}.topbar{padding:0 20px}.search-shell{flex:1}.page-content{padding:30px 22px 65px}.dashboard-grid,.schedule-layout{grid-template-columns:1fr}.span-two{grid-column:auto}.contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-calendar article{grid-template-columns:1fr auto}.sub-calendar .calendar-range{grid-column:1/-1}}@media (width<=650px){.topbar{gap:10px;height:64px}.search-shell{display:none}.role-preview{margin-left:auto}.role-preview>span{display:none}.page-content{padding:25px 15px 58px}.page-heading{flex-direction:column;align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:29px}.heading-actions,.heading-actions .button{width:100%}.metric-grid,.client-metrics{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:120px;padding:16px}.metric-card>strong{font-size:24px}.metric-card .metric-text{font-size:14px}.project-card>header{grid-template-columns:1fr;gap:17px;padding:19px}.project-card>header .button{width:100%}.project-summary{grid-area:auto;gap:8px}.project-card>.progress-track{margin:0 19px 16px}.job-row{grid-template-columns:1fr;gap:16px;padding:18px 19px}.job-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.job-progress,.row-actions{grid-area:auto}.row-actions{flex-wrap:wrap;justify-content:stretch}.row-actions button{flex:1;justify-content:center}.form-grid{grid-template-columns:1fr}.form-actions,.check-field,.callout,.privacy-note{grid-column:1}.form-actions .button{flex:1}.modal-backdrop{padding:10px}.modal{max-height:94vh}.modal-header,.modal-body{padding:19px}.schedule-list article{grid-template-columns:1fr auto;gap:10px;padding:12px 0}.schedule-list article>span:nth-child(2){grid-column:1}.schedule-list article .button{grid-area:2/2}.contract-grid,.potential-grid,.assigned-grid{grid-template-columns:1fr}.client-hero{flex-direction:column;align-items:flex-start;min-height:230px;padding:23px}.hero-progress{border-width:6px;width:90px;height:90px}.hero-progress strong{font-size:20px}.client-job-grid{grid-template-columns:1fr;padding:0 18px 18px}.client-project>header .project-summary{grid-column:auto}.client-schedule article{grid-template-columns:48px 1fr;padding:10px 0}.crew-chip{grid-column:2;width:fit-content}.assigned-facts{grid-template-columns:1fr 1fr}.sub-calendar article{grid-template-columns:1fr;gap:14px}.sub-calendar .calendar-range{grid-column:auto;gap:10px}.calendar-range strong{font-size:9px}.settings-section>.form-grid,.settings-section>.field,.settings-section>.token-list{margin-left:18px;margin-right:18px}.sticky-save{flex-direction:column;align-items:stretch}}
