:root{color:#163d36;background:#f6f7f2;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible{outline-offset:5px;outline:3px solid #c56b29}.shell{min-height:100vh;display:flex}aside{color:#edf5e9;background:#123e35;flex-shrink:0;width:240px;padding:38px 28px;position:relative}.brand{letter-spacing:-6px;font-size:52px;font-weight:800;text-decoration:none}.brand span{color:#d0e69a;font-size:20px}.brand small{letter-spacing:-.4px;margin-top:4px;font-size:16px;display:block}.nav-label{letter-spacing:2px;color:#b3c9be;margin-top:65px;font-size:10px}.nav-active{background:#2b5447;border-radius:8px;margin-top:20px;padding:15px;font-size:14px;text-decoration:none;display:block}.aside-bottom{font-size:12px;position:absolute;bottom:35px}.aside-bottom p{color:#b3c9be;max-width:170px;font-size:12px;line-height:1.6}.status-dot{background:#d0e69a;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}main{flex:1;min-width:0;max-width:1500px;padding:0 6%}header{border-bottom:1px solid #dae2d9;justify-content:space-between;align-items:center;gap:16px;padding:28px 0;font-size:13px;display:flex}.badge{border:1px solid #ccd6c6;border-radius:20px;padding:8px 12px;font-size:11px}.intro{padding:44px 0 32px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;color:#617369;font-size:11px}h1{letter-spacing:-2px;margin:20px 0;font-size:clamp(32px,4vw,54px);font-weight:500;line-height:1.08}h1 span{color:#8ca14c}.intro>p:last-child{color:#68796e;font-size:14px;line-height:1.7}.stats{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.stats article{background:#fff;border:1px solid #e0e5d9;border-radius:12px;padding:24px}.stats article:first-child{background:#dfe9bd;border-color:#dfe9bd}.stats p{margin:0;font-size:13px}.stats strong{margin:18px 0 14px;font-size:48px;font-weight:500;display:block}.stats small{color:#5c7061;font-size:11px}.services{background:#fff;border:1px solid #e0e5d9;border-radius:12px;margin:28px 0;padding:26px}.section-title{justify-content:space-between;align-items:center;display:flex}h2{margin:0;font-size:18px;font-weight:500}.section-title span{color:#71806d;font-size:11px}.empty{text-align:center;padding:35px 12px}.empty>span{color:#6d8753;font-size:32px}.empty h3{font-size:17px;font-weight:500}.empty p{color:#71806d;max-width:370px;margin:auto;font-size:13px;line-height:1.8}table{border-collapse:collapse;text-align:left;width:100%;margin-top:24px;font-size:13px}td,th{border-bottom:1px solid #e0e5d9;padding:15px 8px}th{color:#6e7a68;font-weight:400}footer{color:#6c7a67;justify-content:space-between;padding:10px 0 28px;font-size:11px;display:flex}.notice{background:#fff3dc;border-radius:12px;margin-bottom:30px;padding:30px}.notice p{line-height:1.7}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:800px){aside{width:190px;padding:28px 20px}main{padding:0 5%}.stats{gap:10px}.stats article{padding:18px}.stats strong{font-size:38px}}@media (max-width:600px){.shell{display:block}aside{width:100%;padding:18px 6%}.brand{letter-spacing:-3px;font-size:30px}.brand small{letter-spacing:0;margin-left:16px;display:inline}.nav-label,.nav-active,.aside-bottom{display:none}header{align-items:flex-start;font-size:11px}.badge{padding:5px 8px;font-size:10px}.intro{padding-top:25px}.stats{grid-template-columns:1fr}.stats article{grid-template-columns:1fr auto;align-items:center;display:grid}.stats strong{grid-area:1/2/3;margin:0}.stats small{margin-top:10px}.services{padding:20px}footer{gap:12px}}.login{max-width:540px;margin:60px auto;padding:24px}.login-brand{font-size:20px;font-weight:700;text-decoration:none}.login>.eyebrow{margin-top:60px}.login>p{color:#617369;line-height:1.7}.login form{margin-top:30px}.login label{margin:20px 0 8px;font-size:13px;display:block}.login input{width:100%;font:inherit;background:#fff;border:1px solid #b8c8b1;border-radius:7px;padding:14px}.login input:focus{outline:3px solid #c9db9f}.login button{color:#fff;width:100%;font:inherit;cursor:pointer;background:#163d36;border:0;border-radius:7px;margin:28px 0 10px;padding:16px}.login-help{font-size:12px}.logout{font:inherit;color:#163d36;cursor:pointer;background:0 0;border:1px solid #b8c8b1;border-radius:20px;padding:8px 15px}button:focus-visible{outline-offset:3px;outline:3px solid #c56b29}.nav-item{border-radius:8px;margin-top:8px;padding:15px;font-size:14px;text-decoration:none;display:block}.nav-item:hover{background:#2b5447}.mobile-nav{display:none}.table-scroll{overflow:auto}.muted{color:#617369;font-size:13px;line-height:1.7}.service-form{max-width:650px}.service-form label{margin:20px 0 8px;font-size:13px;display:block}.service-form input:not([type=checkbox]){width:100%;font:inherit;border:1px solid #b8c8b1;border-radius:7px;padding:13px}.service-form input:focus{outline:3px solid #c9db9f}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.service-form .check{align-items:center;gap:10px;display:flex}.check input{width:18px;height:18px}.primary{color:#fff;font:inherit;cursor:pointer;background:#163d36;border:0;border-radius:7px;padding:13px 20px}.primary:disabled{opacity:.6;cursor:wait}.form-actions{align-items:center;gap:20px;margin-top:25px;display:flex}.success{background:#dfe9bd;border-radius:8px;padding:16px;font-size:14px}.pill{background:#e5efce;border-radius:20px;padding:5px 10px;font-size:11px;display:inline-block}.pill.inactive{color:#657064;background:#eee}.pagination{justify-content:flex-end;align-items:center;gap:20px;margin-top:20px;font-size:12px;display:flex}@media (max-width:600px){.nav-item{display:none}.mobile-nav{gap:24px;padding-top:18px;font-size:13px;display:flex}.mobile-nav [aria-current]{font-weight:700}.form-grid{gap:12px}.services td{white-space:nowrap}}.appointment{border-top:1px solid #e0e5d9;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.appointment h3{margin:10px 0;font-size:17px;font-weight:500}.appointment p{color:#617369;font-size:14px}.appointment small{color:#617369}.appointment-actions{flex-wrap:wrap;gap:8px;max-width:360px;display:flex}.date-filter{align-items:center;gap:12px;margin-top:24px;font-size:13px;display:flex}.date-filter input{font:inherit;border:1px solid #b8c8b1;border-radius:7px;padding:8px}@media (max-width:600px){.appointment{flex-direction:column;align-items:flex-start}.appointment-actions{max-width:none}.date-filter{flex-wrap:wrap}}.availability{border-top:1px solid #e0e5d9;border-bottom:1px solid #e0e5d9;margin:22px 0;padding:18px 0}.slot-grid{flex-wrap:wrap;gap:8px;display:flex}.slot-grid [aria-pressed=true]{background:#dfe9bd;border-color:#8ca14c}.view-switch{background:#e9ece6;border-radius:12px;gap:6px;width:fit-content;margin:0 0 24px;padding:5px;display:flex}.view-switch a{color:#325346;border-radius:8px;padding:10px 18px;font-weight:600;text-decoration:none}.view-switch a[aria-current=page]{background:#fff;box-shadow:0 1px 4px #183c2018}.month-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.month-title{text-transform:capitalize}.month-navigation{flex-wrap:wrap;gap:8px;display:flex}.month-navigation a{text-decoration:none}.calendar-summary{color:#42594d;flex-wrap:wrap;gap:12px 20px;margin:22px 0;display:flex}.calendar-summary strong{color:#153e2e}.calendar-scroll{margin-top:20px;padding:3px;overflow-x:auto}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:630px;display:grid}.weekday{text-align:center;color:#596a60;padding:10px;font-size:13px;font-weight:700}.calendar-day{color:#254435;background:#fff;border:1px solid #dce3da;border-radius:10px;flex-direction:column;gap:7px;min-height:142px;padding:12px 9px;text-decoration:none;display:flex}.calendar-day:hover{background:#f2f8ee;border-color:#4e8063}.calendar-day:focus-visible{outline-offset:1px;outline:3px solid #235c40}.calendar-closed{background:#f2f3ef}.calendar-today{outline-offset:0;outline:2px solid #2d6746}.day-heading{justify-content:space-between;align-items:center;gap:4px;display:flex}.day-heading strong{font-size:18px}.day-heading span{color:#fff;background:#235c40;border-radius:5px;padding:2px 5px;font-size:11px}.calendar-day small{color:#697367;font-size:11px}.day-total{font-size:12px;font-weight:600}.day-statuses{flex-wrap:wrap;gap:4px;display:flex}.day-statuses span{border-radius:4px;padding:3px 5px;font-size:10px}.cal-pending{color:#735215;background:#fff0c5}.cal-confirmed{color:#24573a;background:#dceede}.cal-completed{color:#285b71;background:#dfedf4}.cal-cancelled{color:#7c4141;background:#f5e2e2}@media (max-width:600px){.month-navigation{gap:5px}.month-navigation a{font-size:12px}.calendar-summary{gap:8px 14px;font-size:13px}.view-switch a{padding:9px 14px}}.company-header{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.company-header strong{font-weight:600}.company-header span{color:#617369;font-size:12px}.company-header a{font-size:12px}.company-page{max-width:1100px;margin:40px auto;padding:0 6%}.company-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.company-list .services{margin:0 0 28px}.company-list h2{overflow-wrap:anywhere;line-height:1.5}@media (max-width:600px){.company-header{flex-direction:column;align-items:flex-start;gap:7px}header>.logout,header form{flex-shrink:0}}.invitation-link{width:100%;font:inherit;background:#fff;border:1px solid #b8c8b1;border-radius:7px;margin:10px 0;padding:12px;display:block}.mobile-nav{flex-wrap:wrap}.service-form input[readonly]{color:#596a60;background:#f0f2eb}.company-header strong{overflow-wrap:anywhere}.member-form{border-top:1px solid #dce3da;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 0;display:flex}.member-form h3{flex-basis:100%;margin:0;font-size:14px}.member-form label{align-items:center;gap:8px;font-size:13px;display:flex}.member-form select,.assignment-form select{font:inherit;background:#fff;border:1px solid #b8c8b1;border-radius:6px;padding:9px}.assignment-form{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.assignment-form label{font-size:12px}.assignment-form select{max-width:220px;font-size:12px}.appointment-person{color:#335e47;font-size:13px}.assignment-form p{flex-basis:100%}.date-filter select{font:inherit;background:#fff;border:1px solid #b8c8b1;border-radius:7px;max-width:250px;padding:10px}.member-form h3{overflow-wrap:anywhere}.public-categories{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.public-categories a{text-decoration:none}.service-form select{width:100%;font:inherit;background:#fff;border:1px solid #b8c8b1;border-radius:7px;padding:12px}.company-page .services li{line-height:1.8}.company-header a{white-space:nowrap}.service-form select,.service-form textarea{width:100%;max-width:100%;font:inherit;background:#fff;border:1px solid #b8c6b7;border-radius:8px;padding:12px;display:block}.service-form{min-width:0}.service-form input{max-width:100%}.company-page p{overflow-wrap:anywhere}.slot-grid button{min-width:70px;min-height:44px}.slot-grid button:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #235c40}
