@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-50: #ECF6F2;--brand-100: #D4ECE3;--brand-200: #A8D8C8;--brand-300: #72BEAA;--brand-400: #3C9E86;--brand-500: #16806A;--brand-600: #0C6E56;--brand-700: #095646;--brand-800: #08453A;--brand-900: #06342C;--accent: #C9821A;--accent-soft: #FBF0DA;--primary: var(--brand-600);--primary-dark: var(--brand-800);--primary-light: var(--brand-50);--gray-50: #F7F5F1;--gray-100: #EFEBE3;--gray-200: #E3DDD2;--gray-300: #CFC8BA;--gray-400: #A69F90;--gray-500: #6E695D;--gray-600: #524E44;--gray-700: #3B382F;--gray-800: #2A2823;--gray-900: #1B1A16;--danger: #C0432B;--danger-soft: #F8E2DC;--success: #1B7A53;--success-soft: #DDEFE4;--warning: #B5740E;--warning-soft: #FBEFD6;--info: #2C6E9B;--info-soft: #E2ECF5;--bg: var(--gray-50);--surface: #FFFFFF;--line: #E7E1D6;--line-soft: #EFEAE0;--sidebar-bg: #0B2620;--sidebar-bg-2: #0E2F27;--font-sans: "Manrope Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: 12px;--text-sm: 13.5px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 9px;--radius: 12px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(28,26,22,.05);--shadow-sm: 0 1px 3px rgba(28,26,22,.06), 0 1px 2px rgba(28,26,22,.04);--shadow-md: 0 6px 16px rgba(28,26,22,.08), 0 2px 6px rgba(28,26,22,.05);--shadow-lg: 0 16px 40px rgba(28,26,22,.14), 0 6px 12px rgba(28,26,22,.07);--ring: 0 0 0 3px rgba(12,110,86,.22);--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur: .19s;--dur-slow: .32s;--sidebar-w: 240px;--topbar-h: 60px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;font-weight:450;color:var(--gray-800);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}body{background-image:radial-gradient(900px 480px at 88% -10%,rgba(201,130,26,.045),transparent 60%),radial-gradient(1100px 600px at -10% 110%,rgba(12,110,86,.05),transparent 55%);background-attachment:fixed}#root{height:100%;display:flex;flex-direction:column}a{color:var(--brand-600);text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:none;border:none}::selection{background:var(--brand-100);color:var(--brand-800)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}h1,h2,h3{line-height:1.18;letter-spacing:-.015em;color:var(--gray-900);font-weight:800}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.page-title{font-size:var(--text-xl);font-weight:800;letter-spacing:-.02em;color:var(--gray-900)}.page-subtitle{font-size:var(--text-sm);color:var(--gray-500);margin-top:3px;font-weight:500}.eyebrow{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.09em;color:var(--brand-600)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card-tight{padding:var(--space-4)}.card-interactive{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--gray-300)}.card-title{font-size:var(--text-base);font-weight:750;color:var(--gray-900)}.card-sub{font-size:var(--text-xs);color:var(--gray-500);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;min-height:44px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:700;font-size:var(--text-sm);letter-spacing:.005em;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),opacity var(--dur-fast)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand-600);color:#fff;box-shadow:0 1px 2px #09564659,inset 0 1px #ffffff14}.btn-primary:hover{background:var(--brand-700)}.btn-primary:active{background:var(--brand-800)}.btn-secondary{background:var(--surface);color:var(--gray-700);border-color:var(--line);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-ghost{background:transparent;color:var(--gray-600)}.btn-ghost:hover{background:var(--gray-100)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.94)}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-danger-soft:hover{filter:brightness(.97)}.btn-sm{padding:7px 12px;min-height:38px;font-size:var(--text-sm)}.btn-full{width:100%}.btn-icon{padding:0;width:40px;min-width:40px;min-height:40px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.01em;line-height:1.5}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.badge-pending{background:var(--warning-soft);color:#8a5a0b}.badge-confirmed{background:var(--brand-50);color:var(--brand-700)}.badge-completed{background:var(--info-soft);color:#235c86}.badge-cancelled_by_customer,.badge-cancelled_by_business{background:var(--danger-soft);color:#9c3a24}.badge-no_show,.badge-rescheduled{background:var(--gray-100);color:var(--gray-600)}label{display:block;font-size:var(--text-sm);font-weight:650;color:var(--gray-700);margin-bottom:6px}.form-group{margin-bottom:var(--space-4)}.form-hint{font-size:var(--text-xs);color:var(--gray-500);margin-top:5px}.form-error{color:var(--danger);font-size:var(--text-sm);font-weight:600}.form-success{color:var(--success);font-size:var(--text-sm);font-weight:650}input,select,textarea{width:100%;min-height:44px;padding:11px 13px;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-family:inherit;font-size:16px;color:var(--gray-800);background:var(--surface);outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}textarea{min-height:80px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--gray-400)}input:focus,select:focus,textarea:focus{border-color:var(--brand-500);box-shadow:var(--ring)}input:disabled,select:disabled{background:var(--gray-100);color:var(--gray-500)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236E695D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.layout{display:flex;height:100%}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:linear-gradient(178deg,var(--sidebar-bg-2),var(--sidebar-bg) 55%);color:#fff;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);position:relative}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:#ffffff0f}.sidebar-logo{padding:var(--space-5) var(--space-4) var(--space-5);display:flex;align-items:center;gap:10px;font-size:var(--text-lg);font-weight:800;letter-spacing:-.02em;color:#fff}.logo-mark{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:radial-gradient(120% 120% at 20% 15%,rgba(255,255,255,.28),transparent 45%),linear-gradient(150deg,var(--brand-400),var(--brand-600) 70%);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 8px #00000040,inset 0 1px #ffffff40}.logo-word small{display:block;font-size:10px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73;margin-top:1px}.sidebar-nav{flex:1;padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:3px;overflow-y:auto}.nav-section{font-size:10.5px;font-weight:750;text-transform:uppercase;letter-spacing:.12em;color:#ffffff57;padding:var(--space-4) var(--space-2) var(--space-1)}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;min-height:42px;border-radius:var(--radius-sm);color:#ffffff9e;font-size:var(--text-sm);font-weight:650;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-item svg{opacity:.85;flex-shrink:0}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:linear-gradient(180deg,#72beaa38,#72beaa24);color:#fff;box-shadow:inset 0 0 0 1px #72beaa40}.nav-item.active svg{opacity:1;color:var(--brand-200)}.sidebar-footer{padding:var(--space-3);border-top:1px solid rgba(255,255,255,.07)}.topbar{height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-6);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:90}.topbar-spacer{flex:1}.content-col{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.main-content{flex:1;padding:var(--space-6);overflow-y:auto;-webkit-overflow-scrolling:touch}.page{max-width:1040px;margin:0 auto}.biz-switcher{display:inline-flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:var(--text-sm);color:var(--gray-800);box-shadow:var(--shadow-xs);max-width:260px;transition:border-color var(--dur-fast),background var(--dur-fast)}.biz-switcher:hover{border-color:var(--gray-300);background:var(--gray-50)}.biz-switcher .biz-dot{width:26px;height:26px;border-radius:8px;flex-shrink:0;background:linear-gradient(150deg,var(--brand-100),var(--brand-200));color:var(--brand-700);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.biz-switcher span.biz-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;z-index:300;animation:pop-in var(--dur) var(--ease-out)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--gray-700);text-align:left;transition:background var(--dur-fast)}.menu-item:hover{background:var(--gray-100)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.menu-divider{height:1px;background:var(--line-soft);margin:6px 4px}.menu-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-400);padding:8px 12px 4px}.avatar{width:36px;height:36px;border-radius:var(--radius-full);flex-shrink:0;background:linear-gradient(150deg,var(--brand-100),var(--brand-200));color:var(--brand-800);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:800;letter-spacing:.01em;border:1px solid rgba(9,86,70,.12)}.avatar-lg{width:46px;height:46px;font-size:var(--text-base);border-radius:14px}.appbar,.bottom-nav{display:none}@media(max-width:768px){.sidebar,.topbar{display:none}.layout{flex-direction:column}.appbar{display:flex;align-items:center;gap:var(--space-3);padding:calc(env(safe-area-inset-top) + 10px) var(--space-4) 10px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:90}.appbar .logo-mark{width:30px;height:30px;border-radius:9px}.appbar-title{font-weight:800;letter-spacing:-.02em;font-size:var(--text-md)}.main-content{padding:var(--space-4);padding-bottom:calc(86px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 16px #1c1a160f}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;padding:8px 2px;gap:3px;font-size:10.5px;font-weight:650;color:var(--gray-500);transition:color var(--dur-fast) var(--ease)}.bottom-nav-item svg{transition:transform var(--dur) var(--ease-out)}.bottom-nav-item.active{color:var(--brand-600)}.bottom-nav-item.active svg{transform:translateY(-1px) scale(1.08)}}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);border-bottom:1px solid var(--line)}.table td{padding:13px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover td{background:var(--gray-50)}.table-scroll{overflow-x:auto;margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,var(--brand-300),transparent 70%);opacity:0;transition:opacity var(--dur)}.stat-card:hover:after{opacity:1}.stat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:6px}.stat-icon{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand-600)}.stat-icon.honey{background:var(--accent-soft);color:var(--accent)}.stat-icon.red{background:var(--danger-soft);color:var(--danger)}.stat-icon.blue{background:var(--info-soft);color:var(--info)}.stat-value{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;color:var(--gray-900);line-height:1.1;font-variant-numeric:tabular-nums}.stat-label{font-size:var(--text-xs);font-weight:650;color:var(--gray-500)}.segmented{display:inline-flex;gap:3px;padding:3px;background:var(--gray-100);border-radius:var(--radius-sm);border:1px solid var(--line-soft);max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented button{padding:7px 13px;min-height:36px;border-radius:7px;white-space:nowrap;font-size:var(--text-sm);font-weight:650;color:var(--gray-500);transition:background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast)}.segmented button:hover{color:var(--gray-700)}.segmented button.on{background:var(--surface);color:var(--gray-900);box-shadow:var(--shadow-xs);border:1px solid var(--line);padding:6px 12px}.date-strip{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-chip{min-width:58px;padding:8px 6px 9px;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:1px;transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast);flex-shrink:0}.date-chip:hover{border-color:var(--gray-300)}.date-chip .dow{font-size:10.5px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400)}.date-chip .dom{font-size:var(--text-md);font-weight:800;color:var(--gray-800);font-variant-numeric:tabular-nums}.date-chip.today .dow{color:var(--accent)}.date-chip.on{border-color:var(--brand-500);background:var(--brand-50)}.date-chip.on .dom{color:var(--brand-700)}.date-chip.on .dow{color:var(--brand-500)}.booking-card{display:flex;gap:var(--space-4);align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast),box-shadow var(--dur)}.booking-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md)}.booking-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--brand-50);border:1px solid var(--brand-100);flex-shrink:0}.booking-time .t1{font-weight:800;font-size:var(--text-md);color:var(--brand-800);font-variant-numeric:tabular-nums}.booking-time .t2{font-size:var(--text-xs);color:var(--brand-500);font-weight:650;font-variant-numeric:tabular-nums}.booking-card.is-muted{opacity:.62}.booking-card.is-muted .booking-time{background:var(--gray-100);border-color:var(--gray-200)}.booking-card.is-muted .booking-time .t1{color:var(--gray-600)}.booking-card.is-muted .booking-time .t2{color:var(--gray-400)}.booking-main{flex:1;min-width:0}.booking-meta{display:flex;align-items:center;gap:7px;font-size:var(--text-xs);color:var(--gray-500);font-weight:600;flex-wrap:wrap}.booking-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;justify-content:flex-end}@media(max-width:640px){.booking-card{flex-wrap:wrap}.booking-actions{width:100%;justify-content:flex-end;padding-top:var(--space-2);border-top:1px dashed var(--line-soft)}}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);background:var(--gray-100);color:var(--gray-600);font-size:var(--text-xs);font-weight:650}.chip.brand{background:var(--brand-50);color:var(--brand-700)}.chip.honey{background:var(--accent-soft);color:var(--accent)}.service-toggle{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1.5px solid var(--line);background:var(--surface);color:var(--gray-600);font-size:var(--text-xs);font-weight:700;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.service-toggle:hover{border-color:var(--gray-300);background:var(--gray-50)}.service-toggle.on{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-700)}@media(max-width:768px){.service-toggle{min-height:44px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14120e75;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:overlay-in var(--dur) var(--ease)}@media(min-width:640px){.modal-overlay{align-items:center;padding:var(--space-6)}}.modal{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:500px;overflow-y:auto;max-height:92vh;max-height:92dvh;padding:var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:sheet-up var(--dur-slow) var(--ease-out)}@media(min-width:640px){.modal{border-radius:var(--radius-lg);animation:pop-in var(--dur) var(--ease-out)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.modal-title{font-size:var(--text-md);font-weight:750;color:var(--gray-900)}.modal-close{color:var(--gray-400);width:38px;height:38px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-fast),color var(--dur-fast)}.modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.modal-footer{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-5)}.toggle{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gray-300);border-radius:999px;transition:background var(--dur) var(--ease);cursor:pointer}.toggle input:checked+.toggle-slider{background:var(--brand-500)}.toggle input:focus-visible+.toggle-slider{box-shadow:var(--ring)}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease-out)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.skeleton{background:linear-gradient(100deg,var(--gray-100) 30%,var(--gray-200) 50%,var(--gray-100) 70%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.4s var(--ease) infinite}.skeleton-text{height:12px;margin:6px 0}.skeleton-card{height:76px;border-radius:var(--radius-md)}.hbar-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr 44px;gap:var(--space-3);align-items:center;padding:7px 0}.hbar-label{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:22px;background:var(--gray-100);border-radius:7px;overflow:hidden}.hbar-fill{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--brand-400),var(--brand-600));box-shadow:inset 0 1px #ffffff2e;transition:width var(--dur-slow) var(--ease-out);min-width:4px}.hbar-fill.honey{background:linear-gradient(90deg,#E2A445,var(--accent))}.hbar-value{font-size:var(--text-sm);font-weight:750;color:var(--gray-800);text-align:right;font-variant-numeric:tabular-nums}.vbar-wrap{display:flex;align-items:flex-end;gap:var(--space-2);height:150px;padding-top:var(--space-2)}.vbar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}.vbar{width:100%;max-width:44px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--brand-400),var(--brand-600));transition:height var(--dur-slow) var(--ease-out);position:relative;min-height:3px}.vbar.is-zero{background:var(--gray-200)}.vbar.is-today{background:linear-gradient(180deg,#E2A445,var(--accent))}.vbar-count{font-size:var(--text-xs);font-weight:750;color:var(--gray-700);font-variant-numeric:tabular-nums}.vbar-day{font-size:10.5px;font-weight:650;color:var(--gray-400);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.donut{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}.donut-ring{width:132px;height:132px;border-radius:50%;position:relative;flex-shrink:0}.donut-hole{position:absolute;top:16px;right:16px;bottom:16px;left:16px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-hole .n{font-size:var(--text-xl);font-weight:800;color:var(--gray-900);line-height:1}.donut-hole .l{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-400);margin-top:3px}.legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:flex;align-items:center;gap:9px;font-size:var(--text-sm);font-weight:600;color:var(--gray-700)}.legend-row .sw{width:11px;height:11px;border-radius:4px;flex-shrink:0}.legend-row .n{margin-left:auto;font-weight:750;color:var(--gray-800);font-variant-numeric:tabular-nums}.toast-host{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:400;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px))}@media(min-width:769px){.toast-host{bottom:28px}}.toast{display:flex;align-items:center;gap:10px;background:var(--gray-900);color:#fff;padding:13px 16px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;box-shadow:var(--shadow-lg);animation:toast-in var(--dur-slow) var(--ease-out)}.toast .toast-ico{display:inline-flex;flex-shrink:0}.toast-success .toast-ico{color:#7ed9b4}.toast-error .toast-ico{color:#f2a08d}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--gray-500)}.empty-ico{width:56px;height:56px;border-radius:18px;margin:0 auto var(--space-4);background:var(--brand-50);color:var(--brand-500);display:flex;align-items:center;justify-content:center}.empty-title{font-size:var(--text-md);font-weight:750;color:var(--gray-800);margin-bottom:4px}.empty-sub{font-size:var(--text-sm);color:var(--gray-500);max-width:360px;margin:0 auto}.savebar{position:sticky;bottom:env(safe-area-inset-bottom);z-index:80;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}@media(max-width:768px){.savebar{bottom:calc(env(safe-area-inset-bottom) + 74px)}}.steps{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6)}.step-dot{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;background:var(--gray-100);color:var(--gray-400);border:1.5px solid var(--line);flex-shrink:0;transition:all var(--dur)}.step-dot.on{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.step-dot.done{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-600)}.step-line{flex:1;height:2px;background:var(--line);border-radius:2px;position:relative;overflow:hidden}.step-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand-400);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-out)}.step-line.done:after{transform:scaleX(1)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.cat-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);text-align:center;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface);font-weight:700;font-size:var(--text-sm);color:var(--gray-700);transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast)}.cat-card .cat-ico{font-size:26px;line-height:1}.cat-card:hover{border-color:var(--gray-300);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.cat-card.on{border-color:var(--brand-500);background:var(--brand-50);color:var(--brand-800);box-shadow:var(--ring)}.wizard-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5)}.wizard-actions .wizard-cta{margin-left:auto}@media(max-width:480px){.wizard-actions{flex-wrap:wrap}.wizard-actions .wizard-cta{flex:1 1 100%;margin-left:0}}.day-hours{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.day-hours-name{width:36px;font-weight:750;font-size:var(--text-sm);flex-shrink:0}.day-hours .time-range{display:flex;align-items:center;gap:8px}.day-hours .time-range input[type=time]{width:116px;min-height:40px}.day-hours .time-sep{color:var(--gray-400)}@media(max-width:400px){.day-hours .time-range{flex:1 1 100%}.day-hours .time-range input[type=time]{flex:1;width:auto;min-width:0}}.muted{color:var(--gray-500)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-3)}.grow{flex:1;min-width:0}.divider{border-bottom:1px solid var(--line-soft)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:520px){.grid-2{grid-template-columns:1fr}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tnum{font-variant-numeric:tabular-nums}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(18px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes pop-in{0%{transform:scale(.97) translateY(4px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-in{animation:fade-in-up var(--dur-slow) var(--ease-out) both}.stagger>*{animation:fade-in-up var(--dur-slow) var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(7){animation-delay:.24s}.stagger>*:nth-child(8){animation-delay:.28s}.stagger>*:nth-child(n+9){animation-delay:.32s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
