body{font-family:Arial,Helvetica,sans-serif;background:#f5f7fa;color:#172a39;font-size:16px}button,a,input,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}small{font-size:.8125rem;color:#6b7883;display:block}h1,h2,h3,p{margin:0}h1{font-size:2.2rem;line-height:1.2;letter-spacing:-1.15px;font-weight:650}h2{font-size:1.15rem;font-weight:650}h3{font-size:1rem;font-weight:650}p{line-height:1.6;color:#657582}svg{flex-shrink:0}a{text-decoration:none}main{padding:25px 32px 0;max-width:1600px;width:100%;margin:auto;flex:1}.brand-sidebar [data-slot=sidebar-inner]{background:#112d3b}.brand-sidebar [data-slot=sidebar-header]{padding:28px 22px 17px}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:1rem;font-weight:800;letter-spacing:.4px}.brand-mark{height:40px;width:36px;border-radius:9px;display:grid;place-items:center;background:#d9f49b;color:#17352c}.brand-plus{display:block;font-size:.78rem;letter-spacing:6px;margin-top:1px;color:#d9f49b}.workspace-label{font-size:.7rem;letter-spacing:1.5px;color:#829aa7;margin-top:34px}.brand-sidebar [data-slot=sidebar-content]{padding:0 12px}.brand-sidebar [data-slot=sidebar-menu-button]{height:45px;font-size:.875rem;padding:10px 13px;gap:12px;border-radius:7px;color:#bdcdd6;margin-bottom:3px}.brand-sidebar [data-slot=sidebar-menu-button][data-active=true]{background:#d9f49b;color:#19382b;font-weight:650}.brand-sidebar [data-slot=sidebar-menu-button]>svg{width:19px;height:19px}.nav-separated{margin-top:24px}.nav-count{margin-left:auto;font-size:.75rem}.brand-sidebar [data-slot=sidebar-footer]{padding:18px 16px}.sidebar-help{border:1px solid #36525f;border-radius:10px;padding:17px;color:#dce7eb;margin-bottom:24px}.sidebar-help>svg{color:#d9f49b;margin-bottom:12px}.sidebar-help strong{font-size:.875rem}.sidebar-help p{color:#9eb1bc;font-size:.8125rem;margin:5px 0 13px}.sidebar-help button{font-size:.8125rem;color:#dbf3ab;display:flex;gap:18px;align-items:center}.company-footer{display:flex;gap:11px;align-items:center}.company-footer b{color:#eaf0f3;font-size:.8125rem}.company-footer small{font-size:.75rem;color:#8da7b6;margin-top:3px}.avatar{height:36px;width:36px;border-radius:50%;display:inline-grid;place-items:center;background:#355362;color:#fff;font-weight:600;font-size:.75rem}.avatar.dark{background:#e6ecef;color:#274454;border:3px solid white;box-shadow:0 0 0 1px #dfe5e9}.topbar{display:flex;justify-content:space-between;align-items:center;padding:19px 30px;border-bottom:1px solid #e3e8ec;background:#fff;gap:16px}.crumb,.top-actions,.location-label{display:flex;gap:13px;align-items:center;font-size:.8125rem;color:#6c7a85}.crumb b{color:#2d4352;font-weight:500}.top-actions{gap:23px}.location-label{gap:6px}.icon-button{position:relative;padding:4px}.icon-button i{position:absolute;right:4px;top:3px;background:#dd863c;border:2px solid white;border-radius:50%;width:7px;height:7px}.workspace-note{font-size:.75rem;color:#6a7c80;display:flex;align-items:center;gap:7px;margin-bottom:26px}.workspace-note button{display:flex;align-items:center;gap:6px;margin-left:auto;color:#4e6f58;text-decoration:underline;text-underline-offset:3px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.eyebrow{font-size:.6875rem;letter-spacing:1.65px;font-weight:700;color:#588265;margin-bottom:10px}.page-heading p:not(.eyebrow){font-size:.875rem;margin-top:11px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;font-weight:600;border-radius:7px;padding:11px 16px;min-height:42px;white-space:normal}.primary{background:#214e3b;color:#fff;border:1px solid #214e3b;box-shadow:0 2px 3px #183b2410}.primary:hover{background:#173e2d}.secondary{background:#fff;color:#2c4655;border:1px solid #d7e0e6}.secondary:hover{background:#f5f8fa}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:30px}.metric{padding:21px 21px 16px;border:1px solid #e0e6eb;border-radius:10px;background:white;text-align:left}.metric>div{display:flex;justify-content:space-between;align-items:center;color:#6c7a85;font-size:.8125rem;gap:10px}.metric>div svg{color:#80969c}.metric strong{font-size:2rem;display:block;margin:15px 0 17px;line-height:1;font-weight:550}.metric small{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;border-top:1px solid #edf1f4;padding-top:13px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-heading>span{font-size:.75rem;color:#7a8790}.division-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:19px;margin-bottom:28px}.division{border:1px solid #dce4e8;border-radius:12px;padding:23px 23px 0;min-height:345px;display:flex;flex-direction:column;background:#fff;overflow:hidden}.division.electrical{background:#edf4ef;border-color:#d6e3d9}.division-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.division-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;color:#305a46;background:#deebe1}.division-index{font-size:.625rem;letter-spacing:1.1px;color:#557162;font-weight:650}.division h2{font-size:1.4rem;line-height:1.3;letter-spacing:-.5px;margin-bottom:9px}.division p{font-size:.8125rem;max-width:235px}.construction .division-icon{background:#f6eee5;color:#9a683d}.construction .division-index{color:#936a46}.interiors .division-icon{background:#e9e9f5;color:#65658b}.interiors .division-index{color:#707295}.service-links{margin:18px 0 16px;display:grid;gap:10px}.service-links button{display:flex;align-items:center;gap:9px;font-size:.8125rem;color:#365d47;text-align:left}.service-links button>svg:last-child{margin-left:auto}.instant-link{display:flex;justify-content:space-between;align-items:center;margin:0 -23px;padding:15px 23px;background:#dcecdf;color:#284b37;font-size:.875rem;font-weight:600}.instant-link span{display:flex;gap:8px;align-items:center}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.tag-list span{display:inline-block;font-size:.75rem;padding:6px 9px;border:1px solid #e0e5e9;border-radius:5px;background:#ffffff70;color:#637079}.division-bottom{margin-top:auto;padding:27px 0 20px;display:grid;gap:13px}.division-bottom>span{font-size:.75rem;color:#82909a}.division-bottom button{font-weight:600;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid #e8ecef;padding-top:16px}.overview-bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:21px}.panel{border:1px solid #e0e6eb;border-radius:11px;background:white;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 23px;border-bottom:1px solid #edf1f3}.panel h2{font-size:1rem}.text-button{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:#436b52;font-weight:600}.empty{padding:28px 25px 32px;display:flex;align-items:center;flex-direction:column;text-align:center;gap:10px}.empty-icon{background:#f0f4f7;border-radius:12px;width:45px;height:45px;display:grid;place-items:center;color:#8597a3;margin-bottom:3px}.empty h3{font-size:.875rem}.empty p{font-size:.8125rem;max-width:340px}.empty .text-button{margin-top:5px}.quick-panel{padding:23px}.quick-panel h2{margin-bottom:10px}.quick-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:17px 0;border-bottom:1px solid #edf0f3}.quick-row:last-child{border:0;padding-bottom:0}.quick-row b,.list-row b{font-size:.8125rem;font-weight:600}.quick-row small,.list-row small{font-size:.75rem;margin-top:5px}.quick-row>svg:last-child{margin-left:auto;color:#71838e}.row-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:8px;background:#edf2f5;color:#56727f;flex-shrink:0}.list-row{display:flex;gap:12px;width:100%;align-items:center;text-align:left;padding:19px 23px;border-bottom:1px solid #edf1f4}.list-row .badge{margin-left:auto}.footer{padding:25px 0 23px;font-size:.625rem;letter-spacing:.6px;display:flex;justify-content:space-between;gap:10px;color:#8d99a2}.booking-banner{display:flex;justify-content:space-between;align-items:center;background:#eaf2ec;border:1px solid #d7e5dc;padding:22px;border-radius:11px;gap:24px;margin-bottom:25px}.booking-banner>div:first-child{display:flex;gap:17px;align-items:center}.booking-banner b{font-size:1rem;color:#2d513d}.booking-banner p{font-size:.8125rem;margin-top:7px}.booking-banner .row-icon{background:#d6e7d9;color:#436450}.flow-inline{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#55725a}.flow-inline svg{width:16px}.view-row{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px}.view-row small{font-size:.75rem}.list-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 23px;gap:15px;border-bottom:1px solid #e9eef1}.search{display:flex;align-items:center;gap:10px;width:min(440px,100%);color:#80919b}.search input{border:0;padding:6px 0;background:transparent;outline:none;width:100%;font-size:.875rem}.list-toolbar [data-slot=select-trigger]{min-width:145px}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:23px}.record-card{padding:21px;text-align:left;border:1px solid #dfe7eb;border-radius:9px;transition:border-color .2s,box-shadow .2s}.record-card:hover{border-color:#90ab98;box-shadow:0 3px 12px #284b3810}.record-top{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:20px}.record-id{font-size:.7rem;color:#8a98a2;letter-spacing:.8px}.record-card h3{margin-bottom:7px}.record-card p{font-size:.875rem}.record-meta{display:flex;flex-wrap:wrap;gap:13px;margin-top:21px;font-size:.75rem;color:#7b8b95}.record-meta span{display:flex;gap:5px;align-items:center}.record-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;border-top:1px solid #e9eff2;padding-top:15px;margin-top:18px;gap:10px}.record-card [data-slot=progress]{margin-top:15px}.badge{display:inline-flex;width:fit-content;padding:5px 8px;border-radius:5px;background:#edf2f5;color:#58717f;font-size:.75rem;line-height:1.2;font-weight:500}.badge.success{background:#e4f1e5;color:#3d7148}.badge.pending{background:#fff1d9;color:#936818}.service-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:25px}.service-options button{display:flex;align-items:center;gap:12px;border:1px solid #dfe6eb;border-radius:9px;background:white;padding:17px;font-size:.875rem;text-align:left}.service-options button>svg{margin-left:auto}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.setting{padding:24px}.setting h2{margin:17px 0 12px}.setting p{font-size:.875rem;margin-top:15px}.error-banner{background:#fff0ec;border:1px solid #e6b2a6;border-radius:8px;padding:14px 18px;color:#98442e;display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:20px}.error-banner button{text-decoration:underline}.form-dialog{width:calc(100% - 32px)!important;max-width:660px!important;max-height:90dvh;overflow-y:auto;padding:27px!important}.detail-dialog{width:calc(100% - 32px)!important;max-width:890px!important;max-height:92dvh;overflow-y:auto;padding:28px!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:8px}.field{font-size:.875rem;font-weight:500;color:#415561;display:flex;flex-direction:column;gap:8px}.field input,.field textarea,.inline-form input,.feedback-form input,.feedback-form textarea{border:1px solid #ced9e0;border-radius:6px;padding:10px 12px;font-size:.9375rem;min-width:0;background:white;width:100%;color:#203743}.field textarea{resize:vertical}.field [data-slot=select-trigger]{width:100%;min-height:43px;background:#fff}.full{grid-column:1/-1}.checks{display:grid;grid-template-columns:1fr 1fr;gap:13px;border:1px solid #dce4e9;border-radius:8px;padding:17px}.checks label{display:flex;gap:9px;align-items:center;font-size:.875rem}.form-note{font-size:.8125rem;line-height:1.5;margin-top:8px}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e4eaee;padding-top:18px;margin-top:3px}.detail-summary{display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-size:.875rem}.detail-info{font-size:.875rem;margin-bottom:8px}.detail-info>span{display:flex;align-items:center;gap:7px;color:#607887}.detail-info p{margin-top:10px;white-space:pre-wrap}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-box{border:1px solid #dce5eb;background:#f8fafb;padding:19px;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.detail-box h3,.attendance-box h3,.feedback-form h3{display:flex;gap:8px;align-items:center}.detail-box p{font-size:.875rem}.detail-box [data-slot=select-trigger]{max-width:100%;width:100%;overflow:hidden}.detail-box small{font-size:.75rem;line-height:1.5}.stage-track{display:grid;grid-template-columns:repeat(8,1fr);margin:10px 0 17px;gap:3px}.stage-track>div{text-align:center;position:relative}.stage-track>div:before{content:'';position:absolute;left:50%;top:14px;width:100%;height:2px;background:#dfe6ea}.stage-track>div:last-child:before{display:none}.stage-track>div>span{position:relative;background:#e5eaee;color:#8a969d;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;margin:0 auto 10px;font-size:.75rem}.stage-track .done>span{background:#386447;color:white}.stage-track .done:before{background:#6c9176}.stage-track small{font-size:.6875rem;line-height:1.4}.stage-track .done small{color:#3c6450;font-weight:600}.action-strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.inline-form{display:flex;gap:9px;width:100%;align-items:center}.inline-form input{flex:1;min-width:0}.inline-form button{flex-shrink:0}.code{letter-spacing:3px;font-size:1.125rem;color:#254f36}.feedback-form{border:1px solid #dce6dd;border-radius:9px;background:#f1f7f1;padding:20px;display:grid;gap:14px}.feedback-form label{font-size:.875rem}.feedback-result{background:#f0f6eb;padding:16px;border-radius:8px;font-size:.875rem}.project-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f2f6f8;padding:20px;border-radius:9px}.project-detail small{font-size:.65rem;letter-spacing:.8px;margin-bottom:8px}.project-detail b{font-size:.875rem}.attendance-box{border:1px solid #dfe6e9;padding:20px;border-radius:9px}.attendance-box p{font-size:.8125rem;margin:12px 0 18px}.attendance-box>small{margin-top:14px;font-size:.75rem}.attendance-row{padding:16px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e3e9ec;flex-wrap:wrap;font-size:.875rem}.attendance-row small{font-size:.75rem;margin-top:5px}.attendance-row .badge{margin-left:auto}.activity-feed{max-height:260px;overflow-y:auto;padding:8px 4px}.activity-item{display:flex;gap:13px;padding:10px 0}.activity-item>span{width:7px;height:7px;border-radius:50%;background:#809c88;margin-top:6px;flex-shrink:0}.activity-item b{font-size:.875rem;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere}.activity-item small{font-size:.75rem;margin-top:5px}.upload-area{display:flex;flex-direction:column;align-items:center;gap:12px;padding:25px;border:1px dashed #a8bfc9;border-radius:9px;background:#f6fafb;font-size:.875rem}.upload-area input{max-width:100%;font-size:.875rem}.file-list{display:grid;gap:8px}.file-list a{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dfe7eb;border-radius:7px;font-size:.875rem}.file-list a span{flex:1;overflow-wrap:anywhere}[data-slot=dialog-title]{font-size:1.4rem;letter-spacing:-.4px}[data-slot=dialog-description]{line-height:1.6;font-size:.875rem}[data-slot=tabs-trigger]{font-size:.875rem}[data-slot=progress]{height:6px}[data-slot=progress-indicator]{background:#537c59}
@media(min-width:1500px){main{padding-left:42px;padding-right:42px}.division{min-height:355px}}
@media(max-width:1200px){main{padding:22px}.metrics{grid-template-columns:repeat(2,1fr)}.division-grid{grid-template-columns:1fr}.division{min-height:0;padding-bottom:0}.division-top{margin-bottom:14px}.division-bottom{padding-top:20px}.division p{max-width:none}.overview-bottom{grid-template-columns:1fr}.record-grid,.settings-grid{grid-template-columns:repeat(2,1fr)}.flow-inline{display:none}.division-grid .tag-list{margin-top:15px}.service-links{grid-template-columns:repeat(3,1fr);gap:15px}.division h2{font-size:1.3rem}.service-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){main{padding:18px 16px 0}.topbar{padding:13px 16px}.location-label,.crumb>span,.crumb>svg,.top-actions .icon-button{display:none}.top-actions{gap:12px}.workspace-note{font-size:.6875rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}.workspace-note button{margin-left:0;width:100%;font-size:.6875rem;padding-left:22px}.page-heading{align-items:flex-start;flex-direction:column;gap:19px;margin-bottom:21px}h1{font-size:1.85rem}.page-heading p:not(.eyebrow){font-size:.875rem}.metrics{gap:11px;margin-bottom:23px}.metric{padding:15px}.metric>div{font-size:.75rem;align-items:flex-start}.metric>div svg{width:16px}.metric small{font-size:.6875rem;line-height:1.5}.metric small svg{display:none}.metric strong{margin:14px 0;font-size:1.8rem}.section-heading>span{display:none}.division-grid{gap:14px}.division{padding:20px 20px 0}.instant-link{margin:0 -20px;padding:15px 20px}.service-links{grid-template-columns:1fr}.panel-heading{padding:18px}.quick-panel{padding:19px}.footer{flex-direction:column;font-size:.6rem}.record-grid,.settings-grid{grid-template-columns:1fr;padding:16px}.settings-grid{padding:0}.view-row{align-items:flex-start;flex-direction:column;gap:9px}.list-toolbar{padding:16px;flex-wrap:wrap}.booking-banner{padding:17px}.booking-banner>div:first-child{align-items:flex-start;gap:12px}.booking-banner b{font-size:.875rem}.service-options{gap:10px}.service-options button{padding:12px;font-size:.8125rem;flex-wrap:wrap}.service-options .row-icon{width:29px;height:29px}.service-options button>svg{display:none}.form-grid,.detail-columns{grid-template-columns:1fr}.full{grid-column:1}.checks{grid-template-columns:1fr}.form-dialog,.detail-dialog{padding:21px!important}.stage-track{grid-template-columns:repeat(4,1fr);row-gap:15px}.stage-track>div:nth-child(4):before{display:none}.inline-form{flex-wrap:wrap}.inline-form input{flex-basis:140px}.project-detail{grid-template-columns:1fr}.action-strip{gap:9px}.list-row{padding:17px;flex-wrap:wrap}.list-row>.badge{margin-left:49px}.quick-row{gap:10px}.quick-row small{line-height:1.5}}
