:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#20292d;background:#f4f5f6;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#20292d;--muted:#818b8e;--line:#e8ebeb;--paper:#fff;--teal:#146d65;--teal-dark:#105951;--mint:#e7f2ef;--orange:#c07837;--blue:#507894;--green:#46816b}*{box-sizing:border-box}body{margin:0;min-width:350px;min-height:100vh;background:#f4f5f6}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#fbfcfc;border-right:1px solid #e9ebea;display:flex;flex-direction:column;padding:27px 17px 16px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);padding:0 7px 37px}.brand-mark{width:39px;height:39px;border-radius:12px;background:#166d65;display:grid;place-items:center;box-shadow:0 4px 9px #146d6525}.brand-mark svg{width:31px;fill:none;stroke:white;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-text strong{font-family:Manrope,sans-serif;font-weight:800;font-size:16px;letter-spacing:-.5px}.brand-text small{font-size:9px;color:#81918f;letter-spacing:1.5px;margin-top:3px;font-weight:700}.nav-label{font-size:9px;letter-spacing:1.25px;font-weight:700;color:#a4adac;padding:0 11px 11px}.main-nav{display:grid;gap:3px}.nav-item{height:39px;padding:0 11px;color:#697473;text-decoration:none;display:flex;align-items:center;gap:11px;border-radius:8px;font-size:12px;font-weight:500;border:0;background:none;text-align:left;width:100%}.nav-item:hover{background:#f1f4f3}.nav-item.active{background:#e8f1ef;color:#146d65;font-weight:700}.nav-icon{width:17px;text-align:center;font-size:16px;color:#8b9694}.active .nav-icon{color:#146d65}.nav-count{margin-left:auto;font-size:10px;color:#7d8886;background:#f0f2f2;border-radius:9px;padding:2px 7px}.admin-label{margin-top:32px}.sidebar-bottom{margin-top:auto}.storage-card{display:flex;align-items:center;gap:9px;background:#f3f5f4;border:1px solid #eaedec;padding:11px 10px;border-radius:9px;margin:0 1px 14px}.storage-icon{color:#327970;font-size:17px}.storage-card div{display:grid;gap:3px;flex:1}.storage-card b{font-size:10px}.storage-card small{font-size:9px;color:#85908d}.online-dot,.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#4c9b70}.profile{display:flex;align-items:center;width:100%;border:0;background:transparent;padding:9px 4px 1px;gap:9px;text-align:left}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e4d7c5;color:#735f49;font-size:10px;font-weight:700}.profile-info{display:grid;gap:3px;flex:1}.profile-info b{font-size:10px}.profile-info small{font-size:9px;color:#8c9694}.profile-more{color:#87918f;font-size:16px;letter-spacing:1px}.main-content{flex:1;max-width:1640px;margin:0 auto;padding:0 40px;min-width:0}.topbar{height:62px;border-bottom:1px solid #e6e9e8;display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:11px;color:#929b99}.breadcrumb strong{color:#485452;font-weight:600}.crumb-slash{color:#c3c9c7}.top-actions{display:flex;align-items:center;gap:16px}.icon-button{position:relative;border:0;background:transparent;font-size:17px;color:#697573}.icon-button i{position:absolute;right:0;top:1px;width:5px;height:5px;background:#da8560;border:1px solid white;border-radius:50%}.top-divider{height:20px;border-left:1px solid #e0e4e3}.today-label{font-size:10px;color:#697573}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:30px 0 21px}.eyebrow{display:flex;align-items:center;gap:7px;color:#69817d;font-size:9px;letter-spacing:1.2px;font-weight:700}.eyebrow-dot{width:6px;height:6px}h1,h2,h3,p{margin:0}h1{font-family:Manrope,sans-serif;font-size:28px;letter-spacing:-1.05px;line-height:1.3;margin-top:7px;font-weight:700;color:#273332}.heading-period{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:0;font-size:14px;color:#798482;margin-left:11px;vertical-align:3px}.subheading{font-size:11px;color:#8a9592;margin-top:4px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:37px;border:0;background:var(--teal);color:white;border-radius:7px;padding:0 13px;font-weight:600;font-size:11px;box-shadow:0 2px 4px #146d6520;transition:background .15s,transform .15s}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button span{font-size:15px}.summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:17px}.summary-card{height:72px;background:#fff;border:1px solid #e9eceb;border-radius:9px;display:flex;align-items:center;padding:0 14px;gap:10px;box-shadow:0 2px 5px #2b3c3805}.summary-icon{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;font-size:16px}.summary-icon.blue{background:#edf2f5;color:#547d96}.summary-icon.orange{background:#f9f1e8;color:#b77a42}.summary-icon.green{background:#eaf3ee;color:#4e896d}.summary-copy{display:grid;gap:5px;min-width:0}.summary-copy small{font-size:9px;color:#899391;white-space:nowrap}.summary-copy b{font-family:Manrope,sans-serif;font-size:17px;line-height:1;font-weight:700;letter-spacing:-.4px}.summary-copy em{font-family:'DM Sans',sans-serif;font-style:normal;font-size:10px;color:#87928f;font-weight:500;letter-spacing:0}.summary-trend{margin-left:auto;color:#52876d;font-size:9px;white-space:nowrap}.summary-trend.neutral{color:#969e9c}.calendar-panel{background:#fff;border:1px solid #e6eae9;border-radius:10px;box-shadow:0 3px 9px #34443f08;overflow:hidden}.calendar-toolbar{height:62px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eaedec}.week-nav,.calendar-tools{display:flex;align-items:center;gap:7px}.week-nav h2{font-family:Manrope,sans-serif;font-size:14px;letter-spacing:-.2px;margin:0 7px;font-weight:700}.arrow-button{border:1px solid #e8ebea;background:white;border-radius:6px;width:27px;height:27px;color:#73807d;font-size:20px;line-height:20px}.arrow-button:hover,.today-button:hover,.filter-button:hover,.view-button:hover{background:#f5f7f6}.today-button,.filter-button,.view-button{height:28px;border:1px solid #e7eae9;background:white;border-radius:6px;color:#677370;font-size:10px;padding:0 9px}.today-button{margin-left:5px}.search-box{height:29px;border:1px solid #e7eae9;border-radius:6px;display:flex;align-items:center;gap:6px;padding:0 8px;color:#9aa3a0}.search-box span{font-size:18px;line-height:1}.search-box input{width:130px;border:0;outline:0;font-size:10px;background:transparent;color:#33403d}.search-box input::placeholder{color:#a1aaa8}.filter-button{display:flex;gap:6px;align-items:center}.filter-button b{font-size:9px;color:#69817d;background:#eef3f1;border-radius:8px;padding:2px 5px}.view-button{display:flex;align-items:center;gap:5px;margin-left:1px}.calendar-scroll{overflow-x:auto}.calendar-grid{display:grid;grid-template-columns:54px repeat(7,minmax(100px,1fr));min-width:800px;position:relative}.time-head,.day-head{height:55px;border-bottom:1px solid #eaedec;display:flex;flex-direction:column;align-items:center;justify-content:center}.time-head{border-right:1px solid #eef0ef}.day-head{border-right:1px solid #eef0ef;gap:4px}.day-head:last-child{border-right:0}.day-head.today{background:#edf5f3}.day-name{font-size:9px;font-weight:700;letter-spacing:.55px;color:#8b9693}.day-date{font-size:13px;font-weight:600;color:#475451}.day-head.today .day-name,.day-head.today .day-date{color:#146d65}.timeline-labels{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(10,55px);border-right:1px solid #eef0ef}.time-label{height:55px;text-align:center;position:relative;top:-6px;color:#9aa3a1;font-size:9px}.day-column{grid-row:2;position:relative;height:550px;border-right:1px solid #eef0ef;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#edf0ef 54px,#edf0ef 55px)}.day-column:last-child{border-right:0}.day-column.today{background-color:#fcfdfd}.appointment{position:absolute;left:5px;right:5px;min-height:43px;border-radius:5px;padding:6px 6px 4px 8px;overflow:hidden;cursor:pointer;border-left:3px solid;transition:filter .15s,transform .15s;z-index:1}.appointment:hover{filter:brightness(.97);transform:translateY(-1px);z-index:2}.appointment.status-scheduled{background:#edf4f6;border-color:#63899a;color:#435e6b}.appointment.status-progress{background:#f8f1e8;border-color:#c38a4b;color:#74572e}.appointment.status-completed{background:#eaf3ed;border-color:#609178;color:#496b56}.appointment .appt-time{font-size:8px;font-weight:700;opacity:.8;margin-bottom:3px}.appointment .appt-name{font-size:9px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment .appt-work{font-size:8px;opacity:.83;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.calendar-footer{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-top:1px solid #ecefef;color:#84908d;font-size:9px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 5px 0 12px}.legend-dot:first-child{margin-left:5px}.legend-dot.scheduled{background:#63899a}.legend-dot.in-progress{background:#c38a4b}.legend-dot.completed{background:#609178}.footer-note{color:#a0a9a6}.page-footer{height:47px;display:flex;align-items:center;justify-content:space-between;color:#a0a9a6;font-size:9px}.heart{color:#bb7763;margin-left:3px}.overlay{position:fixed;inset:0;background:#17222066;backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:18px;z-index:10}.overlay.open{display:flex}.dialog{width:min(565px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:13px;box-shadow:0 20px 70px #17222040;padding:25px}.dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.dialog-header h2{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.5px;margin-top:6px}.dialog-header p{font-size:11px;color:#86918f;margin-top:5px}.close-button{border:0;background:#f3f5f4;color:#6e7977;border-radius:50%;width:29px;height:29px;font-size:20px;line-height:20px;flex:none}.form-section{border-top:1px solid #edf0ef;padding:17px 0}.form-section h3,.user-form h3{font-size:11px;color:#53615e;margin:0 0 13px;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px;font-size:10px;color:#65716e;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #e3e8e6;border-radius:6px;background:#fff;padding:9px 10px;color:#33403d;font-size:11px;outline:0;transition:border .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#70a39c;box-shadow:0 0 0 3px #146d6518}.field input::placeholder,.field textarea::placeholder{color:#adb5b2}.field textarea{resize:vertical}.form-error{font-size:10px;color:#b44e43;min-height:0}.form-error:not(:empty){padding:7px 0}.dialog-footer{border-top:1px solid #edf0ef;padding-top:15px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-footer>span{color:#9aa3a1;font-size:9px}.dialog-footer>div{display:flex;gap:7px}.secondary-button{height:35px;border:1px solid #e2e7e5;background:#fff;color:#6b7774;border-radius:6px;padding:0 12px;font-size:10px}.dialog-footer .primary-button{height:35px;font-size:10px}.admin-dialog{width:min(620px,100%)}.user-list{display:grid;gap:8px}.user-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #edf0ef;border-radius:8px}.user-row .avatar{width:34px;height:34px}.user-meta{flex:1;display:grid;gap:3px}.user-meta b{font-size:11px}.user-meta small{font-size:9px;color:#87918f}.role-pill{font-size:9px;padding:4px 8px;border-radius:10px;background:#edf4f2;color:#3b776d}.remove-user{background:transparent;border:0;color:#a1aaa7;font-size:16px}.user-form{border-top:1px solid #edf0ef;margin-top:19px;padding-top:16px}.user-form>.primary-button{margin-top:14px}.demo-notice{margin-top:18px;padding:11px 12px;background:#f8f6ef;border:1px solid #efead9;border-radius:7px;color:#7a7153;font-size:9px;line-height:1.5}.demo-notice b{display:block;font-size:10px;margin-bottom:2px}.detail-dialog{width:min(470px,100%)}.detail-body{display:grid;gap:0}.detail-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #edf0ef;padding:12px 0;font-size:11px}.detail-row span:first-child{color:#899390}.detail-row b{font-weight:600;text-align:right;color:#34413e}.detail-work{background:#f5f7f6;border-radius:8px;padding:12px;margin-top:5px;font-size:11px;line-height:1.5;color:#46534f}.detail-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0ef;padding-top:14px;margin-top:15px}.delete-button{border:1px solid #f0d9d5;color:#a75045;background:#fff;border-radius:6px;padding:8px 10px;font-size:10px}.toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#24312e;color:white;border-radius:8px;padding:10px 15px;font-size:11px;box-shadow:0 5px 20px #15201d30;transition:all .25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.sidebar{width:205px}.main-content{padding:0 25px}.summary-trend{font-size:8px}.summary-card{padding:0 10px}.calendar-toolbar{padding:0 12px}.search-box input{width:100px}}
@media(max-width:760px){.sidebar{width:60px;padding:18px 8px}.brand{padding:0 2px 30px}.brand-mark{width:40px;height:40px}.brand-text,.nav-label,.nav-item:not(.active),.nav-item.active{font-size:0}.nav-item{justify-content:center;padding:0}.nav-icon{font-size:17px}.nav-count,.sidebar-bottom .storage-card,.profile-info,.profile-more{display:none}.profile{justify-content:center;padding-top:10px}.main-content{padding:0 16px}.page-heading{padding-top:24px}h1{font-size:24px}.heading-period{display:block;margin:0;font-size:12px}.summary-row{gap:7px}.summary-card{height:66px;gap:7px;padding:0 7px}.summary-icon{width:27px;height:27px;font-size:13px}.summary-copy small{font-size:8px;white-space:normal}.summary-copy b{font-size:15px}.summary-copy em{font-size:8px}.summary-trend{display:none}.calendar-toolbar{height:auto;min-height:59px;flex-wrap:wrap;gap:9px;padding:10px}.calendar-tools{width:100%}.search-box{flex:1}.search-box input{width:100%}.footer-note{display:none}.calendar-footer{justify-content:center}.topbar{height:51px}.today-label{font-size:9px}}
@media(max-width:480px){.main-content{padding:0 10px}.sidebar{width:48px;padding-left:4px;padding-right:4px}.summary-row{grid-template-columns:repeat(3,1fr)}.summary-card{flex-direction:column;justify-content:center;align-items:flex-start;height:79px;gap:3px}.summary-icon{display:none}.summary-copy{gap:4px}.summary-copy small{line-height:1.2;min-height:20px}.page-heading{align-items:flex-start;gap:8px}.page-heading>.primary-button{font-size:0;width:38px;padding:0}.page-heading>.primary-button span{font-size:18px}.subheading{max-width:230px;line-height:1.45}.calendar-grid{grid-template-columns:43px repeat(7,minmax(90px,1fr))}.week-nav h2{font-size:12px}.dialog{padding:19px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.dialog-footer{align-items:flex-start;flex-direction:column}.dialog-footer>div{width:100%;justify-content:flex-end}.page-footer{font-size:8px}}
.login-dialog{width:min(410px,100%)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-brand .brand-mark{width:43px;height:43px}.login-dialog h2{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.6px}.login-dialog .login-copy{color:#86918f;font-size:11px;margin:6px 0 22px}.login-form{display:grid;gap:14px}.login-form .primary-button{width:100%;margin-top:3px}.login-hint{border-radius:7px;background:#f3f6f5;padding:10px;color:#76827f;font-size:9px;line-height:1.6;margin-top:16px}.login-error{color:#af4d43;font-size:10px;min-height:0}.profile-menu{position:absolute;bottom:60px;left:17px;width:218px;background:white;border:1px solid #e6eae8;border-radius:9px;padding:6px;box-shadow:0 8px 25px #1a28231c;z-index:4}.profile-menu button{border:0;background:white;width:100%;text-align:left;padding:9px;border-radius:6px;color:#596662;font-size:10px}.profile-menu button:hover{background:#f2f5f4}.detail-row a{color:#39746b;text-decoration:none}
.work-lines{display:grid;gap:7px}.work-lines input{width:100%;border:1px solid #e3e8e6;border-radius:6px;background:#fff;padding:9px 10px;color:#33403d;font-size:11px;outline:0;transition:border .15s,box-shadow .15s}.work-lines input:focus{border-color:#70a39c;box-shadow:0 0 0 3px #146d6518}.work-lines input::placeholder{color:#adb5b2}.field-hint{font-size:9px;color:#97a19e;font-weight:400}.detail-work{display:grid;gap:5px}.detail-work>div:before{content:'•';color:#638f83;margin-right:7px}
.upload-box{min-height:60px;border:1px dashed #cfd9d5;border-radius:7px;background:#fafcfb;display:flex;align-items:center;gap:10px;padding:10px;cursor:pointer;transition:border-color .15s,background .15s}.upload-box:hover{border-color:#70a39c;background:#f3f8f6}.upload-symbol{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:#eaf3f0;color:#327970;font-size:19px}.upload-box>span:nth-child(2){display:grid;gap:3px}.upload-box b,.checkbox-row b{font-size:10px;color:#4f5d59}.upload-box small,.checkbox-row small{font-size:9px;color:#929d99;font-weight:400}.upload-box input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-preview{position:relative;display:flex;align-items:center;gap:10px;padding:9px;background:#f4f7f6;border-radius:7px}.photo-preview[hidden],#warranty-number-wrap[hidden]{display:none}.photo-preview img{width:56px;height:56px;object-fit:cover;border-radius:5px}.photo-preview span{font-size:10px;color:#66736f;flex:1}.photo-preview button{border:0;background:transparent;color:#9a6257;font-size:10px}.guarantee-field{gap:10px}.checkbox-row{display:flex;align-items:center;gap:9px;cursor:pointer}.checkbox-row>span:last-child{display:grid;gap:3px}.checkbox-row input{position:absolute;opacity:0;width:1px;height:1px}.checkmark{width:17px;height:17px;border:1px solid #cbd4d1;border-radius:4px;background:#fff;display:grid;place-items:center;flex:none}.checkbox-row input:checked+.checkmark{background:#146d65;border-color:#146d65}.checkbox-row input:checked+.checkmark:after{content:'✓';font-size:12px;color:#fff;font-weight:700}.checkbox-row input:focus-visible+.checkmark{outline:3px solid #146d6530}.detail-photo{display:block;max-width:100%;max-height:250px;object-fit:contain;border-radius:7px;margin-top:8px}.detail-warranty{display:inline-flex;align-items:center;gap:5px;color:#8a6126;background:#f8f2e7;border-radius:10px;padding:4px 8px;font-size:9px}
.appointment.continued{border-top-left-radius:2px;border-top-right-radius:2px}.appointment.continues{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.detail-actions{gap:7px}.edit-button{border:1px solid #dce6e2;color:#327970;background:#f5f9f7;border-radius:6px;padding:8px 10px;font-size:10px;margin-right:auto}.edit-button:hover{background:#eaf3f0}
.appointment.grouped{background:color-mix(in srgb,var(--group-color) 15%,white);border-left-color:var(--group-color);color:#35443f}.appointment.grouped .appt-time{color:var(--group-color);opacity:1}.appt-group{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;padding:2px 5px;border-radius:8px;background:color-mix(in srgb,var(--group-color) 19%,white);color:var(--group-color);font-size:7px;font-weight:700}.settings-page{padding-bottom:30px}.settings-card{max-width:840px;background:white;border:1px solid #e6eae9;border-radius:10px;padding:21px;box-shadow:0 3px 9px #34443f08}.settings-card-heading{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #edf0ef}.settings-card-heading h2{font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.3px}.settings-card-heading p{font-size:10px;color:#87918f;margin-top:5px}.group-list{display:grid}.group-row{display:grid;grid-template-columns:22px minmax(120px,1fr) 42px 78px auto auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf0ef}.group-swatch{width:15px;height:15px;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 10%,white)}.group-name{height:32px;border:1px solid #e4e9e7;border-radius:6px;padding:0 8px;font-size:11px;color:#394642}.group-row input[type=color],.color-field input[type=color]{width:34px;height:28px;padding:3px;border:1px solid #e4e9e7;border-radius:6px;background:white;cursor:pointer}.group-count{font-size:9px;color:#929c99;white-space:nowrap}.group-save,.group-remove{height:29px;border-radius:5px;padding:0 8px;font-size:9px}.group-save{border:1px solid #dce8e3;color:#36766b;background:#f3f8f5}.group-remove{border:1px solid #f0dfdc;color:#a75a4e;background:white}.empty-groups{padding:17px 0;color:#8d9895;font-size:10px}.group-form{display:grid;grid-template-columns:minmax(180px,1fr) 90px auto;align-items:end;gap:12px;padding-top:18px}.group-form h3{grid-column:1/-1;margin:0 0 1px;font-size:11px;color:#53615e}.group-form .primary-button{height:36px;white-space:nowrap}.color-field input{display:block}.settings-note{max-width:840px;font-size:9px;color:#929c99;margin-top:12px}@media(max-width:560px){.settings-card{padding:15px}.group-row{grid-template-columns:18px minmax(70px,1fr) 36px auto;gap:6px}.group-count{display:none}.group-save,.group-remove{padding:0 6px}.group-form{grid-template-columns:minmax(0,1fr) 60px}.group-form .primary-button{grid-column:1/-1;width:100%}}
.vacation-page{padding-bottom:30px}.vacation-card{max-width:1040px}.year-controls{display:flex;align-items:center;gap:7px}.year-input input{width:76px;height:29px;border:1px solid #e7eae9;border-radius:6px;background:#fff;text-align:center;color:#394642;font-size:12px;font-weight:700}.year-input input::-webkit-inner-spin-button,.year-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vacation-table-wrap{overflow-x:auto}.vacation-table{width:100%;border-collapse:collapse;margin-top:8px;min-width:640px}.vacation-table th{text-align:left;color:#929c99;letter-spacing:.6px;text-transform:uppercase;font-size:8px;padding:12px 10px;border-bottom:1px solid #edf0ef}.vacation-table td{padding:13px 10px;border-bottom:1px solid #edf0ef;vertical-align:middle}.vacation-user{display:flex;align-items:center;gap:9px}.vacation-user>span:last-child{display:grid;gap:3px}.vacation-user b{font-size:10px;color:#3e4b47}.vacation-user small{font-size:9px;color:#929c99}.vacation-day-count{font-family:Manrope,sans-serif;font-size:18px;color:#286c61}.vacation-day-label{font-size:9px;color:#87918e;margin-left:5px}.vacation-periods{display:grid;gap:6px}.vacation-period{display:flex;align-items:center;justify-content:space-between;gap:8px;width:max-content;max-width:100%;border-radius:6px;background:#f1f6f4;padding:6px 8px;color:#55716a;font-size:9px}.vacation-remove{border:0;background:transparent;color:#a05e52;font-size:14px;line-height:12px;padding:0 2px}.no-vacation,.vacation-empty{font-size:9px;color:#a0a9a6}.vacation-legend{padding-top:12px;color:#929c99;font-size:9px}.vacation-dialog{width:min(500px,100%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.vacation-card{padding:15px}.vacation-page .page-heading{align-items:flex-start}.vacation-page .page-heading>.primary-button{font-size:0;width:38px;padding:0;flex:none}.vacation-page .page-heading>.primary-button span{font-size:18px}.vacation-table{min-width:600px}}
.time-head,.day-head{height:78px}.day-head{gap:3px;justify-content:center}.calendar-vacations{width:100%;height:16px;display:flex;justify-content:center;overflow:hidden}.calendar-vacation-marker{display:block;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:2px 6px;background:#fae8e7;color:#ad4843;font-size:7px;line-height:12px;font-weight:700;letter-spacing:0}.day-head.today .calendar-vacation-marker{background:#f7dddb;color:#a33e39}@media(max-width:760px){.calendar-vacation-marker{font-size:7px;padding-inline:4px}}
.holiday-settings{margin-top:14px;max-width:840px}.holiday-toggle{padding:15px 0 13px}.holiday-toggle .checkmark{width:18px;height:18px}.holiday-state-field{max-width:360px;margin-top:3px}.holiday-state-field select{max-width:100%}.holiday-source-status{min-height:15px;margin-top:12px;font-size:9px;color:#5b7971}.holiday-attribution{font-size:9px;color:#929c99;margin-top:5px}.holiday-attribution a{color:#327970;text-decoration:underline;text-underline-offset:2px}.calendar-vacations{width:100%;height:auto;min-height:16px;max-height:34px;display:grid;justify-items:center;align-content:start;gap:2px;overflow:hidden}.calendar-holiday-marker{display:block;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:2px 6px;background:#fbf0d8;color:#98702a;font-size:7px;line-height:12px;font-weight:700;letter-spacing:0}.day-head.today .calendar-holiday-marker{background:#f5e6c3;color:#87611e}.vacation-legend-dot{background:#c86159}.holiday-legend-dot{background:#d2a23f}
.summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:480px){.summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.view-select-label{display:flex}.view-select-label select{appearance:auto;padding:0 8px;min-width:94px}.calendar-grid.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));grid-auto-rows:minmax(94px,auto);min-width:720px}.month-weekday{padding:10px 8px;text-align:center;color:#87918f;font-size:10px;font-weight:700;border-bottom:1px solid #eaedec}.month-cell{min-width:0;padding:7px;border-right:1px solid #eef0ef;border-bottom:1px solid #eef0ef;display:flex;flex-direction:column;align-items:stretch;gap:3px}.month-cell> b{font-size:10px;color:#56615f;margin-bottom:2px}.month-cell.outside-month{background:#fafbfb}.month-cell.outside-month>b{color:#b9c0be}.month-cell.today>b{color:#146d65}.month-event{border:0;border-left:3px solid #6c94a5;background:#eef4f6;color:#405660;border-radius:3px;padding:3px 5px;text-align:left;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-event.status-progress{border-left-color:#c07837}.month-event.status-completed{border-left-color:#4e896d}.month-cell>small{font-size:8px;color:#85908d}.agenda-day{min-height:240px;padding:18px;max-width:900px;margin:0 auto}.agenda-day>header{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e9eceb;padding-bottom:13px;font-size:12px}.agenda-day>header>span{display:grid;justify-items:end;gap:3px}.agenda-marker{display:block;background:#c86159;color:#fff;border-radius:5px;padding:4px 7px;font-size:9px;font-style:normal}.agenda-items{display:grid;gap:7px;padding-top:12px}.agenda-item{display:grid;gap:4px;text-align:left;border:0;border-left:3px solid #6c94a5;background:#f1f5f6;color:#34413e;border-radius:5px;padding:10px}.agenda-item.status-progress{border-left-color:#c07837}.agenda-item.status-completed{border-left-color:#4e896d}.agenda-item b{font-size:11px}.agenda-item span,.agenda-empty{font-size:10px;color:#798481}
.appointment-status-select{min-width:126px;height:32px;padding:0 28px 0 10px;border:1px solid;border-radius:6px;font-size:10px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.appointment-status-select.status-scheduled{background:#edf4f6;border-color:#63899a;color:#435e6b}.appointment-status-select.status-progress{background:#f8f1e8;border-color:#c38a4b;color:#74572e}.appointment-status-select.status-completed{background:#eaf3ed;border-color:#609178;color:#496b56}.appointment-status-select:focus-visible{outline:2px solid #146d65;outline-offset:2px}.appointment-status-select option{background:#fff;color:#34413e}
.timeline-labels{grid-template-rows:repeat(var(--calendar-hours,10),55px)}.day-column{height:calc(var(--calendar-hours,10)*55px)}.calendar-preferences{margin-top:14px;max-width:840px}.calendar-preference-times{display:grid;grid-template-columns:repeat(2,minmax(150px,220px));gap:14px;margin-top:12px}.calendar-preference-times input{width:100%;border:1px solid #e3e8e6;border-radius:6px;background:#fff;padding:9px 10px;color:#33403d;font-size:11px}.calendar-day-settings{border:0;border-top:1px solid #edf0ef;margin:18px 0 0;padding:14px 0 0}.calendar-day-settings legend{padding:0;font-size:10px;color:#65716e;font-weight:700}.calendar-day-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.calendar-day-options label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e5eae8;border-radius:7px;background:#fafbfb;color:#52615d;font-size:10px}.calendar-day-options input{accent-color:#146d65}.month-cell.month-empty{background:transparent;border:0}
.calendar-grid.calendar-agenda{display:block;min-width:0}
.nav-item[hidden],.admin-label[hidden],.main-nav a[hidden]{display:none!important}
.filter-wrap{position:relative}.filter-button.filters-active{border-color:#78a39b;color:#146d65;background:#eff6f4}.filter-button #filter-count{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-left:3px;border-radius:9px;background:#146d65;color:#fff;font-size:9px}.filter-button #filter-count[hidden]{display:none}.calendar-filter-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(290px,calc(100vw - 80px));max-height:min(70vh,480px);overflow-y:auto;padding:13px;background:#fff;border:1px solid #e4e9e7;border-radius:10px;box-shadow:0 12px 30px #20332e22;z-index:10}.calendar-filter-menu[hidden]{display:none}.filter-menu-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #edf0ef}.filter-menu-heading strong{font-size:11px;color:#34413e}.filter-menu-heading button{border:0;background:none;color:#28756b;font-size:9px;padding:5px}.filter-fieldset{border:0;border-bottom:1px solid #edf0ef;padding:10px 0;margin:0}.filter-fieldset:last-child{border-bottom:0;padding-bottom:0}.filter-fieldset legend{padding:0 0 5px;color:#899390;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.filter-option{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 5px;border-radius:5px;color:#53615e;font-size:10px;cursor:pointer}.filter-option:hover{background:#f5f8f7}.filter-option input{width:14px;height:14px;margin:0;accent-color:#146d65}.filter-option i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--filter-color,#63899a)}.filter-group-dot.unassigned{background:#a7b0ad}
.vacation-requests-card{margin-bottom:14px}.vacation-request-list{display:grid;gap:8px}.vacation-request-row{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(150px,1fr) auto auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #edf0ef;border-radius:8px}.vacation-request-person{display:grid;gap:3px}.vacation-request-person b{font-size:10px;color:#34413e}.vacation-request-person small{font-size:9px;color:#899390}.vacation-request-dates{font-size:10px;color:#586560}.vacation-request-status{justify-self:start;padding:5px 8px;border-radius:12px;font-size:9px;font-weight:700}.vacation-request-status.pending{background:#fbf2df;color:#9a7228}.vacation-request-status.approved{background:#eaf3ed;color:#4c8064}.vacation-request-status.rejected{background:#f8eae8;color:#a44d45}.vacation-request-actions{display:flex;gap:5px}.vacation-request-actions button{border-radius:6px;padding:6px 8px;font-size:9px;font-weight:600}.approve-vacation{border:1px solid #c9e1d2;background:#eef7f1;color:#39724f}.reject-vacation{border:1px solid #efd6d2;background:#fff5f3;color:#a44d45}
@media(max-width:700px){.vacation-request-row{grid-template-columns:1fr auto;gap:8px}.vacation-request-person,.vacation-request-dates{grid-column:1}.vacation-request-status,.vacation-request-actions{grid-column:2;grid-row:auto}.vacation-request-actions{justify-content:flex-end}}
.edit-user{border:1px solid #e3e9e7;background:#fff;border-radius:6px;color:#39766d;padding:6px 8px;font-size:9px}.edit-user:hover{background:#edf5f2}.user-row .role-pill{white-space:nowrap}
.holiday-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0 0 12px 27px}.holiday-option{align-items:flex-start;padding:10px;border:1px solid #e8edeb;border-radius:8px;background:#fafbfb}.holiday-option .checkmark{margin-top:1px}.holiday-option input:disabled+.checkmark{opacity:.55}.holiday-state-field{margin-left:27px}
.calendar-vacation-marker.calendar-holiday-as-vacation{background:#fbf0d8;color:#98702a}.day-head.today .calendar-vacation-marker.calendar-holiday-as-vacation{background:#f5e6c3;color:#87611e}.agenda-marker.holiday-marker{background:#fbf0d8;color:#98702a}
.holidays-page{padding-bottom:30px}.holiday-entry-card,.holiday-list-card{max-width:840px;margin-bottom:14px}.holiday-entry-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,210px) auto;align-items:end;gap:12px;padding-top:18px}.holiday-entry-form>.primary-button{height:36px;white-space:nowrap}.holiday-form-error{grid-column:1/-1;margin:0}.holiday-list{display:grid;gap:18px;padding-top:16px}.holiday-year h3{margin:0 0 8px;font:700 12px Manrope,sans-serif;color:#43514d}.holiday-year-list{display:grid}.holiday-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #edf0ef}.holiday-row time{display:inline-block;width:max-content;border-radius:12px;padding:4px 8px;background:#fbf0d8;color:#98702a;font-size:9px;font-weight:700}.holiday-row b{font-size:11px;color:#3e4b47}.holiday-remove{border:1px solid #f0dfdc;border-radius:6px;background:#fff;color:#a75a4e;padding:7px 9px;font-size:9px}.holiday-remove:hover{background:#fff8f6}.holiday-empty{padding:14px 0;color:#929c99;font-size:10px}@media(max-width:680px){.holiday-entry-form{grid-template-columns:1fr 1fr}.holiday-entry-form>.primary-button{grid-column:1/-1;width:100%}.holiday-row{grid-template-columns:90px minmax(0,1fr) auto;gap:8px}}
