#root{max-width:100%;min-height:100svh}body{color:#263238;-webkit-font-smoothing:antialiased;background:#f7f8fa;margin:0;font:15px/1.5 Trebuchet MS,Segoe UI,sans-serif}h1,h2{color:#203039;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}h1{font-size:clamp(30px,4vw,42px);line-height:1.1}h2{font-size:22px;line-height:1.2}p{margin:0}*{box-sizing:border-box}button{font:inherit}.app-shell{min-height:100svh;display:flex}.sidebar{color:#c7d7d2;background:#203b3d;flex-direction:column;flex:0 0 244px;justify-content:space-between;width:244px;padding:30px 18px 22px;display:flex}.brand-mark{color:#203b3d;background:#e8b84b;border-radius:11px;place-items:center;width:37px;height:37px;margin:0 0 9px 10px;font:700 21px Georgia,serif;display:grid;transform:rotate(-8deg)}.brand-name{color:#f4f6ef;letter-spacing:.2px;margin:0 0 57px 10px;font:700 21px Georgia,serif}.brand-name span{color:#e8b84b}.primary-nav{gap:7px;display:grid}.nav-item{color:#b5c9c3;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;width:100%;padding:12px 13px;transition:background .2s,color .2s;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#2b5351}.nav-item.active{box-shadow:inset 3px 0 #e8b84b}.nav-icon{color:#a7c5b9;text-align:center;width:20px;font-size:18px}.logout{color:#d8aaa0}.main-content{flex:1;min-width:0;padding:54px clamp(24px,5vw,72px)}.page-section{max-width:1130px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px;display:flex}.eyebrow{color:#a77834;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:9px;font-size:11px;font-weight:700}.page-subtitle{color:#7c898b;margin-top:10px}.api-status{color:#b5544b;margin-top:12px;font-size:12px;font-weight:700}.api-status.online{color:#57916c}.primary-button{color:#fff;cursor:pointer;background:#d98863;border:0;border-radius:7px;padding:12px 18px;font-weight:700;box-shadow:0 5px 12px #d9886330}.primary-button:hover{background:#c87957}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.stat-card,.panel{background:#fff;border:1px solid #e5e7e2;border-radius:8px;box-shadow:0 8px 22px #283b3210}.stat-card{min-height:142px;padding:21px}.stat-card span,.schedule-item span,.availability-row span{color:#849092;font-size:13px;display:block}.stat-card strong{color:#263a3c;margin:11px 0 5px;font:700 29px Georgia,serif;display:block}.stat-card small{font-size:11px}.positive{color:#5f9c78}.neutral{color:#9b8a63}.dashboard-grid{grid-template-columns:1.35fr 1fr;gap:18px;display:grid}.panel{padding:25px}.panel-heading{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.text-button,.icon-button{color:#b2743b;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.icon-button{color:#8c9996;letter-spacing:2px}.schedule-item,.availability-row{border-top:1px solid #edf0ec;align-items:center;gap:16px;min-height:66px;display:flex}.schedule-item time{color:#8b9798;width:45px;font-size:12px}.schedule-item>div,.availability-row>div{flex:1}.schedule-item strong,.availability-row strong{color:#334446;font-size:14px;display:block}.status{border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700}.confirmed{color:#57916c;background:#e8f3eb}.pending{color:#aa823c;background:#fbf1dd}.avatar{color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;font-weight:700;display:grid}.coral{background:#d98971}.blue{background:#7197a8}.gold{background:#c3a15a}.available,.busy{font-size:11px;font-weight:700}.available{color:#57916c}.busy{color:#b27e48}.empty-page{text-align:center;align-content:center;place-items:center;min-height:310px;display:grid}.large-icon{color:#d28a60;margin-bottom:12px;font-size:42px}.empty-page p{color:#849092;margin-top:8px}.settings-panel{gap:18px;max-width:680px;display:grid}.settings-panel h2{margin-bottom:8px}.settings-panel p:not(.eyebrow){color:#849092}.primary-button:disabled{cursor:wait;opacity:.65}.connection-result{border-radius:6px;padding:11px 13px;font-size:13px;font-weight:700}.connection-result.success{color:#57916c;background:#e8f3eb}.connection-result.failure{color:#b5544b;background:#fbe9e6}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#203b3dcc;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #e5e7e2;border-radius:12px;width:min(100%,620px);max-height:calc(100svh - 48px);padding:32px;overflow-y:auto;box-shadow:0 24px 70px #152b2c45}.client-form{margin:0}.client-form .panel-heading{margin-bottom:28px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.form-grid label{color:#526260;gap:6px;font-size:12px;font-weight:700;display:grid}.form-grid input,.form-grid textarea,.form-grid select{color:#263238;width:100%;font:inherit;background:#fbfcfa;border:1px solid #d9dfdb;border-radius:6px;padding:10px 11px}.form-grid textarea{resize:vertical;min-height:80px}.form-grid input:focus,.form-grid textarea:focus{outline-offset:1px;outline:2px solid #d98863}.form-wide{grid-column:1/-1}.form-actions{border-top:1px solid #edf0ec;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:20px;display:flex}.secondary-button{color:#526260;cursor:pointer;background:#fff;border:1px solid #d9dfdb;border-radius:7px;padding:11px 17px}.secondary-button:hover{color:#b2743b;border-color:#d98863}.client-list{min-height:180px}.client-row{border-top:1px solid #edf0ec;align-items:center;gap:14px;min-height:66px;display:flex}.client-row>div:not(.row-actions){flex:1;min-width:0}.client-row strong,.client-row span{display:block}.client-row span{color:#849092;font-size:13px}.row-actions{flex:0 0 130px;justify-content:flex-end;align-items:center;gap:8px;display:flex}.edit-button{width:72px;padding:7px 8px;font-size:12px}.delete-button,.danger-button{color:#b5544b;cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:12px;font-weight:700}.delete-button{padding:7px 5px}.delete-button:hover{background:#fbe9e6}.danger-button{color:#fff;background:#b5544b;padding:11px 17px}.danger-button:hover{background:#98483f}.warning-icon{color:#b5544b;background:#fbe9e6;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:18px;font:700 22px Georgia,serif;display:grid}.confirm-card{max-width:450px}.confirm-card h2{margin-bottom:10px}.confirm-card>p:not(.eyebrow){color:#6e7b7b;line-height:1.6}.confirm-card .form-actions{border-top:0}.close-button{font-size:24px;line-height:1}.list-message{color:#849092}.calendar-panel{padding:22px}.calendar-toolbar{justify-content:center;align-items:center;gap:12px;margin-bottom:22px;display:flex}.calendar-toolbar h2{text-align:center;text-transform:capitalize;min-width:170px}.calendar-nav{width:36px;height:36px;padding:0;font-size:18px}.today-button{margin-left:10px}.calendar-grid{border-top:1px solid #edf0ec;border-left:1px solid #edf0ec;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday{color:#849092;letter-spacing:1px;text-align:center;text-transform:uppercase;padding:10px 8px;font-size:11px;font-weight:700}.calendar-day{color:#334446;text-align:left;vertical-align:top;cursor:pointer;background:#fff;border-top:1px solid #edf0ec;border-bottom:0;border-left:0;border-right:1px solid #edf0ec;min-height:100px;padding:8px}.calendar-day:disabled{cursor:default;background:#fbfcfa}.calendar-day:not(:disabled):hover{background:#fff9f4}.calendar-day.selected{background:#fff3eb;box-shadow:inset 0 0 0 2px #d98863}.day-number{margin-bottom:7px;font-weight:700;display:block}.calendar-day.today .day-number{color:#d17451}.calendar-booking{color:#57916c;text-overflow:ellipsis;white-space:nowrap;background:#e8f3eb;border-radius:4px;margin-top:4px;padding:4px 5px;font-size:10px;font-weight:700;display:block;overflow:hidden}.calendar-booking.pending{color:#aa823c;background:#fbf1dd}.more-bookings{color:#849092;margin-top:4px;font-size:10px;display:block}.selected-day-panel{margin-top:18px}.booking-count{color:#849092;font-size:12px}.record-list{min-height:180px}.record-row{border-top:1px solid #edf0ec;align-items:center;gap:14px;min-height:72px;display:flex}.record-row>div{flex:1;min-width:0}.record-row strong,.record-row span{display:block}.record-row span{color:#849092;font-size:13px}.record-row>b{color:#60706e;text-align:right;flex:none;font-size:12px;font-weight:700}.record-icon{color:#b2743b;background:#fbf1dd;border-radius:50%;place-items:center;width:34px;height:34px;font-size:19px;display:grid}.calendar-time{color:#849092;width:100px;font-size:12px;line-height:1.7}.login-page{background:#203b3d;place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{background:#fff;border-radius:10px;width:min(100%,430px);padding:46px;box-shadow:0 20px 50px #13272855}.login-card .brand-mark{margin-bottom:34px;margin-left:0}.login-card h1{margin-bottom:12px;font-size:34px}.login-form{gap:8px;margin-top:28px;display:grid}.login-form label{color:#526260;font-size:12px;font-weight:700}.login-form input{color:#263238;background:#fbfcfa;border:1px solid #d9dfdb;border-radius:6px;width:100%;padding:11px 12px}.login-form input:focus{outline-offset:1px;outline:2px solid #d98863}.login-form .primary-button{margin-top:14px}.login-error{color:#b5544b;font-size:12px}.login-switch{color:#b2743b;cursor:pointer;background:0 0;border:0;font-size:12px}@media (width<=850px){.sidebar{flex-basis:190px;width:190px}.main-content{padding:38px 24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=600px){.app-shell{display:block}.sidebar{width:100%;padding:16px}.brand-name{margin-bottom:18px}.primary-nav{grid-template-columns:repeat(2,1fr)}.sidebar-bottom{gap:8px;margin-top:12px;display:flex}.main-content{padding:30px 16px}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:26px}.stats-grid{gap:10px}.stat-card{min-height:124px;padding:15px}.stat-card strong{font-size:24px}.panel{padding:18px 14px}.modal-backdrop{padding:12px}.modal-card{padding:22px 18px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.client-row{align-items:flex-start;padding:14px 0}.row-actions{flex-direction:column;flex-basis:auto}.edit-button{width:72px}.calendar-panel{padding:12px 8px;overflow-x:auto}.calendar-grid{min-width:560px}.calendar-toolbar h2{min-width:130px;font-size:18px}.calendar-day{min-height:82px;padding:6px}}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
