:root{--bg:#f3f6f8;--ink:#172b3b;--muted:#738493;--line:#e6ecef;--teal:#128c84;--nav:#101f2c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #28bdb0;outline-offset:3px}button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 15px;color:var(--ink)}button:hover{background:#edf6f5}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#0a756e}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}aside{background:var(--nav);color:#d9e4ea;padding:30px 18px;display:flex;flex-direction:column;gap:25px}.brand{font-size:23px;font-weight:750;color:#fff;padding:0 12px}.brand b{color:#43c6b8}.brand small{font-size:10px;letter-spacing:3px;display:block;color:#7792a3;margin-top:8px}.shop{padding:15px 12px;border:1px solid #2c3d49;border-radius:10px}.shop small{display:block;color:#8ea4b3;margin-top:6px}.nav-label{font-size:10px;color:#6e899c;letter-spacing:2px;margin:0 12px 10px}nav{display:grid;gap:6px}nav button{border:0;background:transparent;text-align:left;color:#a5bac8;padding:13px 15px;display:flex;align-items:center;gap:13px}nav button.active{background:#183c42;color:#6bdfd0}nav span{font-size:18px;width:22px}.sidefoot{margin-top:auto;color:#8ba4b4;font-size:12px;padding:18px 12px;border-top:1px solid #293945}.sidefoot strong{color:#d8e5ec;display:block;margin-bottom:6px}.main{min-width:0}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);gap:12px}.crumb{color:var(--muted);font-size:12px}.profile{display:flex;gap:12px;align-items:center}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dff2ef;color:#147a72;font-weight:650}.profile small{display:block;color:var(--muted);margin-top:3px}.demo{background:#fff4dd;color:#876523;border-radius:5px;padding:6px 9px;font-size:11px}main{padding:29px 34px}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}h1{font-size:27px;letter-spacing:-.8px;margin:0 0 7px}h2{font-size:16px;margin:0}p{color:var(--muted);margin:6px 0;line-height:1.6}.actions{display:flex;gap:8px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:13px}.stat{padding:19px 21px}.stat label{color:var(--muted);font-size:12px}.stat strong{display:block;font-size:27px;letter-spacing:-1px;margin:10px 0}.stat small{color:#1e8a70;font-size:11px}.stat small.neutral{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:20px}.panel-head{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.panel-head p{font-size:11px}.calendar-tools{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;gap:10px;flex-wrap:wrap}.switch{display:flex;background:#f0f4f6;border-radius:8px;padding:3px}.switch button{border:0;background:transparent;padding:6px 12px;font-size:12px}.switch button.active{background:#fff;box-shadow:0 1px 4px #132e3d12}.legend{display:flex;gap:12px;color:var(--muted);font-size:10px}.dot{display:inline-block;width:7px;height:7px;background:#16a697;border-radius:50%;margin-right:5px}.dot.wait{background:#e7b657}.cal-scroll{overflow:auto}.cal{min-width:540px;display:grid;grid-template-columns:50px repeat(3,minmax(0,1fr));padding:0 15px 18px}.staff-head{text-align:center;padding:12px 3px 15px;border-bottom:1px solid var(--line);font-size:12px}.staff-head small{display:block;color:var(--muted);font-size:10px;margin:5px}.staff-head .avatar{width:28px;height:28px;font-size:10px;margin-right:5px}.time{position:relative;height:76px;font-size:10px;color:var(--muted);padding-top:8px}.slot{height:76px;border-left:1px solid var(--line);border-bottom:1px solid #eef2f4;padding:5px;position:relative}.event{display:block;width:100%;height:64px;text-align:left;border:0;border-left:3px solid #24a99c;border-radius:5px;background:#e7f6f2;padding:8px;font-size:11px;line-height:1.5;overflow:hidden}.event b{display:block;white-space:nowrap}.event small{display:block;font-size:10px;color:#537d75}.event.pending{background:#fff4df;border-color:#e3b357}.event.pending small{color:#968052}.event.done{background:#edf1f5;border-color:#9babb9}.event.done small{color:#7d8b99}.empty{background:transparent;color:#b0bec7;border:1px dashed #e5ebee;width:100%;height:64px;font-size:11px}.rail{display:grid;gap:18px;align-content:start}.rail .panel-head{padding:17px}.count{font-size:11px;color:var(--teal)}.chair{display:flex;align-items:center;gap:12px;padding:14px 17px;border-bottom:1px solid #f0f3f5;width:100%;background:#fff;border-radius:0;text-align:left;border-left:0;border-right:0;border-top:0}.chair:last-child{border-bottom:0;border-radius:0 0 13px 13px}.chair-icon{width:37px;height:40px;display:grid;place-items:center;border-radius:8px;background:#e3f4ef;color:#178e78;font-size:19px}.chair.free .chair-icon{background:#f1f4f6;color:#92a3ae}.chair strong{font-size:12px}.chair small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.badge{padding:4px 7px;border-radius:5px;background:#e5f5ef;color:#23866e;font-size:10px;white-space:nowrap}.chair .badge{margin-left:auto}.badge.amber{background:#fff3da;color:#a17a28}.badge.gray{background:#f0f3f5;color:#7c8d9c}.performer{padding:19px}.performer-top{display:flex;gap:12px;align-items:center;margin-bottom:18px}.performer-top strong{display:block}.performer-top small{font-size:11px;color:var(--muted)}.bar{height:5px;background:#edf3f5;border-radius:9px;margin:9px 0 15px;overflow:hidden}.bar i{display:block;height:100%;background:#24a99c;border-radius:9px}.line{display:flex;justify-content:space-between;font-size:11px}.bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:22px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:10px;color:var(--muted);font-weight:500;padding:13px 18px;background:#fafcfd}td{padding:15px 18px;border-bottom:1px solid #eff3f5}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.table-wrap{overflow:auto}.activity{padding:18px 20px}.activity-row{display:flex;gap:13px;padding:10px 0;font-size:12px}.activity-row time{font-size:10px;color:var(--muted);min-width:35px;padding-top:3px}.activity-row small{display:block;color:var(--muted);margin-top:5px}.page{display:none}.page.active{display:block}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service{padding:24px}.service h2{margin:14px 0 8px}.service strong{font-size:23px}.service p{font-size:12px;margin:12px 0}.list-heading{margin-bottom:20px}.chart{display:flex;align-items:end;gap:16px;height:210px;padding:22px 28px 35px}.chart div{flex:1;background:#29a89d;border-radius:6px 6px 0 0;position:relative;min-width:20px}.chart div span{position:absolute;bottom:-22px;font-size:10px;left:0;right:0;text-align:center;color:var(--muted)}.chart div b{position:absolute;top:-21px;font-size:10px;left:0;right:0;text-align:center;font-weight:500}dialog{border:0;border-radius:16px;padding:28px;max-width:460px;width:calc(100% - 30px);box-shadow:0 25px 100px #0e22334a}dialog::backdrop{background:#10233388;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog h2{font-size:21px;margin-bottom:12px}dialog label{display:block;font-size:12px;margin:15px 0}input,select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #dbe4e8;border-radius:8px;background:#fff;color:var(--ink)}dialog .actions{margin-top:24px;justify-content:end}.detail{padding:14px;background:#f3f7f8;border-radius:8px;margin:15px 0;line-height:1.9}.notice{padding:12px 17px;border:1px solid #e8e3d5;background:#fffbf1;color:#927844;border-radius:8px;font-size:11px;margin-top:22px}footer{font-size:10px;color:#8b9aa6;margin-top:22px;display:flex;justify-content:space-between}.toast{position:fixed;bottom:25px;right:25px;background:#142d3b;color:#fff;border-radius:10px;padding:16px 22px;display:none;z-index:5;max-width:calc(100% - 50px)}@media(min-width:1600px){main{max-width:1550px;margin:auto}.cal .time,.slot{height:87px}.event,.empty{height:75px}}@media(max-width:1150px){.shell{grid-template-columns:180px minmax(0,1fr)}aside{padding:25px 12px}.brand{font-size:21px}main{padding:24px}.workspace{grid-template-columns:minmax(0,1fr)}.rail{grid-template-columns:1fr 1fr}.bottom{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}@media(max-width:700px){.shell{display:block}aside{padding:16px;gap:15px}.brand small,.shop,.nav-label,.sidefoot{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:10px}nav span{display:none}header{height:auto;padding:15px}.crumb,.profile small{display:none}main{padding:18px 12px}.title{align-items:start;flex-direction:column}h1{font-size:24px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:15px}.stat strong{font-size:24px}.rail,.grid3{grid-template-columns:1fr}.legend{display:none}.panel-head{padding:16px}.profile .avatar{display:none}footer{gap:15px}.calendar-tools{padding:12px}}.error{padding:14px;background:#fff0ec;color:#9f3225;border-radius:8px;margin:12px 0}.auth{max-width:420px;margin:8vh auto;padding:30px}.auth label{display:block;margin:15px 0}.auth h1{margin-bottom:20px}.calendar-scroll{overflow:auto;max-height:700px}.livecal{display:grid;grid-auto-rows:28px;min-width:650px;padding:0 15px 15px}.livecal .head{position:sticky;top:0;z-index:3;background:#fff;text-align:center;font-size:12px;padding:10px;grid-row:1}.livecal .cell{border-bottom:1px solid #edf1f3;border-left:1px solid #edf1f3}.livecal .cell.closed{border:0;background:#fff}.livecal .cell.over{background:#d9f1ec}.livecal .event{height:auto;min-height:0;width:calc(100% - 6px);margin:1px 3px;z-index:1;padding:4px 7px;cursor:grab}.livecal .time{height:auto;font-size:10px}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.schedule-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid #edf1f3;padding:12px 0}.schedule-row strong{width:95px}.range{display:flex;gap:5px;align-items:center}.range input{width:110px;padding:7px;margin:0}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.settings-tile{padding:25px}.settings-tile p{min-height:55px}nav button[data-page=settings]{margin-top:12px;border:1px solid #3b6c71;color:#73ddce;background:#21434a}.editor{padding:20px}.editor label{display:block;margin:12px 0}.check{display:inline!important;width:auto!important;margin:0 5px!important}.schedule-list{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #edf1f3}.affected{padding:18px;background:#fff5e2;border-radius:9px;margin-top:15px}.toast{z-index:20}button:disabled{opacity:.45;cursor:default}@media(max-width:750px){.edit-grid,.settings-grid{grid-template-columns:1fr}.schedule-row strong{width:100%}.range input{width:95px}}.scheduler-views,.editor-tabs{display:flex;gap:6px;padding:12px 20px;border-block:1px solid #e6ecef;flex-wrap:wrap;background:#fbfcfd}.scheduler-views button,.editor-tabs button{display:grid;justify-items:center;gap:6px;min-width:92px;padding:10px 14px;background:transparent;border:1px solid transparent;border-radius:8px;color:#738493}.scheduler-views button span:first-child,.editor-tabs button span:first-child{font-size:20px;color:#348e88}.scheduler-views button.active,.editor-tabs button.active{background:#e4f3ef;border-color:#b7ded5;color:#126f66}.scheduler-field{font-size:11px;color:#738493;display:block}.scheduler-field select{padding:7px;margin-top:3px;width:auto}.scheduler-help{padding:4px 20px;font-size:12px}.scheduler-status{padding:6px 20px;color:#3c8075;font-size:12px;min-height:25px}.scheduler-empty{padding:30px;text-align:center;color:#738493}.scheduler-grid{min-width:650px}.scheduler-grid .head{display:flex;flex-direction:column;justify-content:center;gap:5px}.scheduler-grid .head small{font-size:10px;color:#738493}.scheduler-grid .cell{border-bottom:0}.scheduler-grid .interval-start{border-top:1px solid #edf1f3}.scheduler-grid .closed{border:0!important;background:#fff!important}.scheduler-grid .cell.over{background:#c8eee4}.scheduler-grid .time{padding:0;font-size:10px}.scheduler-grid .event.scheduler-event{border:0;border-left:3px solid #24a99c;padding:0 0 10px;min-height:0;height:auto;display:flex;flex-direction:column;overflow:hidden;border-radius:5px;background:#e4f5ef;position:relative}.scheduler-grid .event.done{background:#edf1f5;border-left-color:#9babb9}.scheduler-grid .event.pending{background:#fff4df;border-left-color:#e3b357}.scheduler-event .event-open{border:0;background:transparent;border-radius:0;text-align:left;margin:0;padding:5px 7px;color:inherit;min-height:0;overflow:hidden;flex:1}.scheduler-event .event-open:hover{background:#00000005}.scheduler-event .event-open b{display:block;font-size:11px}.scheduler-event .event-open small{display:block;font-size:10px}.scheduler-event .duration-action{padding:1px 6px;font-size:10px;background:transparent;border:0;border-radius:0;align-self:end}.resize-handle{position:absolute;bottom:0;left:0;right:0;height:12px;padding:0!important;border:0!important;border-radius:0!important;background:#d9b66b55!important;cursor:ns-resize;touch-action:none;line-height:9px;font-size:13px;color:#6c724c}.resize-handle.horizontal{inset:0 0 0 auto;width:13px;height:auto;cursor:ew-resize;display:grid;place-items:center}.scheduler-grid .resize-invalid{background:#fce5e0!important;border-color:#c54a38!important}.timeline .head{position:sticky;left:0;top:auto;z-index:3;background:#fff}.timeline .time{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:center}.timeline .cell{border-left:0;border-right:1px solid #eff3f5;border-bottom:1px solid #eff3f5}.timeline .cell.interval-start{border-top:0}.timeline .event.scheduler-event{margin:6px 1px;width:auto;padding:0 13px 0 0}.editor-tabs{padding:0 0 14px;margin-bottom:20px;background:transparent;border-top:0}.editor-tabs button{min-width:130px}.editor-tab-panel[hidden]{display:none}.editor-tab-panel>section{max-width:720px}.editor-tab-panel>.editor-panels{padding:0}.week-day-check{display:inline-flex!important;align-items:center;gap:5px;margin-right:20px!important}.editor-tab-panel button.primary{display:block;margin-top:20px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));min-width:1050px;padding:0 15px 15px}.month-weekday{text-align:center;font-size:12px;padding:10px;background:#f8fafb}.month-day{min-height:135px;border:1px solid #edf1f3;padding:6px;display:flex;flex-direction:column;gap:5px}.month-day.outside{background:#f9fafb}.month-heading{display:flex;justify-content:space-between;align-items:center}.month-date,.month-add{border:0;background:transparent;padding:5px;font-size:11px}.month-day.over,.agenda-day.over{background:#ddf3eb}.month-day .scheduler-event,.agenda .scheduler-event{padding:0;border:0;border-left:3px solid #d7ae54;border-radius:5px;background:#fff4df;width:100%;margin:0;text-align:left;display:flex;flex-direction:column}.month-day .scheduler-event.done,.agenda .scheduler-event.done{background:#edf1f5;border-color:#9babb9}.month-day .scheduler-event small{white-space:normal}.agenda{padding:0 20px 20px}.agenda-day{padding:18px 0;border-bottom:1px solid #e6ecef}.agenda-day h2{margin-bottom:12px}.agenda .scheduler-event{margin:8px 0;max-width:760px;display:grid;grid-template-columns:1fr auto}.agenda .scheduler-event .event-open{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px}.agenda .scheduler-event .event-open small{font-size:12px}.agenda .duration-action{font-size:12px;align-self:center;padding:10px}.month-day .duration-action{align-self:end}.event-open:focus-visible,.resize-handle:focus-visible{outline:3px solid #128c84!important;outline-offset:-3px}.scheduler [role=tab]:focus-visible,.editor-tabs [role=tab]:focus-visible{outline:3px solid #128c84}.editor-panels{min-height:250px}@media(max-width:750px){.scheduler-views,.editor-tabs{flex-wrap:nowrap;overflow:auto;padding:10px;max-width:100%}.scheduler-views button{min-width:85px;padding:8px}.editor-tabs button{min-width:110px}.scheduler-field select{max-width:155px}.scheduler-views button span:first-child,.editor-tabs button span:first-child{font-size:18px}.agenda .scheduler-event .event-open{display:block}.month-grid{min-width:980px}.editor-panels{min-height:180px}}.scheduler-grid:not(.timeline) .duration-action{position:absolute;right:5px;bottom:12px;font-size:10px}.scheduler-event .event-open small{line-height:1.15}.scheduler-event .event-open{cursor:grab}.scheduler-event.done .event-open{cursor:default}#app[aria-busy=true] .scheduler{pointer-events:none;opacity:.75}
