:root{--brand-50: #E8F0EF;--brand-100: #C5DDDA;--brand-500: #13868A;--brand: #0E6B70;--brand-700: #0A5155;--brand-ink: #05383B;--gold-soft: #FAF3E4;--gold-100: #EFDFBB;--gold-light: #E5C277;--gold: #D5A84B;--gold-dark: #9C742B;--gold-ink: #7A5A1E;--bg: #EFEDE8;--card: #FFFFFF;--surface-muted: #F7F5F1;--surface-sunken: #E7E4DD;--border: #DCD7CE;--border-strong: #C5BFB3;--ink-1: #1B1915;--ink-2: #443F37;--ink-3: #625C52;--ink-4: #877F72;--on-brand: #FFFFFF;--on-gold: #1A1204;--shell: #FBFAF7;--shell-border: #DCD7CE;--shell-ink-1: #1B1915;--shell-ink-2: #625C52;--shell-active-bg: var(--gold-soft);--shell-active-border: rgba(213, 168, 75, .38);--shell-active-ink: var(--gold-ink);--success: #0E7A46;--success-soft: #E3F5EB;--warning: #9A6208;--warning-soft: #FCF1DE;--danger: #B33F3F;--danger-soft: #FBEBEB;--info: #2E6FA8;--info-soft: #E7F0F8;--card-raised: #FFFFFF;--skeleton-shine: #F7FAFB;--overlay: rgba(14, 27, 34, .45);--switch-knob: #FFFFFF;--ring-color: rgba(17, 130, 139, .35);--shell-veil: rgba(255, 255, 255, .92);--shell-veil-strong: rgba(255, 255, 255, .96);--brand-surface: #06373A;--brand-surface-2: #0B5054;--on-brand-surface: #FFFFFF;--on-brand-surface-2: rgba(255, 255, 255, .78);--on-brand-surface-fill: rgba(255, 255, 255, .18);--on-ink: #FFFFFF;--on-success: #FFFFFF;--cash: #12563A;--cash-dark: #0D4630;--on-cash: #FFFFFF;--success-border: #BCE6CD;--success-bright: #6EE7A8;--warning-border: #F2DFC0;--danger-border: #EDD0CE;--danger-tint: #F8D9D7;--danger-ink: #7E3330;--danger-strong: #7E1F1B;--on-danger-strong: #FFC9C5;--submission-soft: #FCE7F0;--submission-ink: #B4326E;--chart-1: #0A6670;--chart-2: #16A0A6;--chart-3: #D5A84B;--chart-4: #5D8CA8;--chart-5: #93A2AA;--plan-a: #06454D;--plan-b: #0E4E58;--on-plan: #FFFFFF;--on-plan-2: #CFE4E8;--on-plan-3: #A9CFD6;--on-plan-fill: rgba(255, 255, 255, .1);--on-plan-line: rgba(255, 255, 255, .2);--accent: var(--brand);--accent-dark: var(--brand-700);--accent-soft: var(--brand-50);--green: var(--success);--amber: var(--warning);--amber-soft: var(--warning-soft);--stage-booked: var(--info);--stage-booked-soft: var(--info-soft);--stage-waiting: var(--warning);--stage-waiting-soft: var(--warning-soft);--stage-treatment: var(--brand);--stage-treatment-soft: var(--brand-50);--stage-payment: var(--brand-700);--stage-payment-soft: var(--brand-100);--semantic-success: var(--success);--semantic-success-soft: var(--success-soft);--semantic-danger: var(--danger);--semantic-danger-soft: var(--danger-soft);--radius-xs: 8px;--radius-sm: 12px;--radius: 16px;--radius-lg: 20px;--radius-xl: 26px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow-sm: 0 1px 2px rgba(21, 35, 43, .05), 0 2px 8px rgba(21, 35, 43, .03);--shadow: 0 10px 24px -16px rgba(21, 35, 43, .28), 0 2px 6px rgba(21, 35, 43, .04);--shadow-lg: 0 24px 48px -24px rgba(21, 35, 43, .34);--hairline: rgba(27, 25, 21, .08);--hairline-strong: rgba(27, 25, 21, .14);--elev-1: 0 1px 1px rgba(27, 25, 21, .04), 0 4px 14px -8px rgba(27, 25, 21, .16);--elev-2: 0 2px 4px rgba(27, 25, 21, .05), 0 18px 36px -22px rgba(27, 25, 21, .3);--elev-brand: 0 18px 40px -24px rgba(5, 56, 59, .8);--gold-line: rgba(213, 168, 75, .55);--shadow-gold: 0 0 0 1px rgba(213, 168, 75, .22);--ring: 0 0 0 3px rgba(17, 130, 139, .22);--font-display: "Plus Jakarta Sans", "IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif;--font-body: "IBM Plex Sans Thai", "Noto Sans Thai", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 27px;--text-3xl: 34px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--gutter: 16px;--nav-h: 62px;--tap: 44px;--app-header-h: calc(69px + var(--safe-top));--shell-w: 252px}:root[data-shell=deep]{--gold-line: rgba(229, 194, 119, .6);--shell: #10222C;--shell-veil: rgba(16, 34, 44, .92);--shell-veil-strong: rgba(16, 34, 44, .96);--shell-border: rgba(255, 255, 255, .1);--shell-ink-1: #F2F5F6;--shell-ink-2: #93A6AF;--shell-active-bg: linear-gradient(90deg, rgba(213, 168, 75, .26), rgba(213, 168, 75, .08));--shell-active-border: rgba(213, 168, 75, .38);--shell-active-ink: var(--gold-light)}:root[data-shell=clinical]{--clinic-shell: #0B1F2E;--clinic-shell-raised: #102B3F;--clinic-primary: #0B615F;--clinic-primary-hover: #084F4E;--clinic-primary-soft: #EAF7F5;--clinic-canvas: #F2F5F7;--clinic-surface: #FFFFFF;--clinic-surface-muted: #F8FAFB;--clinic-ink: #172832;--clinic-ink-muted: #586974;--clinic-line: #D9E2E7;--stage-booked: #275FA7;--stage-booked-soft: #EAF2FD;--stage-waiting: #946006;--stage-waiting-soft: #FFF3D4;--stage-treatment: #0B615F;--stage-treatment-soft: #EAF7F5;--stage-payment: #624D9B;--stage-payment-soft: #F0ECFB;--semantic-success: #14784D;--semantic-success-soft: #E7F6ED;--semantic-danger: #AD2F2A;--semantic-danger-soft: #FFF0EE;--clinic-ink-2: #3F525E;--clinic-ink-4: #93A6AF;--clinic-line-strong: #C3D0D6;--clinic-control-line: #6F8A96;--clinic-control-danger-line: #C15A54;--clinic-shell-accent: #4DBDB6;--clinic-shell-accent-soft: rgba(77, 189, 182, .16);--clinic-shell-accent-border: rgba(77, 189, 182, .62);--clinic-nav-mobile-bg: rgba(255, 255, 255, .96);--clinic-chart-1: #0B615F;--clinic-chart-2: #2E8E8A;--clinic-chart-3: #5AA6C2;--clinic-chart-4: #7C93A6;--clinic-chart-5: #A9BAC2;--bg: var(--clinic-canvas);--card: var(--clinic-surface);--card-raised: var(--clinic-surface);--surface-muted: var(--clinic-surface-muted);--surface-sunken: #EDF1F3;--border: var(--clinic-line);--border-strong: var(--clinic-line-strong);--hairline: rgba(23, 40, 50, .08);--hairline-strong: rgba(23, 40, 50, .14);--ink-1: var(--clinic-ink);--ink-2: var(--clinic-ink-2);--ink-3: var(--clinic-ink-muted);--ink-4: var(--clinic-ink-4);--brand-50: var(--clinic-primary-soft);--brand-100: #CFEAE7;--brand-500: #0F7D77;--brand: var(--clinic-primary);--brand-700: var(--clinic-primary-hover);--brand-ink: #06302E;--on-brand: #FFFFFF;--accent: var(--brand);--accent-dark: var(--brand-700);--accent-soft: var(--brand-50);--brand-surface: #0A4C49;--brand-surface-2: #0E615F;--on-brand-surface: #FFFFFF;--on-brand-surface-2: rgba(255, 255, 255, .78);--on-brand-surface-fill: rgba(255, 255, 255, .18);--elev-brand: 0 18px 36px -24px rgba(6, 24, 30, .55);--shell: var(--clinic-shell);--shell-border: rgba(255, 255, 255, .1);--shell-ink-1: #F2F5F7;--shell-ink-2: #8EA7B5;--shell-veil: rgba(11, 31, 46, .94);--shell-veil-strong: rgba(11, 31, 46, .97);--shell-active-bg: var(--clinic-shell-accent-soft);--shell-active-border: var(--clinic-shell-accent-border);--shell-active-ink: var(--clinic-shell-accent);--ring: 0 0 0 3px var(--clinic-primary);--ring-color: var(--clinic-primary);--success: var(--semantic-success);--success-soft: var(--semantic-success-soft);--success-border: #BEE0CC;--success-bright: #35B27E;--danger: var(--semantic-danger);--danger-soft: var(--semantic-danger-soft);--danger-border: #EFC9C5;--danger-tint: #F8D9D6;--danger-ink: #7A2521;--danger-strong: #7A211D;--on-danger-strong: #FFD3CF;--warning: var(--stage-waiting);--warning-soft: var(--stage-waiting-soft);--warning-border: #EFD79B;--info: var(--stage-booked);--info-soft: var(--stage-booked-soft);--green: var(--success);--amber: var(--warning);--amber-soft: var(--warning-soft);--chart-1: var(--clinic-chart-1);--chart-2: var(--clinic-chart-2);--chart-3: var(--clinic-chart-3);--chart-4: var(--clinic-chart-4);--chart-5: var(--clinic-chart-5);--skeleton-shine: #EEF3F4;--overlay: rgba(8, 20, 28, .48);--gold-line: rgba(11, 97, 95, .35);--shadow-sm: 0 1px 2px rgba(11, 31, 46, .06), 0 1px 3px rgba(11, 31, 46, .04);--shadow: 0 8px 18px -12px rgba(11, 31, 46, .22), 0 1px 3px rgba(11, 31, 46, .05);--shadow-lg: 0 22px 44px -26px rgba(11, 31, 46, .32);--elev-1: 0 1px 1px rgba(11, 31, 46, .05), 0 4px 14px -8px rgba(11, 31, 46, .18);--elev-2: 0 2px 4px rgba(11, 31, 46, .06), 0 18px 36px -22px rgba(11, 31, 46, .3);--radius-xs: 8px;--radius-sm: 10px;--radius: 14px;--radius-lg: 16px;--radius-xl: 20px;--shell-w: 248px;--font-display: var(--font-body)}:root[data-shell=clinical] .text-input,:root[data-shell=clinical] .seg-tab-btn,:root[data-shell=clinical] .chip,:root[data-shell=clinical] .opd-preset-chip,:root[data-shell=clinical] .btn{border-color:var(--clinic-control-line)}:root[data-shell=clinical] .btn:hover{border-color:var(--clinic-control-line)}:root[data-shell=clinical] .btn-primary,:root[data-shell=clinical] .btn-primary:hover,:root[data-shell=clinical] .btn-cash,:root[data-shell=clinical] .btn-cash:hover,:root[data-shell=clinical] .btn.is-selected{border-color:var(--brand)}:root[data-shell=clinical] .btn-ghost,:root[data-shell=clinical] .btn-ghost:hover,:root[data-shell=clinical] .btn-door,:root[data-shell=clinical] .btn-door:hover{border-color:transparent}:root[data-shell=clinical] .btn-danger{border-color:var(--clinic-control-danger-line)}:root[data-shell=clinical] .seg-tab-btn[aria-selected=true]{border-color:var(--brand)}:root[data-shell=clinical] .chip.active,:root[data-shell=clinical] .chip[aria-pressed=true]{border-color:var(--brand)}@media (min-width: 1024px){:root[data-shell=clinical] .settings-nav-btn[aria-selected=true]{border-color:var(--clinic-control-line)}}:root[data-theme=dark]{--brand-50: rgba(22, 160, 166, .12);--brand-100: rgba(22, 160, 166, .26);--brand-500: #24A7A6;--brand: #2FB6B4;--brand-700: #35C2C0;--brand-ink: #A9E6EE;--gold-soft: rgba(213, 168, 75, .12);--gold-100: rgba(213, 168, 75, .28);--gold-light: #E5C277;--gold: #D5A84B;--gold-dark: #9C742B;--gold-ink: #E5C277;--bg: #13110E;--card: #1D1A16;--surface-muted: #262218;--surface-sunken: #2C2820;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--ink-1: #F6F3EE;--ink-2: #C0B8AB;--ink-3: #948C7E;--ink-4: #6A6355;--on-brand: #04161A;--on-gold: #1A1204;--shell: #191713;--shell-border: rgba(255, 255, 255, .08);--shell-ink-1: #F6F3EE;--shell-ink-2: #A79E90;--shell-active-bg: linear-gradient(90deg, rgba(213, 168, 75, .24), rgba(213, 168, 75, .08));--shell-active-border: rgba(213, 168, 75, .35);--shell-active-ink: var(--gold-light);--success: #27B07D;--success-soft: rgba(39, 176, 125, .14);--warning: #E2A93B;--warning-soft: rgba(226, 169, 59, .14);--danger: #D95C5C;--danger-soft: rgba(217, 92, 92, .14);--info: #4798C8;--info-soft: rgba(71, 152, 200, .14);--card-raised: #143440;--skeleton-shine: rgba(255, 255, 255, .06);--overlay: rgba(0, 0, 0, .62);--switch-knob: #F5F7F8;--ring-color: rgba(36, 167, 166, .45);--shell-veil: rgba(8, 27, 38, .92);--shell-veil-strong: rgba(8, 27, 38, .96);--brand-surface: #072F36;--brand-surface-2: #0B4B54;--on-ink: #06141D;--on-success: #04161A;--chart-1: #35C2C0;--chart-2: #1E8F95;--chart-3: #E5C277;--chart-4: #7FB0CC;--chart-5: #6E828C;--cash: #2E9B6B;--cash-dark: #268A5E;--on-cash: #04161A;--success-border: rgba(39, 176, 125, .34);--success-bright: #6EE7A8;--warning-border: rgba(226, 169, 59, .34);--danger-border: rgba(217, 92, 92, .34);--danger-tint: rgba(217, 92, 92, .2);--danger-ink: #F0A9A9;--danger-strong: #5E1614;--on-danger-strong: #FFC9C5;--submission-soft: rgba(216, 106, 158, .18);--submission-ink: #E79BC0;--hairline: rgba(255, 255, 255, .09);--hairline-strong: rgba(255, 255, 255, .16);--elev-1: 0 1px 1px rgba(0, 0, 0, .4), 0 4px 14px -8px rgba(0, 0, 0, .5);--elev-2: 0 2px 4px rgba(0, 0, 0, .45), 0 18px 36px -22px rgba(0, 0, 0, .7);--elev-brand: 0 18px 40px -24px rgba(0, 0, 0, .8);--gold-line: rgba(229, 194, 119, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .34), 0 2px 8px rgba(0, 0, 0, .22);--shadow: 0 10px 24px -16px rgba(0, 0, 0, .7), 0 2px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 48px -24px rgba(0, 0, 0, .85);--ring: 0 0 0 3px rgba(36, 167, 166, .28)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--ink-1);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}input,select,textarea{font-family:inherit;font-size:var(--text-base)}button,input,select,a{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease,transform .12s ease}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--ring-color);outline-offset:2px}button:active{transform:scale(.985)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}h1,h2,h3{margin:0;font-family:var(--font-display);letter-spacing:-.3px;text-wrap:balance}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + var(--safe-top)) var(--gutter) 10px;background:var(--shell-veil);color:var(--shell-ink-1);border-bottom:1px solid var(--shell-border);position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-header .title{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.3px;line-height:1.25}.app-header .subtitle{font-size:var(--text-xs);color:var(--shell-ink-2)}.app-header button{color:inherit}.account-btn{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;border:none;padding:0;min-height:var(--tap);text-align:left}.account-info{flex:1;min-width:0}.account-title{display:block;font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.3px;line-height:1.25}.account-plan{display:block;margin-top:3px}.account-chevron{display:inline-flex;flex-shrink:0;color:var(--shell-ink-2)}.account-chevron svg{display:block;width:17px;height:17px}.shell-brand{display:flex;align-items:center;gap:10px;padding:2px 2px 14px;margin-bottom:12px;border-bottom:1px solid var(--shell-border);color:var(--shell-ink-1)}.shell-brand-mark{width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--shell-active-bg);color:var(--shell-active-ink)}.shell-brand-mark svg{width:20px;height:20px}.shell-brand-text{min-width:0}.shell-brand-name{display:block;font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.3px;line-height:1.2}.shell-brand-caption{display:block;margin-top:1px;font-size:var(--text-xs);color:var(--shell-ink-2)}.screen{flex:1;padding:0 0 calc(var(--nav-h) + var(--safe-bottom) + 22px)}.screen .app-header{position:static;padding:16px var(--gutter) 10px!important;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none}.screen .app-header .title{font-size:var(--text-xl);letter-spacing:-.6px}.page-head{padding:16px var(--gutter) 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.6px}.page-sub{font-size:var(--text-sm);color:var(--ink-3);margin-top:2px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px var(--gutter) 8px}.section-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-base)}.section-link{background:none;border:none;padding:6px;color:var(--brand);font-weight:700;font-size:var(--text-sm)}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:2px;background:var(--shell-veil-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--shell-border);padding:6px 6px calc(6px + var(--safe-bottom));box-shadow:0 -6px 22px #0e1b220d}.tab-btn{position:relative;flex:1;min-width:0;min-height:var(--tap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;padding:6px 2px;color:var(--shell-ink-2);font-size:11px;font-weight:700;border-radius:var(--radius-sm)}.tab-btn svg{display:block}.tab-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tab-btn.active{color:var(--shell-active-ink);background:var(--shell-active-bg)}.tab-btn.active svg{stroke-width:1.8}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;font-size:var(--text-xs);font-weight:800;line-height:1;background:var(--danger);color:var(--on-ink);font-variant-numeric:tabular-nums}.tab-bar .nav-badge{position:absolute;top:3px;left:50%;transform:translate(2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:11px 18px;border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-display);font-weight:700;font-size:var(--text-base);background:var(--surface-muted);color:var(--ink-1);border-color:var(--border-strong);text-decoration:none}.btn:hover{background:var(--card-raised);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-sm{min-height:38px;padding:8px 14px;font-size:var(--text-sm);border-radius:var(--radius-xs)}.btn-lg{min-height:52px;font-size:var(--text-md);border-radius:var(--radius)}.btn-primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:0 6px 14px -6px #0e7a888c}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2);box-shadow:none}.btn-ghost:hover{background:var(--surface-sunken)}.btn-danger{background:var(--card);color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover{background:var(--danger-soft)}.btn.is-selected{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.btn-cash{background:var(--cash);color:var(--on-cash);border-color:var(--cash);box-shadow:0 6px 14px -6px #12563a80}.btn-cash:hover{background:var(--cash-dark);border-color:var(--cash-dark)}.btn[data-loading="1"]{pointer-events:none;opacity:.8}.btn[data-loading="1"]:before{content:"";width:15px;height:15px;border-radius:50%;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{width:var(--tap);height:var(--tap);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);border:1px solid transparent;background:transparent;color:var(--ink-3)}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{background:var(--surface-sunken);color:var(--ink-1)}.icon-btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.primary-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--tap);background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);border-radius:var(--radius-sm);padding:11px 16px;font-weight:700;font-family:var(--font-display);font-size:var(--text-base);box-shadow:0 6px 14px -6px #0e7a888c}.primary-btn:hover{background:var(--brand-700)}.primary-btn:disabled{opacity:.5}.copy-link-btn{min-height:40px;background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:var(--radius-xs);padding:9px 15px;font-weight:700;font-size:var(--text-sm);color:var(--ink-1)}.copy-link-btn:hover{background:var(--card-raised);border-color:var(--ink-4)}.upgrade-pro-btn{background:var(--card-raised);color:var(--brand-ink);border-color:var(--card-raised);box-shadow:none}.upgrade-pro-btn:hover{background:var(--brand-50)}.card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--elev-1);margin:0 var(--gutter) 10px}.card-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-sub{font-size:var(--text-sm);color:var(--ink-3);margin-top:4px}.card-note{font-size:var(--text-sm);color:var(--ink-2);margin-top:6px;line-height:1.6}.card-note.is-flush{margin:0}.card-note.settings-empty-note{padding:0 var(--gutter)}.muted.is-note-xs{font-size:var(--text-xs);margin:6px 0 0}.card-flat{box-shadow:none}.stack{display:flex;flex-direction:column;gap:10px;padding:0 var(--gutter) 10px}#toggle-archived{align-self:flex-start}.stack.is-flush{padding:0;margin-top:10px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.row.is-tight{gap:8px}.grow{flex:1;min-width:0}.bold{font-weight:700}.muted{color:var(--ink-3)}.num{font-variant-numeric:tabular-nums}.section-hint{font-size:var(--text-xs);color:var(--ink-3)}.surface-card{padding:0;overflow:hidden}.surface-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 16px 0}.surface-card-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-base)}.surface-card-hint{font-size:var(--text-xs);color:var(--ink-3)}.surface-card-body{padding:12px 16px 14px}.surface-card-foot{padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-muted);display:flex;align-items:center;justify-content:flex-end;gap:8px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{padding:10px 12px;text-align:left;white-space:nowrap}.data-table th{font-family:var(--font-display);font-weight:700;font-size:var(--text-xs);color:var(--ink-3);border-bottom:1px solid var(--border-strong)}.data-table td{border-bottom:1px solid var(--border);color:var(--ink-2)}.data-table tbody tr:last-child td{border-bottom:none}.data-table td:first-child{color:var(--ink-1);font-weight:600}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.table-empty{padding:18px 16px;text-align:center;font-size:var(--text-sm);color:var(--ink-3)}.form-section{padding:4px var(--gutter) 8px}.form-section-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-base)}.form-section-hint{font-size:var(--text-sm);color:var(--ink-3);margin:4px 0 0;line-height:1.6}.form-section-body{margin-top:10px;display:flex;flex-direction:column;gap:12px}.state-icon svg{width:26px;height:26px}.icon-inline{display:inline-flex;vertical-align:-3px}.icon-inline svg{width:17px;height:17px}.cat-bar-1{background:var(--chart-1)}.cat-bar-2{background:var(--chart-2)}.cat-bar-3{background:var(--chart-3)}.cat-bar-4{background:var(--chart-4)}.cat-bar-5{background:var(--chart-5)}.best-list{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.best-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(72px,1fr) 76px;align-items:center;gap:10px}.best-name{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.best-track{height:7px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.best-fill{display:block;height:100%;border-radius:999px;background:var(--chart-2)}.best-qty{font-size:var(--text-sm);font-weight:700;text-align:right;color:var(--ink-2)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:700;padding:4px 10px;border-radius:999px;flex-shrink:0;line-height:1.35}.badge:before{font-size:10px;line-height:1}.badge-waiting,.badge-pending{background:var(--warning-soft);color:var(--warning)}.badge-waiting:before,.badge-pending:before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid currentColor;flex-shrink:0}.badge-progress{background:var(--brand-50);color:var(--brand-700)}.badge-progress:before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;flex-shrink:0}.badge-submission{background:var(--submission-soft);color:var(--submission-ink)}.badge-done,.badge-paid,.badge-ok{background:var(--success-soft);color:var(--success)}.badge-done:before,.badge-paid:before,.badge-ok:before{content:"✓"}.badge-overdue,.badge-gap{background:var(--danger-soft);color:var(--danger)}.badge-overdue:before,.badge-gap:before{content:"!";font-weight:900}.badge-cancelled,.badge-quiet{background:var(--surface-sunken);color:var(--ink-3)}.badge-cancelled:before{content:"×"}.badge-void{background:var(--warning-soft);color:var(--warning)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--ink-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.chip.active,.chip[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.plan-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:700;line-height:1.4;background:var(--surface-sunken);color:var(--ink-2)}.plan-chip-paid{background:var(--brand-50);color:var(--brand-700)}.plan-chip-trial{background:var(--warning-soft);color:var(--warning)}.plan-chip-expired{background:var(--danger-soft);color:var(--danger)}.loading{padding:40px 20px;text-align:center;color:var(--ink-3)}.loading:before{content:"";display:block;width:24px;height:24px;margin:0 auto 10px;border:2.5px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.skeleton{background:linear-gradient(100deg,var(--surface-sunken) 30%,var(--skeleton-shine) 50%,var(--surface-sunken) 70%);background-size:220% 100%;animation:shimmer 1.3s linear infinite;border-radius:var(--radius-xs)}@keyframes shimmer{to{background-position:-220% 0}}.skel-line{height:12px;margin-bottom:8px}.skel-card{height:92px;border-radius:var(--radius)}.skel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 var(--gutter)}.skel-list{display:flex;flex-direction:column;gap:10px;padding:0 var(--gutter)}.state{margin:8px var(--gutter) 16px;padding:30px 22px;text-align:center;background:var(--card);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.state-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand);font-size:24px}.state-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.state-text{font-size:var(--text-sm);color:var(--ink-3);margin-top:6px;line-height:1.6}.state-action{margin-top:16px;display:flex;flex-direction:column;gap:8px;align-items:center}.state-action .btn{min-width:190px}.state-error{border-style:solid;border-color:var(--danger-border);background:var(--danger-soft)}.state-error .state-icon{background:var(--danger-tint);color:var(--danger)}.state-error .state-text{color:var(--danger-ink)}.empty{padding:34px 22px;text-align:center;color:var(--ink-3);font-size:var(--text-sm)}.notice{display:flex;gap:10px;align-items:flex-start;margin:0 var(--gutter) 10px;padding:12px 14px;border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.6;background:var(--info-soft);color:var(--brand-ink);border:1px solid var(--brand-100)}.notice-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.notice-danger{background:var(--danger-soft);color:var(--danger-ink);border-color:var(--danger-border)}.notice-icon{flex-shrink:0;font-weight:800}.toast-host{position:fixed;left:0;right:0;z-index:60;bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 var(--gutter)}#toast-host-alert{bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px + 58px)}.toast{pointer-events:auto;max-width:420px;width:100%;display:flex;align-items:center;gap:10px;background:var(--ink-1);color:var(--on-ink);border-radius:var(--radius-sm);padding:13px 16px;font-size:var(--text-sm);font-weight:600;box-shadow:var(--shadow-lg);animation:toast-in .22s cubic-bezier(.2,.9,.3,1.2)}.toast:before{content:"✓";font-weight:900;color:var(--success-bright)}.toast-error{background:var(--danger-strong)}.toast-error:before{content:"!";color:var(--on-danger-strong)}.toast.leaving{animation:toast-out .18s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--overlay);animation:fade-in .16s ease}@keyframes fade-in{0%{opacity:0}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;background:var(--card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:10px var(--gutter) calc(16px + var(--safe-bottom));box-shadow:var(--shadow-lg);animation:sheet-up .24s cubic-bezier(.2,.9,.3,1);max-height:86vh;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-grip{width:42px;height:4px;border-radius:999px;background:var(--border-strong);margin:2px auto 12px}.sheet-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg)}.sheet-text{font-size:var(--text-base);color:var(--ink-2);margin-top:8px;line-height:1.6}.sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.sheet-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.sheet-item{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 14px;border-radius:var(--radius-sm);border:none;background:transparent;text-align:left;color:var(--ink-1);font-size:var(--text-base);font-weight:600}.sheet-item:hover{background:var(--surface-sunken)}.sheet-item.active{background:var(--brand-50);color:var(--brand-700);font-weight:700}.sheet-item svg{flex-shrink:0}@media (min-width: 720px){.sheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(460px,92vw);border-radius:var(--radius-lg);animation:fade-in .16s ease}.sheet-grip{display:none}}.field{margin-bottom:12px}.field-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink-2);margin-bottom:6px}.field-label .req{color:var(--danger);margin-left:2px}.field-help{font-size:var(--text-xs);color:var(--ink-3);margin-top:5px;line-height:1.5}.field-error{font-size:var(--text-xs);color:var(--danger);font-weight:600;margin-top:5px;display:flex;gap:4px}.field-error:before{content:"!";font-weight:900}.form-step{display:flex;gap:10px;margin-top:16px}.form-step:first-of-type{margin-top:4px}.form-step-num{flex:none;width:22px;height:22px;margin-top:2px;border-radius:999px;background:var(--brand);color:var(--on-brand);font-family:var(--font-display);font-weight:800;font-size:var(--text-xs);display:flex;align-items:center;justify-content:center}.form-step-body{flex:1;min-width:0}.text-input{width:100%;min-height:var(--tap);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-xs);padding:11px 13px;font-size:var(--text-base);margin-bottom:8px;color:var(--ink-1)}.text-input::placeholder{color:var(--ink-4)}.text-input:focus{background:var(--card-raised);border-color:var(--brand);box-shadow:var(--ring);outline:none}.text-input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}select.text-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%236B818C' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.switch{position:relative;flex-shrink:0;display:inline-flex}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{width:48px;height:28px;border-radius:999px;background:var(--border-strong);position:relative;transition:background-color .18s ease;pointer-events:none}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--switch-knob);box-shadow:var(--shadow-sm);transition:transform .18s ease}.switch input:checked+.switch-track{background:var(--brand)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--ring-color);outline-offset:2px}.home-hero{padding:14px var(--gutter) 4px}.home-greet{font-size:var(--text-sm);color:var(--ink-3)}.home-store{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.8px;line-height:1.2;margin-top:2px}.home-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px;padding:12px var(--gutter) 4px}.stat{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:16px 17px;box-shadow:var(--elev-1)}.stat-hero{grid-column:1 / -1;background:linear-gradient(152deg,var(--brand-surface-2) 0%,var(--brand-surface) 62%);border-color:transparent;box-shadow:var(--elev-brand)}.stat-hero:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 22%,var(--gold-line) 78%,transparent)}.stat-hero .stat-label{color:var(--on-brand-surface-2)}.stat-hero .stat-value,.stat-hero .stat-foot{color:var(--on-brand-surface)}.stat-label{font-size:var(--text-xs);color:var(--ink-3);font-weight:600;letter-spacing:.02em}.stat-value{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.022em;margin-top:6px;font-variant-numeric:tabular-nums;line-height:1.1}.stat-sm .stat-value{font-size:var(--text-xl)}.stat-foot{font-size:var(--text-xs);color:var(--ink-3);margin-top:5px;line-height:1.5}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px var(--gutter) 8px}.action-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:84px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:left;box-shadow:var(--shadow-sm);color:var(--ink-1);font-family:var(--font-display);font-weight:700;font-size:var(--text-base)}.action-tile:hover{border-color:var(--brand-100);box-shadow:var(--shadow)}.action-tile-icon{width:34px;height:34px;border-radius:11px;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center}.action-tile-sub{font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);color:var(--ink-3)}.action-tile-primary{grid-column:1 / -1;flex-direction:row;align-items:center;min-height:60px;background:var(--brand-surface-2);border-color:var(--brand-surface-2);color:var(--on-brand-surface);box-shadow:0 10px 20px -12px #0e7a88b3}.action-tile-primary .action-tile-icon{background:var(--on-brand-surface-fill);color:var(--on-brand-surface)}.action-tile-primary .action-tile-sub{color:var(--on-brand-surface-2)}.checklist{padding:0 var(--gutter) 8px}.check-item{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;background:var(--card);border:1px solid var(--border);border-bottom:none;padding:12px 14px;text-align:left;color:var(--ink-1);font-size:var(--text-base);font-weight:600}.check-item:first-of-type{border-radius:var(--radius) var(--radius) 0 0}.check-item:last-of-type{border-radius:0 0 var(--radius) var(--radius);border-bottom:1px solid var(--border)}.check-mark{width:24px;height:24px;flex-shrink:0;border-radius:50%;border:2px solid var(--border-strong);color:transparent;display:flex;align-items:center;justify-content:center}.check-mark svg{width:14px;height:14px;stroke-width:2.6}.check-item.done{color:var(--ink-3)}.check-item.done .check-mark{background:var(--success);border-color:var(--success);color:var(--on-success)}.check-item.done .check-text{text-decoration:line-through;text-decoration-color:var(--ink-4)}.check-go{margin-left:auto;color:var(--ink-3);display:flex}.check-go svg{width:17px;height:17px}.upsell{margin:4px var(--gutter) 12px;padding:15px 16px;border-radius:var(--radius);border:1px solid var(--brand-100);background:var(--brand-50)}.upsell-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-base);color:var(--brand-ink)}.upsell-text{font-size:var(--text-sm);color:var(--brand-ink);opacity:.85;margin-top:4px;line-height:1.6}.upsell-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.gate{flex:1;display:flex;align-items:center;justify-content:center;padding:calc(24px + var(--safe-top)) var(--gutter) calc(24px + var(--safe-bottom))}.gate-card{width:100%;max-width:400px;text-align:center}.gate-logo{width:68px;height:68px;margin:0 auto 18px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--brand-700),var(--brand-500));color:var(--on-brand);font-family:var(--font-display);font-weight:800;font-size:25px;letter-spacing:-.5px;box-shadow:0 14px 28px -16px #0a5f6be6}.gate-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.6px}.gate-lead{font-size:var(--text-md);color:var(--ink-2);margin:8px 0 0;line-height:1.6}.gate-benefits{list-style:none;margin:20px 0 0;padding:16px;text-align:left;background:var(--brand-50);border-radius:var(--radius);display:flex;flex-direction:column;gap:10px}.gate-benefits li{display:flex;gap:10px;align-items:flex-start;font-size:var(--text-base);color:var(--brand-ink);line-height:1.5}.gate-benefits li:before{content:"✓";font-weight:900;color:var(--brand);flex-shrink:0}.gate-problem{margin:16px 0 0;padding:11px 14px;border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--text-sm);font-weight:600;line-height:1.5}.gate-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.gate-note{font-size:var(--text-xs);color:var(--ink-3);margin:14px 0 0;line-height:1.6}.gate-splash .gate-note{margin-top:20px}.auth-shell{--auth-ground: var(--clinic-shell, #0B1F2E);--auth-ground-2: var(--clinic-shell-raised, #102B3F);--auth-warm: var(--clinic-shell-accent, #4DBDB6);--card: rgba(255, 255, 255, .055);--surface-muted: rgba(255, 255, 255, .05);--surface-sunken: rgba(255, 255, 255, .09);--border: rgba(190, 224, 231, .17);--border-strong: rgba(190, 224, 231, .32);--ink-1: #F1F8F9;--ink-2: #AAC5CC;--ink-3: #96B0B7;--ink-4: #92ACB3;--brand: var(--clinic-primary, #0B615F);--brand-500: var(--clinic-shell-accent, #4DBDB6);--brand-700: #7FD9D2;--brand-ink: #E3F5F3;--brand-50: rgba(77, 189, 182, .13);--brand-100: rgba(77, 189, 182, .28);--danger: #FFA79E;--danger-soft: rgba(196, 60, 54, .24);--info-soft: rgba(77, 189, 182, .13);--ring: 0 0 0 3px rgba(77, 189, 182, .3);width:100%;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(24px,calc(24px + var(--safe-top))) var(--gutter) max(24px,calc(24px + var(--safe-bottom)));color:var(--ink-1);background:radial-gradient(125% 78% at 50% -8%,var(--auth-ground-2) 0%,transparent 62%),radial-gradient(95% 55% at 50% 108%,rgba(77,189,182,.17) 0%,transparent 72%),var(--auth-ground)}body:has(.auth-shell){background:#0b1f2e}.auth-stage{position:relative;width:min(100%,430px)}.auth-mascot{display:block;width:172px;margin:0 auto -23px;position:relative;z-index:2;pointer-events:none;filter:drop-shadow(0 14px 26px rgba(0,0,0,.55))}.auth-mascot .cat{display:block;width:100%;height:auto;overflow:visible}.cat-paw,.cat-ear-l,.cat-ear-r{transition:transform .34s cubic-bezier(.34,1.36,.5,1)}.cat-paw{transform-box:fill-box;transform-origin:center}.cat-ear-l{transform-box:view-box;transform-origin:70px 50px}.cat-ear-r{transform-box:view-box;transform-origin:150px 50px}.cat-eyes-open,.cat-eyes-happy,.cat-eyes-sad,.cat-mouth,.cat-mouth-sad{transform-box:fill-box;transform-origin:center;transition:opacity .16s ease}.cat-eyes-happy,.cat-eyes-sad,.cat-mouth-sad{opacity:0}[data-mood=idle] .cat{animation:cat-float 4.8s ease-in-out infinite}[data-mood=idle] .cat-eyes-open{animation:cat-blink 5.4s infinite}[data-mood=shy] .cat-paw-l{transform:translate(13px,-76px) rotate(-9deg)}[data-mood=shy] .cat-paw-r{transform:translate(-13px,-76px) rotate(9deg)}[data-mood=shy] .cat{transform:translateY(5px)}[data-mood=peek] .cat-paw-l{transform:translate(13px,-76px) rotate(-9deg)}[data-mood=peek] .cat-paw-r{transform:translate(-7px,-20px) rotate(16deg)}[data-mood=peek] .cat{transform:translateY(3px)}[data-mood=happy] .cat-eyes-open{opacity:0}[data-mood=happy] .cat-eyes-happy{opacity:1}[data-mood=happy] .cat-paw-l{transform:translate(-6px,-30px) rotate(-24deg)}[data-mood=happy] .cat-paw-r{transform:translate(6px,-30px) rotate(24deg)}[data-mood=happy] .cat{animation:cat-hop .62s ease-out}[data-mood=sad] .cat-eyes-open,[data-mood=sad] .cat-mouth{opacity:0}[data-mood=sad] .cat-eyes-sad,[data-mood=sad] .cat-mouth-sad{opacity:1}[data-mood=sad] .cat-ear-l{transform:rotate(-19deg)}[data-mood=sad] .cat-ear-r{transform:rotate(19deg)}[data-mood=sad] .cat{animation:cat-shake .48s ease-in-out}@keyframes cat-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes cat-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.06)}}@keyframes cat-hop{0%{transform:translateY(0)}35%{transform:translateY(-14px)}65%{transform:translateY(0)}82%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes cat-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.auth-card{position:relative;z-index:1;width:100%;padding:44px 22px 24px;background:linear-gradient(180deg,#ffffff16,#ffffff09);border:1px solid var(--border);border-radius:24px;box-shadow:0 32px 64px -32px #000000d9,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-brand{display:flex;justify-content:center;align-items:center;gap:9px;color:var(--ink-3);font-family:var(--font-display);font-weight:800;font-size:var(--text-sm)}.auth-brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:linear-gradient(145deg,var(--brand-700),var(--brand-500));color:var(--auth-ground);font-size:var(--text-xs);letter-spacing:-.3px}.auth-heading{margin:14px 0 22px;text-align:center}.auth-heading h1{font-size:var(--text-2xl);letter-spacing:-.7px;text-wrap:balance}.auth-heading p{margin:8px 0 0;color:var(--ink-2);line-height:1.65;text-wrap:pretty}.auth-field{position:relative;margin-bottom:12px;padding:9px 13px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff0b;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.auth-field:focus-within{border-color:var(--brand-500);background:#ffffff16;box-shadow:var(--ring)}.auth-field>label{display:block;margin:0;color:var(--ink-3);font-size:var(--text-xs);font-weight:600;line-height:1.4}.auth-field>label .req{color:var(--danger);margin-left:2px}.auth-field>input{width:100%;min-height:28px;margin:0;padding:2px 0 0;border:0;background:transparent;color:var(--ink-1);font-size:var(--text-md);font-weight:600;line-height:1.4}.auth-field>input:focus{outline:none}.auth-field>input:-webkit-autofill,.auth-field>input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink-1);-webkit-box-shadow:0 0 0 40px transparent inset;transition:background-color 9999s ease-out}.auth-field-secret{padding-right:50px}.auth-reveal{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:var(--tap);height:var(--tap);border:0;border-radius:50%;background:transparent;color:var(--ink-3)}.auth-reveal:hover{color:var(--ink-2);background:#ffffff0f}.auth-reveal[aria-pressed=true]{color:var(--brand-500)}.auth-reveal svg+svg{display:none}.auth-reveal[aria-pressed=true] svg:first-child{display:none}.auth-reveal[aria-pressed=true] svg+svg{display:block}.auth-card .field-label{margin-top:14px;color:var(--ink-2)}.auth-card .field-label:first-child{margin-top:0}.auth-card .text-input{margin-bottom:0;background:#ffffff0b;border-color:var(--border);color:var(--ink-1)}.auth-card .text-input:focus{background:#ffffff16;border-color:var(--brand-500)}.auth-card .field-help{margin:-4px 0 12px;padding-left:2px}.auth-inline-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px}.auth-check{display:inline-flex;align-items:center;gap:9px;min-height:var(--tap);color:var(--ink-2);font-size:var(--text-sm);font-weight:600}.auth-check input{width:18px;height:18px;margin:0;accent-color:var(--brand-500)}.auth-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:2px 0;background:transparent;color:var(--brand-700);font:inherit;font-size:var(--text-sm);font-weight:700;text-decoration:underline;text-underline-offset:3px}.auth-link{display:inline-flex;align-items:center;gap:4px}.auth-link svg{width:16px;height:16px}.auth-link:hover{color:var(--brand-ink)}.btn-door{position:relative;padding-right:60px;overflow:hidden;background:linear-gradient(135deg,var(--brand-700),var(--brand-500));border-color:transparent;color:var(--auth-ground);box-shadow:0 10px 26px -12px #4dbdb6bf}.btn-door:hover{background:linear-gradient(135deg,var(--brand-500),#3AA39D);border-color:transparent}.btn-door .door{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:25px;height:33px;border-radius:4px 4px 2px 2px;border:1.6px solid rgba(11,31,46,.55);background:#0b1f2e4d;overflow:hidden}.btn-door .door-glow{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:linear-gradient(180deg,#EAFBFA,var(--auth-warm));transition:opacity .3s ease .14s}.btn-door .door-panel{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;background:linear-gradient(120deg,#eaf6f8,#bfdde2);transition:transform .5s cubic-bezier(.62,.04,.3,1)}.btn-door .door-panel:after{content:"";position:absolute;right:3.5px;top:50%;transform:translateY(-50%);width:3.5px;height:3.5px;border-radius:50%;background:var(--clinic-primary, #0B615F)}.btn-door.is-open .door-panel{transform:perspective(64px) rotateY(-74deg)}.btn-door.is-open .door-glow{opacity:1}.btn-door.is-open{box-shadow:0 0 0 3px #4dbdb647,0 14px 32px -12px #4dbdb68c}.auth-card .btn:not(.btn-primary):not(.btn-ghost){background:#ffffff0d;color:var(--ink-1);border-color:var(--border-strong)}.auth-card .btn:not(.btn-primary):not(.btn-ghost):hover{background:#ffffff1a}.auth-card .btn-ghost{color:var(--ink-2)}.auth-card .btn-ghost:hover{background:#ffffff12}.auth-form-error{margin:12px 0;padding:10px 12px;border-radius:var(--radius-xs);background:var(--danger-soft);border:1px solid rgba(255,167,158,.3);color:var(--danger);font-size:var(--text-sm);font-weight:600;line-height:1.5}.auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0 12px;color:var(--ink-4);font-size:var(--text-xs)}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--border)}.auth-footer{margin-top:18px;text-align:center;color:var(--ink-3);font-size:var(--text-sm)}.auth-note{margin:16px 0 0;color:var(--ink-3);font-size:var(--text-xs);line-height:1.65;text-align:center}.auth-note-emphasis{padding:10px 12px;border-radius:var(--radius-xs);background:var(--info-soft);color:var(--brand-ink)}.auth-code-input{letter-spacing:.24em;text-align:center;font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.auth-spinner{width:34px;height:34px;margin:10px auto;border:4px solid var(--brand-100);border-top-color:var(--brand-500);border-radius:50%;animation:auth-spin .75s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-qr-wrap{display:grid;place-items:center;min-height:160px;padding:10px;border-radius:var(--radius);background:#fff}.auth-qr{display:block;width:min(210px,100%);height:auto;border-radius:var(--radius-xs);background:#fff}.auth-manual-key{display:grid;gap:6px;margin:14px 0;color:var(--ink-3);font-size:var(--text-xs);text-align:center}.auth-manual-key code{display:block;padding:10px;border:1px dashed var(--border-strong);border-radius:var(--radius-xs);color:var(--ink-1);font-size:var(--text-sm);letter-spacing:.08em;overflow-wrap:anywhere}.auth-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 12px}.auth-recovery-codes code{display:block;padding:9px 6px;border:1px solid var(--border);border-radius:var(--radius-xs);background:#ffffff0d;color:var(--ink-1);text-align:center;font-size:var(--text-sm);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.auth-app{display:flex;flex-direction:column;gap:1px;min-height:var(--tap);padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-xs);background:#ffffff0d;color:var(--ink-1);font-size:var(--text-xs);font-weight:700;text-decoration:none;line-height:1.3}.auth-app:hover{border-color:var(--brand-500);color:var(--brand-700);background:#4dbdb61a}@media (max-width: 380px){.auth-card{padding:40px 16px 20px;border-radius:20px}.auth-heading h1{font-size:var(--text-xl)}.auth-mascot{width:150px;margin-bottom:-20px}}@media (prefers-reduced-motion: reduce){.auth-mascot .cat,[data-mood] .cat,[data-mood] .cat-eyes-open{animation:none!important}.cat-paw,.cat-ear-l,.cat-ear-r,.cat-eyes-open,.cat-eyes-happy,.cat-eyes-sad,.cat-mouth,.cat-mouth-sad,.btn-door .door-panel,.btn-door .door-glow,.auth-field{transition:none!important}}.store-list{display:flex;flex-direction:column;gap:10px;padding:8px var(--gutter) 12px}.store-item{display:flex;align-items:center;gap:13px;width:100%;min-height:68px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 15px;text-align:left;box-shadow:var(--shadow-sm);color:var(--ink-1)}.store-item:hover{border-color:var(--brand-100);box-shadow:var(--shadow)}.store-item.current{border-color:var(--brand);box-shadow:0 0 0 1.5px var(--brand),var(--shadow-sm)}.store-avatar{width:44px;height:44px;flex-shrink:0;border-radius:14px;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center}.store-avatar svg{width:22px;height:22px}.store-item .name{font-family:var(--font-display);font-weight:700;font-size:var(--text-base)}.store-item .role{font-size:var(--text-xs);color:var(--ink-3);font-weight:500;margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.create-store-form{display:flex;gap:8px;padding:0 var(--gutter) 16px;align-items:flex-start}.bt-grid{display:flex;flex-direction:column;gap:8px;padding:0 var(--gutter) 12px}.bt-card{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:62px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink-1);font-family:inherit}.bt-card:hover{border-color:var(--border-strong)}.bt-card.selected{border-color:var(--brand);background:var(--brand-50);box-shadow:var(--ring)}.bt-emoji{width:40px;height:40px;flex-shrink:0;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--surface-sunken);color:var(--ink-2)}.bt-card.selected .bt-emoji{background:var(--card);color:var(--brand)}.bt-emoji svg{width:21px;height:21px}.bt-name{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--text-base)}.bt-desc{display:block;font-size:var(--text-xs);color:var(--ink-3);margin-top:2px;line-height:1.5}.create-store-form .text-input{margin-bottom:0}.toolbar{display:flex;gap:8px;padding:0 var(--gutter) 10px}.toolbar .text-input{margin-bottom:0}.cat-filters{display:flex;gap:7px;overflow-x:auto;padding:0 var(--gutter) 12px;scrollbar-width:none}.cat-filters::-webkit-scrollbar{display:none}.cat-filter-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:38px;border-radius:999px;padding:8px 15px;font-weight:700;font-size:var(--text-sm);font-family:var(--font-display);border:1px solid var(--border);background:var(--card);color:var(--ink-2)}.cat-filter-btn.active{border-color:var(--brand);background:var(--brand);color:var(--on-brand);box-shadow:0 6px 12px -8px #0e7a88e6}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 var(--gutter) 16px}.product{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 13px;text-align:left;box-shadow:var(--shadow-sm);width:100%;min-height:104px;display:flex;flex-direction:column;justify-content:space-between}.product:hover{border-color:var(--brand-100);box-shadow:var(--shadow)}.product:disabled{opacity:.5}.product.in-cart{border-color:var(--brand);box-shadow:0 0 0 1.5px var(--brand),var(--shadow-sm)}.product-qty-badge{position:absolute;top:9px;right:9px;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--brand);color:var(--on-brand);font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.product-name{font-weight:700;font-size:var(--text-base);line-height:1.35;padding-right:26px}.product-category{font-size:var(--text-xs);color:var(--ink-3)}.product-price{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);margin-top:8px;color:var(--ink-1);font-variant-numeric:tabular-nums}.product-stock{font-size:var(--text-xs);color:var(--ink-3);margin-top:3px}.product-opt-hint{font-size:var(--text-xs);color:var(--brand);font-weight:600;margin-top:3px}.cart-panel{margin:0 var(--gutter) 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:13px 15px;position:sticky;bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);z-index:25}.cart-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-base);margin-bottom:8px}.cart-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:var(--text-base)}.qty-controls{display:flex;align-items:center;gap:8px}.qty-btn{width:38px;height:38px;flex-shrink:0;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-muted);color:var(--ink-1);font-weight:800;font-size:18px;line-height:1}.qty-btn:hover{background:var(--card-raised);border-color:var(--brand);color:var(--brand)}:root[data-shell=clinical] .qty-btn{width:44px;height:44px;border-color:var(--clinic-control-line)}:root[data-shell=clinical] .qty-btn:hover{border-color:var(--brand)}.checkout-btn{margin-top:12px;width:100%;min-height:52px;background:var(--brand);color:var(--on-brand);border:none;border-radius:var(--radius-sm);padding:12px 16px;font-weight:700;font-family:var(--font-display);font-size:var(--text-md);display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 10px 20px -12px #0e7a88cc}.checkout-btn:hover{background:var(--brand-700)}.checkout-btn:disabled{opacity:.5}.payment-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:8px;margin-top:12px}.payment-actions .checkout-btn{margin-top:0}.cash-checkout-btn{background:var(--cash);box-shadow:0 10px 20px -12px #12563acc}.cash-checkout-btn:hover{background:var(--cash-dark)}.transfer-checkout-btn{min-height:52px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink-1);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);padding:8px 10px}.transfer-checkout-btn:hover{background:var(--card-raised);border-color:var(--brand);color:var(--brand-700)}.sale-success{margin:0 var(--gutter) 12px;padding:12px 14px;border:1px solid var(--success-border);border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success);font-size:var(--text-sm);font-weight:600;display:flex;gap:8px}.sale-success:before{content:"✓";font-weight:900}.cash-tender{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.cash-tender-notes{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}.cash-tender-notes .cat-filter-btn{padding:8px 14px}.period-tabs{display:flex;gap:7px;padding:0 var(--gutter) 14px}.period-btn{flex:1;min-height:40px;border-radius:var(--radius-xs);padding:9px 6px;font-weight:700;font-size:var(--text-sm);font-family:var(--font-display);border:1px solid var(--hairline);background:var(--card);color:var(--ink-2);box-shadow:var(--elev-1)}.period-btn:hover{border-color:var(--hairline-strong);color:var(--ink-1)}.period-btn.active{border-color:transparent;background:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px -10px #11828bcc}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;padding:0 var(--gutter) 12px}.kpi-card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:16px 17px;box-shadow:var(--elev-1)}.kpi-card:first-child{background:linear-gradient(152deg,var(--brand-surface-2) 0%,var(--brand-surface) 62%);border-color:transparent;box-shadow:var(--elev-brand)}.kpi-card:first-child:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 22%,var(--gold-line) 78%,transparent)}.kpi-card:first-child .kpi-label{color:var(--on-brand-surface-2)}.kpi-card:first-child .kpi-value{color:var(--on-brand-surface)}.kpi-label{font-size:var(--text-xs);color:var(--ink-3);margin-bottom:6px;font-weight:600;letter-spacing:.02em}.kpi-good{color:var(--success)}.kpi-bad{color:var(--danger)}.kpi-note{font-size:var(--text-xs);color:var(--danger);margin-top:3px;font-weight:600}.kpi-value{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.022em;font-variant-numeric:tabular-nums;line-height:1.1}.cat-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;align-items:end;height:124px;padding:0 4px}.cat-bar-col{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:end;gap:6px}.cat-bar{width:100%;max-width:34px;border-radius:8px 8px 3px 3px;background:var(--brand)}.cat-bar-label{font-size:var(--text-xs);color:var(--ink-3);font-weight:600}.report-section .cat-bars{height:auto;margin:12px 0 20px}.cat-bar-value{font-size:var(--text-xs);font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}.acct-card{padding:16px}.acct-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.acct-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.2px}.acct-period{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.acct-month{margin-top:12px}.acct-month .text-input{margin-bottom:0}.acct-totals{display:flex;flex-direction:column;gap:8px;margin-top:16px}.acct-total-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:var(--text-base);color:var(--ink-2)}.acct-amount{font-family:var(--font-display);font-weight:700;color:var(--ink-1);font-variant-numeric:tabular-nums}.acct-total-row.acct-grand{border-top:1px solid var(--border-strong);padding-top:12px;margin-top:3px}.acct-grand .acct-label{font-weight:700;color:var(--ink-1)}.acct-grand .acct-amount{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.6px}.acct-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.acct-alert{margin-top:10px;padding:11px 13px;border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-ink);font-size:var(--text-sm);line-height:1.6}.acct-alert strong{display:block;margin-bottom:2px}.acct-group{margin-top:18px}.acct-group-label{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:8px}.acct-group-label:after{content:"";flex:1;height:1px;background:var(--border)}.acct-group-note{font-size:var(--text-xs);color:var(--ink-3);margin-top:5px}.acct-files{display:flex;flex-direction:column;gap:8px;margin-top:10px}.acct-file{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--card)}.acct-file-send{background:var(--brand-50);border-color:var(--brand-100)}.acct-file-main{flex:1;min-width:0}.acct-file-name{font-weight:700;font-size:var(--text-base)}.acct-file-desc{font-size:var(--text-xs);color:var(--ink-2);margin-top:2px}.acct-file-send .acct-file-desc{color:var(--brand-ink)}.acct-file-id{font-size:11px;color:var(--ink-4);margin-top:5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.acct-dl{flex-shrink:0;min-height:var(--tap);border-radius:var(--radius-xs);padding:10px 14px;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);border:1px solid var(--border-strong);background:var(--surface-muted);color:var(--ink-1)}.acct-dl:hover{background:var(--card-raised);border-color:var(--ink-4)}.acct-dl-send{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.acct-dl-send:hover{background:var(--brand-700);border-color:var(--brand-700)}.acct-dl:disabled{opacity:.55}.acct-foot{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--ink-3);line-height:1.6}.queue-card{padding:15px 16px 13px}.queue-table{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg)}.queue-total{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);font-variant-numeric:tabular-nums}.queue-round{border-top:1px solid var(--border);margin-top:11px;padding-top:11px}.queue-round-new{border-left:4px solid var(--warning);background:var(--warning-soft);margin-left:-16px;margin-right:-16px;padding-left:12px;padding-right:16px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.queue-sitting-long{color:var(--warning);font-weight:700}.queue-round-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.queue-round-no{font-weight:700;font-size:var(--text-base)}.queue-items{font-size:var(--text-base);color:var(--ink-1);margin-top:6px;overflow-wrap:anywhere;line-height:1.65}.item-options{color:var(--ink-2);font-size:var(--text-sm)}.queue-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.queue-actions .checkout-btn{margin-top:0}.queue-actions .transfer-checkout-btn{min-height:var(--tap);padding:11px;font-size:var(--text-base)}.queue-void-btn{min-height:var(--tap);background:none;border:none;color:var(--ink-3);font-size:var(--text-sm);font-weight:600;padding:6px}.queue-void-btn:hover{color:var(--danger)}.queue-void-btn:disabled,.queue-actions button:disabled{opacity:.55}.queue-settle{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.conn-chip{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:var(--warning-soft);color:var(--warning)}.conn-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:conn-pulse 1.6s ease-in-out infinite}.conn-chip.offline{background:var(--danger-soft);color:var(--danger)}.conn-chip.offline:before{animation:none}@keyframes conn-pulse{0%,to{opacity:1}50%{opacity:.3}}.floor-grid{display:grid;gap:5px}.floor-cell{aspect-ratio:1;border-radius:10px;border:1px solid var(--border);background:var(--surface-muted);font-size:11px;font-weight:700;color:var(--ink-1);padding:3px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}.floor-cell-empty{color:var(--ink-4);font-size:15px;background:transparent;border-style:dashed}.floor-cell-empty:disabled{opacity:.35}.floor-cell-selected{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.floor-map-status-free{background:var(--surface-muted)}.floor-map-status-occupied{background:var(--warning-soft);border-color:var(--warning);border-width:2px;color:var(--warning)}.stock-row,.expense-row{display:flex;align-items:center;gap:12px}.stock-info,.expense-info{flex:1;min-width:0}.stock-name,.expense-name{font-weight:700;font-size:var(--text-base)}.stock-cat,.expense-type{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px}.stock-low{font-size:var(--text-xs);font-weight:700;color:var(--warning);background:var(--warning-soft);padding:3px 9px;border-radius:999px;display:inline-flex;gap:4px}.stock-low:before{content:"!";font-weight:900}.card.stock-row{margin:0}.qty-value{min-width:28px;text-align:center}.expense-remove{min-width:var(--tap);min-height:var(--tap);color:var(--ink-3);background:none;border:none;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center}.expense-remove svg{width:17px;height:17px}.expense-remove:hover{color:var(--danger);background:var(--danger-soft)}.product-image-btn{width:52px;height:52px;flex-shrink:0;padding:0;overflow:hidden;border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface-muted);color:var(--ink-3);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.product-image-btn.has-image{border-style:solid}.product-image-btn img{width:100%;height:100%;object-fit:cover;display:block}.image-remove-link{background:none;border:none;padding:4px 0;margin-top:2px;font-size:var(--text-xs);color:var(--ink-3);text-decoration:underline}.add-expense-card,.settings-card{margin:0 var(--gutter) 12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.menu-item{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow-sm);text-align:left;color:inherit}.menu-item-main{flex:1;min-width:0}.menu-item-name{font-weight:700;font-size:var(--text-base)}.menu-item-meta{font-size:var(--text-xs);color:var(--ink-3);margin-top:3px;display:flex;flex-wrap:wrap;gap:4px 10px}.menu-item-price{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);font-variant-numeric:tabular-nums}.opt-hint{color:var(--brand);font-weight:600}.settings-group{margin:0 var(--gutter) 10px}.settings-group>summary{list-style:none;cursor:pointer;min-height:60px;display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm)}.settings-group>summary::-webkit-details-marker{display:none}.settings-group-head{display:flex;flex-direction:column;min-width:0;flex:1}.settings-group>summary:after{content:"";margin-left:auto;flex-shrink:0;width:8px;height:8px;border:2px solid var(--ink-3);border-left:none;border-bottom:none;transform:rotate(45deg);transition:transform .18s ease}.settings-group[open]>summary:after{transform:rotate(135deg)}.settings-group[open]>summary{border-radius:var(--radius) var(--radius) 0 0;border-bottom:none}.settings-group-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-base)}.settings-group-sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:3px;line-height:1.5}.settings-group summary>div{min-width:0}.settings-group .settings-card{margin:0;border-radius:0;border-top:none;box-shadow:none}.settings-group .settings-card:last-child{border-radius:0 0 var(--radius) var(--radius)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--tap)}.settings-row-title{font-weight:700;font-size:var(--text-base)}.settings-row-sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px;line-height:1.5}.qr-area{padding:12px 0;border-bottom:1px solid var(--border)}.qr-area:last-of-type{border-bottom:none}.qr{display:block;width:210px;max-width:100%;margin:12px auto;border-radius:var(--radius-sm)}.plan-card{background:linear-gradient(150deg,var(--plan-a),var(--plan-b));border-radius:var(--radius-lg);padding:18px;color:var(--on-plan);margin:0 var(--gutter) 12px;box-shadow:var(--shadow)}.plan-label{font-size:var(--text-xs);color:var(--on-plan-3);margin-bottom:4px}.plan-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);margin-bottom:12px}.pay-amount{background:var(--on-plan-fill);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}.pay-amount-label{font-size:var(--text-xs);color:var(--on-plan-3)}.pay-amount-value{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin-top:2px}.pay-amount-note{font-size:var(--text-xs);color:var(--on-plan-2);margin-top:8px;line-height:1.6}.pay-amount-note strong{color:var(--on-plan)}.slip-upload{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.slip-input{display:block;margin-bottom:8px;font-size:var(--text-sm)}.slip-submit{min-height:var(--tap);background:var(--ink-1);color:var(--on-ink);border:none;border-radius:var(--radius-xs);padding:10px 18px;font-weight:700;font-size:var(--text-sm)}.slip-submit:disabled{opacity:.6}.slip-result{margin-top:8px;font-size:var(--text-sm);color:var(--ink-2)}.receipt-voided{opacity:.62}@media (min-width: 768px) and (max-width: 1023px){:root{--gutter: 22px}.screen{padding-left:max(0px,calc((100% - 760px)/2));padding-right:max(0px,calc((100% - 760px)/2))}.product-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-grid,.quick-grid,.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.tab-btn{font-size:var(--text-sm)}}.bt-card-soon{opacity:.62;cursor:default}.bt-card-soon .bt-emoji{background:var(--surface-sunken);color:var(--ink-4)}.bt-soon-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:700;background:var(--warning-soft);color:var(--warning)}.plan-step-trial{margin:4px var(--gutter) 12px;padding:14px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;border-color:var(--gold);box-shadow:var(--shadow-gold)}.plan-step-trial-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.plan-step-trial-sub{font-size:var(--text-sm);color:var(--ink-3);margin-top:3px}.plan-step-list{display:flex;flex-direction:column;gap:10px;padding:0 var(--gutter)}.plan-step-offer{padding:14px 16px}.plan-step-offer-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.plan-step-offer-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.plan-step-offer-price{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);font-variant-numeric:tabular-nums}.plan-step-offer-price small{font-size:var(--text-xs);font-weight:600;color:var(--ink-3)}.plan-step-offer-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.plan-step-save{font-size:var(--text-xs);color:var(--success);font-weight:700}.plan-step-empty{margin:0 var(--gutter);padding:16px}.plan-step-skip{padding:14px var(--gutter) 24px}.slip-status{margin-top:10px;padding:11px 13px;border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.6;background:var(--on-plan-fill);color:var(--on-plan-2);border:1px solid var(--on-plan-line)}.slip-status-title{font-weight:800;color:var(--on-plan);margin-bottom:3px}.slip-status-text{margin-top:4px}.slip-status-busy{border-color:var(--on-plan-line)}.slip-status-warn{border-color:var(--gold);color:var(--gold-light)}.slip-status-bad{border-color:var(--on-danger-strong)}.slip-status-bad .slip-status-title{color:var(--on-danger-strong)}.slip-status-compare{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;padding-top:8px;border-top:1px solid var(--on-plan-line);font-variant-numeric:tabular-nums}.slip-status-compare strong{color:var(--on-plan)}.slip-status-contact{color:var(--gold-light);font-weight:700;text-underline-offset:3px}@media (min-width: 1024px){:root{--gutter: 20px}#app.has-shell{display:grid;grid-template-columns:var(--shell-w) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"head main" "nav main";height:100vh;height:100dvh;overflow:hidden}#app:not(.has-shell){align-items:center}#app:not(.has-shell)>*{width:100%;max-width:620px}.app-header{grid-area:head;position:static;flex-direction:column;align-items:stretch;gap:4px;padding:20px 14px 16px;border-right:1px solid var(--shell-border);border-bottom:1px solid var(--shell-border);background:var(--shell);-webkit-backdrop-filter:none;backdrop-filter:none}.account-title{font-size:var(--text-lg);overflow-wrap:anywhere}.app-header>.account-btn{flex:none}.tab-bar{grid-area:nav;position:static;flex-direction:column;justify-content:flex-start;gap:2px;padding:12px 12px 16px;overflow-y:auto;border-top:none;border-right:1px solid var(--shell-border);background:var(--shell);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.tab-btn{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;padding:11px 14px;font-size:var(--text-sm);min-height:46px;border:1px solid transparent;text-align:left}.tab-btn svg{width:19px;height:19px;flex-shrink:0}.tab-btn:hover{background:var(--shell-active-bg)}.tab-btn.active{border-color:var(--shell-active-border);font-weight:800}.tab-btn-label{max-width:none}.tab-bar .nav-badge{position:static;margin-left:auto;transform:none}.nav-group{margin:0 0 14px}.nav-group:last-of-type{margin-bottom:4px}.nav-group-label{padding:0 14px 6px;font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--shell-ink-2)}.shell-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 10px 2px;border-top:1px solid var(--shell-border)}.shell-user-avatar{width:32px;height:32px;flex-shrink:0;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--shell-active-bg);color:var(--shell-active-ink);font-family:var(--font-display);font-weight:800;font-size:var(--text-sm)}.shell-user-text{min-width:0}.shell-user-name{display:block;font-size:var(--text-sm);font-weight:700;color:var(--shell-ink-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-user-role{display:block;margin-top:1px;font-size:var(--text-xs);color:var(--shell-ink-2)}.screen{grid-area:main;overflow-y:auto;padding:18px max(0px,calc((100% - 960px)/2)) 48px}.cart-panel{bottom:20px}.toast-host{left:var(--shell-w);bottom:24px}#toast-host-alert{bottom:82px}.product-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat-grid,.quick-grid,.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.stat-hero,.action-tile-primary{grid-column:span 1}}@media (min-width: 1280px){.product-grid{grid-template-columns:repeat(4,1fr)}}.auth-steps{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:var(--text-sm);color:var(--ink-2);line-height:1.6}.auth-steps strong{color:var(--ink-1)}.auth-app-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 4px}.auth-app{display:flex;flex-direction:column;gap:1px;min-height:44px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--ink-1);font-size:var(--text-xs);font-weight:700;text-decoration:none;line-height:1.3}.auth-app:hover{border-color:var(--brand);color:var(--brand-700);background:var(--brand-50)}.auth-app span{font-weight:500;color:var(--ink-3)}.mfa-choices{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.mfa-choice{display:flex;flex-direction:column;gap:3px;width:100%;min-height:64px;padding:14px 16px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink-1);font-family:inherit}.mfa-choice:hover{border-color:var(--brand-500);background:var(--brand-50)}.mfa-choice-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-md)}.mfa-choice-sub{color:var(--ink-3);font-size:var(--text-xs);line-height:1.5}.sheet-content{max-height:46vh;margin:0 0 14px;padding:12px;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--ink-1);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.seg-row{display:flex;gap:6px;margin:8px 0;max-width:460px;padding:4px;border-radius:var(--radius-sm);background:var(--surface-sunken)}.seg-btn{flex:1;min-height:36px;padding:6px 10px;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--ink-3);font-family:inherit;font-size:var(--text-sm);font-weight:600}.seg-btn.is-on{background:var(--card);color:var(--ink-1);box-shadow:var(--shadow-sm)}.seg-btn:focus-visible{outline:2px solid var(--ring-color);outline-offset:1px}.photo-strip{display:flex;gap:8px;margin-top:8px;padding-bottom:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.photo-tile{position:relative;flex:0 0 auto;width:104px;margin:0;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-muted);overflow:hidden}.photo-tile img{display:block;width:100%;height:104px;object-fit:cover}.photo-kind{display:block;padding:4px 6px;color:var(--ink-3);font-size:var(--text-xs);font-weight:600;text-align:center}.photo-remove{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--overlay);color:var(--on-ink)}.photo-remove svg{width:14px;height:14px}.photo-add{flex:0 0 auto;width:104px;min-height:104px;border:1px dashed var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--ink-3);font-family:inherit;font-size:var(--text-xs);font-weight:600}.photo-add:hover:not(:disabled){border-color:var(--brand);color:var(--brand-700)}.photo-add:disabled{opacity:.6}.visit-past{border-top:1px solid var(--border)}.visit-past-head{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 0;border:0;background:none;color:inherit;font-family:inherit;font-size:var(--text-md);text-align:left}.visit-past-head[aria-expanded=true] .icon-inline{transform:rotate(180deg)}.visit-past-body{padding:0 0 12px}.hours-row{display:grid;grid-template-columns:92px 1fr 1fr;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--border)}.hours-row:first-of-type{border-top:0}.hours-day{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:600}.hours-row input[type=time]{min-height:40px;margin:0}.hours-row.is-off input[type=time]{opacity:.45}.hours-closed{grid-column:2 / -1;color:var(--ink-3);font-size:var(--text-xs)}@media (max-width: 380px){.hours-row{grid-template-columns:1fr 1fr;row-gap:6px}.hours-day,.hours-closed{grid-column:1 / -1}}.closure-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.closure-row:first-of-type{border-top:0}.closure-row .settings-row-title,.closure-row .settings-row-sub,.commission-row .settings-row-title,.commission-row .settings-row-sub{display:block}.commission-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.commission-row:first-of-type{border-top:0}@media (max-width: 380px){.commission-rule-row{flex-wrap:wrap}.commission-rule-row>select,.commission-rule-row>input{flex:1 1 calc(50% - 5px);min-width:0}.commission-rule-row>button{flex:1 1 auto}}@media (max-width: 767px){:root[data-shell=clinical] .commission-rule-row{flex-wrap:wrap}:root[data-shell=clinical] .commission-rule-row>select,:root[data-shell=clinical] .commission-rule-row>input{flex:1 1 calc(50% - 5px);min-width:0}:root[data-shell=clinical] .commission-rule-row>button{flex:1 1 auto}}.commission-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--brand-surface);color:var(--on-brand-surface)}.commission-total-value{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;font-variant-numeric:tabular-nums}.commission-total-label{color:var(--on-brand-surface-2);font-size:var(--text-xs)}.commission-total>span:last-child{text-align:right}.commission-unpaid{color:var(--warning);font-weight:700;font-variant-numeric:tabular-nums}:root[data-shell=clinical] .commission-unpaid-mlabel{font-weight:400;color:inherit}@media (min-width: 768px){:root[data-shell=clinical] .commission-unpaid-mlabel{display:none}}.report-period-dates{margin-top:10px}.report-retry-btn{margin:0 0 12px}.card-note.report-note-box{background:var(--surface-muted);border-radius:var(--radius-xs);padding:10px;margin:10px 0 0}.report-action-gap{margin-top:12px}.report-refresh-status{margin:0 0 8px;color:var(--ink-3)}.lot-row{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--card)}.lot-row.is-expired{border-left-color:var(--danger);background:var(--danger-soft)}.lot-row.is-soon{border-left-color:var(--warning);background:var(--warning-soft)}.lot-no{font-variant-numeric:tabular-nums;font-weight:700}.lot-meta{color:var(--ink-3);font-size:var(--text-xs);line-height:1.5}.lot-qty{min-width:62px;text-align:right;font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.alert-card{display:block;width:100%;margin-bottom:14px;padding:14px 16px;text-align:left;border:1px solid var(--warning-border);border-radius:var(--radius);background:var(--warning-soft);color:var(--ink-1);font-family:inherit}.alert-card.is-danger{border-color:var(--danger-border);background:var(--danger-soft)}.alert-card-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-md)}.alert-card-sub{margin-top:3px;color:var(--ink-2);font-size:var(--text-xs);line-height:1.5}.page-back{margin:-6px 0 0 -8px;color:var(--ink-2)}.page-back:hover{background:var(--surface-sunken);color:var(--ink-1)}.toolbar-end{justify-content:flex-end;padding-top:0}.nav-card{display:flex;align-items:center;gap:12px;width:calc(100% - var(--gutter) * 2);margin:0 var(--gutter) 12px;min-height:60px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;color:var(--ink-1)}.nav-card:hover{border-color:var(--brand-500)}.nav-card-icon{width:34px;height:34px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand)}.nav-card-icon svg{width:18px;height:18px}.nav-card-title{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--text-base)}.nav-card-sub{display:block;margin-top:2px;color:var(--ink-3);font-size:var(--text-xs);line-height:1.5}.nav-card-go{margin-left:auto;display:flex;color:var(--ink-3)}.upsell-locked{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--brand-100);color:var(--ink-2);font-size:var(--text-xs);line-height:1.6}.nav-card-go svg{width:17px;height:17px}.inline-add{display:flex;gap:8px;align-items:flex-start;padding:10px 0 0}.inline-add .text-input{margin-bottom:0}.queue-round-actions{display:flex;gap:6px;flex-shrink:0}.queue-status{padding:0 var(--gutter) 10px;margin:-6px 0 0}.queue-item{line-height:1.5}.queue-item+.queue-item{margin-top:6px}.queue-item-name{font-weight:700}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle;margin-right:5px}@media (min-width: 1024px){.cart-panel{max-width:420px;margin-left:auto;border-radius:var(--radius) var(--radius) 0 0}}@media (min-width: 1024px){.stat-grid{gap:14px;padding-top:4px}.kpi-grid{gap:14px}.card{margin-bottom:14px}.section-head{padding-top:14px}.stat-hero .stat-value,.kpi-card:first-child .kpi-value{font-size:var(--text-3xl)}.stat,.kpi-card{padding:18px 20px}.period-tabs{flex-wrap:wrap}.period-btn{flex:0 0 auto;min-width:108px;padding:9px 18px}.toolbar{max-width:560px}.toolbar-end{max-width:none}.card-note:only-child{margin-top:0}}@media (min-width: 1440px){.screen{padding-left:max(0px,calc((100% - 1080px)/2));padding-right:max(0px,calc((100% - 1080px)/2))}.stat-grid,.kpi-grid{gap:16px}}.stat:not(.stat-hero):hover,.kpi-card:not(:first-child):hover{border-color:var(--hairline-strong);box-shadow:var(--elev-2)}@media (prefers-reduced-motion: no-preference){.stat,.kpi-card,.nav-card,.menu-item{transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.nav-card:hover,.menu-item:hover{box-shadow:var(--elev-2);transform:translateY(-1px)}}.settings-card,.settings-group,.menu-item,.nav-card,.product,.cart-panel,.lot-row,.alert-card,.bt-card{border-color:var(--hairline)}.settings-card,.menu-item,.nav-card,.product{box-shadow:var(--elev-1)}.cart-panel{box-shadow:var(--elev-2)}.card-heading{font-family:var(--font-display);font-weight:700;font-size:var(--text-base);letter-spacing:-.01em;margin-bottom:12px}.card-heading.is-spaced{margin-top:16px}.card-quiet{background:transparent;border-style:dashed;border-color:var(--hairline-strong);box-shadow:none;padding-top:14px;padding-bottom:14px}.card-quiet .card-heading{color:var(--ink-2);margin-bottom:6px}@media (min-width: 1024px){.screen{background-image:linear-gradient(180deg,var(--surface-muted) 0%,var(--bg) 340px);background-repeat:no-repeat}}.page-title{letter-spacing:-.024em}.page-sub{letter-spacing:.01em}.num,.stat-value,.kpi-value,.menu-item-price,.queue-total,.lot-qty{font-variant-numeric:tabular-nums}.consent-row{padding:12px 0;border-top:1px solid var(--border)}.consent-row:first-child{padding-top:0;border-top:0}.consent-text{font-size:var(--text-sm);color:var(--ink-2);line-height:1.6;margin:6px 0}.dsr-row{padding:10px 0;border-top:1px solid var(--border)}.dsr-row:first-child{padding-top:0;border-top:0}.course-row{padding:10px 0;border-top:1px solid var(--border)}.course-row:first-child{padding-top:0;border-top:0}.course-detail{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-strong)}.redemption-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}.line-code{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);letter-spacing:.18em;text-align:center;margin:8px 0;overflow-wrap:break-word}.journey-strip{display:flex;gap:2px;overflow-x:auto;padding:4px 2px 2px;scrollbar-width:none}.journey-strip::-webkit-scrollbar{display:none}.journey-step{flex:0 0 auto;min-width:78px;text-align:center;padding:0 4px;position:relative}.journey-step:not(:last-child):after{content:"";position:absolute;top:12px;left:58%;width:100%;height:2px;background:var(--border);z-index:0}.journey-step.is-done:not(:last-child):after{background:var(--success)}.journey-dot{width:24px;height:24px;border-radius:999px;margin:0 auto;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--card);border:2px solid var(--border-strong);color:transparent}.journey-dot svg{width:13px;height:13px;stroke-width:2.4}.journey-step.is-done .journey-dot{background:var(--success);border-color:var(--success);color:var(--on-success)}.journey-step.is-current .journey-dot{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.journey-step.is-skipped .journey-dot{border-style:dashed;border-color:var(--ink-4)}.journey-step-label{margin-top:6px;font-size:var(--text-xs);font-weight:700;color:var(--ink-1);line-height:1.3}.journey-step:not(.is-done):not(.is-current) .journey-step-label{color:var(--ink-3);font-weight:600}.journey-step-time{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px}.journey-step.is-current .journey-step-time{color:var(--brand);font-weight:700}.board{margin:0 var(--gutter) 4px}.board-col{min-width:0}.board-col+.board-col{margin-top:14px}@media (max-width: 1023px){.board-col{display:none}.board-col.is-current{display:block}}@media (min-width: 1024px){.board{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:16px;overflow-x:auto;align-items:start;padding-bottom:4px}.board-col+.board-col{margin-top:0}}.board.is-stale{opacity:.92}.board-col-head{display:flex;align-items:center;gap:8px;padding:4px 2px 8px}.board-col-head-skel{display:inline-block;width:90px;height:13px;border-radius:var(--radius-xs)}.board-col-dot,.stage-chip-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;background:var(--ink-4)}.board-col-dot[data-stage-dot=booked],.stage-chip-dot[data-stage-dot=booked]{background:var(--stage-booked)}.board-col-dot[data-stage-dot=waiting],.stage-chip-dot[data-stage-dot=waiting]{background:var(--stage-waiting)}.board-col-dot[data-stage-dot=in_service],.stage-chip-dot[data-stage-dot=in_service]{background:var(--stage-treatment)}.board-col-dot[data-stage-dot=to_pay],.stage-chip-dot[data-stage-dot=to_pay]{background:var(--stage-payment)}.board-col-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--ink-1)}.board-count{margin-left:auto}.board-col-body{display:flex;flex-direction:column;gap:8px}.board-empty{margin:0;padding:16px 12px;text-align:center;color:var(--ink-3);font-size:var(--text-sm);border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.board-done{margin:6px var(--gutter) 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.board-done-summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--ink-2);min-height:var(--tap);list-style:none}.board-done-summary::-webkit-details-marker{display:none}.board-done-title{color:var(--ink-1)}.board-done-chevron{margin-left:auto;display:flex;color:var(--ink-3);transition:transform .15s ease}.board-done[open] .board-done-chevron{transform:rotate(180deg)}.board-done-body{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}.stage-chips{margin:0 var(--gutter) 10px}@media (min-width: 1024px){.stage-chips.seg-tabs{display:none}}.quick-actions{display:flex;gap:8px;margin:0 var(--gutter) 14px}.quick-action{flex:1 1 0}.patient-card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--elev-1);padding:12px 14px}.patient-card-top{display:flex;align-items:flex-start;gap:8px}.patient-time{flex-shrink:0;font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;padding-top:1px}.patient-id{flex:1 1 auto;min-width:0}.patient-name{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--text-base);color:var(--ink-1);overflow-wrap:anywhere}.patient-code{display:block;margin-top:1px;color:var(--ink-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.patient-meta{margin-top:6px;color:var(--ink-2);font-size:var(--text-sm)}.patient-safety{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:6px 8px;border-radius:var(--radius-xs);background:var(--warning-soft);color:var(--ink-1);font-size:var(--text-xs);font-weight:700;line-height:1.4}.patient-safety svg{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:var(--warning)}.patient-wait{margin-top:4px;font-size:var(--text-sm);font-weight:700;color:var(--ink-2)}.patient-wait[data-tone=danger]{color:var(--danger)}.patient-wait[data-tone=warning]{color:var(--stage-waiting)}.patient-action{margin-top:10px;border-color:transparent}.patient-action[data-tone=stage-booked]{background:var(--stage-booked-soft);color:var(--stage-booked)}.patient-action[data-tone=stage-waiting]{background:var(--stage-waiting-soft);color:var(--stage-waiting)}.patient-action[data-tone=stage-treatment]{background:var(--stage-treatment);color:var(--on-brand)}.patient-action[data-tone=stage-payment]{background:var(--stage-payment-soft);color:var(--stage-payment)}.patient-action[data-tone=warning]{background:var(--warning);color:var(--card)}.board-refresh-note{margin:-4px var(--gutter) 10px;display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:var(--text-xs)}.board-refresh-note[hidden]{display:none}.board-refresh-note svg{width:14px;height:14px;animation:spin 1s linear infinite}.agenda-refresh-note{margin:0 0 8px;display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:var(--text-xs)}.agenda-refresh-note svg{width:14px;height:14px;animation:spin 1s linear infinite}.patient-allergy-alert{display:flex;align-items:flex-start;gap:8px;background:var(--danger-soft);color:var(--danger);border:1.5px solid var(--danger);border-radius:var(--radius-sm);padding:9px 12px;font-size:var(--text-sm);font-weight:600;margin:10px 0}.patient-allergy-alert-title{font-weight:800;color:var(--danger);display:flex;align-items:center;gap:4px}.patient-allergy-alert-content{color:var(--ink-1);font-weight:700}.opd-presets-wrapper{margin:6px 0 10px}.opd-presets-label{font-size:var(--text-xs);color:var(--ink-3);font-weight:600;margin-bottom:4px}.opd-presets-row{display:flex;flex-wrap:wrap;gap:6px}.opd-preset-chip{background:var(--surface-muted);border:1px solid var(--border);color:var(--ink-2);border-radius:999px;padding:4px 10px;font-size:var(--text-xs);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.opd-preset-chip:hover{background:var(--brand-50);border-color:var(--brand);color:var(--brand-700)}@media (min-width: 1024px){:root[data-shell=clinical] .tab-btn.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--clinic-shell-accent)}:root[data-shell=clinical] .tab-bar button:focus-visible{outline-color:var(--clinic-shell-accent)}}:root[data-shell=clinical] .app-header .account-btn:focus-visible{outline-color:var(--clinic-shell-accent)}@media (max-width: 1023px){:root[data-shell=clinical] .tab-bar{background:var(--clinic-nav-mobile-bg);border-top:1px solid var(--clinic-line);box-shadow:0 -6px 18px #0b1f2e0f}:root[data-shell=clinical] .tab-btn{color:var(--clinic-ink-muted)}:root[data-shell=clinical] .tab-btn-label{font-size:var(--text-xs)}:root[data-shell=clinical] .tab-btn.active,:root[data-shell=clinical] #more-tab-btn.active{color:var(--clinic-primary);background:var(--clinic-primary-soft)}}.page-head{flex-wrap:wrap}.screen{scroll-padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 96px)}@media (max-width: 1023px){:root[data-shell=clinical]{scroll-padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 16px)}:root[data-shell=clinical]:has(.cart-bar),:root[data-shell=clinical]:has(.sticky-actions){scroll-padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 96px)}}.page-head-actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 480px){.page-head:has(.page-head-actions) .grow{flex-basis:100%}.page-head-actions{flex:1 1 100%}.page-head-actions .btn-primary{flex:1 1 100%;order:-1}}.page-head-compact{padding-top:10px;padding-bottom:6px}.page-head-compact .page-title{font-size:var(--text-lg)}.page-eyebrow{font-size:var(--text-xs);font-weight:700;color:var(--ink-3);margin:0 0 2px}:root[data-shell=clinical] .page-head .btn-sm,:root[data-shell=clinical] .menu-type-toolbar .btn-sm{min-height:var(--tap)}body.sheet-open{overflow:hidden}.sheet[data-dialog]{display:flex;flex-direction:column}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sheet-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;margin:8px 0}.sheet-foot{flex:none;display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.sheet-close{flex-shrink:0}@media (min-width: 720px){.sheet.sheet-wide{width:min(640px,92vw)}}.confirm-target{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);color:var(--ink-1);margin:6px 0 0}.confirm-error:empty{display:none}.confirm-error .notice{margin:10px 0 0}.sheet-item-danger{color:var(--danger)}.sheet-item-danger:hover{background:var(--danger-soft)}.status-msg{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:700}.status-msg-success{color:var(--success)}.status-msg-error{color:var(--danger)}.status-msg-info{color:var(--ink-2)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:0 var(--gutter)}.metric{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:14px 15px;box-shadow:var(--elev-1);display:flex;flex-direction:column;gap:6px;text-align:left}.metric-btn{cursor:pointer;min-height:var(--tap)}.metric-btn:hover{border-color:var(--hairline-strong);box-shadow:var(--elev-2)}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-label{font-size:var(--text-xs);font-weight:700;color:var(--ink-3)}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);flex-shrink:0;background:var(--brand-50);color:var(--brand)}.metric-icon svg{width:16px;height:16px}.metric-value{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--ink-1)}.metric-note{font-size:var(--text-xs);color:var(--ink-3)}.metric-primary{background:var(--brand-surface);border-color:var(--brand-surface);box-shadow:var(--elev-brand)}.metric-primary .metric-label{color:var(--on-brand-surface-2)}.metric-primary .metric-value{color:var(--on-brand-surface)}.metric-primary .metric-note{color:var(--on-brand-surface-2)}.metric-primary .metric-icon{background:var(--on-brand-surface-fill);color:var(--on-brand-surface)}.metric.is-loading{gap:10px}.metric-skel-label{width:55%;height:11px}.metric-skel-value{width:42%;height:22px}.attention{display:flex;flex-direction:column;gap:8px;margin:0 var(--gutter) 10px}.attention-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 13px;border-radius:var(--radius-sm);border-left:4px solid var(--warning);background:var(--warning-soft);color:var(--ink-1)}.attention-item[data-tone=danger]{border-left-color:var(--danger);background:var(--danger-soft)}.attention-icon{flex-shrink:0;color:var(--warning);display:inline-flex}.attention-item[data-tone=danger] .attention-icon{color:var(--danger)}.attention-text{flex:1;min-width:160px;font-size:var(--text-sm);font-weight:600;line-height:1.5}.attention-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--card);font-size:var(--text-xs);font-weight:800;color:inherit}.attention-action,.attention-more{flex-shrink:0;min-height:var(--tap);min-width:var(--tap)}.safety-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--danger-border);background:var(--danger-soft);margin:10px var(--gutter)}.safety-icon{flex-shrink:0;color:var(--danger);display:inline-flex;margin-top:1px}.safety-title{font-weight:800;color:var(--danger-ink);font-size:var(--text-sm)}.safety-text{font-size:var(--text-sm);color:var(--ink-1);font-weight:600;line-height:1.55}.safety-banner.is-note{border-color:var(--border-strong);background:var(--surface-muted)}.safety-banner.is-note .safety-icon{color:var(--ink-3)}.safety-banner.is-note .safety-title{color:var(--ink-1)}.safety-banner.is-consent{border-color:var(--warning-border);background:var(--warning-soft)}.safety-banner.is-consent .safety-icon{color:var(--warning)}.safety-banner.is-consent .safety-title{color:var(--ink-1)}.journey{display:flex;gap:2px;overflow-x:auto;padding:4px 2px 2px;scrollbar-width:none}.journey::-webkit-scrollbar{display:none}.journey.is-compact .journey-step{min-width:58px}.journey.is-compact .journey-dot{width:20px;height:20px}.journey-dot-num{font-family:var(--font-display);font-weight:800;font-size:var(--text-xs);line-height:1}.journey-step[data-state=current] .journey-dot{color:var(--brand);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.journey-step[data-state=done] .journey-dot{background:var(--success);border-color:var(--success);color:var(--on-success)}.journey-step[data-state=done]:not(:last-child):after{background:var(--success)}.journey-step[data-state=skipped] .journey-dot{border-style:dashed;border-color:var(--ink-4)}.journey-step[data-state=pending] .journey-step-label,.journey-step[data-state=skipped] .journey-step-label{color:var(--ink-3);font-weight:600}.field-disabled-reason{font-size:var(--text-sm);color:var(--ink-3);font-style:normal;margin:0;padding:11px 13px;background:var(--surface-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-xs)}.row+.field-disabled-reason{margin-top:8px}.text-input.textarea-control{min-height:84px;resize:vertical}.sticky-actions{position:sticky;bottom:calc(var(--nav-h) + var(--safe-bottom));z-index:20;background:var(--card);border-top:1px solid var(--border);padding:10px var(--gutter) calc(10px + var(--safe-bottom));box-shadow:var(--shadow-sm)}.sticky-actions-status{font-size:var(--text-xs);color:var(--ink-3);margin-bottom:6px}.sticky-actions[data-state=dirty] .sticky-actions-status{color:var(--warning);font-weight:700}.sticky-actions[data-state=saved] .sticky-actions-status{color:var(--success);font-weight:700}.sticky-actions[data-state=error] .sticky-actions-status{color:var(--danger);font-weight:700}.sticky-actions-row{display:flex;gap:8px}.sticky-actions-row .btn-block{flex:1}@media (min-width: 1024px){.sticky-actions{position:static;margin-top:16px;border-radius:var(--radius-sm)}}.seg-tabs{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.seg-tabs::-webkit-scrollbar{display:none}.seg-tab-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--ink-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.seg-tab-btn[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.seg-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--surface-sunken);color:var(--ink-2);font-size:var(--text-xs);font-weight:800}.seg-tab-btn[aria-selected=true] .seg-tab-count{background:var(--on-brand-surface-fill);color:var(--on-brand)}.seg-tabs[data-scroll-end=true]{mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%)}.seg-tabs[data-scroll-start=true]{mask-image:linear-gradient(to left,black calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to left,black calc(100% - 28px),transparent 100%)}.seg-tabs[data-scroll-start=true][data-scroll-end=true]{mask-image:linear-gradient(to right,transparent 0,black 28px,black calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 28px,black calc(100% - 28px),transparent 100%)}.table-caption{caption-side:top;text-align:left;font-size:var(--text-sm);color:var(--ink-2);font-weight:700;padding-bottom:8px}.table-loading .skeleton{height:12px}.table-error{margin:8px 0;padding:16px;text-align:center;background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-sm)}.table-error .state-text{color:var(--danger-ink);margin:0 0 10px}.table-error [data-retry]{min-height:var(--tap)}@media (max-width: 767px){.data-table.is-responsive thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}.data-table.is-responsive,.data-table.is-responsive tbody,.data-table.is-responsive tr,.data-table.is-responsive td,.data-table.is-responsive caption{display:block;width:100%}.table-caption{padding-bottom:10px}.data-table.is-responsive tr{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;padding:4px 12px}.data-table.is-responsive td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px dashed var(--border);padding:8px 0;text-align:right;white-space:normal}.data-table.is-responsive td:last-child{border-bottom:none}.data-table.is-responsive td:before{content:attr(data-label);font-weight:700;color:var(--ink-3);font-size:var(--text-xs);text-align:left;flex-shrink:0}}@media (min-width: 768px){.data-table tbody tr.lot-row{display:table-row;gap:0;padding:0;margin-bottom:0;border:0;border-radius:0;background:transparent}}.stock-view-toolbar{padding:0 var(--gutter) 10px}.state-filter-empty{border-style:solid}.state-filter-empty .state-action{flex-direction:row;flex-wrap:wrap;justify-content:center}.state-forbidden{border-style:solid;border-color:var(--border-strong);background:var(--surface-muted)}.state-forbidden .state-icon{background:var(--surface-sunken);color:var(--ink-3)}.overflow-btn{min-width:var(--tap);min-height:var(--tap);color:var(--ink-2)}.overflow-btn:hover{color:var(--ink-1)}.gutter-block{margin:0 var(--gutter) 12px}.cluster{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.patient-list,.patient-file{display:block}.identity-header{position:relative}.identity-banner{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px 12px;padding:14px var(--gutter) 4px}.identity-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand);font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.identity-info{flex:1;min-width:0}.identity-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--ink-1);overflow-wrap:anywhere}.identity-code{font-size:var(--text-sm);color:var(--ink-3);margin-top:2px}.identity-meta{font-size:var(--text-sm);color:var(--ink-2);margin-top:2px}.identity-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px var(--gutter) 0}.journey-wrap{margin:8px var(--gutter) 12px;padding:14px 14px 12px;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--elev-1)}.journey-elapsed{font-size:var(--text-xs);color:var(--ink-3);margin:8px 2px 0}.journey-consent-btn{margin-top:10px}.clinic-workspace{display:flex;flex-direction:column;gap:14px;padding:0 var(--gutter)}.clinic-main{min-width:0}.context-rail{display:flex;flex-direction:column;gap:12px}@media (min-width: 1024px){.clinic-workspace{flex-direction:row;align-items:flex-start}.clinic-main{flex:1 1 auto;min-width:0}.context-rail{flex:0 0 330px}}.clinic-tab-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.clinic-tab-panel{margin-top:12px}.rail-card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--elev-1);padding:14px 16px}.rail-card-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);color:var(--ink-1);margin-bottom:8px}.rail-vital-row{padding:6px 0;border-bottom:1px solid var(--hairline)}.rail-vital-row:last-child{border-bottom:none;padding-bottom:0}.rail-vital-label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--ink-3)}.rail-vital-value{display:block;font-size:var(--text-sm);color:var(--ink-1);margin-top:2px;overflow-wrap:anywhere}.rail-course+.rail-course{margin-top:12px;padding-top:12px;border-top:1px solid var(--hairline)}.rail-course-name{font-weight:700;font-size:var(--text-sm);color:var(--ink-1)}.rail-course-note{font-size:var(--text-xs);color:var(--ink-3);margin:4px 0 8px}.rail-booking-time{font-weight:700;font-size:var(--text-sm);color:var(--ink-1);margin-bottom:6px}.rail-actions{display:flex;gap:8px;margin-top:10px}.rail-progress{height:7px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.rail-progress-fill{display:block;width:var(--pct, 0%);height:100%;border-radius:999px;background:var(--chart-2)}.clinic-section{margin:0 var(--gutter) 12px}.clinic-section-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;padding:14px 16px;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--elev-1);font-family:var(--font-display);font-weight:800;font-size:var(--text-base);color:var(--ink-1)}.clinic-section-summary::-webkit-details-marker{display:none}.clinic-section[open]>.clinic-section-summary{border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:none}.clinic-section-chevron{color:var(--ink-3);flex-shrink:0;transition:transform .15s ease}.clinic-section[open] .clinic-section-chevron{transform:rotate(180deg)}.clinic-section-body{padding-top:10px}.section-lead-actions{display:flex;gap:8px;margin-bottom:12px}.patient-file-back{margin:10px var(--gutter) 0;min-height:var(--tap)}@media (min-width: 1024px){.identity-actions{position:absolute;top:14px;right:var(--gutter);margin:0}.identity-info{padding-right:300px}}.seg-tabs[data-clinical-tabs]{flex-wrap:wrap;overflow-x:visible}.journey[data-scroll-end=true]{mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%)}.journey[data-scroll-start=true]{mask-image:linear-gradient(to left,black calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to left,black calc(100% - 28px),transparent 100%)}.journey[data-scroll-start=true][data-scroll-end=true]{mask-image:linear-gradient(to right,transparent 0,black 28px,black calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 28px,black calc(100% - 28px),transparent 100%)}@media (prefers-reduced-motion: reduce){.clinic-section-chevron{transition:none}}.bookings-layout{display:flex;flex-direction:column;gap:16px;padding:0 var(--gutter) 16px}.agenda-col{min-width:0}@media (min-width: 1024px){.bookings-layout{flex-direction:row;align-items:flex-start;padding:0 var(--gutter) 24px}.agenda-col{flex:1 1 auto;min-width:0}.compose-panel{flex:0 0 360px;min-width:0;position:sticky;top:12px;max-height:calc(100dvh - var(--compose-panel-top, 24px) - 12px);overflow-y:auto;padding-left:2px;scroll-padding-bottom:calc(var(--tap) + 70px)}}.compose-panel .booking-form-footer{position:sticky;bottom:0;z-index:2;background:var(--card);padding-top:10px;margin-top:4px}.agenda-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.agenda-toolbar .text-input{margin:0}.agenda-toolbar-date{min-width:0;flex:1 1 150px}.agenda-toolbar-resource{flex:1 1 180px;min-width:0}.agenda{display:flex;flex-direction:column;gap:10px}@media (min-width: 1024px){.agenda{max-height:calc(100dvh - 220px);overflow-y:auto;padding-right:4px}}.agenda-row{display:flex;gap:10px;align-items:flex-start;flex-shrink:0}.agenda-row-time{flex:0 0 48px;padding-top:11px;font-size:var(--text-xs);font-weight:700;color:var(--ink-2)}.agenda-row-items{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.agenda-row.is-empty{min-height:28px}.agenda-row.is-empty .agenda-row-time{padding-top:2px;font-weight:500}.agenda-row.is-empty .agenda-row-items{min-height:1px;align-self:stretch;margin-top:10px;border-top:1px dashed var(--hairline)}.agenda-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--card);border:1px solid var(--hairline);border-left:4px solid transparent;border-radius:var(--radius);box-shadow:var(--elev-1);padding:10px 12px;min-height:var(--tap)}.agenda-item[data-status=booked]{border-left-color:var(--stage-booked)}.agenda-item[data-status=arrived]{border-left-color:var(--stage-waiting)}:root[data-shell=clinical] .agenda-item[data-status=in_service]{border-left-color:var(--stage-treatment)}.agenda-item.is-done{background:var(--surface-muted);border-left-color:var(--border)}:root[data-shell=clinical] .agenda-item.is-done{border-left-color:var(--clinic-control-line)}.agenda-item.is-done .agenda-item-name{font-weight:600}.agenda-item-body{flex:1;min-width:0}.agenda-item-name{display:block;font-weight:700;font-size:var(--text-sm);color:var(--ink-1);overflow-wrap:anywhere}.agenda-item-meta{display:block;font-size:var(--text-xs);color:var(--ink-3);margin-top:2px;overflow-wrap:anywhere}.status-tag{flex:0 0 auto;display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:var(--text-xs);font-weight:700;background:var(--surface-sunken);color:var(--ink-3);white-space:nowrap}.status-tag[data-tone=booked]{background:var(--stage-booked-soft);color:var(--stage-booked)}.status-tag[data-tone=waiting]{background:var(--stage-waiting-soft);color:var(--stage-waiting)}.status-tag[data-tone=treatment]{background:var(--stage-treatment-soft);color:var(--stage-treatment)}.status-tag[data-tone=success]{background:var(--success-soft);color:var(--success)}.status-tag[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.compose-static-value{font-size:var(--text-sm);color:var(--ink-1);margin:0 0 8px}.compose-result-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px}.slot-btn{min-width:0;padding:8px 6px;font-size:var(--text-sm)}.slot-btn.is-conflict{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.slot-hint{margin:0}.compose-review{display:flex;flex-direction:column;gap:6px}.compose-review-row{display:flex;justify-content:space-between;gap:10px;font-size:var(--text-sm)}.compose-review-row span{color:var(--ink-3)}.compose-review-row strong{color:var(--ink-1);text-align:right}.booking-missing{text-align:center;font-size:var(--text-xs);color:var(--ink-3);margin:6px 0 0;min-height:1em}.booking-detail-head{padding:0 0 10px}.booking-detail-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);color:var(--ink-1)}.booking-detail-meta{font-size:var(--text-sm);color:var(--ink-3);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.booking-detail-section{padding:10px 0;border-top:1px solid var(--hairline)}.booking-detail-label{font-size:var(--text-xs);font-weight:700;color:var(--ink-3);margin-bottom:6px}.booking-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.booking-detail-actions-block{flex-direction:column;padding-top:10px;border-top:1px solid var(--hairline)}.context-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 var(--gutter) 12px;padding:12px 14px;border-radius:var(--radius);background:var(--card);border:1px solid var(--hairline);box-shadow:var(--elev-1)}.context-bar-info{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.context-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-base);color:var(--ink-1);overflow-wrap:anywhere}.context-code,.context-visit,.context-bar-empty-text{font-size:var(--text-sm);color:var(--ink-3)}@media (max-width: 1023px){.context-bar{position:sticky;top:var(--app-header-h);z-index:5}}@media (min-width: 1024px){.context-bar{position:sticky;top:0;z-index:5}}.catalog-toolbar{display:flex;flex-wrap:wrap;gap:4px 12px}.catalog-toolbar .field{flex:1 1 220px;min-width:0}.catalog-toolbar .field:last-child{flex:0 1 170px;min-width:140px}.sell-layout{display:flex;flex-direction:column;gap:16px;padding:0 var(--gutter) 16px}.catalog-col{min-width:0}.catalog-col>.product-grid{padding-left:0;padding-right:0}.catalog-col>.state{margin-left:0;margin-right:0}@media (min-width: 1024px){.sell-layout{flex-direction:row;align-items:flex-start;padding:0 var(--gutter) 24px}.catalog-col{flex:1 1 auto;min-width:0}.sell-layout .cart-panel{flex:0 0 360px;position:sticky;top:12px;bottom:auto;margin:0;max-height:calc(100dvh - 32px);overflow-y:auto}}@media (min-width: 1024px) and (max-width: 1279px){.sell-layout .cart-panel{flex-basis:300px}.sell-layout .cart-panel .cart-row{flex-wrap:wrap;align-items:flex-start;row-gap:6px}.sell-layout .cart-panel .cart-row-actions{flex-basis:100%;justify-content:flex-end}}.cart-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;width:calc(100% - var(--gutter) * 2);margin:0 var(--gutter) 16px;border:none;min-height:var(--tap);padding:12px 16px;border-radius:var(--radius-lg);background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow);position:sticky;bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);z-index:25;font-family:var(--font-display)}.cart-bar-count{font-size:var(--text-sm);font-weight:700;opacity:.92}.cart-bar-total{font-size:var(--text-md);font-weight:800;font-variant-numeric:tabular-nums}.cart-bar-label{font-size:var(--text-sm);font-weight:700;text-decoration:underline;text-underline-offset:2px}@media (min-width: 1024px){.cart-bar{display:none}}@media (max-width: 1023px){.product{scroll-margin-bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px + 68px + 12px)}}.cart-list{display:flex;flex-direction:column}.cart-row-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.cart-empty-hint{padding:20px 4px;text-align:center;color:var(--ink-3);font-size:var(--text-sm)}.checkout-summary{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.checkout-summary-total,.cart-total-row{font-size:var(--text-base)}.checkout-summary-total strong,.cart-total-row strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800}.state-success .state-icon{background:var(--success-soft);color:var(--success)}.card.is-flush{margin:0 0 10px}.settings-card.is-flush{margin:0 0 12px}.upsell.is-flush{margin:4px 0 12px}.menu-type-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 var(--gutter) 10px}.menu-type-toolbar .seg-tabs{flex:1 1 220px;min-width:0}.menu-type-toolbar>button{flex-shrink:0}.type-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:700;white-space:nowrap;background:var(--surface-sunken);color:var(--ink-2)}.type-badge-muted{color:var(--ink-3)}.menu-item-edit-btn{display:block;width:100%;text-align:left;background:none;border:none;padding:0;font-family:inherit;font-weight:700;font-size:var(--text-base);color:inherit;cursor:pointer}:root[data-shell=clinical] .menu-item-edit-btn{display:flex;align-items:center;min-height:var(--tap)}.state-secondary-action{display:flex;justify-content:center;margin-top:10px}.import-summary-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.product-image-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.product-image-section{padding-top:12px;border-top:1px solid var(--border);margin-top:6px}.sheet-danger-action{margin-top:12px}.cat-manage-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.cat-manage-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.cat-manage-row:last-child{border-bottom:none}.cat-manage-empty{color:var(--ink-3);font-size:var(--text-sm);padding:12px 0;text-align:center}.import-download-btn{margin-top:6px}:root[data-shell=clinical] .import-dup-option{min-height:44px}.settings-layout{display:flex;flex-direction:column;gap:14px}.settings-nav.seg-tabs{padding:0 var(--gutter) 2px}.settings-section{min-width:0}@media (min-width: 1024px){.settings-layout{flex-direction:row;align-items:flex-start;gap:4px}.settings-nav.seg-tabs{flex:0 0 235px;flex-direction:column;overflow-x:visible;padding:0 0 0 var(--gutter);gap:2px;position:sticky;top:14px;align-self:flex-start}.settings-nav-btn{justify-content:flex-start;width:100%;border-radius:var(--radius-xs);background:transparent;border-color:transparent}.settings-nav-btn[aria-selected=true]{background:var(--surface-sunken);border-color:var(--hairline);color:var(--ink-1)}.settings-section{flex:1 1 auto;min-width:0}}:root[data-shell=clinical] :is(.table-wrap.is-responsive-wrap,.table-error){margin-inline:var(--gutter)}:root[data-shell=clinical] :is(.card,.stack,.settings-card,.sheet,.gutter-block,.clinic-workspace,.bookings-layout,.sell-layout,.clinic-section) :is(.table-wrap.is-responsive-wrap,.table-error){margin-inline:0}:root[data-shell=clinical] .toolbar{max-width:none;padding:0;margin:0 var(--gutter) 10px}.menu-type-toolbar,.stock-view-toolbar{padding:0;margin:0 var(--gutter) 10px}:root[data-shell=clinical] #screen[data-page=report]>.stack{display:block;padding:0}.settings-section>.sticky-actions{margin-bottom:10px}@media (min-width: 1024px){.settings-section>.sticky-actions{margin:16px var(--gutter) 10px}}.report-refresh-status{padding-inline:var(--gutter)}.report-section>.row.report-action-gap+.table-wrap,.report-section>.row.report-action-gap+.card-note,.report-section>.card-note.report-note-box+.table-wrap{margin-top:12px}:root[data-shell=clinical] .stack .patient-list .state{margin-inline:0}.card-note.settings-empty-note{margin-bottom:12px}.catalog-col>.seg-tabs{margin-bottom:10px}:root[data-shell=clinical] #screen[data-page=sell]>.stack{padding-inline:0}:root[data-shell=clinical] .metric-grid{margin-bottom:12px}.report-section .commission-total{margin-bottom:12px}:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap{margin-inline:-18px}@media (min-width: 768px){:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap .table-caption{padding-inline:18px}:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap table th:first-child,:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap table td:first-child{padding-left:18px}:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap table th:last-child,:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap table td:last-child{padding-right:18px}}@media (max-width: 767px){:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap tr[data-record-row]{padding-left:18px}:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap .table-caption{padding-inline:18px}:root[data-shell=clinical] .report-section.card>.table-wrap.is-responsive-wrap table:not(.has-record-action-icon):not(.has-record-action-text) tr[data-record-row]{padding-right:18px}}.catalog-toolbar{flex-wrap:wrap}.catalog-toolbar .field{flex-basis:100%}caption.table-caption.is-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}@media (max-width: 767px){:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row]{position:relative;display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:0;border:0;border-radius:0;margin-bottom:0;padding:6px 2px;min-height:44px;border-bottom:1px solid var(--hairline)}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile.has-record-action-icon tr[data-record-row]{padding-right:56px}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile.has-record-action-text tr[data-record-row]{padding-right:112px}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row]:before{content:"";order:5;flex-basis:100%;height:0}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row]:last-child{border-bottom:0}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td{display:block;width:auto;border-bottom:0;padding:0;text-align:left;white-space:normal}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td:before{content:none}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=primary]{order:1;flex:1 1 auto;min-width:0;font-weight:900;font-size:var(--text-base);color:var(--ink-1);overflow-wrap:anywhere}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] [data-record-primary]{font-weight:900}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=value]{order:2;flex:0 0 auto;font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);color:var(--ink-1);font-variant-numeric:tabular-nums;white-space:nowrap}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=meta],:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=status]{order:10;flex:0 1 auto;min-width:0;margin-top:4px;font-size:var(--text-xs);color:var(--ink-3)}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile-empty]{display:none}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile-label]:before{content:attr(data-mobile-label) " "}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=meta]:not([data-mobile-empty])~td[data-mobile=meta]:not(.is-line-start):before,:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=meta]:not([data-mobile-empty])~td[data-mobile=status]:not(.is-line-start):before{content:" · "}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=meta]:not([data-mobile-empty])~td[data-mobile=meta]:not(.is-line-start)[data-mobile-label]:before,:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=meta]:not([data-mobile-empty])~td[data-mobile=status]:not(.is-line-start)[data-mobile-label]:before{content:" · " attr(data-mobile-label) " "}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td.is-line-start:before{content:none}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td.is-line-start[data-mobile-label]:before{content:attr(data-mobile-label) " "}:root[data-shell=clinical] .record-status-pill{display:inline-flex;align-items:center;vertical-align:middle;padding:1px 8px;border-radius:999px;background:var(--surface-sunken);color:var(--ink-2);font-size:var(--text-xs);font-weight:700}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=action]{position:absolute;right:2px;bottom:4px;min-height:var(--tap);display:flex;align-items:center}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-row] td[data-mobile=action] .btn-sm{min-height:var(--tap)}}:root[data-shell=clinical] .data-table.is-responsive td .skel-line{flex:1 1 auto;width:auto}@media (max-width: 767px){:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-skeleton]{display:block;border:0;padding:8px 2px;border-bottom:1px solid var(--hairline)}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-skeleton] td{display:block;border-bottom:0;padding:3px 0}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-skeleton] td:before{content:none}:root[data-shell=clinical] table.data-table.is-responsive.has-record-mobile tr[data-record-skeleton] .skel-line{width:55%}}:root[data-shell=clinical] .copy-link-btn{border-color:var(--clinic-control-line)}:root[data-shell=clinical] .copy-link-btn:hover{border-color:var(--clinic-control-line)}:root[data-shell=clinical] .metric-btn:not(:hover):not(.metric-primary){border-color:var(--clinic-control-line)}:root[data-shell=clinical] .product:not(:hover):not(.in-cart){border-color:var(--clinic-control-line)}:root[data-shell=clinical] .metric-btn:not(.metric-primary){position:relative}:root[data-shell=clinical] .metric-chevron{position:absolute;right:12px;bottom:8px;display:flex;color:var(--clinic-ink-muted)}:root[data-shell=clinical] .metric-chevron svg{width:18px;height:18px}
