@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#173137;background:#f5f7f5;font-synthesis:none;font-weight:400;--green:#133f3d;--lime:#d8ef8c;--muted:#708180;--border:#e6ebe7;--shadow:0 20px 70px #102d2b15}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button{transition:background .15s,transform .15s,box-shadow .15s}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9ac8b2;outline-offset:3px}button:disabled{cursor:default}button svg{flex-shrink:0}a,button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}button,input,select,textarea{-webkit-tap-highlight-color:transparent}input,select,textarea{min-width:0}.app-shell{min-height:100vh}.sidebar{width:248px;position:fixed;top:0;bottom:0;left:0;background:#0b2429;color:#c3d0ce;padding:36px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:43px;height:43px;border:1px solid #a9bd9c6b;background:#d8ef8c14;border-radius:12px;display:grid;place-items:center;color:#d8ef8c}.brand strong{font-size:14px;letter-spacing:1.1px;color:#fff;display:block;font-family:Manrope;font-weight:800}.brand small{font-size:9px;letter-spacing:3.1px;display:block;margin-top:5px;color:#8faaa7}.workspace-label{font-size:9px;letter-spacing:1.5px;margin:56px 14px 16px;color:#77928e;font-weight:700}.nav-item{border:0;width:100%;text-align:left;display:flex;align-items:center;gap:12px;background:none;color:#a9c0bc;padding:14px 15px;margin:4px 0;border-radius:9px;font-size:13px}.nav-item:hover{background:#ffffff09}.nav-item.active{background:#d8ef8c;color:#173c31;font-weight:650}.nav-count{font-size:10px;background:#ffffff17;padding:2px 6px;border-radius:4px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:30px}.profile-button{display:flex;align-items:center;width:100%;border:0;border-top:1px solid #78948b26;padding:22px 0 0;margin-top:12px;background:transparent;color:#fff;gap:10px;text-align:left}.profile-button strong{font-size:11px;display:block}.profile-button small{font-size:9px;color:#809e97;margin-top:5px;display:block}.profile-button>svg{margin-left:auto}.avatar{width:33px;height:33px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;font-size:10px;font-weight:700;border:2px solid white;background:#e5eee6;color:#3d5b51}.avatar.office{background:#e2eccf;color:#29493a;border:0}.avatar.mint{background:#dceade;color:#3d6f52}.avatar.lavender{background:#eae3f2;color:#806397}.avatar.peach{background:#fae6d7;color:#9e7350}.avatar.blue{background:#dfe9f4;color:#567993}.avatar.large{width:64px;height:64px;font-size:19px}.avatar.tiny{height:24px;width:24px;font-size:8px}.main-shell{margin-left:248px}.prototype-bar{height:34px;display:flex;align-items:center;gap:12px;padding:0 40px;background:#e7ecd9;font-size:9px;color:#5c6947;letter-spacing:.9px;font-weight:600}.prototype-bar>span:first-child{display:flex;gap:6px;align-items:center}.demo-dot{height:5px;width:5px;border-radius:50%;background:#7b8c4f}.prototype-explainer{font-weight:400;letter-spacing:.1px;font-size:10px;border-left:1px solid #c7d2b6;padding-left:12px}.prototype-bar button{border:0;background:transparent;display:flex;align-items:center;gap:5px;margin-left:auto;font-size:10px;letter-spacing:0;padding:6px;color:#51603e}.topbar{height:74px;padding:0 40px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#fcfdfb}.breadcrumb{font-size:11px;color:#8b9895;display:flex;gap:12px;align-items:center}.breadcrumb strong{font-weight:500;color:#465d57}.top-actions{display:flex;align-items:center;gap:20px}.demo-sync{display:flex;align-items:center;gap:6px;color:#7a8983;font-size:10px}.demo-sync>span{height:5px;width:5px;border-radius:50%;background:#849b6a}.icon-button{border:0;background:transparent;height:34px;width:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;position:relative}.icon-button:hover{background:#e8efea}.icon-button i{position:absolute;background:#c66e47;border:2px solid #fff;width:8px;height:8px;border-radius:50%;top:5px;right:6px}.top-avatar{background:#e8ecd9;border:1px solid #d6ddc4;width:33px;height:33px;border-radius:50%;font-size:10px;font-weight:700}.mobile-brand{display:none}main{max-width:1440px;padding:40px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:8px;letter-spacing:1.8px;color:#8b9a8c;font-weight:700}.page-heading h1{font-size:28px;letter-spacing:-1px;line-height:1.35;margin-top:9px;font-weight:750;color:#173b35}.page-heading p{font-size:12px;color:#82908a;margin-top:8px}.primary{border:1px solid #173f38;border-radius:8px;background:#173f38;color:#fff;padding:12px 18px;font-size:12px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:550;box-shadow:0 3px 6px #173f3810}.primary:hover{background:#28564b}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.summary-card{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px 21px;box-shadow:0 2px 3px #173f3802}.summary-icon{height:42px;width:42px;border-radius:11px;background:#f1f5ed;display:grid;place-items:center;color:#6e8867}.summary-card small{font-size:10px;color:#7b8983}.summary-value{font-family:Manrope;font-size:23px;font-weight:700;display:flex;align-items:baseline;gap:10px;margin-top:3px}.summary-value>span{font-family:DM Sans;font-size:9px;color:#a1aaa4;font-weight:400}.calendar-panel{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 3px 8px #173f3803}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:23px 26px;gap:15px}.month-nav{display:flex;align-items:center;gap:16px}.month-nav h2{font-size:18px;font-weight:750;letter-spacing:-.5px}.month-nav>div{display:flex;gap:0}.month-nav .icon-button{width:26px;height:28px}.today-button{background:#fff;border:1px solid #e1e7e2;border-radius:5px;padding:5px 10px;color:#6e7c75;font-size:9px;white-space:nowrap}.view-switch{display:flex;gap:3px;padding:3px;background:#f1f4f0;border-radius:7px}.view-switch button{background:none;border:0;border-radius:5px;font-size:10px;color:#8a958e;padding:7px 13px}.view-switch button.selected{background:#fff;box-shadow:0 1px 3px #1e3d2512;color:#274c3b;font-weight:600}.filter-row{display:flex;align-items:center;gap:12px;padding:0 26px 21px;border-bottom:1px solid var(--border)}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--border);background:#fcfdfb;border-radius:7px;height:35px;padding:0 11px;width:300px;color:#98a29c}.search input{border:0;outline:0;background:transparent;font-size:10px;width:100%;color:#385344}.search input::placeholder{color:#a0a9a1}.filter-row select{border:1px solid var(--border);border-radius:6px;padding:8px 26px 8px 11px;background:#fff;font-size:10px;color:#6f7e72}.text-icon{padding:0;background:none;border:0;display:flex}.visibility-label{display:flex;align-items:center;gap:6px;margin-left:auto;color:#8a988b;font-size:9px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;padding:20px 26px;background:#fcfdfb;border-bottom:1px solid var(--border)}.week-day{border:1px solid transparent;background:none;border-radius:10px;padding:10px 5px 7px;display:flex;flex-direction:column;align-items:center;gap:7px}.week-day>span:first-child{font-size:10px;color:#8d998e}.week-day strong{font-family:Manrope;font-size:18px;font-weight:650}.week-day.picked{background:#173f38;color:#fff;box-shadow:0 4px 10px #173f3819}.week-day.picked>span:first-child{color:#b9cec1}.day-dots{height:8px;display:flex;gap:3px;align-items:center}.day-dots i{height:3px;width:3px;border-radius:50%;background:#9dac93}.month-calendar{border-bottom:1px solid var(--border)}.weekday-head{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;background:#fcfdfb;color:#8c998e;font-size:9px;letter-spacing:.7px;padding:12px 0}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-day{border:0;border-top:1px solid #edf0eb;border-right:1px solid #edf0eb;background:#fff;text-align:left;min-height:91px;padding:9px 8px;color:#526451;overflow:hidden}.month-day:nth-child(7n){border-right:0}.month-day>span{display:inline-flex;align-items:center;justify-content:center;height:25px;width:25px;font-size:10px;font-weight:550}.month-day.muted{background:#fafbf8;color:#c7cfc2}.month-day.picked{background:#f0f5e9;box-shadow:inset 0 0 0 1.5px #a6b98b}.month-day .today-circle{background:#173f38;border-radius:50%;color:#fff}.month-jobs{display:flex;flex-direction:column;gap:4px;margin-top:4px}.month-jobs small{font-size:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:3px 5px;background:#f0f3e8;color:#657347}.month-jobs small.installation{background:#e7efdb;color:#668444}.month-jobs small.inspection{background:#e3edf5;color:#598099}.month-jobs small.dismantle{background:#f5e9df;color:#a87850}.month-jobs small.service{background:#eee7f5;color:#8a6c9e}.month-dots{display:none}.agenda-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 27px 18px}.agenda-heading .eyebrow{font-size:7px;letter-spacing:1.6px}.agenda-heading h3{font-size:15px;margin-top:5px;font-weight:700}.job-count{font-size:9px;color:#95a08f}.agenda-list{padding:0 26px 24px;display:flex;flex-direction:column;gap:13px}.job-card{width:100%;text-align:left;border:1px solid #e5eae1;border-radius:9px;display:flex;align-items:center;padding:18px 20px 18px 0;background:#fff;position:relative;overflow:hidden;min-height:115px}.job-card:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:#aac17c}.job-card.inspection:before{background:#91b5d3}.job-card.dismantle:before{background:#d5a47a}.job-card.service:before{background:#b5a1d0}.job-card.meeting:before{background:#9dafb0}.job-card:hover{box-shadow:0 5px 20px #223a2810;border-color:#c5d1bd}.job-time{width:92px;flex-shrink:0;text-align:center;border-right:1px solid #edf0e9;margin-right:21px;padding:6px 14px}.job-time strong{font-size:15px;font-family:Manrope;display:block;font-weight:750}.job-time span{font-size:10px;color:#9ba591;display:block;margin-top:5px}.job-time small{font-size:9px;display:block;color:#6c8162;margin-top:7px}.job-main{min-width:0;flex:1}.job-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.job-type{font-size:7px;letter-spacing:.6px;font-weight:650;text-transform:uppercase;padding:4px 6px;border-radius:4px;display:inline-flex;background:#edf3e3;color:#7d9259}.job-type.inspection{background:#e9f1f7;color:#6b8ba4}.job-type.dismantle{background:#f8eee3;color:#b38d60}.job-type.service{background:#f1ecf7;color:#947bac}.job-type.meeting{background:#e8efee;color:#6b8b86}.status{display:inline-flex;align-items:center;gap:3px;font-size:8px;color:#8b9a7c}.status.provisional{color:#b39865}.status.cancelled{color:#b57d72}.job-main h3{font-size:15px;font-weight:750;margin:8px 0 6px;letter-spacing:-.25px}.job-main p{font-size:9px;color:#98a18f;display:flex;align-items:center;gap:5px;line-height:1.5}.job-crew{text-align:right;padding-left:12px;margin-left:20px;min-width:92px}.avatar-stack{display:flex;justify-content:flex-end;padding-right:3px}.avatar-stack .avatar{margin-left:-7px}.job-crew small{font-size:8px;display:block;color:#9ba48f;margin-top:6px}.job-chevron{margin-left:22px;color:#aab49c}.job-mobile-team{display:none}.job-card.cancelled{opacity:.62;background:#fafaf7}.job-card.cancelled h3{text-decoration:line-through}.calendar-footer{padding:15px 26px;border-top:1px solid var(--border);font-size:8px;color:#94a088;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.legend-dot{height:5px;width:5px;border-radius:50%;margin-left:13px;background:#aac17c}.legend-dot:first-child{margin-left:0}.legend-dot.inspection{background:#91b5d3}.legend-dot.dismantle{background:#d5a47a}.legend-dot.service{background:#b5a1d0}.page-footer{display:flex;justify-content:space-between;align-items:center;margin-top:27px;color:#a3ad9a;font-size:8px}.page-footer strong{font-size:8px;letter-spacing:1px;font-weight:600}.page-footer strong span{font-size:7px;letter-spacing:1.8px;margin-left:7px;color:#bec5b8}.empty{text-align:center;padding:28px 20px 38px;color:#91a087}.empty>span{width:55px;height:55px;background:#f1f5eb;border-radius:50%;display:inline-grid;place-items:center;margin-bottom:10px}.empty h3{font-size:16px;color:#5a7052;margin:10px 0}.empty p{font-size:11px;line-height:1.7;margin-bottom:18px}.empty.small{padding:25px 10px 12px}.secondary{background:#fff;border:1px solid #dce4d6;border-radius:7px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#5b7450}.secondary:hover{background:#f1f5eb}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.team-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px;text-align:center}.team-card .sample-label{display:block;font-size:7px;letter-spacing:1.4px;color:#a1ac95;margin-top:18px}.team-card h2{font-size:18px;margin-top:7px}.team-card p{font-size:11px;color:#98a18d;margin-top:7px}.team-meta{display:flex;justify-content:center;gap:6px;align-items:center;font-size:11px;color:#778c68;margin:22px 0}.team-card .secondary{width:100%}.mobile-nav{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#071e26a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:28px}.modal{background:#fff;border:1px solid #ffffff50;max-height:calc(100dvh - 56px);width:600px;max-width:100%;border-radius:18px;overflow-y:auto;box-shadow:var(--shadow);outline:none}.modal.compact{width:480px}.modal-header{position:sticky;top:0;z-index:3;background:#ffffffed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:17px 24px;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:16px;font-weight:750}.detail-banner{padding:28px;background:#f2f6e9}.detail-banner.inspection{background:#edf4f9}.detail-banner.service{background:#f3eff7}.detail-banner.dismantle{background:#faf1e8}.detail-banner h2{font-size:26px;letter-spacing:-.7px;margin:12px 0}.detail-body{padding:26px}.detail-row{display:flex;gap:15px;margin-bottom:26px;align-items:flex-start}.detail-row>svg{width:18px;color:#8ca17b;margin-top:3px;flex-shrink:0}.detail-row small,.notes-block small{display:block;font-size:8px;letter-spacing:1.1px;color:#a0ae91;font-weight:650;margin-bottom:7px}.detail-row strong{display:block;font-size:13px;font-weight:600}.detail-row p{font-size:11px;color:#9aa78d;margin-top:5px}.muted-copy{display:block;font-size:9px;color:#abb49f;margin-top:6px}.staff-pills{display:flex;gap:7px;flex-wrap:wrap}.staff-pills>span{font-size:10px;display:inline-flex;gap:5px;align-items:center;background:#f5f7ef;border-radius:20px;padding:3px 9px 3px 3px}.notes-block{background:#f7f9f3;border:1px solid #ebf0e3;border-radius:9px;padding:17px}.notes-block p{font-size:12px;line-height:1.9;white-space:pre-wrap;color:#6f8262}.reference{font-size:10px;color:#9fac92;margin-top:18px}.reference strong{color:#718466;margin-left:10px;font-weight:500}.detail-actions{display:flex;gap:12px;margin-top:25px}.detail-actions .primary{flex:1}.danger-button{border:1px solid #edddd5;background:#fff;color:#a96b57;font-size:11px;border-radius:8px;padding:10px 16px}.event-form{padding:24px}.form-intro{font-size:12px;line-height:1.8;color:#8b9a80;margin-bottom:22px}.event-form>label,.form-grid>label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:550;margin-bottom:17px;color:#5d7551}.event-form label span{font-size:10px;color:#a7b299}.event-form input:not([type=checkbox]),.event-form select,.event-form textarea{width:100%;background:#fcfdf9;border:1px solid #e2e9d8;border-radius:7px;padding:11px 12px;color:#35532a;font-size:12px;min-height:41px}.event-form input::placeholder,.event-form textarea::placeholder{color:#a5b096;font-size:11px}.event-form textarea{resize:vertical;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.event-form fieldset{border:0;padding:0;margin:0 0 20px}.event-form legend{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.event-form fieldset>p{font-size:10px;color:#9ba98e;margin:7px 0 13px}.staff-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.staff-picker>label{display:flex;align-items:center;gap:8px;border:1px solid #e4eadb;border-radius:8px;padding:10px;cursor:pointer;position:relative}.staff-picker>label.checked{background:#f4f8eb;border-color:#b4c99b}.staff-picker input{position:absolute;opacity:0;height:1px;width:1px}.staff-picker label:focus-within{outline:2px solid #749d50}.staff-picker strong{font-size:10px;font-weight:600;display:block}.staff-picker small{font-size:8px;color:#9cab8c;display:block;margin-top:3px}.staff-picker .check-box{width:16px;height:16px;border:1px solid #ccd9bd;border-radius:4px;margin-left:auto;display:grid;place-items:center;flex-shrink:0}.staff-picker .checked .check-box{background:#446a36;color:#fff;border-color:#446a36}.text-button{border:0;padding:8px 0;background:none;font-size:10px;color:#7c965e;display:flex;gap:6px;align-items:center}.form-note{display:flex;align-items:flex-start;gap:8px;padding:13px;background:#f5f7ef;font-size:10px;line-height:1.6;color:#94a07f;border-radius:7px;margin:15px 0}.form-note svg{flex-shrink:0}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-actions button{min-width:100px}.error{font-size:11px;color:#a45a45;background:#fcf0e8;padding:12px;border-radius:6px}.overlay-content{padding:24px}.viewer-choice{display:flex;align-items:center;width:100%;gap:12px;border:1px solid #e4eadb;background:#fff;border-radius:9px;padding:14px;text-align:left;margin-bottom:9px}.viewer-choice.chosen{background:#f2f6e9;border-color:#b7c99f}.viewer-choice>span:nth-child(2){flex:1}.viewer-choice strong{font-size:12px;font-weight:600;display:block}.viewer-choice small{display:block;font-size:10px;color:#97a686;margin-top:4px}.privacy-note{display:flex;gap:10px;background:#f5f7ef;border-radius:8px;padding:14px;margin-top:20px;color:#9cac89}.privacy-note svg{flex-shrink:0}.privacy-note p{font-size:10px;line-height:1.7}.settings-card{border:1px solid #e2e9d9;background:#f7f9f1;padding:19px;border-radius:10px;color:#7e9569;margin-bottom:18px}.settings-card h3{font-size:14px;color:#48663b;margin:10px 0}.settings-card p{font-size:11px;line-height:1.8;color:#94a581}.settings-card.pale{background:#fffdf5;border-color:#eee9d2;color:#b5a46e}.settings-card.pale h3{color:#8b7b48}.settings-card.pale p{color:#ab9e77}.setting-line{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:25px 0}.setting-line strong{font-size:12px;display:block;font-weight:600}.setting-line small{font-size:9px;display:block;color:#9cab8a;margin-top:6px}.toggle{background:#dde5d4;border:0;width:39px;height:23px;border-radius:20px;padding:3px;flex-shrink:0}.toggle span{display:block;background:#fff;border-radius:50%;width:17px;height:17px;box-shadow:0 1px 3px #0002}.toggle.on{background:#5c7c3b}.toggle.on span{margin-left:auto}.settings-link{display:flex;gap:12px;align-items:center;width:100%;border:0;border-bottom:1px solid #edf1e5;padding:17px 2px;background:#fff;font-size:12px;color:#81966c}.settings-link>svg:last-child{margin-left:auto}.danger-solid{border:0;border-radius:8px;padding:11px 16px;background:#9b5b42;color:#fff;font-size:11px}.overlay-content>p:not(.form-intro){font-size:12px;line-height:1.8;color:#8a9a79}.notice{display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf1e5;padding:18px 0}.notice>svg{color:#90a17a}.notice>div{flex:1}.notice strong{font-size:11px;display:block;font-weight:550}.notice small{font-size:9px;color:#9eac8b;display:block;margin-top:5px}.notice i{width:6px;height:6px;background:#8fa466;border-radius:50%}.notice.read{opacity:.6}.toast{position:fixed;bottom:30px;left:calc(50% + 124px);transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:10px;background:#173f38;color:#fff;padding:14px 18px;border-radius:10px;box-shadow:0 8px 35px #0b242930;font-size:12px;max-width:calc(100% - 40px)}.toast>svg{color:#d8ef8c}.toast button{background:none;border:0;color:#b6ccbd;display:flex;margin-left:10px}.modal-backdrop .modal-backdrop{background:#071e2680}@media(min-width:1600px){main{padding-top:48px}.month-day{min-height:108px}}@media(max-width:1180px){.sidebar{width:216px;padding:30px 18px}.main-shell{margin-left:216px}main{padding:30px}.topbar,.prototype-bar{padding-left:30px;padding-right:30px}.page-heading h1{font-size:24px}.summary-card{padding:17px 14px;gap:10px}.summary-value>span{display:none}.visibility-label{display:none}.toast{left:calc(50% + 108px)}.month-nav{gap:8px}.month-nav h2{font-size:16px}.calendar-toolbar{padding:20px}.month-day{min-height:82px}.month-jobs small{font-size:7px}.job-crew{margin-left:8px}.job-chevron{margin-left:12px}.brand strong{font-size:12px}}@media(max-width:850px){.sidebar{display:none}.main-shell{margin-left:0}.mobile-brand{display:block}.breadcrumb{display:none}.topbar{height:74px;padding:0 24px;background:#0b2429;color:#fff}.mobile-brand .brand strong{font-size:12px}.mobile-brand .brand-mark{height:36px;width:36px;border-radius:9px}.mobile-brand .brand-mark svg{width:21px}.mobile-brand .brand small{font-size:8px;letter-spacing:2.4px}.top-actions{gap:10px}.top-actions .icon-button{color:#d1ddd2}.top-avatar{background:#d8ef8c}.demo-sync{display:none}.prototype-bar{height:32px;padding:0 24px;font-size:8px;letter-spacing:.7px}.prototype-explainer{display:none}.prototype-bar button{font-size:9px}.page-heading h1{font-size:25px}.page-heading .eyebrow{font-size:7px}.page-heading p{font-size:11px}.new-event{padding:11px 13px;font-size:11px}.summary-grid{gap:10px;margin:25px 0}.summary-card{padding:16px 13px}.summary-card small{font-size:9px}.summary-icon{height:34px;width:34px;border-radius:9px}.summary-icon svg{width:18px}.summary-value{font-size:21px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fffffff5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid #e5eadd;display:flex;justify-content:space-around;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 -5px 20px #142e1710}.mobile-nav button{border:0;background:none;display:flex;flex-direction:column;gap:5px;align-items:center;font-size:8px;color:#a2af93;min-width:46px}.mobile-nav button.active{color:#355b2d}.mobile-nav .mobile-add{height:42px;width:42px;min-width:42px;border-radius:13px;background:#173f38;color:#d8ef8c;justify-content:center;box-shadow:0 3px 8px #173f3820}.page-footer{margin-bottom:80px}.toast{left:50%;bottom:100px}.calendar-panel{border-radius:12px}.month-day{min-height:88px}}@media(max-width:600px){main{padding:25px 16px}.topbar{padding:0 19px;height:69px}.prototype-bar{padding:0 16px}.page-heading{align-items:flex-start;gap:8px}.page-heading h1{font-size:24px;letter-spacing:-.9px;max-width:270px;line-height:1.35;margin-top:8px}.page-heading p{font-size:10px;margin-top:9px;line-height:1.6}.page-heading .new-event{display:none}.summary-grid{gap:7px;margin:23px 0}.summary-card{display:block;padding:13px 11px;border-radius:10px;position:relative}.summary-icon{position:absolute;right:9px;top:11px;height:23px;width:23px;border-radius:7px;background:transparent}.summary-icon svg{height:15px;width:15px;color:#94a683}.summary-card small{font-size:8px;display:block;margin-bottom:10px;padding-right:20px;line-height:1.5}.summary-value{font-size:23px;letter-spacing:-.7px}.calendar-toolbar{padding:18px 14px 13px;display:block}.month-nav{gap:6px;justify-content:space-between}.month-nav h2{font-size:16px;letter-spacing:-.4px;margin-right:auto}.month-nav .today-button{font-size:8px;padding:6px 8px;margin-left:4px}.month-nav .icon-button{width:27px}.view-switch{margin-top:16px;width:100%;gap:3px}.view-switch button{flex:1;font-size:10px;padding:7px 13px}.filter-row{padding:0 14px 14px;gap:7px}.search{width:auto;flex:1;min-width:0;height:34px;padding:0 9px;gap:7px}.search input{font-size:9px}.search svg{width:14px}.filter-row select{font-size:9px;width:103px;padding:8px}.weekday-head{padding:11px 0;font-size:8px}.month-day{min-height:55px;padding:5px 3px;text-align:center}.month-day>span{font-size:10px;width:23px;height:23px}.month-day.picked{background:#eaf0dd;box-shadow:inset 0 0 0 1px #aec08f}.month-day.picked>span{background:#173f38;color:#fff;border-radius:50%}.month-jobs{display:none}.month-dots{display:flex;height:12px;align-items:center;justify-content:center;gap:3px}.month-dots i{height:3px;width:3px;border-radius:50%;background:#96a785}.month-dots i.installation{background:#99b56d}.month-dots i.inspection{background:#80a4c7}.month-dots i.service{background:#b29acb}.month-dots i.dismantle{background:#d1a173}.agenda-heading{padding:21px 15px 15px}.agenda-heading .eyebrow{font-size:6px;letter-spacing:1.4px}.agenda-heading h3{font-size:13px;letter-spacing:-.3px}.job-count{font-size:8px}.agenda-list{padding:0 12px 18px;gap:10px}.job-card{padding:14px 10px 14px 0;border-radius:8px;min-height:118px;align-items:flex-start}.job-time{width:56px;padding:5px 6px;margin-right:12px;margin-top:4px}.job-time strong{font-size:12px}.job-time span{font-size:8px;margin-top:5px}.job-time small{font-size:8px}.job-main h3{font-size:13px;margin-top:7px;margin-bottom:6px}.job-main p{font-size:8px;line-height:1.6;align-items:flex-start}.job-main p svg{width:11px;height:11px;margin-top:1px;flex-shrink:0}.job-type{font-size:6px;padding:4px 5px;letter-spacing:.4px}.status{font-size:6px;gap:1px}.status svg{width:10px}.job-top{gap:6px}.job-crew{display:none}.job-chevron{width:14px;margin-left:5px;margin-top:36px;flex-shrink:0}.job-mobile-team{display:flex;gap:4px;align-items:center;color:#94a283;font-size:7px;margin-top:9px}.job-mobile-team svg{width:11px}.calendar-footer{padding:13px 14px;font-size:6px;gap:5px}.legend-dot{width:4px;height:4px;margin-left:7px}.page-footer{display:block;text-align:center;margin-top:20px;font-size:7px;line-height:2}.page-footer strong{display:block;margin-top:5px;font-size:7px}.page-footer strong span{font-size:6px}.week-strip{padding:14px 10px;gap:3px}.week-day{border-radius:8px;padding:8px 2px 5px;gap:6px}.week-day strong{font-size:17px}.week-day>span:first-child{font-size:8px}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal.compact{max-height:94dvh;width:100%;border-radius:20px 20px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.modal-header{padding:14px 19px}.modal-header h2{font-size:14px}.detail-banner{padding:23px}.detail-banner h2{font-size:24px}.detail-body{padding:23px}.detail-row strong{font-size:12px}.event-form{padding:20px}.event-form input:not([type=checkbox]),.event-form select,.event-form textarea{font-size:16px;min-height:44px}.event-form label{font-size:11px}.form-grid{gap:10px}.staff-picker{grid-template-columns:1fr}.staff-picker>label{padding:12px}.staff-picker strong{font-size:12px}.staff-picker small{font-size:10px}.staff-picker .avatar{width:34px;height:34px}.staff-picker .check-box{width:19px;height:19px}.form-actions{position:sticky;bottom:0;background:#fff;padding:15px 0 4px;border-top:1px solid #edf1e5}.form-actions>button{flex:1;padding:13px;font-size:12px}.overlay-content{padding:20px}.team-grid{grid-template-columns:1fr;gap:15px}.team-card{padding:24px}.team-card h2{font-size:19px}.toast{font-size:11px;bottom:94px;padding:13px 15px;min-width:250px;max-width:calc(100% - 28px)}.empty{padding:22px 15px 28px}.empty h3{font-size:14px}.empty p{font-size:10px}.mobile-nav button{font-size:8px}.detail-actions{flex-direction:column}.detail-actions button{padding:12px}.staff-pills>span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.job-card.breakdown:before,.month-dots i.breakdown{background:#cf8774}.job-card.examination:before,.month-dots i.examination{background:#75a99c}.job-type.breakdown,.month-jobs small.breakdown{background:#fae9e3;color:#b37460}.job-type.examination,.month-jobs small.examination{background:#e5f1ec;color:#6c9582}@media(max-width:600px){.month-day>span{font-size:13px}.weekday-head{font-size:10px}.month-nav h2{font-size:17px}.view-switch button{font-size:12px}.filter-row select,.search input{font-size:11px}.summary-card small{font-size:10px}.page-heading p{font-size:12px}.job-main h3{font-size:15px}.job-main p{font-size:10px}.job-type,.status{font-size:8px}.job-time strong{font-size:14px}.job-time span{font-size:10px}.job-mobile-team{font-size:9px}.calendar-footer{font-size:8px}.agenda-heading h3{font-size:15px}.agenda-heading .eyebrow{font-size:8px}.job-count{font-size:10px}.month-grid,.agenda-heading{scroll-margin-top:12px}.mobile-nav button{font-size:10px}.prototype-bar{font-size:8px}.prototype-bar button{font-size:10px}.page-footer{font-size:8px}}.catalog-admin{margin-bottom:28px}.catalog-heading{padding:20px;background:#eef3e6;border-radius:12px}.catalog-heading h3{font-size:19px;margin:8px 0}.catalog-heading p,.catalog-confirm p{font-size:12px;line-height:1.7;color:#657a70}.catalog-section{margin-top:24px}.catalog-section h4{display:flex;align-items:center;gap:9px;font-size:14px;margin:0 0 16px}.catalog-section h4 span{margin-left:auto;background:#edf2e7;border-radius:15px;padding:4px 9px;font-size:11px}.catalog-form{display:grid;gap:12px;padding:16px;background:#f7f9f6;border:1px solid #e5ebe2;border-radius:10px}.catalog-form label{display:grid;gap:7px;font-size:11px;font-weight:600}.catalog-form label span{font-weight:400;color:#7c8b83}.catalog-form input{width:100%;padding:12px;border:1px solid #dfe7de;border-radius:7px;background:#fff;font-size:16px}.catalog-form .primary{justify-content:center}.catalog-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf0eb;min-width:0}.catalog-row>div{flex:1;min-width:0}.catalog-row strong{display:block;font-size:12px;overflow-wrap:anywhere}.catalog-row small{display:block;color:#7b8a81;font-size:10px;margin-top:5px}.catalog-row button{flex-shrink:0}.catalog-confirm{padding:16px;border:1px solid #e4c7b5;background:#fff8f0;border-radius:10px;margin-top:16px}.catalog-confirm>div{display:flex;gap:12px;margin-top:12px}.catalog-confirm strong{font-size:13px}.catalog-list{margin-top:6px}.job-card .job-project{font-size:12px;color:#496557;margin:6px 0;display:block}.detail-project{font-size:13px;margin:10px 0 14px;color:#4b6b5b;line-height:1.5}@media(max-width:600px){.job-card .job-project{font-size:11px;line-height:1.5}}.month-dots i.installation,.legend-dot.installation,.job-card.installation:before{background:#45e636}.month-dots i.dismantle,.legend-dot.dismantle,.job-card.dismantle:before{background:#e32636}.job-type.installation,.month-jobs small.installation{background:#45e636;color:#12330d}.job-type.dismantle,.month-jobs small.dismantle{background:#e32636;color:#fff}.detail-banner.installation{background:#e6fbdf}.detail-banner.dismantle{background:#ffebed}.catalog-form select,.access-label select{font-size:16px;padding:9px 10px;border:1px solid #dfe7de;border-radius:7px;background:#fff;color:#173137;max-width:100%}.access-label{display:flex;gap:8px;align-items:center;margin-top:9px;font-size:10px;color:#718177}.access-label select{font-size:12px;padding:7px 9px}.month-dots{gap:2px}.month-dots i{width:8px;height:8px;flex:0 0 8px}.repeat-fields{display:grid;gap:14px}.repeat-fields>p,.series-note{font-size:11px;color:#708177;line-height:1.6}.series-note{padding:10px 0}.cancel-scope{display:grid;gap:8px;font-size:12px;margin-bottom:18px}.cancel-scope select{padding:12px;border:1px solid #dfe7de;border-radius:8px;background:#fff;color:#173137;font-size:16px}.sidebar{height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(30px,env(safe-area-inset-bottom))}.sidebar>*{flex-shrink:0}.modal{min-width:0;overscroll-behavior:contain}.event-form,.event-form fieldset,.event-form label,.event-form section,.event-form .form-grid{min-width:0;max-width:100%;box-sizing:border-box}.event-form fieldset{min-inline-size:0;width:100%;margin-inline:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-form>label,.event-form .repeat-fields>label{display:flex;flex-direction:column;gap:7px;width:100%}.event-form input:not([type=checkbox]),.event-form select,.event-form textarea{display:block;min-width:0;max-width:100%;box-sizing:border-box}.event-form input[type=date],.event-form input[type=time]{-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align:left}.event-form input::-webkit-date-and-time-value{text-align:left;min-height:1.3em}.event-form .staff-picker{min-width:0}.staff-picker>label>span{min-width:0}.staff-picker strong{overflow-wrap:anywhere}.event-form section ul,.event-form section li{min-width:0;max-width:100%}.event-form .form-actions{gap:10px}.event-form .form-actions>button{min-width:0}@media(max-width:360px){.repeat-fields .form-grid{grid-template-columns:minmax(0,1fr)}}.event-form .repeat-fields>.weekly-toggle{flex-direction:row;align-items:center;gap:10px;margin:0}.weekly-toggle input{width:19px;height:19px;accent-color:#133f3d;flex-shrink:0}.event-form .weekly-toggle span{font-size:12px;color:#35532a;font-weight:600}.legacy-repeat{padding:12px;background:#f5f7ee;border-radius:8px}.legacy-repeat p{font-size:11px;line-height:1.6;color:#65765d}.detail-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#f5f8ef;border-radius:10px;padding:16px;margin-bottom:20px}.detail-specs small{display:block;font-size:9px;letter-spacing:1px;color:#80926c}.detail-specs strong{display:block;margin-top:8px;font-size:15px;color:#35532a;overflow-wrap:anywhere}.official-brand{flex-direction:column;align-items:flex-start;gap:8px}.official-brand img{display:block;width:168px;max-width:100%;height:auto;background:#fff;border-radius:4px}.official-brand>small{font-size:10px;letter-spacing:3px;color:#c2d3c8;margin:0 0 0 2px;font-weight:600}.mobile-brand .official-brand{gap:3px}.mobile-brand .official-brand img{width:108px;height:auto}.mobile-brand .official-brand>small{font-size:7px;letter-spacing:2px;line-height:9px}.calendar-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.calendar-actions+.summary-grid,main>.summary-grid:first-child{margin-top:0}@media(max-width:600px){.calendar-actions .new-event{display:none}.calendar-actions{margin-bottom:16px}}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{min-width:0}.summary-period{grid-column:1/-1;color:#708180;font-size:10px;line-height:1.5}.summary-installation .summary-icon,.summary-installation .summary-icon svg{color:#277c20}.summary-dismantle .summary-icon,.summary-dismantle .summary-icon svg{color:#c51d2b}@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.day-dots{gap:2px}.day-dots i{width:8px;height:8px;flex:0 0 8px}.day-dots i.installation{background:#45e636}.day-dots i.dismantle{background:#e32636}.day-dots i.inspection{background:#80a4c7}.day-dots i.service{background:#b29acb}.day-dots i.breakdown{background:#cf8774}.day-dots i.examination{background:#75a99c}.personal-greeting{font-size:22px;line-height:1.3;letter-spacing:-.5px;color:#173b35;overflow-wrap:anywhere;min-width:0}.access-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f5f7f5}.access-panel{background:#fff;border:1px solid #e6ebe7;border-radius:18px;padding:30px;width:min(100%,420px);display:grid;gap:18px;box-shadow:0 20px 70px #102d2b15}.access-panel>img{width:160px;height:auto}.access-panel>small{letter-spacing:2px;font-size:9px;color:#708180}.access-panel h1{font-size:25px}.access-panel p{font-size:13px;line-height:1.6}.access-panel form{display:grid;gap:16px}.access-panel label{display:grid;gap:7px;font-size:12px;font-weight:600}.access-panel input{width:100%;padding:12px;border:1px solid #d8e2de;border-radius:8px}.access-panel [role=alert]{color:#a02f31}.connection-warning{position:sticky;top:0;z-index:80;background:#fff2d6;color:#623d11;padding:12px 20px;font-size:12px}.connection-warning button{margin-left:10px;border:1px solid currentColor;border-radius:6px;background:#fff;padding:5px 10px}.month-week{display:contents}.month-week.has-spans{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-column:1/-1;position:relative}.week-strip.has-spans{position:relative}.duration-note{font-size:11px;line-height:1.6;color:#708180;margin:-3px 0 17px}.duration-badge{font-size:9px;white-space:nowrap;border:1px solid #d9e4d5;border-radius:4px;padding:1px 5px;color:#60785a;background:#f2f6ed}.month-week.has-spans>.month-day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.month-week.has-spans>.month-day>span{flex-shrink:0}@media(max-width:600px){.month-week.has-spans>.month-day>span{align-self:center}}:root{--safe-area-top:env(safe-area-inset-top,0px)}.prototype-bar{height:calc(34px + var(--safe-area-top));border-top:var(--safe-area-top) solid #0b2429}@media(max-width:850px){.prototype-bar{height:calc(32px + var(--safe-area-top))}}@media(max-width:600px){.modal-backdrop{padding-top:var(--safe-area-top)}.modal,.modal.compact{max-height:min(94dvh,calc(100dvh - var(--safe-area-top)))}}.calendar-spans{position:absolute;top:38px;left:0;right:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:20px;gap:0;z-index:2;pointer-events:none}.event-span{display:flex;align-items:center;align-self:start;gap:4px;min-width:0;margin:0 3px;padding:3px 5px;border:0;border-radius:3px;background:#e7efdb;color:#315b26;font-size:8px;line-height:normal;text-align:left;pointer-events:auto}.event-span.installation{background:#45e636;color:#12330d}.event-span.dismantle{background:#e32636;color:#fff}.event-span.inspection{background:#d8e8f3;color:#325c7a}.event-span.service{background:#e9def4;color:#684681}.event-span.breakdown{background:#fae9e3;color:#8c4b38}.event-span.examination{background:#e5f1ec;color:#3b6a55}.event-span:hover{filter:brightness(.96)}.event-span:focus-visible{outline:2px solid #173f38;outline-offset:1px;z-index:1}.event-span-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.event-span-time{font-weight:700}.event-span-continuation{flex:0 0 auto;font-size:12px;font-weight:700;line-height:0}.event-span.continues-before{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.event-span.continues-after{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.month-week,.week-strip{position:relative}.week-strip .calendar-spans{left:26px;right:26px;top:auto;bottom:20px}@media(max-width:1180px){.event-span{font-size:7px}}@media(max-width:600px){.event-span{gap:2px}.week-strip .calendar-spans{left:10px;right:10px;bottom:14px}}
