html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}html,body,#root{min-width:1180px;min-height:100vh}body{color:#202431;background:#f5f7fb;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--surface:#fff;--surface-soft:#f7faf8;--surface-green:#edf6f0;--line:#e4ebe6;--line-strong:#d5e2da;--text:#1f2a24;--muted:#76847d;--green:#2f9b65;--green-dark:#247750;--rose:#df4f72;--rose-soft:#fff0f3;--amber:#c9842f;--blue:#4a90d9;--sidebar:#fbfdfb}*{box-sizing:border-box}body{min-width:1180px;color:var(--text);background:#f5f8f6;margin:0}.admin-shell{background:#f5f8f6;min-height:100vh}.admin-sider{border-right:1px solid var(--line);height:100vh;position:sticky;top:0;overflow:auto;background:var(--sidebar)!important}.brand,.login-brand,.booking-brand{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.brand{border-bottom:1px solid var(--line);min-height:78px;padding:0 16px}.brand>span:last-child,.login-brand>span:last-child,.booking-brand>span:last-child{min-width:0}.login-brand strong,.booking-brand strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:750;display:block;overflow:hidden}.brand strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:750;display:block;overflow:hidden}.brand small,.login-brand small,.booking-brand small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.brand-mark{color:#fff;background:linear-gradient(135deg,#2f9b65,#86b690);border-radius:8px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:0 10px 24px #2f9b6538}.side-menu{padding:10px 12px 18px;background:0 0!important;border-inline-end:0!important}.side-menu .ant-menu-item{color:#54625b;border-radius:8px;height:42px;margin:5px 0}.side-menu .ant-menu-item a{color:inherit}.side-menu .ant-menu-item-selected{color:var(--green-dark);font-weight:650;background:var(--surface-green)!important}.sider-license{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;flex-direction:column;gap:4px;padding:14px;font-size:12px;display:flex;position:absolute;bottom:18px;left:12px;right:12px}.sider-license strong{color:var(--text);font-size:14px}.admin-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;grid-template-columns:minmax(280px,1fr) minmax(320px,420px) auto;align-items:center;gap:18px;height:78px;padding:0 22px;display:grid;position:sticky;top:0}.header-greeting h3.ant-typography{color:var(--text);margin:0 0 2px;font-size:20px;font-weight:720}.global-search{width:100%}.global-search .ant-input-affix-wrapper,.admin-header .ant-picker,.header-actions .ant-btn{border-color:var(--line);border-radius:8px}.header-actions{justify-content:flex-end}.account-trigger{cursor:pointer;border:1px solid #0000;border-radius:8px;min-width:150px;padding:5px 8px}.account-trigger:hover{border-color:var(--line);background:var(--surface-soft)}.account-trigger span:last-child{flex-direction:column;line-height:1.18;display:flex}.admin-content{background:#f5f8f6;min-height:calc(100vh - 78px);padding:20px}.route-loading,.booking-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.page-stack{flex-direction:column;gap:16px;display:flex}.page-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-toolbar h2.ant-typography{color:var(--text);letter-spacing:0;margin:0 0 4px;font-size:22px;font-weight:720}.page-toolbar .ant-typography-secondary{color:var(--muted)}.metric-card,.panel-card,.staff-card,.plan-card,.data-table,.booking-form-card,.booking-info-card,.login-card{border:1px solid var(--line);box-shadow:none;border-radius:8px}.metric-card{overflow:hidden}.metric-card .ant-card-body{min-height:118px;padding:18px;position:relative}.metric-card-inner{width:100%}.metric-icon{border-radius:8px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:inline-flex}.metric-rose{color:var(--rose);background:var(--rose-soft)}.metric-teal{color:var(--green);background:var(--surface-green)}.metric-amber{color:var(--amber);background:#fff6e8}.metric-blue{color:var(--blue);background:#edf5ff}.metric-tag{position:absolute;bottom:18px;right:18px}.panel-card .ant-card-head,.data-table .ant-table-title{border-bottom-color:var(--line);min-height:50px}.panel-card .ant-card-head-title{color:var(--text);font-weight:680}.fill-card{height:100%}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.filter-bar .ant-input-affix-wrapper,.filter-bar .ant-picker,.filter-bar .ant-select-selector{border-radius:8px!important}.table-search{max-width:360px}.status-select{width:150px}.data-table{overflow:hidden}.data-table .ant-table{color:var(--text)}.data-table .ant-table-thead>tr>th{color:#66736c;background:#f7faf8;font-weight:650}.data-table .ant-table-cell{white-space:nowrap;border-bottom-color:#edf2ee}.muted-text{color:var(--muted)}.reminder-empty{color:var(--muted);text-align:center;padding:36px 0}.full-width{width:100%}.between{justify-content:space-between;width:100%}.flow-chart{flex-direction:column;gap:14px;display:flex}.flow-chart-inline{grid-template-columns:repeat(7,minmax(120px,1fr));display:grid}.flow-row{grid-template-columns:54px minmax(0,1fr) 24px;align-items:center;gap:10px;display:grid}.dashboard-side{flex-direction:column;gap:16px;display:flex}.dashboard-appointments{min-height:468px}.appointment-board{border:1px solid var(--line);border-radius:8px;overflow:hidden}.appointment-board-header,.appointment-board-row{grid-template-columns:104px repeat(5,minmax(120px,1fr));display:grid}.appointment-board-header{color:#66736c;background:#f7faf8;min-height:42px;font-size:13px;font-weight:650}.appointment-board-header span,.staff-cell,.slot-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px}.appointment-board-header span:last-child,.slot-cell:last-child{border-right:0}.appointment-board-row:last-child .staff-cell,.appointment-board-row:last-child .slot-cell{border-bottom:0}.staff-cell{background:#fbfdfb;flex-direction:column;justify-content:center;min-height:82px;display:flex}.staff-cell strong{font-size:14px}.staff-cell span,.slot-booking span{color:var(--muted);margin-top:4px;font-size:12px}.slot-cell{background:#fff;min-height:82px}.slot-booking{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:62px;padding:8px;display:flex}.slot-empty{color:#b4bdb8;align-items:center;min-height:62px;display:inline-flex}.appointment-board-empty{color:var(--muted);text-align:center;padding:34px}.booking-link-box{color:var(--rose);text-overflow:ellipsis;white-space:nowrap;background:#fff8fa;border:1px solid #f1bcc8;border-radius:8px;margin:14px 0;padding:12px 14px;font-weight:650;overflow:hidden}.donut-summary{align-items:center;gap:20px;display:flex}.summary-legend{color:var(--muted);flex-direction:column;flex:1;gap:10px;display:flex}.legend-dot{border-radius:999px;width:8px;height:8px;margin-right:8px;display:inline-block}.legend-dot.green{background:var(--green)}.legend-dot.rose{background:var(--rose)}.legend-dot.blue{background:var(--blue)}.plan-card{height:100%}.plan-card h3,.staff-card h3{margin:0 0 6px;font-size:18px}.rank-list,.benefit-list{flex-direction:column;display:flex}.rank-list{gap:6px}.rank-item{border-bottom:1px solid #edf2ee;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:10px 0;display:flex}.rank-item:last-child{border-bottom:0}.rank-item p{margin:5px 0 0}.benefit-list{gap:8px}.benefit-item{border-bottom:1px solid #1f2a2414;padding:8px 0}.plan-price{color:var(--text);margin:0;font-size:28px;font-weight:720}.plan-rose,.plan-teal,.plan-amber{background:#fff}.report-number{color:var(--text);margin-bottom:6px;font-size:34px;line-height:1;display:block}.settings-stack{flex-direction:column;gap:16px;display:flex}.login-page{background:#f5f8f6;grid-template-columns:minmax(540px,1fr) 500px;min-height:100vh;display:grid}.login-visual{color:#fff;background:linear-gradient(145deg,#1e362be6,#438763c7),url(/assets/hero-CLDdwZDr.png) 50%/cover;flex-direction:column;justify-content:space-between;padding:34px;display:flex;position:relative;overflow:hidden}.login-brand{z-index:1;color:#fff;min-height:auto;padding:0;position:relative}.login-brand small{color:#ffffffc2}.login-metrics{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid;position:relative}.login-metrics div{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:8px;min-height:106px;padding:18px}.login-metrics strong{margin-bottom:8px;font-size:28px;display:block}.login-metrics span{color:#fffc}.login-panel{justify-content:center;align-items:center;padding:40px;display:flex}.login-card{width:100%;max-width:390px;box-shadow:0 18px 48px #26483614}.public-booking-link{color:var(--green-dark);justify-content:center;font-weight:650;display:inline-flex}.booking-page{background:linear-gradient(#edf6f0d1,#f5f8f6fa),#f5f8f6;min-height:100vh;padding:28px}.booking-shell{width:min(1120px,100%);margin:0 auto}.booking-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:16px 0;display:flex}.booking-phone{border:1px solid var(--line);min-height:40px;color:var(--green-dark);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-weight:650;text-decoration:none;display:inline-flex}.booking-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.booking-form-card .ant-card-body{padding:26px}.booking-date-row{grid-template-columns:minmax(0,1fr) 180px;gap:12px;display:grid}.booking-side{flex-direction:column;gap:16px;display:flex}.booking-price{color:var(--rose);font-size:26px;font-weight:760}.booking-success{flex-direction:column;justify-content:center;align-items:stretch;gap:16px;min-height:360px;display:flex}.booking-success-summary{text-align:center}.booking-success-summary>.anticon{color:var(--green);margin-bottom:18px;font-size:58px}.booking-success-summary h2.ant-typography{margin-bottom:8px}.booking-success-actions{justify-content:center}.booking-appointment-detail,.booking-result-item{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.booking-appointment-detail{background:var(--surface-soft)}.booking-result-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.booking-result-head>.ant-typography{flex:none;font-size:12px}.booking-result-list{flex-direction:column;gap:10px;display:flex}.booking-result-item{padding:12px}.booking-result-item .ant-descriptions-item-label,.booking-result-item .ant-descriptions-item-content{font-size:12px;padding:7px 8px!important}.booking-query-empty{margin:4px 0 0}@media (width<=1100px){body{min-width:0}.admin-sider{display:none}.admin-header{grid-template-columns:1fr;gap:12px;height:auto;padding:14px}.header-actions{flex-wrap:wrap;justify-content:flex-start}.booking-grid,.login-page,.booking-date-row{grid-template-columns:1fr}.login-visual{min-height:320px}}
