:root{color:#2d2633;font-synthesis:none;--ink:#2d2633;--muted:#746c7a;--line:#e6e0e9;--purple:#71528f;--purple-dark:#4f3868;--lavender:#f0e9f7;--mint:#dff4eb;--danger:#a64242;background:#f6f4f8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f7f5f8;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:var(--purple);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:.3rem;font-size:clamp(1.8rem,3vw,2.4rem)}h2{margin-bottom:.35rem;font-size:1.12rem}p{color:var(--muted)}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;z-index:20;background:#31263c;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:0 10px 24px;font-size:1.15rem;display:flex}.brand__mark{width:36px;height:36px;color:var(--purple-dark);background:#dec8ee;border-radius:12px;place-items:center;display:inline-grid}.sidebar__nav{gap:5px;display:grid}.nav-item{color:#d9d0df;border-radius:11px;align-items:center;gap:11px;min-height:44px;padding:10px 12px;font-weight:500;display:flex}.nav-item:hover,.nav-item--active{color:#fff;background:#4a3a58}.nav-item em{color:#302630;background:#ebca74;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:.72rem;font-style:normal;display:grid}.sidebar__footer{border-top:1px solid #504259;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;display:flex}.user-chip{align-items:center;gap:9px;min-width:0;display:flex}.user-chip>span,.avatar{width:34px;height:34px;color:var(--purple-dark);background:#e6d7ef;border-radius:50%;flex:0 0 34px;place-items:center;font-weight:700;display:grid}.user-chip strong,.user-chip small{white-space:nowrap;text-overflow:ellipsis;max-width:125px;display:block;overflow:hidden}.user-chip small{color:#bfb4c6;text-transform:capitalize;font-size:.75rem}.sidebar .icon-button{color:#fff}.main{min-width:0}.mobile-topbar{display:none}.demo-banner{color:#6e5518;text-align:center;background:#fff0c8;padding:8px 5vw;font-size:.84rem}.page{max-width:1400px;margin:0 auto;padding:38px clamp(20px,4vw,58px) 70px}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;min-height:76px;margin-bottom:28px;display:flex}.page-header p{margin-bottom:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--purple);font-size:.72rem;font-weight:700;margin-bottom:7px!important}.button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:41px;padding:9px 15px;font-weight:600;display:inline-flex}.button:hover{border-color:#bba9c9}.button:disabled{opacity:.55;cursor:not-allowed}.button--disabled{opacity:.5;pointer-events:none}.button--primary{color:#fff;background:var(--purple);border-color:var(--purple)}.button--primary:hover{background:var(--purple-dark)}.button--danger{color:var(--danger);border-color:#e5bcbc}.button--small{min-height:34px;padding:6px 10px;font-size:.83rem}.button--wide{width:100%}.icon-button{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:inline-grid}.icon-button:hover{background:#73528f1a}.text-button{color:var(--purple);cursor:pointer;background:0 0;border:0;padding:9px;font-weight:600}.danger{color:var(--danger)}.panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 18px #30233a09}.panel__heading,.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel__heading p,.section-heading p{margin:0;font-size:.9rem}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:25px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:13px;padding:18px;display:flex}.stat>span{background:var(--lavender);width:42px;height:42px;color:var(--purple);border-radius:12px;place-items:center;display:grid}.stat strong,.stat small{display:block}.stat strong{font-size:1.4rem}.stat small{color:var(--muted)}.request-list{gap:10px;display:grid}.request-list article{background:#fff8e6;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.request-list p{margin:3px 0 0;font-size:.85rem}.job-grid{grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:14px;display:grid}.job-card{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:15px;padding:17px;transition:transform .15s,box-shadow .15s}.job-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #36284014}.job-card__top{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.job-card h3{margin-bottom:4px;font-size:1.02rem}.job-card>p{font-size:.84rem}.job-card__meta{gap:8px;margin-top:18px;display:grid}.job-card__meta span{color:var(--muted);align-items:center;gap:7px;font-size:.83rem;display:flex}.status{text-transform:capitalize;color:#675d6d;background:#eee9f1;border-radius:999px;align-items:center;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.status--open,.status--active,.status--paid{color:#286345;background:#dcf3e6}.status--full,.status--sent{color:#315d91;background:#e2ebfa}.status--in_progress{color:#755910;background:#fff0c8}.status--completed{color:#5d4380;background:#e8e2f2}.status--cancelled,.status--void,.status--inactive{color:#8b4141;background:#f3e2e2}.status--release_requested{color:#755910;background:#fff0c8}.filter-row{color:var(--muted);align-items:center;gap:9px;margin-bottom:18px;font-size:.86rem;display:flex}select,input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dcd5df;border-radius:9px;outline:0;padding:10px 11px}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #71528f1c}input[readonly]{color:var(--purple-dark);cursor:default;background:#f1edf4;font-weight:700!important}.password-field{min-width:0}.password-field>label{display:block}.password-input{margin-top:6px;position:relative}.password-input input{padding-right:45px;margin-top:0!important}.password-input__toggle{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:inline-grid;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.password-input__toggle:hover{color:var(--purple);background:#73528f1a}.password-input__toggle:focus-visible{outline:2px solid var(--purple);outline-offset:-2px}.filter-row select{width:auto;min-width:140px;padding:7px 30px 7px 9px}.notice-bar{background:var(--mint);color:#285b43;border:1px solid #bde2d2;border-radius:10px;margin-bottom:18px;padding:11px 14px}.mobile-workflow{background:linear-gradient(135deg,#fbf8fd,#f1e9f7);border-color:#d8c7e5;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.mobile-workflow h2{margin:0}.mobile-workflow .eyebrow{margin-bottom:5px!important}.workflow-dots{flex-wrap:wrap;gap:5px;margin-top:11px;display:flex}.workflow-dots span{background:#d9d1dd;border-radius:99px;width:28px;height:5px}.workflow-dots span.done{background:#4d9c73}.workflow-dots span.current{background:var(--purple)}.workflow-action{min-width:170px}.workflow-complete{color:#286345}.calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;display:flex}.calendar-connect-button--connected{color:#286345;background:var(--mint);border-color:#bde2d2}.calendar-connect-button--connected:hover{background:#d4eee3;border-color:#82c6a7}.calendar-connection{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.calendar-connection__icon{background:var(--lavender);width:52px;height:52px;color:var(--purple);border-radius:14px;place-items:center;display:grid}.calendar-connection h2{margin-bottom:4px}.calendar-connection p,.calendar-connection small{color:var(--muted)}.calendar-connection .sync-error{color:#9b3d3d}.calendar-connection__actions{gap:8px;display:flex}.calendar-connection__actions .button{align-items:center;gap:7px;display:inline-flex}.calendar-team-status{margin-top:18px}.calendar-team-status .panel__heading{margin:0;padding:16px}.calendar-employee-filter{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:flex}.calendar-employee-filter select{width:auto;min-width:165px;padding:7px 30px 7px 9px}.segmented{border:1px solid var(--line);background:#fff;border-radius:10px;padding:3px;display:flex}.segmented button{text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 12px}.segmented .active{color:#fff;background:var(--purple)}.calendar-nav{align-items:center;gap:5px;display:flex}.calendar-nav strong{min-width:145px;margin-left:8px}.calendar{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar__weekday{color:var(--muted);text-align:center;border-bottom:1px solid var(--line);padding:9px;font-size:.75rem}.calendar__day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:122px;padding:9px}.calendar__day:nth-child(7n){border-right:0}.calendar__day>b{place-items:center;width:26px;height:26px;font-size:.82rem;display:grid}.calendar__day.today>b{background:var(--purple);color:#fff;border-radius:50%}.calendar__day.muted{color:#aaa2ae;background:#fbfafc}.calendar-job{background:var(--lavender);color:var(--purple-dark);border-radius:6px;margin-top:5px;padding:5px 6px;font-size:.72rem;display:block;overflow:hidden}.calendar-job span,.calendar-job strong,.calendar-job small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-job span{font-weight:700}.calendar-job strong{margin:2px 0}.calendar-job small{opacity:.82}.calendar-job--open{color:#245e40;background:#e1f4e9}.calendar-job--cancelled{color:#8b4141;background:#f3e2e2;text-decoration:line-through}.calendar-job--draft{color:#777;background:#eee}.calendar--week .calendar__day{min-height:450px}.calendar--day{grid-template-columns:1fr}.calendar--day .calendar__day{min-height:450px}.list-calendar{padding:0;overflow:hidden}.list-calendar>a{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:78px 1fr auto;align-items:center;gap:14px;padding:15px 18px;display:grid}.list-calendar time{font-weight:700}.list-calendar time small,.list-calendar div span,.list-calendar .calendar-comment{color:var(--muted);font-size:.8rem;display:block}.list-calendar .calendar-comment{margin-top:3px;font-style:italic}.list-calendar em{text-transform:capitalize;font-size:.8rem;font-style:normal}.drawer-backdrop{z-index:50;background:#271d2f5c;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fbfafc;width:min(620px,100%);height:100%;padding:25px;overflow:auto;box-shadow:-10px 0 40px #1f16261f}.drawer--wide{width:min(760px,100%)}.drawer__heading{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid label,.form-grid .password-field>label{color:var(--muted);font-size:.82rem;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{margin-top:6px;font-weight:400}.span-2{grid-column:span 2}.checkbox{align-items:center;gap:9px;display:flex;color:var(--ink)!important}.checkbox input{width:17px;height:17px;margin:0}.form-actions{justify-content:flex-end;gap:8px;padding-top:7px;display:flex}.form-section-title{border-top:1px solid var(--line);margin:0;padding-top:18px}.form-section-title--first{border-top:0;padding-top:0}.customer-mode{width:fit-content}.address-search{position:relative}.address-search>label{color:var(--muted);margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.address-search__input{position:relative}.address-search__input svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.address-search__input input{margin:0;padding-left:36px}.address-search small{color:var(--muted);margin-top:6px;display:block}.address-results{z-index:6;border:1px solid var(--line);background:#fff;border-radius:10px;position:absolute;top:66px;left:0;right:0;overflow:hidden;box-shadow:0 14px 35px #2a1f3229}.address-results button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;align-items:flex-start;gap:9px;padding:11px 12px;display:flex}.address-results button:last-child{border-bottom:0}.address-results button:hover{background:#f8f3fb}.address-results svg{color:var(--purple);flex:none}.option-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:10px;min-height:58px;padding:12px;display:flex;color:var(--ink)!important}.option-card input{flex:none;width:18px;height:18px;margin:1px 0 0}.option-card span,.option-card strong,.option-card small{display:block}.option-card span{min-width:0}.option-card small{color:var(--muted);margin-top:3px;font-weight:400}.addon-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.addon-total{text-align:right;color:var(--muted);margin:-5px 0 0;font-size:.86rem}.helper{color:var(--muted);font-size:.84rem}.schedule-warning{color:#6e5518;background:#fff8e6;border:1px solid #ebcc7e;border-radius:10px;padding:13px}.schedule-warning p{color:#6e5518;margin:5px 0 12px;font-size:.84rem}.schedule-warning .checkbox{font-size:.8rem}.back-link{align-items:center;gap:6px;margin-bottom:18px;font-size:.86rem;display:inline-flex}.title-with-badge{align-items:center;gap:12px;display:flex}.title-with-badge h1{margin:0}.detail-header{align-items:center}.header-actions{gap:8px;display:flex}.detail-grid{grid-template-columns:minmax(0,1fr) 300px;gap:16px;display:grid}.detail-main{padding:24px}.detail-side{align-content:start;gap:16px;display:grid}.detail-facts{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:24px;display:grid}.detail-facts>div{gap:10px;display:flex}.detail-facts svg{color:var(--purple);width:19px;margin-top:2px}.detail-facts span>*{display:block}.detail-facts small,.detail-facts em{color:var(--muted);font-size:.76rem;font-style:normal}.detail-facts strong{margin:3px 0;font-size:.88rem}.private-details{border-bottom:1px solid var(--line);padding:24px 0}.private-details dl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin-bottom:0;display:grid}.private-details dt{color:var(--muted);margin-bottom:5px;font-size:.76rem}.private-details dd{margin:0;font-size:.88rem;line-height:1.55}.service-summary{border-bottom:1px solid var(--line);padding:24px 0}.service-summary__facts{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.service-summary__facts span{background:#f8f5fa;border-radius:9px;padding:10px}.service-summary__facts small,.service-summary__facts strong{display:block}.service-summary__facts small{color:var(--muted);margin-bottom:3px}.service-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.service-tags span{background:var(--lavender);color:var(--purple-dark);border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:700}.service-tags em{color:var(--muted);font-size:.82rem}.claim-box{background:var(--lavender);border-radius:13px;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding:18px;display:flex}.claim-box p{margin:4px 0 0;font-size:.84rem}.release-box{gap:8px;padding:18px 0;display:flex}.proof-section{padding-top:24px}.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.proof-grid article{border:1px solid var(--line);border-radius:11px;padding:10px}.proof-grid__heading{text-transform:capitalize;justify-content:space-between;margin-bottom:8px;font-size:.8rem;font-weight:700;display:flex}.proof-grid__heading span small{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-top:2px;font-size:.62rem;display:block}.proof-grid__heading b{background:var(--lavender);border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;display:grid}.proof-pair{grid-template-columns:1fr 1fr;gap:9px;display:grid}.proof-pair>section{min-width:0}.proof-pair>section>strong{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;display:block}.photo-strip{gap:5px;height:100px;margin-bottom:8px;display:flex;overflow-x:auto}.photo-thumbnail,.photo-placeholder{border-radius:7px;min-width:100%;height:100%}.photo-thumbnail{cursor:zoom-in;background:#f0edf2;border:0;flex:0 0 100%;padding:0;overflow:hidden}.photo-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumbnail:focus-visible{outline:3px solid var(--purple);outline-offset:-3px}.photo-thumbnail__unavailable{height:100%;color:var(--muted);align-content:center;place-items:center;gap:5px;font-size:.75rem;display:grid}.photo-placeholder{color:#a59baa;background:#f0edf2;place-items:center;display:grid}.upload-button{width:100%}.upload-button input{display:none}.photo-viewer{z-index:80;background:#17111cdb;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.photo-viewer__dialog{background:#fff;border-radius:16px;grid-template-rows:auto minmax(0,1fr);width:min(1000px,100%);max-height:calc(100vh - 44px);display:grid;overflow:hidden;box-shadow:0 24px 80px #00000059}.photo-viewer__dialog header{justify-content:space-between;align-items:flex-start;padding:16px 18px;display:flex}.photo-viewer__dialog header h2,.photo-viewer__dialog header p{text-transform:capitalize;margin-bottom:0}.photo-viewer__canvas{background:#17131a;place-items:center;min-height:240px;display:grid;overflow:auto}.photo-viewer__canvas>img{object-fit:contain;max-width:100%;max-height:calc(100vh - 150px);display:block}.photo-viewer__error{text-align:center;color:#fff;padding:30px}.photo-viewer__error p{color:#ddd5e2}.photo-viewer__error svg{width:42px;height:42px}.live-camera{z-index:90;background:#120e15e6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.live-camera__dialog{background:#fff;border-radius:16px;width:min(720px,100%);max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 24px 80px #00000073}.live-camera__dialog header{justify-content:space-between;align-items:flex-start;padding:16px 18px;display:flex}.live-camera__dialog header h2,.live-camera__dialog header p{margin-bottom:0}.live-camera__preview{background:#111;place-items:center;min-height:280px;display:grid;overflow:hidden}.live-camera__preview video{object-fit:contain;width:100%;max-height:calc(100dvh - 250px);display:block}.live-camera__controls{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.live-camera__controls p{margin:0;font-size:.84rem}.live-camera__controls .button{flex:none}.crew-list{gap:12px;margin-top:15px;display:grid}.crew-list>div{align-items:center;gap:9px;display:flex}.crew-list>div>span:nth-child(2){flex:1;min-width:0}.crew-list strong,.crew-list small{display:block}.crew-list small{color:var(--muted);text-transform:capitalize;font-size:.72rem}.assign-control{border-top:1px solid var(--line);align-items:center;gap:7px;margin-top:14px;padding-top:14px;display:flex}.assign-control select{padding:7px}.time-card p,.invoice-card p{font-size:.83rem}.invoice-card>svg{color:var(--purple)}.invoice-card{text-align:center}.invoice-card>svg{margin-bottom:8px}.invoice-card__actions{gap:8px;display:grid}.payment-ready{margin-top:5px;font-weight:750;color:#157347!important}.time-correction{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.time-correction summary{cursor:pointer;color:var(--purple);font-size:.82rem;font-weight:700}.time-correction form{gap:8px;margin-top:10px;display:grid}.time-correction label{color:var(--muted);font-size:.72rem}.time-correction input,.time-correction select{margin-top:3px;padding:7px;font-size:.8rem}.avatar--large{width:45px;height:45px;margin-bottom:14px}.customer-list table{min-width:1040px}.clickable-table-row{cursor:pointer;transition:background .15s}.clickable-table-row:hover{background:#fbf8fd}.customer-name-button{color:var(--purple-dark);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.customer-name-button:hover strong{text-decoration:underline}.customer-name-button:focus-visible{outline-offset:3px;border-radius:8px;outline:3px solid #71528f33}.customer-location-button{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.customer-profile-summary{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.customer-profile-summary .avatar--large{margin:0}.customer-profile-summary>div>strong,.customer-profile-summary>div>span{display:block}.customer-profile-summary div>span{color:var(--muted);align-items:center;gap:6px;margin-top:5px;font-size:.8rem;display:flex}.customer-job-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.customer-job-stats>div{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:13px;display:flex}.customer-job-stats svg{color:var(--purple)}.customer-job-stats strong,.customer-job-stats small{display:block}.customer-job-stats strong{font-size:1.2rem}.customer-job-stats small{color:var(--muted);font-size:.72rem}.customer-locations{margin-top:14px}.customer-locations>header,.customer-job-section>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.customer-locations>header>div,.customer-job-section>header>div{align-items:center;gap:8px;display:flex}.customer-locations header svg,.customer-job-section header svg{color:var(--purple)}.customer-locations h3,.customer-job-section h3{margin:0;font-size:1rem}.customer-locations header>span,.customer-job-section>header>span{background:var(--lavender);min-width:27px;height:27px;color:var(--purple-dark);border-radius:99px;place-items:center;font-size:.76rem;font-weight:700;display:grid}.customer-locations>div{border-top:1px solid var(--line);gap:3px;padding:10px 0;display:grid}.customer-locations>div>span{color:var(--muted);font-size:.82rem}.customer-job-section{margin-top:28px}.customer-detail-drawer .job-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.customer-detail-drawer .empty{grid-column:1/-1;margin:0}.table-wrap{padding:0;overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:760px}.table-wrap th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f8f6f9;padding:12px 16px;font-size:.73rem}.table-wrap td{border-top:1px solid var(--line);vertical-align:middle;padding:14px 16px;font-size:.86rem}.table-wrap td>small{color:var(--muted);display:block}.table-person,.contact-line{align-items:center;gap:8px;display:flex}.contact-line{color:var(--muted);margin:3px 0;font-size:.8rem}.table-actions{align-items:center;gap:5px;display:flex}.employee-name-button{color:var(--purple-dark);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.employee-name-button:hover strong{text-decoration:underline}.employee-name-button:focus-visible{outline-offset:3px;border-radius:8px;outline:3px solid #71528f33}.employee-profile-summary{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.employee-profile-summary .avatar--large{margin:0}.employee-profile-summary>div>strong,.employee-profile-summary>div>span{display:block}.employee-profile-summary div>span{color:var(--muted);align-items:center;gap:6px;margin-top:5px;font-size:.8rem;display:flex}.employee-job-section{margin-top:28px}.employee-job-section>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.employee-job-section>header>div{align-items:center;gap:8px;display:flex}.employee-job-section>header svg{color:var(--purple)}.employee-job-section h3{margin:0;font-size:1rem}.employee-job-section>header>span{background:var(--lavender);min-width:27px;height:27px;color:var(--purple-dark);border-radius:99px;place-items:center;font-size:.76rem;font-weight:700;display:grid}.employee-detail-drawer .job-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.employee-detail-drawer .empty{grid-column:1/-1;margin:0}.ready-invoices{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.ready-invoices>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ready-invoices span>*{display:block}.ready-invoices small{color:var(--muted)}.settings-panel{max-width:760px}.settings-panel h2{border-bottom:1px solid var(--line);padding-bottom:9px}.adjustment{margin-top:8px}.adjustment summary{color:var(--purple);cursor:pointer;font-size:.72rem}.adjustment form{gap:5px;width:190px;margin-top:6px;display:grid}.adjustment input{padding:6px;font-size:.75rem}.notification-list{max-width:850px;padding:0;overflow:hidden}.notification-list article{border-bottom:1px solid var(--line);gap:13px;padding:18px;display:flex}.notification-list article.unread{background:#fbf7fe}.notice-icon{height:38px;color:var(--purple);background:var(--lavender);border-radius:50%;flex:0 0 38px;place-items:center;display:grid}.notification-list article>div{flex:1}.notification-list p{margin:4px 0;font-size:.86rem}.notification-list small{color:var(--muted);margin-right:13px}.notification-list a{font-size:.8rem;font-weight:700}.audit-list{max-width:900px;padding:0;overflow:hidden}.audit-list article{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:18px;padding:16px 18px;display:grid}.audit-list time{color:var(--muted);font-size:.78rem}.audit-list p{margin:4px 0 0;font-size:.84rem}.empty{color:var(--muted);text-align:center;padding:25px}.loading-screen{min-height:100vh;color:var(--muted);place-items:center;display:grid}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.analytics-panel{min-width:0}.analytics-panel--wide{grid-column:span 2}.analytics-header{align-items:center;margin-bottom:12px}.analytics-period{flex:none}.analytics-range{color:var(--muted);align-items:center;gap:10px;margin-bottom:18px;font-size:.78rem;display:flex}.analytics-range span{background:var(--lavender);color:var(--purple-dark);border-radius:99px;padding:5px 9px;font-weight:700}.analytics-stats .stat{position:relative;overflow:hidden}.analytics-stats .stat:after{content:"";background:linear-gradient(90deg, var(--purple), #b394c7);opacity:.7;height:3px;position:absolute;inset:auto 0 0}.trend-change{color:#276143;background:#e5f5ec;border-radius:10px;grid-template-columns:auto auto;align-items:center;gap:0 5px;min-width:124px;padding:8px 10px;display:grid}.trend-change svg{grid-row:span 2}.trend-change small{color:inherit;font-size:.65rem}.trend-change--down{color:#8b4141;background:#f7e8e8}.trend-change--down svg{transform:rotate(90deg)}.trend-chart{width:100%;overflow:hidden}.trend-chart svg{width:100%;min-height:230px;display:block;overflow:visible}.trend-chart__grid{stroke:#eee9f1;stroke-width:1px}.trend-chart__axis-label{fill:var(--muted);font-size:11px;font-weight:600}.trend-chart__axis-title{fill:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.trend-chart__area{fill:url(#sales-area)}.trend-chart__line{fill:none;stroke:var(--purple);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.trend-chart__point{fill:#fff;stroke:var(--purple);stroke-width:4px}.trend-chart__labels{color:var(--muted);text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;font-size:.66rem;display:grid}.trend-chart__labels span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.volume-chart{align-items:end;gap:7px;height:250px;padding-top:15px;display:grid;overflow-x:auto}.volume-bar{text-align:center;min-width:18px;height:100%;color:var(--muted);grid-template-rows:20px minmax(0,1fr) 25px;align-items:end;font-size:.68rem;display:grid}.volume-bar i{background:linear-gradient(180deg, #a989bd, var(--purple));border-radius:5px 5px 2px 2px;min-height:2px;display:block}.volume-bar small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding-top:7px;font-size:.6rem;overflow:hidden}.donut-layout{grid-template-columns:minmax(145px,.8fr) minmax(160px,1.2fr);align-items:center;gap:26px;min-height:230px;display:grid}.donut{aspect-ratio:1;border-radius:50%;place-items:center;width:min(180px,100%);margin:auto;display:grid}.donut:before{content:"";aspect-ratio:1;background:#fff;border-radius:50%;grid-area:1/1;width:62%}.donut>span{z-index:1;text-align:center;grid-area:1/1}.donut strong,.donut small{display:block}.donut strong{font-size:1.65rem}.donut small{color:var(--muted)}.chart-legend{gap:11px;display:grid}.chart-legend>div{grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.77rem;display:grid}.chart-legend i{border-radius:50%;width:9px;height:9px}.chart-legend span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.outcome-summary{justify-content:space-between;align-items:center;gap:16px;padding:8px 0 18px;display:flex}.outcome-summary>strong{font-size:2rem}.outcome-summary strong small{color:var(--muted);font-size:.7rem;font-weight:500;display:block}.outcome-summary>span{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.outcome-bar{background:#eee9f1;border-radius:99px;height:12px;margin-bottom:10px;display:flex;overflow:hidden}.outcome-bar i[data-status=open]{background:#4f9c72}.outcome-bar i[data-status=full]{background:#5684b8}.outcome-bar i[data-status=in_progress]{background:#d2a632}.outcome-bar i[data-status=completed]{background:var(--purple)}.metric-list{gap:10px;display:grid}.metric-list>div{border-bottom:1px solid var(--line);text-transform:capitalize;align-items:center;gap:8px;padding:10px 0;display:flex}.metric-list>div>span:nth-last-child(2){flex:1}.compact-list{grid-template-columns:1fr 1fr;gap:0 18px}.status-dot{background:#8e8195;border-radius:50%;width:9px;height:9px}.status-dot[data-status=open]{background:#4f9c72}.status-dot[data-status=full]{background:#5684b8}.status-dot[data-status=in_progress]{background:#d2a632}.status-dot[data-status=completed]{background:var(--purple)}.area-performance{overflow-x:auto}.area-performance>header,.area-performance>div{grid-template-columns:1.1fr 1.8fr .55fr .8fr .7fr;align-items:center;gap:18px;min-width:720px;display:grid}.area-performance>header{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:0 10px 10px;font-size:.69rem;font-weight:700}.area-performance>div{border-top:1px solid var(--line);padding:13px 10px;font-size:.82rem}.area-revenue b{margin-bottom:6px;display:block}.area-revenue>i{background:#eee9f1;border-radius:99px;height:5px;display:block;overflow:hidden}.area-revenue em{border-radius:inherit;background:var(--purple);height:100%;display:block}.login-page{background:radial-gradient(circle at 0 0,#e8dcf0,#0000 38%),#f7f5f8;place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(430px,100%);padding:30px;box-shadow:0 20px 60px #3927441f}.login-card__brand{align-items:center;gap:12px;margin-bottom:25px;display:flex}.login-card__brand h1{margin:0;font-size:1.35rem}.login-card__brand p{margin:2px 0 0;font-size:.85rem}.login-card form{gap:15px;display:grid}.login-card label{color:var(--muted);font-size:.82rem;font-weight:600}.login-card input{margin-top:6px}.login-card .login-persistence{color:var(--ink);font-weight:500}.login-card .login-persistence input{margin:0}.form-message{background:#fff3d7;border-radius:8px;margin:0;padding:9px;font-size:.82rem}.demo-logins{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;padding-top:18px;display:grid}.demo-logins p{text-align:center;grid-column:span 2;margin-bottom:3px;font-size:.8rem}@media (width<=900px){.app-shell{padding-bottom:calc(68px + env(safe-area-inset-bottom));grid-template-columns:1fr}.sidebar{width:100%;height:calc(66px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));display:block;position:fixed;top:auto;bottom:0}.sidebar .brand,.sidebar__footer{display:none}.sidebar__nav{scrollbar-width:none;justify-content:space-around;display:flex;overflow-x:auto}.sidebar__nav::-webkit-scrollbar{display:none}.nav-item{flex-direction:column;gap:2px;min-width:64px;padding:7px;font-size:.66rem}.nav-item em{margin:-3px 0 0 22px;position:absolute}.mobile-topbar{min-height:calc(56px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 14px 8px;color:#fff;background:#31263c;justify-content:space-between;align-items:center;display:flex}.mobile-topbar .brand{padding:0;font-size:1rem;display:flex}.mobile-topbar .brand__mark{width:32px;height:32px}.mobile-topbar .icon-button{width:44px;height:44px}.owner-only-hide{display:none}.detail-grid{grid-template-columns:1fr}.detail-side,.stat-grid{grid-template-columns:repeat(2,1fr)}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-employee-filter{justify-content:space-between;width:100%}.calendar{min-width:0}.calendar--week{min-width:720px}.calendar--month .calendar__day{min-height:84px;padding:5px}.calendar--month .calendar-job{padding:3px;font-size:.61rem}.calendar--month .calendar-job span,.calendar--month .calendar-job small{display:none}.calendar--day{min-width:0}.page:has(.calendar--week){overflow-x:auto}.proof-grid{grid-template-columns:1fr}.photo-strip{height:160px}.detail-facts,.private-details dl{grid-template-columns:1fr}.detail-facts{gap:18px}.analytics-stats{grid-template-columns:repeat(2,1fr)}.calendar-connection{grid-template-columns:auto 1fr}.calendar-connection__actions{flex-wrap:wrap;grid-column:1/-1}.calendar-connection__actions .button{flex:1}}@media (width<=760px){.analytics-header{align-items:flex-start}.trend-chart{overflow-x:auto}.trend-chart svg,.trend-chart__labels{min-width:650px}.donut-layout{gap:14px}.compact-list{grid-template-columns:1fr}}@media (width<=620px){input,select,textarea{font-size:16px}.button,.icon-button{min-height:44px}.button--small{min-height:42px}.page{padding:24px 14px 50px}.page-header{flex-direction:column;margin-bottom:21px}.page-header>.button{width:100%}.stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:12px}.stat>span{display:none}.stat strong{font-size:1.15rem}.panel{padding:15px}.detail-main{padding:16px}.detail-side{grid-template-columns:1fr}.header-actions{flex-wrap:wrap;width:100%}.header-actions .button{flex:1}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.drawer{padding:20px 15px calc(24px + env(safe-area-inset-bottom))}.ready-invoices{flex-direction:column;align-items:flex-start}.claim-box,.release-box{flex-direction:column;align-items:stretch}.calendar-nav{justify-content:space-between;width:100%}.calendar-nav strong{min-width:110px;font-size:.82rem}.segmented{width:100%}.segmented button{flex:1;min-height:44px;padding:7px 5px}.list-calendar>a{grid-template-columns:62px 1fr;min-height:64px}.list-calendar em{display:none}.demo-logins{grid-template-columns:1fr}.demo-logins p{grid-column:span 1}.audit-list article{grid-template-columns:1fr;gap:5px}.mobile-workflow{z-index:8;flex-direction:column;align-items:stretch;position:sticky;top:8px;box-shadow:0 8px 24px #3628401f}.workflow-action{width:100%}.workflow-dots span{flex:1}.release-box .button{width:100%}.photo-viewer,.live-camera{padding:0}.photo-viewer__dialog,.live-camera__dialog{border-radius:0;width:100%;height:100%;max-height:none}.photo-viewer__canvas>img{max-height:calc(100vh - 82px)}.live-camera__dialog{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.live-camera__preview{min-height:0}.live-camera__preview video{object-fit:cover;height:100%;max-height:none}.live-camera__controls{padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.live-camera__controls .button{width:100%}.addon-grid,.analytics-grid,.service-summary__facts{grid-template-columns:1fr}.analytics-panel--wide{grid-column:span 1}.sales-chart{gap:5px;height:230px}.sales-column__value{font-size:.58rem}.employee-profile-summary,.customer-profile-summary{grid-template-columns:auto 1fr}.employee-profile-summary>.status,.customer-profile-summary>.button{grid-column:1/-1;width:fit-content}.employee-detail-drawer .job-grid,.customer-detail-drawer .job-grid,.customer-job-stats{grid-template-columns:1fr}.analytics-header .analytics-period{width:100%}.analytics-range{flex-direction:column;align-items:flex-start}.trend-change{min-width:112px}.revenue-panel .panel__heading{align-items:flex-start}.donut-layout{grid-template-columns:1fr}.donut{width:150px}.volume-chart{height:220px}}
