:root{--bg: #f7fbfd;--card: #ffffff;--line: #e6eef3;--text: #0f172a;--muted: #64748b;--brand: #0ea5a3;--brand-strong: #0f766e;--danger: #ef4444;--focus: rgba(8, 145, 178, .18);--chip: #eef2f7;--chip-di-bg: #fff7ed;--chip-di-bd: #fed7aa;--chip-di-tx: #9a3412;--chip-age-bg: #ecfeff;--chip-age-bd: #99f6e4;--shadow: 0 1px 0 rgba(2, 6, 23, .04), 0 8px 24px rgba(2, 6, 23, .06)}*{box-sizing:border-box}html,body,#root{height:100%;min-width:0}html,body{background:var(--bg);color:var(--text)}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden;overscroll-behavior-x:contain;-webkit-text-size-adjust:100%}#root,.pg-root{background:var(--bg);min-height:100svh}.pg-root{padding:0}.pg-head{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.pg-brand{display:flex;align-items:center;gap:10px}.pg-logo{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--brand),#14b8a6);box-shadow:0 2px 8px #14b8a640}.pg-title-line1{font-size:12px;color:var(--muted);line-height:1}.pg-title-line2{font-size:18px;font-weight:700}.pg-actions{display:flex;align-items:center;gap:12px;flex:1}.pg-actions-main{display:flex;align-items:center;gap:8px}.pg-actions-more{position:relative;display:flex;align-items:center}.pg-actions-overflow{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.pg-actions-overflow:hover{background:#f8fbfc}.pg-actions-overflow:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-overflow-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0206171f;padding:8px;width:220px;display:none;flex-direction:column;gap:8px}.pg-actions-more[open] .pg-overflow-menu{display:flex}.pg-overflow-menu .pg-btn{width:100%;justify-content:flex-start;min-height:40px}.pg-search{position:relative;display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;min-width:220px;flex:1}.pg-search-ic{color:var(--muted);margin-right:6px}.pg-search-input{border:none;outline:none;width:100%;background:transparent;color:var(--text);font-size:16px;line-height:1.25}.pg-search-input::placeholder{color:#8aa1b4}.pg-btn{appearance:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;cursor:pointer;color:var(--text);min-height:44px}.pg-btn:hover{background:#f8fbfc}.pg-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-btn:disabled{opacity:.6;cursor:not-allowed}.pg-btn-primary{border-color:transparent;background:var(--brand);color:#8aa1b4}.pg-btn-primary:hover{background:var(--brand-strong)}.pg-btn-ghost{background:transparent;border-color:var(--line)}.pg-btn-plus{margin-right:6px}.pg-tabsbar{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.pg-tabsbar .pg-pill{scroll-snap-align:start}.pg-tabsbar::-webkit-scrollbar{height:8px}.pg-tabsbar::-webkit-scrollbar-thumb{background:#d7e3ea;border-radius:999px}.pg-tabsbar::-webkit-scrollbar-track{background:transparent}.pg-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:10px 20px 24px;box-shadow:var(--shadow)}.pg-table-wrap{overflow:auto;border-radius:14px;max-width:100%;-webkit-overflow-scrolling:touch}.pg-table{width:100%;border-collapse:collapse;min-width:560px;table-layout:fixed}.pg-table thead th{position:sticky;top:0;z-index:1;background:#f8fbfe;color:#334155;font-weight:600;border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}.pg-table tbody td{border-top:1px solid var(--line);padding:10px 12px;vertical-align:middle}.pg-table tbody tr:nth-child(2n){background:#fbfdff}.pg-table tbody tr:hover{background:#f0f9ff}th.pg-col-name,td.pg-col-name{width:clamp(300px,30%,520px)}th.pg-col-service,td.pg-col-service{width:clamp(300px,24%,260px)}th.pg-col-status,td.pg-col-status{width:clamp(300px,24%,360px)}th.pg-col-tasks,td.pg-col-tasks{width:auto}th.pg-col-edit,td.pg-col-edit{width:110px;text-align:right}.pg-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-col-name .pg-ellipsis{max-width:100%}.pg-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.pg-num{text-align:right;font-variant-numeric:tabular-nums}.pg-saldo{font-weight:700}.pg-times{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-table--cobranza col.col-name{width:16%}.pg-table--cobranza col.col-service{width:10%}.pg-table--cobranza col.col-citas{width:16%}.pg-table--cobranza col.col-num{width:10%}.pg-table--cobranza col.col-acts{width:12%}th.pg-col-acts,td.pg-col-acts{text-align:left}.pg-pills{display:flex;flex-wrap:wrap;gap:6px}.pg-pill,.pg-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:#0f172a;padding:6px 12px;font-size:12px;line-height:1.25;border-radius:999px;white-space:normal;overflow-wrap:anywhere;max-width:none;text-overflow:clip;overflow:visible}.pg-pill:is(:hover,:focus-visible),.pg-chip:is(:hover,:focus-visible){outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-pill.is-pending{background:#fff;border-color:var(--line);color:#334155}.pg-pill.is-done{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.pg-pill.is-test,.pg-chip-status{cursor:default}.pg-chip-status.is-na{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.pg-chip-status.is-en-proceso{background:#e0f2fe;color:#075985;border-color:#bae6fd}.pg-chip-status.is-finalizada{background:#ecfdf5;color:#065f46;border-color:#bbf7d0}.pg-chip-status.is-entrega-agendada{background:#fef9c3;color:#92400e;border-color:#fde68a}.pg-chip-status.is-entregada{background:#dcfce7;color:#166534;border-color:#86efac}.pg-chip-agendado{cursor:default}.pg-chip-agendado.is-on{background:#dcfce7;color:#166534;border-color:#86efac}.pg-chip-agendado.is-off{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.pg-chip-badge{width:6px;height:6px;border-radius:50%;margin-left:6px;flex:0 0 auto;display:inline-block}.pg-chip-badge.is-manual{background:#475569}.pg-active-filters{display:none!important}.pg-empty{text-align:center;padding:40px 20px}.pg-empty-ic{width:56px;height:56px;border-radius:12px;margin:0 auto 12px;background:linear-gradient(135deg,#e2f5f3,#f1fbfa);border:1px solid var(--line)}.pg-empty-title{font-size:18px;font-weight:700;margin-bottom:6px}.pg-empty-sub{color:var(--muted);margin-bottom:12px}.pg-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:50}.pg-modal-backdrop{position:absolute;inset:0;background:#0f172a5c}.pg-modal-shell{position:relative;width:560px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 40px #0206172e;display:flex;flex-direction:column;max-height:85vh}.pg-modal-head{padding:16px 18px;border-bottom:1px solid var(--line)}.pg-modal-head h3{margin:0;font-size:18px}.pg-modal-body{padding:16px 18px;overflow:auto}.pg-modal-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.pg-req{color:var(--danger)}.pg-foot-left{color:var(--muted);font-size:12px}.pg-foot-right{display:flex;gap:8px}.pg-form{display:grid;grid-template-columns:1fr;gap:12px}.pg-field{display:grid;gap:6px}.pg-field-row{grid-auto-flow:column;grid-template-columns:1fr auto;align-items:center}.pg-label{font-weight:600}.pg-input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--text);background:#fff}.pg-input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-help{color:var(--muted);font-size:12px}.pg-switch{position:relative;display:inline-flex;align-items:center;height:28px;cursor:pointer}.pg-switch input{position:absolute;opacity:0;pointer-events:none}.pg-switch-ui{width:46px;height:26px;background:#e5e7eb;border-radius:999px;position:relative;transition:background .2s ease}.pg-switch-ui:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000026;transition:transform .2s ease}.pg-switch input:checked+.pg-switch-ui{background:#99f6e4}.pg-switch input:checked+.pg-switch-ui:after{transform:translate(20px)}.pg-chip-age{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--chip-age-bg);border:1px solid var(--chip-age-bd);color:var(--brand-strong);font-size:12px;font-weight:600}.pg-filtersbar{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr auto;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.pg-filter-toggle{display:none;margin:8px 20px 0;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;min-height:44px;font-weight:600}.pg-filter-toggle:hover{background:#f8fbfc}.pg-filter-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-filters-drawer{display:none}.pg-filters-drawer summary::-webkit-details-marker{display:none}.pg-filters-inner{overflow:hidden;max-height:0;opacity:0;transform:translateY(-4px);transition:max-height .25s ease,opacity .25s ease,transform .25s ease;margin:0 20px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px}.pg-filters-drawer[open] .pg-filters-inner{max-height:440px;opacity:1;transform:translateY(0);padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}@media (max-width: 560px){.pg-filters-drawer .pg-filters-inner{display:grid;grid-template-columns:1fr;gap:8px}}@media (min-width: 561px) and (max-width: 900px){.pg-filters-drawer .pg-filters-inner{display:grid;grid-template-columns:1fr 1fr;gap:8px}}@media (min-width: 901px){.pg-head{flex-direction:row;align-items:center;gap:12px}.pg-actions{justify-content:flex-end}.pg-filtersbar{display:grid}.pg-filter-toggle,.pg-filters-drawer{display:none}.pg-table{min-width:560px}}@media (max-width: 900px){.pg-head{flex-direction:column;align-items:stretch;gap:10px}.pg-actions{justify-content:space-between;align-items:center;gap:10px}.pg-search{min-width:1px;flex:1}.pg-title-line2{font-size:16px}.pg-card{margin:10px 12px 20px;border-radius:12px}.pg-filter-toggle,.pg-filters-drawer{display:block}.pg-filtersbar{display:none}.pg-table{min-width:0;width:100%}.pg-table thead{display:none}.pg-table tbody{display:grid;gap:10px}.pg-table tbody tr{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow)}.pg-table tbody td{display:grid;grid-template-columns:max-content 1fr;gap:8px;padding:6px 0;border-top:0;align-items:baseline}.pg-table td.pg-col-name{grid-template-columns:1fr;padding-top:0;padding-bottom:4px;font-size:16px;font-weight:700}.pg-table td.pg-col-name:before{content:"";display:none}.pg-table td.pg-col-loc:before{content:"Sede";color:var(--muted);font-weight:600}.pg-table td.pg-col-service:before{content:"Servicio";color:var(--muted);font-weight:600}.pg-table td.pg-col-status:before{content:"Estatus";color:var(--muted);font-weight:600}.pg-table td.pg-col-tasks:before{content:"Tareas";color:var(--muted);font-weight:600}.pg-table td.pg-col-edit:before{content:"";display:none}.pg-table td.pg-col-citas:before{content:"Citas (esta semana)";color:var(--muted);font-weight:600}.pg-table td.pg-col-qty:before{content:"# servicios";color:var(--muted);font-weight:600}.pg-table td.pg-col-weekly:before{content:"Costo semanal";color:var(--muted);font-weight:600}.pg-table td.pg-col-arrears:before{content:"En adeudo";color:var(--muted);font-weight:600}.pg-table td.pg-col-pays:before{content:"Pagos (semana)";color:var(--muted);font-weight:600}.pg-table td.pg-col-saldo:before{content:"Saldo";color:var(--muted);font-weight:600}.pg-table td.pg-col-acts:before{content:"Acciones";color:var(--muted);font-weight:600}.pg-ellipsis{max-width:none;overflow:visible;white-space:normal;word-break:break-word}.pg-col-status .pg-pills,.pg-col-tasks .pg-pills{gap:6px}td.pg-col-edit{display:flex;justify-content:flex-end}.pg-tasks-expander summary{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--chip);border:1px solid var(--line);color:#0f172a;list-style:none}.pg-tasks-expander summary::-webkit-details-marker{display:none}.pg-tasks-expander[open] summary{background:#e9f7fb}.pg-tasks-expander summary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-tasks-expander>*:not(summary){margin-top:8px}.pg-modal-shell{width:100%;max-width:none;height:100svh;border-radius:0}}@media (max-width: 560px){.pg-btn{padding:10px}.pg-actions{gap:8px}.pg-card{margin:8px 10px 16px}}.pg-col-tasks .pg-pills{row-gap:4px}.pg-age .pg-chip-soft{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--chip);color:#334155;font-size:12px}.pg-di{text-align:center}.pg-chip-di{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--chip-di-bg);border:1px solid var(--chip-di-bd);color:var(--chip-di-tx);font-size:12px;font-weight:600}@media (max-width: 900px){.pg-table tbody td>.pg-chip,.pg-table tbody td>.pg-pill{justify-self:start;width:auto}}@media (max-width: 900px){.pg-col-loc>.pg-chip,.pg-col-service>.pg-chip{justify-self:start;width:auto}}.pg-rowmenu{position:relative;display:inline-block}.pg-rowmenu>summary{list-style:none}.pg-rowmenu>summary::-webkit-details-marker{display:none}.pg-rowmenu-list{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0206171f;padding:8px;width:220px;display:none;flex-direction:column;gap:8px;z-index:5}.pg-rowmenu[open] .pg-rowmenu-list{display:flex}.pg-menu-item{width:100%;justify-content:flex-start;min-height:40px}.pg-menu-item.pg-primary{background:var(--brand);color:#fff;border-color:transparent}.pg-menu-item.pg-danger{color:var(--danger)}th.pg-col-provider,td.pg-col-provider{width:clamp(120px,14%,200px)}@media (max-width: 900px){.pg-table td.pg-col-provider:before{content:"Proveedor";color:var(--muted);font-weight:600}}.pg-shell{--rail-expanded: 240px;--rail-collapsed: 64px;--rail-w: var(--rail-expanded)}.pg-shell.is-desktop{display:grid;grid-template-columns:var(--rail-w) 1fr;min-height:100svh}.pg-shell.nav-collapsed{--rail-w: var(--rail-collapsed)}.pg-shell-content{min-width:0}.pg-nav-rail{position:sticky;top:0;align-self:start;height:100svh;background:var(--card, #fff);border-right:1px solid var(--line, #e6eef3);box-shadow:none;display:flex;flex-direction:column;padding:10px 8px;gap:8px;z-index:5}.pg-nav-rail .pg-nav-head{display:flex;align-items:center;justify-content:space-between;padding:6px}.pg-nav-rail .pg-nav-title{font-weight:700;font-size:14px;color:var(--muted, #64748b);opacity:.9}.pg-nav-rail .pg-nav-toggle{appearance:none;border:1px solid var(--line);background:#fff;border-radius:10px;min-height:36px;padding:6px 10px;cursor:pointer}.pg-nav-rail .pg-nav-toggle:hover{background:#f8fbfc}.pg-nav-rail .pg-nav-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-nav-list{display:flex;flex-direction:column;gap:4px;padding:4px}.pg-nav-item{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;border:1px solid transparent;border-radius:10px;color:var(--text, #0f172a);text-decoration:none;padding:10px;min-height:44px;position:relative}.pg-nav-item:hover{background:#f8fbfc}.pg-nav-item:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-nav-item.is-active{background:#e9f7fb;border-color:#d8eef7}.pg-nav-item.is-active:before{content:"";position:absolute;left:-4px;top:8px;bottom:8px;width:4px;border-radius:4px;background:var(--brand, #0ea5a3)}.pg-shell.nav-collapsed .pg-nav-rail .pg-nav-item{grid-template-columns:1fr;justify-items:center;padding-inline:0}.pg-shell.nav-collapsed .pg-nav-rail .pg-nav-item .pg-nav-label{display:none}@media (max-width: 900px){.pg-nav-hamburger{position:fixed;bottom:16px;left:16px;z-index:30;appearance:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 14px;min-height:44px;box-shadow:var(--shadow);cursor:pointer}.pg-nav-hamburger:hover{background:#f8fbfc}.pg-nav-hamburger:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.pg-nav-backdrop{position:fixed;inset:0;background:#0f172a5c;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:40}.pg-nav-backdrop.is-open{opacity:1;pointer-events:auto}.pg-nav-drawer{position:fixed;left:0;top:0;bottom:0;width:min(86vw,360px);background:var(--card, #fff);border-right:1px solid var(--line);box-shadow:0 10px 30px #0206171f;transform:translate(-100%);transition:transform .22s ease;z-index:45;display:flex;flex-direction:column;padding:12px}@media (prefers-reduced-motion: reduce){.pg-nav-drawer,.pg-nav-backdrop{transition:none}}.pg-nav-drawer.is-open{transform:translate(0)}.pg-nav-drawer .pg-nav-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.pg-nav-drawer .pg-nav-close{appearance:none;border:1px solid var(--line);background:#fff;border-radius:10px;min-height:36px;padding:6px 10px;cursor:pointer}.pg-nav-drawer .pg-nav-close:hover{background:#f8fbfc}.pg-nav-drawer .pg-nav-close:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}}:root{--bg: #F6F8FB;--bg-elev: #FBFDFF;--card: #FFFFFF;--ink: #101828;--muted: #667085;--line: #E7ECF2;--pri: #2A6CEA;--pri-ink: #FFFFFF;--info: #5FA8FF;--ok: #1CA77C;--warn: #F0A43C;--err: #D23B3B;--focus: #4C85FF;--font-sans: ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--fs-xxs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 28px;--lh-tight: 1.2;--lh-normal: 1.5;--lh-loose: 1.65;--radius-sm: 10px;--radius: 14px;--radius-lg: 18px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(16,24,40,.06);--shadow-md: 0 6px 16px rgba(16,24,40,.1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--tr-fast: .12s cubic-bezier(.2,.9,.2,1);--tr: .2s cubic-bezier(.2,.9,.2,1);--z-nav: 100;--z-overlay: 1000;--z-modal: 1100}@media (min-width: 1280px){:root{--fs-md: 15.5px;--fs-lg: 18px}}:root{--brand-navy: #0E2A47;--brand-teal: #1DA7A3;--neutral-900: #0B1728;--neutral-800: #152239;--neutral-700: #1E2C45;--neutral-600: #2A3751;--neutral-500: #445269;--neutral-400: #6B7A90;--neutral-300: #98A4B5;--neutral-200: #C8D1DD;--neutral-150: #DCE3EC;--neutral-100: #E6ECF2;--neutral-050: #F5F7FA;--white: #FFFFFF;--surface: var(--white);--surface-muted: var(--neutral-050);--surface-elevated: var(--white);--border: var(--neutral-100);--text-primary: var(--brand-navy);--text-secondary: var(--neutral-500);--text-muted: #6B7280;--text-inverse: var(--white);--accent: var(--brand-teal);--accent-weak: #CFF1EF;--success: #16A34A;--warning: #F59E0B;--danger: #DC2626;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-heading: "Plus Jakarta Sans", var(--font-sans);--fs-display: 28px;--lh-display: 36px;--fw-display: 600;--fs-h1: 24px;--lh-h1: 28px;--fw-h1: 600;--fs-h2: 20px;--lh-h2: 24px;--fw-h2: 600;--fs-body: 16px;--lh-body: 24px;--fw-body: 400;--fs-foot: 13px;--lh-foot: 18px;--fw-foot: 400;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-6: 6px;--radius-8: 8px;--radius-10: 10px;--radius-12: 12px;--radius-16: 16px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(14,42,71,.06), 0 1px 1px rgba(14,42,71,.04);--shadow-2: 0 4px 12px rgba(14,42,71,.08);--shadow-focus: 0 0 0 3px rgba(29,167,163,.35);--tr-fast: .12s cubic-bezier(.2,.6,.2,1);--tr-med: .2s cubic-bezier(.2,.6,.2,1);--tr-slow: .3s cubic-bezier(.2,.6,.2,1);--tap-min: 56px;--tap-min-lg: 64px;--safe-bot: env(safe-area-inset-bottom, 0px)}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--bg: #f7fbfd}html,body,#root{min-height:100vh;min-height:100dvh;overflow-x:hidden;overscroll-behavior-x:contain;touch-action:pan-y pinch-zoom;scrollbar-gutter:stable both-edges;background:var(--bg)}html,body{background:var(--bg)}html{-webkit-text-size-adjust:100%}body{margin:0}:where(p,li,td,th,div){overflow-wrap:anywhere}.u-scroll-x{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.u-scroll-y{overflow-y:auto;-webkit-overflow-scrolling:touch}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;border:0;padding:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,video,canvas{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--pri);text-decoration:none;transition:color var(--tr-fast)}a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:var(--ink);margin:0 0 var(--space-3);line-height:var(--lh-tight);font-weight:700}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl);font-weight:600}h4{font-size:var(--fs-lg);font-weight:600}p{margin:0 0 var(--space-3)}ul,ol{margin:0 0 var(--space-3) var(--space-4)}table{border-collapse:collapse;width:100%}th,td{padding:8px}thead th{border-bottom:1px solid var(--line)}hr{border:none;border-top:1px solid var(--line);margin:var(--space-4) 0}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--fs-sm)}pre{padding:var(--space-3);background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:auto}.container{max-width:1100px;margin:0 auto;padding:0 var(--space-5)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button-reset{background:none;border:0;padding:0;color:inherit;font:inherit}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4)}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:underline}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg, #f7fbfd);color:var(--ink, #0f172a)}#root{min-height:100%;width:100%;display:block}button{font:inherit;color:inherit;background:transparent}button:focus,button:focus-visible{outline:none}html,body,#root{min-height:100svh;overflow-x:hidden}.fc .clinic-event-card-wrapper{min-height:80px}.fc .clinic-event-card-wrapper .clinic-event-card{height:100%;max-height:100%;overflow-y:auto}.fc-timegrid-slot{height:3.5rem}.fc .fc-timegrid-slot{height:2.6rem!important}.fc .clinic-grid-event{min-height:52px!important}.fc .clinic-grid-event,.fc .clinic-grid-event .fc-event-main,.fc .clinic-grid-event .fc-event-title,.fc .clinic-grid-event .fc-event-time{color:#111827!important}.fc .clinic-grid-event .fc-event-main{padding-top:4px;padding-bottom:4px;white-space:normal!important}.fc .fc-timegrid-event-harness{margin-bottom:2px}:root{--font-body: "Times New Roman", Georgia, serif;--font-heading: "Arial", Helvetica, sans-serif;--c-heading-bg: #e7f2ff;--c-border: #999}.report-wrapper{font-family:var(--font-body);font-size:11pt;color:#111;line-height:1.46;margin:0 auto;max-width:840px;padding:48px 56px;white-space:pre-wrap;background:#fff;border:1px solid var(--c-border);box-shadow:0 0 6px #00000026}.report-wrapper h1,.report-wrapper h2,.report-wrapper h3{font-family:var(--font-heading);margin:0 0 12px}.report-wrapper h1{font-size:18pt}.report-wrapper h2{font-size:14pt;margin-top:32px}.report-wrapper h3{font-size:12pt;font-weight:400;color:#444}.report-wrapper table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:10pt}.report-wrapper th,.report-wrapper td{border:1px solid var(--c-border);padding:4px 6px}.report-wrapper thead th{background:var(--c-heading-bg);font-family:var(--font-heading)}.report-wrapper section{page-break-inside:avoid}.report-wrapper .sub-block{margin-left:18px;margin-bottom:12px}@media print{body{margin:0}.report-wrapper{border:none;box-shadow:none;max-width:auto;padding:20mm 25mm 22mm}a[href]:after{content:""}}.kiosk-scope{--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text: #0f172a;--color-text-subtle: #475569;--color-text-muted: #64748b;--accent: #10b981;--accent-050: #ecfdf5;--accent-100: #d1fae5;--accent-200: #a7f3d0;--accent-600: #059669;--warn-600: #b45309;--hover-bg: #f8fafc;--focus-ring: rgba(2,132,199,.35);--shadow-sm: 0 1px 2px rgba(2,6,23,.06);--shadow-md: 0 8px 24px rgba(2,6,23,.1);--radius-md: 16px;--border-w: 1px;--stack-gap: 10px;--btn-height: 72px;--control-height: 84px;--input-height: 68px;--option-pad: 20px 22px;--fs-display: clamp(40px, 5.6vw, 64px);--fs-h1: clamp(30px, 4.2vw, 48px);--fs-h2: clamp(22px, 3vw, 34px);--fs-body: clamp(18px, 2.1vw, 22px)}.bottom-sheet .kiosk-scope{--btn-height: 48px;--control-height: 56px;--input-height: 44px;--option-pad: 10px 12px;--fs-display: 20px;--fs-h1: 18px;--fs-h2: 16px;--fs-body: 14px;--radius-md: 12px;--stack-gap: 6px}@media (prefers-reduced-motion: reduce){.kiosk-scope *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.kiosk-page{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(12px,3vw,28px);background:var(--color-bg);scrollbar-gutter:stable both-edges}.kiosk-container{max-width:1100px;width:100%;margin-inline:auto;display:grid;gap:clamp(12px,2vw,24px)}.bottom-sheet .kiosk-page{padding:8px 12px 12px}.bottom-sheet .kiosk-container{gap:8px}.kiosk-header{text-align:center;display:grid;gap:6px}.kiosk-balance{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:12px 14px;background:var(--color-surface);display:flex;align-items:center;justify-content:center;min-height:64px;color:var(--color-text-muted)}.kiosk-scope .stack-4{display:grid;gap:var(--stack-gap)}.kiosk-scope .h-display{font-size:var(--fs-display);font-weight:800;color:var(--color-text)}.kiosk-scope .h-1{font-size:var(--fs-h1);font-weight:800;color:var(--color-text)}.kiosk-scope .h-2{font-size:var(--fs-h2);font-weight:800;color:var(--color-text)}.kiosk-scope .subtext{font-size:calc(var(--fs-body) * .9);color:var(--color-text-muted)}.kiosk-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-sm);padding:clamp(12px,2vw,20px);display:grid;gap:clamp(8px,1.6vw,16px)}.bottom-sheet .kiosk-card{border-radius:12px;padding:12px;gap:8px}.kiosk-days{display:grid;grid-template-columns:1fr;gap:12px}.bottom-sheet .kiosk-days{grid-template-columns:1fr!important;gap:8px!important}.kiosk-day{border:1px dashed var(--color-border);border-radius:12px;padding:10px 12px;background:#fff;display:grid;gap:10px}.kiosk-day__title{font-weight:700;font-size:clamp(16px,1.8vw,20px);color:var(--color-text)}.kiosk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.kiosk-slots--singlecol{grid-template-columns:1fr}.kiosk-slots--two{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-sheet .kiosk-slots:not(.kiosk-slots--singlecol){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.kiosk-scope .btn{min-height:var(--btn-height);border-radius:12px;padding:0 14px;font-weight:800;font-size:var(--fs-body)}.bottom-sheet .kiosk-scope .btn{border-radius:10px}.kiosk-scope .btn--block{width:100%}.kiosk-actions{display:flex;justify-content:space-between;gap:10px;margin-top:4px}.kiosk-scope .option-card{display:inline-flex;width:100%;align-items:center;gap:10px;min-height:var(--control-height);padding:var(--option-pad);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}.kiosk-scope .option-card:hover{background:var(--hover-bg)}.kiosk-scope .option-card:active{transform:translateY(.5px)}.kiosk-scope .option-card:focus-visible{outline:none;border-color:var(--accent-600);box-shadow:0 0 0 3px var(--focus-ring)}.kiosk-scope .option-card[aria-disabled=true]{opacity:.6;cursor:not-allowed}.kiosk-scope .option-card .option-card__content{display:inline-flex;align-items:center;gap:10px;width:100%}.kiosk-scope .option-title{font-size:var(--fs-body);font-weight:800;color:var(--color-text)}.kiosk-scope .option-subtext{font-size:calc(var(--fs-body) * .9);color:var(--color-text-subtle)}.kiosk-scope .option-card.option-card--sameTherapist{background:#dcfce7!important;border-color:#86efac!important}.kiosk-scope .option-card.option-card--sameTherapist:hover{background:#bbf7d0!important}.kiosk-scope .option-card.option-card--diffTherapist{background:#fef9c3!important;border-color:#fde68a!important}.kiosk-scope .option-card.option-card--diffTherapist:hover{background:#fde68a!important}.kiosk-scope .option-card.option-card--softDisabled,.kiosk-scope .option-card.option-card--locked{opacity:.6;cursor:not-allowed;box-shadow:none!important;filter:saturate(.9)}.kiosk-scope .option-card.option-card--softDisabled:hover,.kiosk-scope .option-card.option-card--locked:hover{box-shadow:none!important}.kiosk-scope .option-card.option-card--glow{box-shadow:0 0 0 1px #0f172a0a,0 1px 2px #0206170f}.kiosk-scope .option-card[aria-pressed=true],.kiosk-scope .option-card[data-selected=true],.kiosk-scope .option-card.is-selected,.kiosk-scope .option-card.option-card--glow.is-dim{border-color:var(--accent-600)!important;box-shadow:0 0 0 2px #10b9812e,0 3px 10px #0206171a!important}.kiosk-scope .btn--danger,.kiosk-scope .option-card.is-danger{border-color:var(--warn-600)}.picked-row{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}.picked-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:var(--accent-050);border:1px solid var(--accent-100)}.picked-chip__day{font-weight:700}.picked-chip__time{font-variant-numeric:tabular-nums}.picked-row .picked-chip{animation:chipIn .18s ease-out both}@keyframes chipIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.glow-summary-card{border-radius:14px;border:1px solid var(--accent-200);background:#fff;box-shadow:0 0 0 3px #10b9811a,var(--shadow-md);padding:clamp(12px,2vw,18px) clamp(14px,2.4vw,22px);text-align:center}.glow-summary-card__day{font-weight:800;font-size:clamp(16px,1.9vw,20px)}.glow-summary-card__time{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.2px;font-size:clamp(18px,2.2vw,24px);line-height:1.2;margin-top:2px}.glow-summary-card__sub{opacity:.9;margin-top:6px;font-size:calc(var(--fs-body) * .9)}.bottom-sheet .glow-summary-card{padding:12px 14px;border-radius:12px}.legend-keys{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:4px 0;font-size:calc(var(--fs-body) * .9);color:var(--color-text-subtle)}.legend-item{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border)}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block;box-shadow:inset 0 0 0 2px #0000000f}.legend-dot--green{background:#dcfce7;border:2px solid #86efac}.legend-dot--yellow{background:#fef9c3;border:2px solid #fde68a}.legend-dot--gray{background:#e5e7eb;border:2px solid #cbd5e1}.kiosk-success{display:grid;place-items:center;gap:10px;text-align:center;padding:clamp(18px,3vw,28px)}.kiosk-check{width:72px;height:72px;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:36px;box-shadow:var(--shadow-md)}.kiosk-wait{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;z-index:40}.kiosk-wait__card{background:#fff;border-radius:14px;padding:16px 20px;border:1px solid var(--color-border);box-shadow:var(--shadow-md);display:grid;place-items:center;gap:10px;min-width:280px}.spinner{width:28px;height:28px;border-radius:999px;border:3px solid #ddd;border-top-color:var(--accent-600);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-sheet .kiosk-page{padding:0!important}.bottom-sheet .kiosk-slots,.bottom-sheet .kiosk-slots--singlecol{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.bottom-sheet .kiosk-container{width:100%!important}.bottom-sheet .kiosk-page{padding:0!important;overflow-x:hidden}.bottom-sheet .kiosk-container{width:100%!important;margin:0!important}.kiosk-scope .patient-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:var(--control-height);padding:var(--option-pad);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}.kiosk-scope .patient-card:hover{background:var(--hover-bg)}.kiosk-scope .patient-card:active{transform:translateY(.5px)}.kiosk-scope .patient-card:focus-visible{outline:none;border-color:var(--accent-600);box-shadow:0 0 0 3px var(--focus-ring)}.kiosk-scope .patient-card[data-selected=true]{border-color:var(--accent-600)!important;box-shadow:0 0 0 2px #10b9812e,0 3px 10px #0206171a!important}.kiosk-scope .patient-card__initials{width:clamp(44px,6vw,56px);height:clamp(44px,6vw,56px);border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:clamp(16px,2.6vw,22px);color:var(--color-text);background:#f1f5f9;border:1px solid #e2e8f0}.kiosk-scope .patient-card__name{font-weight:800;font-size:var(--fs-body);color:var(--color-text);line-height:1.2}.kiosk-scope .patient-card__last4{font-variant-numeric:tabular-nums;color:var(--color-text-subtle);font-weight:700}.kiosk-scope .patient-card__time{font-weight:800;font-variant-numeric:tabular-nums;font-size:clamp(18px,2.2vw,24px);color:var(--color-text)}.kiosk-scope .patient-card--arrived{background:var(--accent-050);border-color:var(--accent-100);box-shadow:0 0 0 3px #10b9811a,var(--shadow-sm)}.kiosk-scope .patient-card--arrived .patient-card__initials{background:#dcfce7;border-color:#86efac}.bottom-sheet .patient-card__initials{width:40px;height:40px;font-size:16px}.bottom-sheet .patient-card__time{font-size:18px}.kiosk-instruction{margin:6px 0 14px;font-size:calc(var(--fs-body) * .9);line-height:1.35;opacity:.75;text-align:center}.arrivals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kiosk-actions--stacked{display:flex;flex-direction:column;gap:8px}.kiosk-actions--stacked .btn{width:100%}.kiosk-amount{font-size:clamp(22px,2.6vw,28px);font-weight:800;letter-spacing:.2px;margin:6px 0 10px}.kiosk-qr{display:grid;place-items:center;margin:8px 0 12px}.kiosk-qr img{width:220px;height:auto;background:#fff;border-radius:12px;padding:10px;box-shadow:var(--shadow-md)}.kiosk-banner--warn{padding:10px;margin:6px 0 12px;background:#fffbeb;border:1px solid #F59E0B;border-radius:10px}.kiosk-banner--error{padding:10px;margin:6px 0 12px;background:#fef2f2;border:1px solid #DC2626;border-radius:10px}.kiosk-plain-screen{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}.kiosk-title{font-size:44px;line-height:1.1;font-weight:800;text-align:center;margin:12px 0 28px}.kiosk-actions--spacious{gap:18px}.kiosk-actions--spacious>*+*{margin-top:12px}.kiosk-amount--huge{text-align:center;font-size:80px;line-height:1;font-weight:800;margin:48px 0}.kiosk-qr--huge img{width:min(70vw,520px);height:auto;display:block;margin:0 auto}:root{--bg: var(--bg, #f7fbfd);--card: var(--card, #ffffff);--line: var(--line, #e6eef3);--text: var(--text, #0f172a);--muted: var(--muted, #64748b);--brand: var(--brand, #0ea5a3);--brand-strong: var(--brand-strong, #0f766e);--focus: var(--focus, rgba(8,145,178,.18));--danger: var(--danger, #ef4444);--shadow: var(--shadow, 0 1px 0 rgba(2,6,23,.04), 0 8px 24px rgba(2,6,23,.06))}.fin-root{min-height:100%;background:var(--bg);color:var(--text)}.fin-head{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line)}.fin-brand{display:flex;align-items:center;gap:10px}.fin-logo{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--brand),#14b8a6);box-shadow:0 2px 8px #14b8a640}.fin-title-line1{font-size:12px;color:var(--muted);line-height:1}.fin-title-line2{font-size:18px;font-weight:700}.fin-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:10px 20px 24px;box-shadow:var(--shadow);padding:12px}.fin-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.fin-card-title{margin:4px 4px 10px;font-size:16px}.fin-filters{display:grid;grid-template-columns:1fr 200px 200px 200px auto;gap:8px}.fin-field{display:grid;gap:6px}.fin-field-actions{align-self:end}.fin-label{font-weight:600;font-size:12px;color:var(--muted)}.fin-input,.fin-btn{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--text);background:#fff;min-height:40px}.fin-input:focus-visible,.fin-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.fin-btn{cursor:pointer}.fin-btn:hover{background:#f8fbfc}.fin-hint{margin-top:10px;color:var(--muted);font-size:12px}.fin-banner{margin-top:10px;padding:10px 12px;border:1px dashed #f59e0b;background:#fff7ed;color:#92400e;border-radius:10px;font-size:13px}.fin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 20px 24px}.fin-kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px}.fin-kpi-label{font-weight:600;color:var(--muted);margin-bottom:6px}.fin-kpi-value{font-size:28px;font-weight:700;line-height:1.1}.fin-kpi-sub{color:var(--muted);font-size:12px;margin-top:4px}.fin-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:#0f172a;padding:6px 10px;font-size:12px;line-height:1.25;border-radius:999px;cursor:pointer}.fin-chip.soft{cursor:default;background:#f8fafc}.fin-chip.on{background:var(--brand);border-color:transparent;color:#fff}.fin-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.fin-num,.fin-table .fin-col-num,.fin-table td.fin-col-num,.fin-table th.fin-col-num{font-variant-numeric:tabular-nums;text-align:right}.fin-table-wrap{overflow:auto;border-radius:12px}.fin-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}.fin-table thead th{position:sticky;top:0;z-index:1;background:#f8fbfe;color:#334155;font-weight:600;border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}.fin-table tbody td{border-top:1px solid var(--line);padding:10px 12px;vertical-align:middle}.fin-table tbody tr:nth-child(2n){background:#fbfdff}.fin-table tbody tr:hover{background:#f0f9ff}.fin-row-empty td{text-align:center;color:var(--muted)}.fin-subrow td{background:#fbfdff;border-top:1px solid var(--line)}.fin-sublist-item{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px}.fin-sublist-date{min-width:160px}.fin-tfoot td{border-top:1px solid var(--line);background:#f8fbfe;padding:8px 12px}.fin-foot-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.fin-table-cta{display:flex;justify-content:center;align-items:center;gap:12px;padding-top:10px}@media (max-width: 900px){.fin-card{margin:10px 12px 20px}.fin-filters,.fin-kpis{grid-template-columns:1fr}.fin-table{min-width:0}}.fin-card-head{display:flex;align-items:baseline;justify-content:space-between;margin:4px 4px 10px}.fin-card-meta{color:var(--muted);font-size:12px}.fin-kpi-brand{border-color:#99f6e4}.fin-kpi-danger{border-color:#fecaca}.fin-kpi-muted{opacity:.92}.fin-banner{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfe;color:#0f172a}.fin-banner.soft{background:#fcfdfd}.fin-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fin-chip{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-size:12px}.fin-chip.soft{cursor:default;background:#fff}.fin-chip.on{background:var(--brand);color:#fff;border-color:transparent}.fin-note{color:var(--muted);font-size:12px}.fin-error{color:var(--danger)}.fin-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.fin-input-mini{min-height:34px;padding:6px 8px}.fin-sublist{display:grid;gap:6px}.fin-sublist-item{display:inline-flex;gap:6px;align-items:baseline}.fin-sublist-date{font-weight:600}.fin-sublist-dot{color:var(--muted)}.fin-tfoot .fin-foot-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.fin-table-cta{display:flex;justify-content:center;padding:10px 0}.fin-btn-ghost{background:transparent}.fin-arrivals-group{margin-top:12px}.fin-arrivals-group-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.fin-arrivals-group-title{font-weight:600;font-size:14px}.fin-arrivals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.patient-card--finance{padding:10px 12px;min-height:0;border-radius:10px;border:1px solid #e5e7eb;background:#fff}.patient-card--finance .patient-card__name{font-size:14px;font-weight:600}.patient-card--finance .patient-card__time{font-size:12px;color:#6b7280}.fin-arrival-meta{margin-top:4px;font-size:12px;color:#4b5563}.fin-arrival-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.fin-pill{border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.3}.fin-pill-ok{background:#dcfce7;color:#166534}.fin-pill-pending{background:#fee2e2;color:#991b1b}.fin-pill-balance-due{background:#fef3c7;color:#92400e}.fin-pill-balance-ok{background:#e0f2fe;color:#0369a1}.fin-arrival-actions{display:flex;flex-direction:column;gap:4px;margin-top:8px}.fin-btn-sm{padding:4px 8px;font-size:12px}html,body{background:var(--surface-muted);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{min-height:100vh;background:linear-gradient(180deg,#fff,#f8fafc)}.wiz-container{margin-inline:auto}.h-display{font-family:var(--font-heading);font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-display);letter-spacing:-.01em;color:var(--text-primary)}.h-1{font-family:var(--font-heading);font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-h1);color:var(--text-primary)}.h-2{font-family:var(--font-heading);font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-h2);color:var(--text-primary)}.subtext{color:var(--text-secondary)}.muted{color:var(--text-muted)}.stack-2>*+*{margin-top:var(--space-2)}.stack-3>*+*{margin-top:var(--space-3)}.stack-4>*+*{margin-top:var(--space-4)}.stack-5>*+*{margin-top:var(--space-5)}.stack-6>*+*{margin-top:var(--space-6)}.row-right{display:flex;justify-content:flex-end;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);padding:0 var(--space-5);border-radius:var(--radius-12);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-weight:500;box-shadow:var(--shadow-1);transition:transform var(--tr-fast),box-shadow var(--tr-fast),background var(--tr-fast)}.btn--primary{background:var(--brand-teal);border-color:var(--brand-teal);color:var(--text-inverse)}.btn--ghost{background:transparent;border-color:var(--border)}.btn--block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-2),var(--shadow-focus)}.input,.select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-12);background:var(--surface);color:var(--text-primary);transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}.input:focus,.select:focus,textarea:focus{outline:none;border-color:var(--brand-teal);box-shadow:var(--shadow-focus)}.field-label{font-size:13px;line-height:18px;color:var(--text-secondary);margin-bottom:6px;display:block}.field-hint{color:var(--text-muted);font-size:var(--fs-foot);line-height:var(--lh-foot);margin-top:6px}.field-error{color:var(--danger);font-size:var(--fs-foot);line-height:var(--lh-foot);margin-top:6px}.option-card{width:100%;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-12);padding:12px 14px;transition:box-shadow var(--tr-fast),border-color var(--tr-fast),transform var(--tr-fast),background var(--tr-fast);box-shadow:var(--shadow-1);cursor:pointer}.option-card__content{display:flex;align-items:center;gap:12px;min-height:var(--tap-min)}.option-card .option-title{font-weight:600;color:var(--text-primary)}.option-card .option-subtext{color:var(--text-muted);font-size:var(--fs-foot);line-height:var(--lh-foot);margin-top:2px}.option-card:hover:not([aria-disabled=true]){transform:translateY(-1px);box-shadow:var(--shadow-2)}.option-card[data-selected=true]{border-color:var(--brand-teal);background:var(--accent-weak)}.option-card:focus-visible{outline:none;box-shadow:var(--shadow-2),var(--shadow-focus)}.option-card[aria-disabled=true]{opacity:.6;cursor:not-allowed}.sticky-cta{position:sticky;bottom:0;padding:var(--space-4) var(--space-4) calc(var(--space-4) + var(--safe-bot));background:linear-gradient(180deg,#f5f7fa00,#f5f7fa 30%)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.u-glass{background:#ffffff8c;border:1px solid rgba(255,255,255,.45);border-radius:var(--radius-16);box-shadow:var(--shadow-2);-webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px)}.u-glow{box-shadow:0 12px 40px #1da7a329,0 2px 8px #0e2a4714}.link-soft{color:#2a6cea;text-underline-offset:2px}.link-soft:hover{opacity:.9}.hero-logo{position:relative;width:min(360px,80vw);margin-inline:auto;filter:drop-shadow(0 16px 48px rgba(14,42,71,.1))}.hero-logo:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,#fff0 40%,#5fa8ff59,#fff0 60%);transform:translate(-120%);animation:heroShimmer 2.8s ease-in-out .4s infinite;pointer-events:none;border-radius:16px}.hero-img{width:100%;height:auto;display:block}@keyframes heroPop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heroShimmer{0%{transform:translate(-120%);opacity:0}30%{opacity:1}70%{opacity:1}to{transform:translate(120%);opacity:0}}.anim-pop{animation:heroPop var(--tr-med) both}.anim-fadeUp{animation:fadeUp var(--tr-med) both}.anim-fadeUp-del{animation:fadeUp var(--tr-med) 80ms both}.home-grid{min-height:100vh;display:grid;grid-template-rows:1fr auto auto;padding:var(--space-6)}.home-cta{width:min(520px,100%);margin:0 auto}.home-bottom{text-align:center;padding-bottom:calc(var(--space-4) + var(--safe-bot))}:root{--portal-container-max: var(--container-max, 820px);--portal-btn-h: var(--btn-height, 64px);--portal-ctrl-h: var(--control-height, 64px);--portal-gap: var(--space-4, 16px)}.portal-page{min-height:100svh;display:grid;place-content:center;padding:clamp(16px,4vw,40px);background:var(--color-bg)}.portal-card{width:min(92vw,var(--portal-container-max));background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(16px,1.8vw,24px)}.portal-title{font-family:var(--font-serif);font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700;margin:0 0 6px}.portal-sub{color:var(--color-text-muted);font-size:var(--fs-label);margin-bottom:16px}.portal-field{display:grid;gap:8px;margin:12px 0}.portal-label{font-weight:600;color:var(--color-text)}.portal-input{width:100%;min-height:var(--portal-ctrl-h);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:14px;font-size:clamp(16px,1.2vw,18px);background:#fff;color:var(--color-text)}.portal-input:focus-visible{outline:none;border-color:var(--accent-600);box-shadow:0 0 0 3px var(--focus-ring)}.portal-error{color:#b91c1c;font-size:var(--fs-small);margin-top:6px}.portal-actions{display:grid;grid-auto-flow:column;justify-content:end;gap:10px;margin-top:12px}.portal-btn{height:var(--portal-btn-h);padding:0 18px;border-radius:var(--radius-md);border:var(--border-w) solid var(--color-border);background:#fff;color:var(--color-text);font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .02s ease}.portal-btn:hover{background:var(--hover-bg)}.portal-btn:active{transform:translateY(1px)}.portal-btn:disabled{opacity:.6;cursor:not-allowed}.portal-btn--primary{border:none;background:var(--accent);color:#fff}.portal-btn--primary:hover{background:var(--accent-700)}.portal-btn--ghost{background:transparent;border-color:transparent}.portal-steps{display:flex;gap:6px;margin-bottom:10px}.portal-step{flex:1;height:6px;border-radius:999px;background:var(--progress-bg);overflow:hidden}.portal-step[data-active=true]:after{content:"";display:block;height:100%;background:var(--accent);width:100%}.portal-linkbtn{background:transparent;border:0;color:var(--color-text-muted);text-decoration:underline;cursor:pointer;min-height:var(--portal-btn-h)}.portal-shell{background:var(--color-bg);min-height:100svh}.portal-main{max-width:min(1200px,96vw);margin:0 auto;padding:clamp(12px,2vw,16px)}.portal-top{position:sticky;top:0;z-index:5;background:var(--color-bg);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:saturate(160%) blur(6px);backdrop-filter:saturate(160%) blur(6px)}.portal-top__inner{max-width:min(1200px,96vw);margin:0 auto;padding:clamp(10px,1.8vw,14px);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.portal-h1{margin:0;font-family:var(--font-serif);font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700}.portal-subtitle{margin:2px 0 0;color:var(--color-text-muted);font-size:var(--fs-label)}.portal-top__titles{display:grid;gap:2px}.portal-chipline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-subtle);font-size:var(--fs-label)}.portal-chip--ok{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.portal-chip--warn{background:#fef9c3;border-color:#fde68a;color:#92400e}.portal-chip--muted{background:#f8fafc}.portal-chip--btn{min-height:var(--btn-height)}.portal-tabbar{display:inline-flex;gap:8px;background:#fff;border:1px solid var(--color-border);border-radius:999px;padding:4px;margin-top:12px;box-shadow:var(--shadow-sm)}.portal-tab{appearance:none;border:1px solid transparent;border-radius:999px;padding:10px 14px;min-height:var(--btn-height);background:transparent;color:var(--color-text);font-weight:700;cursor:pointer}.portal-tab[aria-selected=true]{background:var(--accent-050);border-color:color-mix(in oklab,var(--accent) 24%,white)}.portal-tab[aria-disabled=true]{opacity:.5;cursor:not-allowed}.portal-section{margin-top:16px}.portal-h2{margin:0 0 4px;font-size:var(--fs-h1);font-family:var(--font-serif)}.portal-h3{margin:0 0 6px;font-size:var(--fs-h2);font-weight:700}.portal-muted{color:var(--color-text-subtle)}.portal-hint{color:var(--color-text-subtle);font-size:var(--fs-small)}.portal-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-row--between{justify-content:space-between}.portal-row--stack>*{width:100%}.portal-actions--right{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-btn--slim{min-height:calc(var(--btn-height) - 8px)}.portal-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text-subtle)}.portal-week{display:grid;gap:12px;margin-top:12px;grid-template-columns:1fr}@media (min-width: 720px){.portal-week{grid-template-columns:repeat(2,1fr)}}@media (min-width: 980px){.portal-week{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1400px){.portal-week{grid-template-columns:repeat(7,1fr)}}.portal-day{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid;grid-template-rows:auto 1fr}.portal-day__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.portal-day__dow{font-weight:800}.portal-day__date{color:var(--color-text-subtle);font-size:var(--fs-label)}.portal-day__body{padding:12px;display:grid;gap:10px}.portal-day__empty{text-align:center;color:var(--color-text-subtle)}.portal-apt{min-height:var(--control-height);display:grid;grid-template-columns:1fr;align-items:center}.portal-apt__time{font-weight:800;font-size:18px}.portal-apt__sub{color:var(--color-text-subtle);font-size:var(--fs-label)}.portal-empty{text-align:center;padding:24px 10px}.portal-empty__icon{width:56px;height:56px;border-radius:12px;margin:0 auto 10px;background:linear-gradient(135deg,#e2f5f3,#f1fbfa);border:1px solid var(--color-border);display:grid;place-items:center;font-size:22px}.portal-empty__title{font-weight:700;margin-bottom:4px}.portal-empty__sub{color:var(--color-text-subtle);margin-bottom:10px}.portal-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:40}.portal-modal__backdrop{position:absolute;inset:0;background:#0f172a61}.portal-modal__card{position:relative;z-index:41;width:min(560px,96vw);background:#fff;border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}.portal-modal__head{padding:14px 16px;border-bottom:1px solid var(--color-border)}.portal-modal__body{padding:16px;display:grid;gap:10px}.portal-modal__foot{padding:12px 16px;border-top:1px solid var(--color-border);text-align:right}@media (max-width: 520px){.portal-top__inner{gap:10px}.portal-tabbar{width:100%;justify-content:center;flex-wrap:wrap}}.seg{display:inline-flex;gap:6px;border:1px solid var(--color-border);border-radius:999px;padding:4px;background:#fff;box-shadow:var(--shadow-sm)}.seg__btn{border:1px solid transparent;border-radius:999px;padding:8px 12px;min-height:calc(var(--btn-height) - 12px);background:transparent;cursor:pointer;font-weight:700}.seg__btn[aria-pressed=true]{background:var(--accent-050);border-color:color-mix(in oklab,var(--accent) 24%,white)}.slot-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.portal-slot{min-height:var(--control-height)}.portal-slot__label{font-weight:700}.portal-series-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.portal-series[data-selected=true]{border-color:var(--accent-600);box-shadow:0 0 0 3px var(--focus-ring);background:#fff}.portal-series__label{font-weight:700}.portal-series__check{margin-left:auto;font-weight:800}.portal-toasthost{position:fixed;bottom:16px;left:0;right:0;display:grid;place-items:center;gap:8px;z-index:50;pointer-events:none}.portal-toast{pointer-events:auto;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);padding:10px 12px;display:inline-flex;align-items:center;gap:10px}.portal-toast__text{font-weight:600}.portal-toast__btn{min-height:calc(var(--btn-height) - 16px)}.portal-inline-note{color:var(--color-text-subtle);font-size:var(--fs-label);margin-left:6px}.freq-stepper{display:inline-flex;align-items:center;gap:10px;margin-top:8px}.freq-stepper__value{min-width:48px;text-align:center;font-weight:800;font-size:1.2rem}.wisc-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0}.wisc-opt{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #ddd;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff}.wisc-opt input{margin:0}.wisc-opt.is-selected{outline:2px solid #1976d2;outline-offset:1px}.wisc-overlay{pointer-events:none}.coding-root{position:relative;isolation:isolate}.coding-grid-wrap{position:relative}.coding-catcher{position:absolute;inset:0;z-index:9999;background:transparent;pointer-events:auto}.coding-grid{position:relative;z-index:2;pointer-events:auto}.coding-choice{position:relative;z-index:3;touch-action:manipulation;-webkit-user-select:none;user-select:none}.coding-choice img{pointer-events:none;display:block}.coding-root .overlay,.coding-root .hud,.coding-root .timer,.coding-root .live,.coding-root [data-overlay],.coding-root .wisc-overlay{pointer-events:none!important}.coding-samples-grid{--sample-size: 80px;display:grid;grid-template-columns:repeat(3,var(--sample-size));grid-auto-rows:var(--sample-size);gap:8px;justify-content:center;align-items:center;margin-top:6px}.coding-sample-cell{width:var(--sample-size);height:var(--sample-size);display:grid;place-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.coding-sample-cell img{max-width:calc(var(--sample-size) - 8px);max-height:calc(var(--sample-size) - 8px);display:block}.coding-sample-cell.is-empty{visibility:hidden}@media (max-width: 480px){.coding-samples-grid{--sample-size: 36px;gap:6px}}:root{--qr-max: 820px;--qr-pad-x: 16px;--qr-pad-y: 20px;--qr-line: #e5e7eb;--qr-surface: #fff;--qr-ink: #0f172a;--qr-muted: #64748b}.qr{max-width:var(--qr-max);margin:0 auto;padding:var(--qr-pad-y) var(--qr-pad-x);color:var(--qr-ink);overflow-x:hidden}.qr__card{background:var(--qr-surface);border:1px solid var(--qr-line);border-radius:10px;padding:16px}.qr__header{margin-bottom:12px}.qr__header-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.qr__title{margin:0;font-weight:700;font-size:clamp(18px,2.2vw + .25rem,22px)}.qr__meta{font-size:13px;color:#666;text-align:right}.qr__progress{width:100%;height:10px;background:#edf2f7;border-radius:6px;overflow:hidden}.qr__progress-fill{height:100%;background:#22c55e;width:0%;transition:width .25s ease}.qr__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qr__pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--qr-line);background:#f9fafb;color:#374151;font-size:12px}.qr__pill--on{background:#ecfdf5;color:#065f46}.qr__cta{display:flex;justify-content:center;padding:12px 0 6px}.qr__actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:8px}.qr__actions .btn{min-height:44px;padding:10px 14px;border-radius:8px;border:1px solid var(--qr-line);background:#f3f4f6;font-weight:600}.qr__actions .btn--primary{background:#2563eb;color:#fff;border-color:transparent}.btn[disabled]{opacity:.7;cursor:default}.qr__back{margin-bottom:8px}.qr__actions--sticky{position:sticky;bottom:0;padding:10px var(--qr-pad-x);background:#ffffffe6;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-top:1px solid var(--qr-line);margin-left:calc(-1 * var(--qr-pad-x));margin-right:calc(-1 * var(--qr-pad-x))}.qf{max-width:880px;margin:0 auto}.qf__sticky{position:sticky;top:0;z-index:5;background:#fff;padding:8px 0 6px;margin-bottom:10px;border-bottom:1px solid #eee}.qf__progress-row{display:flex;align-items:center;gap:10px}.qf__progress-box{flex:1;height:10px;background:#f3f4f6;border-radius:100px;overflow:hidden;border:1px solid var(--qr-line)}.qf__progress-fill{height:100%;background:#1976d2;width:0%;transition:width .25s ease}.qf__progress-text{font-size:12px;color:#555;min-width:110px;text-align:right}.qf__section{border:1px solid #eee;border-radius:10px;padding:14px;margin-bottom:14px;background:#fff}.qf__section-title{margin:4px 0 12px;font-size:clamp(15px,1.5vw + .3rem,16px);font-weight:700}.qf__item{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,240px);gap:10px;align-items:center;padding:10px 8px;border-radius:8px}.qf__label{font-size:15px;line-height:1.35}.qf__hints{margin-left:8px;font-size:12px;color:#6b7280}.qf__req{font-size:11px;padding:2px 6px;border-radius:100px;background:#eef2ff;color:#3730a3}.qf__optional{color:#6b7280}.qf__input{display:flex;align-items:center;gap:8px;justify-content:flex-end}.qf__input>textarea{width:100%;min-height:80px;resize:vertical;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:16px}.qf__input>input[type=number]{width:120px;padding:6px 8px;border:1px solid #ddd;border-radius:6px;font-size:16px}.qf__unit{font-size:12px;padding:2px 8px;border-radius:100px;border:1px solid var(--qr-line);background:#f9fafb;color:#374151}.qf__bool{display:flex;align-items:center;gap:10px;justify-content:flex-end}.qf__error{color:#b91c1c;font-size:12px;margin-top:4px;text-align:right}.qr input,.qr select,.qr textarea{font-size:16px}.qr label{cursor:pointer}@media (max-width: 1024px){.qr{--qr-pad-x: 14px}}@media (max-width: 720px){.qr{--qr-pad-x: 12px;--qr-pad-y: 16px;padding-bottom:calc(var(--qr-pad-y) + env(safe-area-inset-bottom))}.qr__header-row{display:block}.qr__meta{text-align:left;margin-top:6px}.qr__progress{height:12px}.qr__back .btn{width:100%}.qr__actions{flex-direction:column;align-items:stretch;gap:8px}.qr__actions .btn{width:100%}.qf__sticky{padding:10px 0 8px}.qf__progress-box{height:12px}.qf__section{padding:12px}.qf__item{grid-template-columns:1fr}.qf__input{justify-content:stretch}.qf__input>input[type=number],.qf__input>select{width:100%}}@supports (scrollbar-gutter: stable both-edges){.qr{scrollbar-gutter:stable both-edges}}.qfr__item{display:block;padding:10px 8px;border-radius:8px}.qfr__label{margin:0 0 6px;line-height:1.4;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.qfr__control{display:flex;align-items:center;gap:8px;justify-content:flex-start}.qfr__bool-group{display:flex;align-items:center;gap:12px}.qfr__bool{display:inline-flex;align-items:center;gap:10px}.qfr__control select,.qfr__control textarea{width:100%}.qfr__control input[type=text],.qfr__control input[type=number]{width:100%;max-width:320px}@media (min-width: 700px){.qfr__item{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,240px);align-items:center;column-gap:10px}.qfr__label{margin-bottom:0}.qfr__control{justify-content:flex-end}.qfr__control select,.qfr__control textarea{width:auto;max-width:100%}.qfr__control input[type=text],.qfr__control input[type=number]{width:auto;min-width:120px}}:root{--olea-bg: #f6f7fb;--olea-card: #ffffff;--olea-ink: #131722;--olea-muted: #6b7280;--olea-border: #e5e7eb;--olea-focus: #2563eb;--olea-danger: #e11d48;--olea-radius: 14px;--olea-shadow: 0 6px 18px rgba(16, 24, 40, .06);--olea-shadow-soft: 0 2px 10px rgba(16, 24, 40, .05);--olea-title: clamp(22px, 2.4vw, 28px);--olea-big: clamp(28px, 3.2vw, 40px);--olea-medium: clamp(16px, 1.6vw, 18px);--olea-small: 13px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.olea-session{background:var(--olea-bg);color:var(--olea-ink);min-height:100vh}.olea-session__container{max-width:1100px;margin:0 auto;padding:18px 18px 28px}.olea-session__header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.olea-session__title{margin:0;font-size:var(--olea-title);font-weight:700;letter-spacing:.2px}.olea-session__sub{margin:2px 0 0;color:var(--olea-muted);font-size:var(--olea-small)}.btn,.olea-btn{appearance:none;border:1px solid var(--olea-border);background:var(--olea-card);color:var(--olea-ink);padding:10px 14px;border-radius:10px;font-size:14px;cursor:pointer;box-shadow:var(--olea-shadow-soft);transition:transform .02s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn:hover,.olea-btn:hover{transform:translateY(-1px);box-shadow:var(--olea-shadow)}.btn:focus-visible,.olea-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb26;border-color:var(--olea-focus)}.btn:disabled,.olea-btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn--primary,.olea-btn--primary{background:var(--olea-focus);color:#fff;border-color:transparent}.btn--danger{background:var(--olea-danger);color:#fff;border-color:transparent}.olea-btn--ghost{background:transparent}.btn--icon{padding:8px 10px;border-radius:8px}.olea-card,.panel{background:var(--olea-card);border:1px solid var(--olea-border);border-radius:var(--olea-radius);box-shadow:var(--olea-shadow);padding:clamp(14px,2vw,18px)}.olea-board,.olea-stimulus{background:var(--olea-card);border:1px solid var(--olea-border);border-radius:var(--olea-radius);box-shadow:var(--olea-shadow);padding:clamp(16px,2.4vw,28px);margin:10px 0 18px;min-height:clamp(360px,62vh,760px);display:grid;grid-template-rows:auto 1fr;row-gap:clamp(12px,2vw,18px)}.olea-board__title,.olea-stimulus__title{text-align:center;font-size:var(--olea-title);font-weight:700;line-height:1.25;margin:0}.olea-board__subtitle,.olea-stimulus__instr{text-align:center;font-size:var(--olea-medium);color:var(--olea-muted);margin:4px 0 0}.olea-board__stage{display:grid;place-items:center}.olea-board__grid,.olea-stimulus__grid{width:min(900px,96%);margin-inline:auto;display:grid;gap:clamp(10px,1.6vw,16px);grid-template-columns:repeat(auto-fit,minmax(76px,1fr));text-align:center;font-size:var(--olea-big);line-height:1.35;font-weight:600}.olea-board__grid--tight{grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}.olea-board__cell,.olea-stimulus__cell{padding:clamp(8px,1.2vw,12px);border-radius:10px;border:1px dashed transparent}.olea-board__cell[data-alt=true],.olea-stimulus__cell[data-alt=true]{background:#2563eb0f;border-color:#2563eb2e}.olea-stimulus__list{width:min(820px,96%);margin:0 auto;display:grid;row-gap:clamp(8px,1.2vw,12px);font-size:clamp(18px,2vw,24px);font-weight:600;text-align:center;list-style:none;padding-left:0}.olea-board__paragraphs,.olea-stimulus__paragraphs{width:min(920px,94%);margin-inline:auto;display:grid;row-gap:clamp(14px,2vw,18px);font-size:clamp(20px,2.2vw,28px);line-height:1.6;font-weight:500;text-align:center;word-break:break-word}.olea-stimulus__paragraphs .is-large{font-size:clamp(22px,2.4vw,30px)}.olea-board__two,.olea-stimulus__two{width:min(980px,96%);margin-inline:auto;display:grid;grid-template-columns:1fr;gap:clamp(14px,2vw,18px);align-items:center}@media (min-width: 760px){.olea-board__two,.olea-stimulus__two{grid-template-columns:1fr 1fr}}.olea-board__twoItem,.olea-stimulus__panel{border:1px dashed var(--olea-border);padding:clamp(12px,2.2vw,20px);border-radius:12px;text-align:center;font-size:var(--olea-big);line-height:1.35;font-weight:600}.olea-stimulus__group{border:1px dashed var(--olea-border);border-radius:12px;padding:clamp(10px,1.6vw,16px)}.olea-stimulus__group-title{font-weight:700;margin-bottom:6px;text-align:center}.olea-stimulus__group-list{margin:0;padding-left:20px;display:grid;row-gap:6px;font-size:clamp(16px,1.8vw,18px)}.olea-sep{height:1px;background:var(--olea-border);margin:10px auto;width:min(940px,96%)}.olea-timer{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--olea-card);border:1px solid var(--olea-border);border-radius:12px;box-shadow:var(--olea-shadow-soft);outline:none}.olea-timer:focus-visible{box-shadow:0 0 0 3px #2563eb26}.olea-timer__time{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;letter-spacing:.4px;min-width:84px;text-align:center}.olea-timer__controls{display:flex;gap:8px}.olea-timer__controls .btn{padding:8px 10px;border-radius:8px;font-size:13px}.olea-score-card,.olea-scorecard{background:var(--olea-card);border:1px solid var(--olea-border);border-radius:var(--olea-radius);box-shadow:var(--olea-shadow);padding:clamp(14px,2vw,20px)}.osc__title{margin:0 0 6px;font-size:15px;font-weight:700}.osc__grid,.olea-scorecard__grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 820px){.osc__grid,.olea-scorecard__grid{grid-template-columns:1.2fr 1fr;gap:18px}}.osc__block{display:grid;gap:8px}.osc__fieldset{border:0;padding:0;margin:0;min-width:0}.osc__label{font-size:12px;color:var(--olea-muted)}.osc__radios{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:8px}@media (max-width: 480px){.osc__radios{grid-template-columns:repeat(4,1fr)}}.osc__radio{position:relative;border:1px solid var(--olea-border);border-radius:12px;background:var(--olea-card);box-shadow:var(--olea-shadow-soft);padding:10px 8px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .02s ease}.osc__radio input[type=radio]{position:absolute;inset:0;opacity:0;cursor:pointer}.osc__radio:hover{transform:translateY(-1px)}.osc__radio:focus-within{border-color:var(--olea-focus);box-shadow:0 0 0 3px #2563eb26}.osc__radio[data-checked=true]{background:#2563eb0f;border-color:#2563eb73}.osc__radio-badge{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;font-weight:800;font-size:18px;line-height:1}.osc__rubric{display:block;color:var(--olea-muted);font-size:12px;line-height:1.25;margin-top:4px;min-height:1.25em}.osc__input,.osc__textarea,.osc__select{background:var(--olea-card);color:var(--olea-ink);border:1px solid var(--olea-border);border-radius:10px;padding:10px 12px;font-size:14px;width:100%;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.osc__input:focus,.osc__textarea:focus,.osc__select:focus{border-color:var(--olea-focus);box-shadow:0 0 0 3px #2563eb26}.osc__textarea{min-height:90px;resize:vertical}.osc__input--time{max-width:120px}.osc__checkbox{display:inline-flex;align-items:center;gap:8px;font-size:14px}.osc__block--notes{grid-column:1 / -1}.osc__block--check{align-self:end}.osc__timerwrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.progress{display:grid;gap:6px}.progress__track{height:10px;border-radius:9999px;background:#e9eef5;overflow:hidden;border:1px solid var(--olea-border)}.olea-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;border:1px solid var(--olea-border);border-radius:999px;background:var(--olea-card);color:var(--olea-ink);white-space:nowrap}.olea-chip--draft{background:transparent}.olea-chip--ok{background:#10b98114;border-color:#10b98159}.olea-chip--warn{background:#eab3081a;border-color:#eab30859}.olea-steps{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}.olea-step{min-width:36px;padding:8px 10px;text-align:center;font-size:13px;border:1px solid var(--olea-border);background:var(--olea-card);color:var(--olea-ink);border-radius:10px;cursor:pointer}.olea-step[aria-current=step]{border-color:var(--olea-focus);box-shadow:var(--olea-shadow);font-weight:700}.olea-tabs-mobile{display:none}@media (max-width: 800px){.olea-tabs-mobile{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 8px}.olea-tab-btn{text-align:center;padding:10px 12px;font-size:14px;background:var(--olea-card);border:1px solid var(--olea-border);border-radius:10px;cursor:pointer}.olea-tab-btn[aria-selected=true]{border-color:var(--olea-focus);box-shadow:var(--olea-shadow);font-weight:700}.olea-hide-on-mobile{display:none!important}}.olea-guide{border:1px solid var(--olea-border);border-radius:var(--olea-radius);background:var(--olea-card);box-shadow:var(--olea-shadow);overflow:hidden}.olea-guide details{padding:0}.olea-guide summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.olea-guide summary::-webkit-details-marker{display:none}.olea-guide__content{border-top:1px solid var(--olea-border);padding:12px 14px;display:grid;gap:10px}.olea-guide a{color:inherit;text-decoration:none;border-bottom:1px dashed var(--olea-border)}.olea-guide a:hover{border-color:var(--olea-focus)}.olea-muted{color:var(--olea-muted)}.olea-center{text-align:center}.olea-sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}.olea-focusable:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb26;border-color:var(--olea-focus)!important}img,svg,video,canvas{max-width:100%;height:auto}table{width:100%;border-collapse:collapse}.switch{--h: 22px;--w: 38px;position:relative;width:var(--w);height:var(--h);border-radius:var(--h);background:#e5e7eb;border:1px solid var(--olea-border);transition:background .2s ease,border-color .2s ease}.switch__input{position:absolute;inset:0;opacity:0}.switch__knob{position:absolute;top:1px;left:1px;width:calc(var(--h) - 2px);height:calc(var(--h) - 2px);background:#fff;border-radius:50%;box-shadow:var(--olea-shadow-soft);transition:transform .2s ease}.switch__input:checked+.switch__knob{transform:translate(calc(var(--w) - var(--h)))}.switch__input:focus-visible+.switch__knob{box-shadow:0 0 0 3px #2563eb33}:root{--olea-bg: #f6f7fb;--olea-card: #ffffff;--olea-ink: #131722;--olea-muted: #6b7280;--olea-border: #e5e7eb;--olea-focus: #2563eb;--olea-radius: 14px;--olea-shadow: 0 6px 18px rgba(16, 24, 40, .06);--olea-shadow-soft: 0 2px 10px rgba(16, 24, 40, .05);--t-title: clamp(20px, 2.2vw, 26px);--t-large: clamp(16px, 1.8vw, 18px);--t-small: 12.5px}@media (prefers-color-scheme: dark){:root{--olea-bg: #0f1217;--olea-card: #171b22;--olea-ink: #eef1f7;--olea-muted: #a3a8b8;--olea-border: #2a2f38;--olea-focus: #4f86ff;--olea-shadow: none;--olea-shadow-soft: none}}.bndr-session{color:var(--olea-ink)}.bndr-container{max-width:1100px;margin:0 auto;padding:18px 18px 24px}.bndr-topbar{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end;margin-bottom:.75rem}@media (max-width:680px){.bndr-topbar{grid-template-columns:1fr;align-items:start}}.bndr-title{margin:0;font-size:var(--t-title);font-weight:700}.bndr-subtitle{margin-top:2px;color:var(--olea-muted);font-size:var(--t-small)}.bndr-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:.5rem 0 .75rem}.bndr-tab{border:1px solid var(--olea-border);background:#f3f4f6;color:#374151;padding:.45rem .85rem;border-radius:999px;font-size:.875rem;cursor:pointer}.bndr-tab[aria-selected=true]{background:#fff;color:#111827;box-shadow:0 0 0 1px #0000000f,0 1px 2px #0000000f}.bndr-status{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;margin:.6rem 0 .8rem}@media (max-width:560px){.bndr-status{grid-template-columns:1fr}}.chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--olea-border);background:var(--olea-card);color:var(--olea-ink);font-size:.85rem;line-height:1.2;white-space:nowrap}.progress{display:grid;gap:.35rem}.progress__track{height:10px;border-radius:9999px;overflow:hidden;background:#f3f4f6;border:1px solid var(--olea-border)}.progress__bar{height:100%;background:var(--olea-focus);width:var(--progress, 0%);transition:width .3s ease}.progress__label{color:var(--olea-muted);font-size:.85rem}.bndr-card{background:var(--olea-card);border:1px solid var(--olea-border);border-radius:var(--olea-radius);box-shadow:var(--olea-shadow);padding:clamp(12px,2vw,16px)}.bndr-fig__nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:.4rem}.bndr-chip{position:relative;display:inline-flex;justify-content:center;align-items:center;min-width:36px;height:36px;padding:.25rem .6rem;border:1px solid var(--olea-border);border-radius:12px;background:#f3f4f6;color:#111;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.bndr-chip.is-active{background:#2563eb0f;border-color:#2563eb73}.bndr-chip.is-done:after{content:"✓";position:absolute;top:-6px;right:-6px;background:#10b981;color:#fff;width:16px;height:16px;border-radius:999px;font-size:11px;display:grid;place-items:center;box-shadow:0 1px 2px #0000002e}.bndr-fig__grid{display:grid;gap:clamp(12px,2vw,16px);margin-top:12px;grid-template-columns:1fr;align-items:start}@media (min-width:860px){.bndr-fig__grid{grid-template-columns:1fr 1fr}}.bndr-fig__panelTitle{font-weight:600;margin-bottom:6px}.bndr-imgbox{display:flex;justify-content:center;align-items:center;min-height:240px;background:var(--olea-card);border:1px dashed var(--olea-border);border-radius:12px;overflow:hidden}.bndr-img{max-width:100%;max-height:360px;object-fit:contain}.bndr-fig__thumbs{display:flex;gap:10px;align-items:center;margin-top:8px}.bndr-uploader{position:relative;display:inline-block}.bndr-uploader input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.bndr-btn{border:1px solid var(--olea-border);background:#f3f4f6;color:#111;border-radius:10px;padding:.45rem .7rem;cursor:pointer}.bndr-btn:disabled{opacity:.6;cursor:not-allowed}.bndr-radiochip-fieldset{border:0;margin:0;padding:0}.bndr-radiochip-legend{font-weight:600;margin-bottom:.35rem}.bndr-radiochip-group{display:flex;gap:.5rem;flex-wrap:wrap}.bndr-radiochip{position:relative;display:inline-flex;align-items:center;justify-content:center}.bndr-radiochip input[type=radio]{position:absolute;inset:0;opacity:0;pointer-events:auto;cursor:pointer}.bndr-radiochip label{display:inline-grid;place-items:center;min-width:72px;min-height:44px;padding:0 .8rem;border:1px solid var(--olea-border);border-radius:12px;background:#fff;font-weight:600;-webkit-user-select:none;user-select:none;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.bndr-radiochip input[type=radio]:focus-visible+label{border-color:var(--olea-focus);box-shadow:0 0 0 3px #2563eb2e}.bndr-radiochip input[type=radio]:checked+label{background:#2563eb0f;border-color:#2563eb73}.bndr-checklist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.bndr-checklist label{display:inline-flex;gap:.5rem;align-items:flex-start}.bndr-checklist input[type=checkbox]{accent-color:var(--olea-focus);margin-top:.15rem}.bndr-textarea{width:100%;min-height:100px;background:var(--olea-card);color:var(--olea-ink);border:1px solid var(--olea-border);border-radius:10px;padding:.6rem .7rem;font:inherit;resize:vertical}.bndr-textarea:focus{outline:none;border-color:var(--olea-focus);box-shadow:0 0 0 3px #2563eb26}.bndr-muted{color:var(--olea-muted);font-size:var(--t-small)}.bndr-row{display:flex;align-items:center;gap:.6rem}.bndr-readonly{opacity:.6;pointer-events:none}.bndr-overlay{position:absolute;inset:0;background:#ffffff8c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:grid;place-items:center;z-index:5;pointer-events:auto}.chip--step{background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a}.chip--ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.chip--warn{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.chip--err{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}.chip.is-ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.chip.is-err{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.bndr-readonly{pointer-events:none;opacity:.6;position:relative}.bndr-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#ffffff8c;z-index:3}.bndr-collapsible{border:1px solid var(--olea-border);border-radius:10px;background:#fafafa}.bndr-collapsible.is-disabled{opacity:.8}.bndr-collapsible__toggler{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--olea-border);background:#fff;border-radius:10px 10px 0 0;cursor:pointer;font-weight:600}.bndr-collapsible.is-disabled .bndr-collapsible__toggler{cursor:not-allowed;opacity:.6}.bndr-collapsible__inner{max-height:0;overflow:hidden;opacity:0;padding:0 12px;transition:max-height .25s ease,opacity .25s ease,padding .25s ease}.bndr-collapsible.is-open .bndr-collapsible__inner{max-height:800px;opacity:1;padding:10px 12px 12px}.bndr-caret{margin-left:auto;transition:transform .2s ease}.bndr-collapsible.is-open .bndr-caret{transform:rotate(180deg)}.bndr-hint{font-size:var(--t-small);color:var(--olea-muted)}.bndr-noneconfirm{border:1px solid var(--olea-border);background:#f8fafc;border-radius:10px;padding:10px 12px}.bndr-noneconfirm.is-on{background:#eef6ff;border-color:#2563eb59}.bndr-noneconfirm__label{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer}.bndr-noneconfirm__label input[type=checkbox]{margin-top:2px;accent-color:var(--olea-focus)}:root{--sacks-bg: var(--olea-bg, #f6f7fb);--sacks-card: var(--olea-card, #ffffff);--sacks-ink: var(--olea-ink, #131722);--sacks-muted: var(--olea-muted, #6b7280);--sacks-border: var(--olea-border, #e5e7eb);--sacks-focus: var(--olea-focus, #2563eb);--sacks-radius: var(--olea-radius, 14px);--sacks-shadow: var(--olea-shadow, 0 6px 18px rgba(16,24,40,.06));--sacks-shadow-soft: var(--olea-shadow-soft, 0 2px 10px rgba(16,24,40,.05));--sacks-space-1: 6px;--sacks-space-2: 10px;--sacks-space-3: 14px;--sacks-space-4: 18px;--sacks-space-5: 24px;--sacks-topbar-h: 56px}.muted{color:var(--sacks-muted)}.focus-ring{outline:none}.focus-ring:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--sacks-focus) 28%,transparent)}.sacks-card{background:var(--sacks-card);border:1px solid var(--sacks-border);border-radius:var(--sacks-radius);box-shadow:var(--sacks-shadow)}.sacks-session{background:var(--sacks-bg);color:var(--sacks-ink);min-height:100vh;min-height:100dvh;overscroll-behavior-y:contain;touch-action:pan-y;overflow-x:hidden;overflow-y:auto}.sacks-session__topbar{position:sticky;top:0;z-index:20;background:var(--sacks-bg);border-bottom:1px solid var(--sacks-border);padding:var(--sacks-space-2) var(--sacks-space-3);display:grid;grid-template-columns:1fr auto auto;gap:var(--sacks-space-3);align-items:start}.sacks-session__topbar>*{min-width:0}.topbar__left .title{margin:0;font-size:clamp(20px,2.2vw,24px);font-weight:700;letter-spacing:.2px}.topbar__left .subtitle{color:var(--sacks-muted);font-size:12px;margin-top:2px}.topbar__center{display:flex;align-items:center;justify-content:center}.topbar__right{display:flex;gap:var(--sacks-space-2);flex-wrap:wrap;align-items:center;justify-content:flex-end}@media (max-width: 880px){.sacks-session__topbar{grid-template-columns:1fr;align-items:center}.topbar__right{justify-content:flex-start}}.view-toggle{display:inline-flex;border:1px solid var(--sacks-border);background:color-mix(in srgb,var(--sacks-card) 60%,var(--sacks-bg));border-radius:999px;padding:2px;box-shadow:var(--sacks-shadow-soft)}.segbtn{border:0;background:transparent;padding:8px 12px;border-radius:999px;font-size:.875rem;cursor:pointer;color:color-mix(in srgb,var(--sacks-ink) 80%,var(--sacks-muted))}.segbtn.is-active{background:var(--sacks-card);color:var(--sacks-ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--sacks-ink) 6%,transparent),0 1px 2px #0000000f}.segbtn.is-disabled{opacity:.55;cursor:not-allowed}.segbtn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--sacks-focus) 28%,transparent)}.sacks-session__layout{display:grid;grid-template-columns:1fr;gap:var(--sacks-space-4);padding:var(--sacks-space-3);overflow-x:visible}@media (min-width: 920px){.sacks-session__layout{grid-template-columns:clamp(220px,26vw,280px) 1fr;align-items:start}}.sacks-session__layout.is-sequential{grid-template-columns:minmax(0,1fr)}@media (min-width: 920px){.sacks-session__layout.is-sequential{grid-template-columns:minmax(0,1fr);max-width:1400px;margin:0 auto}}.sacks-session__sidebar{background:var(--sacks-card);border:1px solid var(--sacks-border);border-radius:var(--sacks-radius);box-shadow:var(--sacks-shadow-soft);padding:var(--sacks-space-2);position:sticky;top:calc(var(--sacks-topbar-h) + var(--sacks-space-2));max-height:calc(100dvh - var(--sacks-topbar-h) - var(--sacks-space-5));overflow:visible}.sidebar__scroll{max-height:calc(100dvh - var(--sacks-topbar-h) - var(--sacks-space-5));overflow:auto}@media (max-width: 919px){.sacks-session__sidebar{order:2}.sacks-session__panel{order:1}}.catlist{list-style:none;padding:0;margin:0;display:grid;gap:6px}.catbtn{width:100%;text-align:left;background:var(--sacks-card);border:1px solid var(--sacks-border);border-radius:10px;padding:10px 12px;cursor:pointer}.catbtn.is-active{border-color:var(--sacks-focus);background:color-mix(in srgb,var(--sacks-focus) 8%,var(--sacks-card));box-shadow:var(--sacks-shadow-soft);font-weight:700}.catbtn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--sacks-focus) 28%,transparent)}.catbtn__row1{display:flex;gap:.5rem;align-items:baseline}.catbtn__key{font-weight:700}.catbtn__name{font-weight:600;overflow-wrap:anywhere}.catbtn__row2{display:flex;justify-content:space-between;gap:.5rem;margin-top:.2rem;align-items:center}.sacks-session__panel{display:grid;gap:var(--sacks-space-4);min-width:0}.sacks-session__status{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;margin:.6rem 0 .8rem}.sacks-session__message{background:#fef9c3;border:1px solid #fde68a;padding:.5rem .75rem;border-radius:.5rem}@media (max-width: 560px){.sacks-session__status{grid-template-columns:1fr;row-gap:.5rem}}.sacks-item{background:var(--sacks-card);border:1px solid var(--sacks-border);border-radius:var(--sacks-radius);padding:var(--sacks-space-4);box-shadow:var(--sacks-shadow-soft)}.sacks-item+.sacks-item{margin-top:var(--sacks-space-3)}.sacks-item__header{display:grid;grid-template-columns:28px 1fr auto;gap:var(--sacks-space-2);align-items:baseline;margin-bottom:.35rem}.sacks-item__header>*,.sacks-item__body>*{min-width:0}.sacks-item__num{font-weight:800;color:var(--sacks-ink)}.sacks-item__stem{font-weight:600;overflow-wrap:anywhere}.sacks-item__status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--sacks-muted)}.sacks-item__dot{width:8px;height:8px;border-radius:999px;display:inline-block}.dot--saving{background:#f59e0b}.dot--saved{background:#10b981}.sacks-item__body{display:grid;grid-template-columns:1fr;gap:var(--sacks-space-3);align-items:start}.sacks-item__answer-label,.sacks-item__rating-label{display:block;font-size:.8rem;color:var(--sacks-muted);margin-bottom:.25rem}.sacks-item__hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--sacks-muted)}.sacks-item__textarea{width:100%;max-width:100%;box-sizing:border-box;font:inherit;background:var(--sacks-card);color:var(--sacks-ink);border:1px solid var(--sacks-border);border-radius:10px;padding:12px;min-height:120px;resize:vertical}.sacks-item__textarea:focus{outline:none;border-color:var(--sacks-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--sacks-focus) 20%,transparent)}.sacks-rating__group{display:inline-flex;gap:var(--sacks-space-2);align-items:center}.sacks-rating__item{position:relative}.sacks-rating__radio{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;pointer-events:auto}.sacks-rating__label{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;border-radius:12px;border:1px solid var(--sacks-border);background:var(--sacks-card);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:800;box-shadow:var(--sacks-shadow-soft)}.sacks-rating__label.is-checked{border-color:color-mix(in srgb,var(--sacks-focus) 55%,var(--sacks-border));background:color-mix(in srgb,var(--sacks-focus) 8%,var(--sacks-card))}.sacks-rating__radio:focus-visible+.sacks-rating__label,.sacks-rating__label:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--sacks-focus) 28%,transparent)}.cat-grid{display:grid;grid-template-columns:1fr;gap:var(--sacks-space-4)}@media (min-width: 960px){.cat-grid{grid-template-columns:1fr 1fr}}.cat-grid--spacious{gap:var(--sacks-space-4)}.seq-grid{display:grid;grid-template-columns:1fr;gap:var(--sacks-space-4)}@media (min-width: 1024px){.seq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn{border:1px solid var(--sacks-border);background:var(--sacks-card);color:var(--sacks-ink);border-radius:10px;padding:10px 14px;cursor:pointer;box-shadow:var(--sacks-shadow-soft);transition:transform .02s ease,box-shadow .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:var(--sacks-shadow)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn--primary{background:var(--sacks-focus);color:#fff;border-color:transparent}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--sacks-focus) 28%,transparent)}.cat-title,#seq-title{scroll-margin-top:calc(var(--sacks-topbar-h) + 12px)}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-size:.85rem;line-height:1.2;white-space:nowrap}.chip--save.is-pending{background:#fff7ed;border-color:#fdba74;color:#9a3412}.chip--save.is-saved{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.status__progress,.progress{display:grid;gap:.35rem}.progress__track{height:10px;border-radius:9999px;background:#f3f4f6;border:1px solid #e5e7eb;overflow:hidden}.progress__bar{height:100%;background:#2563eb;width:0;transition:width .3s ease}.status__progressText{font-size:.85rem}:root{--bg: #f7f9fc;--surface: #ffffff;--surface-2: #f2f5f9;--ink: #0f172a;--muted: #475569;--line: #e5e7eb;--pri-50: #e0f2fe;--pri-400: #38bdf8;--pri-600: #0284c7;--ok: #16a34a;--warn: #f59e0b;--danger: #ef4444;--radius: 12px;--shadow-sm: 0 1px 2px rgba(2,6,23,.06);--shadow-lg: 0 10px 30px rgba(2,6,23,.08);--focus: 0 0 0 3px rgba(2,132,199,.35);--tap: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--font-ui: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";--h1: 22px;--h2: 18px;--h3: 16px;--p: 15px;--page-max: 920px;--page-pad: clamp(12px, 4.2vw, 24px);--stimulus-h: clamp(240px, 54svh, 520px)}*{box-sizing:border-box;min-inline-size:0}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--p);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3{margin:0 0 var(--space-3);font-weight:700}h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:var(--h3);color:var(--muted)}p{margin:0 0 var(--space-3);color:var(--ink)}small,.muted{color:var(--muted)}a{color:var(--pri-600);text-decoration:none}a:hover{text-decoration:underline}hr{border:none;border-top:1px solid var(--line);margin:var(--space-6) 0}.ui-page{inline-size:min(100%,var(--page-max));margin-inline:auto;padding-inline:var(--page-pad)}img,picture,video,canvas,svg{max-inline-size:100%;block-size:auto;display:block}.ui-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4);max-inline-size:100%;overflow:hidden}.ui-card figure{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:700;cursor:pointer}.btn:hover{background:var(--surface-2)}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn[disabled]{opacity:.6;cursor:default}.btn--primary{background:var(--pri-50);border-color:color-mix(in oklab,var(--pri-600) 25%,white);color:var(--pri-600)}.btn--primary:hover{background:color-mix(in oklab,var(--pri-50) 70%,white)}.btn--ghost{background:transparent;border-color:transparent}input[type=radio],input[type=checkbox]{inline-size:18px;block-size:18px;vertical-align:middle}input[type=range]{inline-size:100%}.sr-only{position:absolute!important;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body[data-patient-dim="1"] .patient-screen-dimmable{filter:brightness(.84) saturate(.9)}.materials-alert{display:flex;align-items:center;gap:8px;background:#fff8e6;color:#7c5e10;border:1px solid #f7e3b0;border-radius:8px;padding:8px 10px}.materials-alert strong{color:#6b4f0e}#ui-drawer-host{position:relative;z-index:9999}.stimulus-media{inline-size:100%;block-size:var(--stimulus-h);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative;display:grid;place-items:center}.stimulus-media>img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:contain;display:block}:root{--air-shadow: var(--shadow, 0 1px 0 rgba(2,6,23,.04), 0 8px 24px rgba(2,6,23,.06));--air-focus: var(--focus, rgba(8,145,178,.18))}.air-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10000}.air-skip:focus{left:12px;top:12px;width:auto;height:auto;background:#0369a1;color:#fff;padding:8px 12px;border-radius:8px;box-shadow:0 0 0 3px var(--air-focus)}.air-root{background:var(--bg, #f7fbfd);color:var(--text, #0f172a);min-height:100svh;display:grid;grid-template-rows:auto 1fr}.air-head{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line, #e6eef3)}.air-brand{display:flex;align-items:center;gap:10px}.air-logo{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--brand, #0ea5a3),#14b8a6);box-shadow:0 2px 8px #14b8a640}.air-title__line1{font-size:12px;color:var(--muted, #64748b);line-height:1;margin-bottom:2px}.air-title__line2{font-size:18px;font-weight:700}.air-head__meta{display:grid;gap:2px;justify-items:start}.air-head__row{display:inline-flex;gap:8px;align-items:baseline}.air-muted{color:var(--muted, #64748b)}.air-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.air-head__actions{display:inline-flex;gap:8px;justify-self:end}.air-btn{appearance:none;border:1px solid var(--line, #e5e7eb);background:#fff;color:var(--text, #0f172a);border-radius:10px;padding:10px 12px;min-height:44px;cursor:pointer;font-weight:700;text-decoration:none}.air-btn:hover{background:#f8fbfc}.air-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--air-focus)}.air-btn:disabled{opacity:.6;cursor:not-allowed}.air-btn--ghost{background:transparent}.air-grid{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:12px;padding:12px}.air-col{min-width:0}.air-card{background:var(--card, #fff);border:1px solid var(--line, #e6eef3);border-radius:14px;box-shadow:var(--air-shadow);display:grid;gap:12px;padding:14px}.air-card__head{display:grid;gap:4px}.air-card__foot{border-top:1px solid var(--line, #e6eef3);padding-top:8px}.air-h2{margin:0;font-size:18px}.air-sub{margin:0;color:var(--muted, #64748b)}.air-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.air-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.air-list__item{border:1px dashed var(--line, #e6eef3);border-radius:10px;padding:10px 12px;background:#fff}.air-list__title{font-weight:700}.air-list__sub{margin-top:2px}.air-slots{display:grid;gap:10px}.air-slot{border:1px solid var(--line, #e6eef3);border-radius:12px;background:#fff;padding:12px}.air-slot.is-locked{background:#fbfdff}.air-slot__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.air-slot__title{font-weight:700}.air-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line, #e6eef3);background:#fff;font-size:12px}.air-chip--locked{background:#ecfeff;border-color:#99f6e4;color:#0f766e}.air-slot__body{color:var(--muted, #64748b)}.air-empty{text-align:center;padding:28px 10px}.air-empty__icon{width:48px;height:48px;border-radius:12px;margin:0 auto 10px;background:linear-gradient(135deg,#e2f5f3,#f1fbfa);border:1px solid var(--line, #e6eef3);display:grid;place-items:center;font-size:22px}.air-empty__title{font-size:16px;font-weight:700;margin-bottom:4px}.air-empty__sub{color:var(--muted, #64748b)}@media (max-width: 1200px){.air-grid{grid-template-columns:1fr 1fr}}@media (max-width: 900px){.air-head{grid-template-columns:1fr;gap:8px}.air-head__actions{justify-self:start}.air-grid{grid-template-columns:1fr}}@media (max-width: 560px){.air-btn{padding:10px}.air-card{border-radius:12px;padding:12px}}.air-break{appearance:none;display:block;width:100%;height:12px;background:transparent;border:0;border-top:1px dashed var(--line, #e6eef3);padding:0;margin:2px 0 6px;cursor:pointer}.air-break:hover{border-top-color:#94a3b8}.air-break.is-active{border-top-style:solid;border-top-color:#0f766e}.air-break:focus-visible{outline:none;box-shadow:0 0 0 3px var(--air-focus)}:root{--air-font-ui: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji", "Segoe UI Emoji";--air-text: #0f172a;--air-muted: #64748b;--air-line: #e5e7eb;--air-bg: #ffffff;--air-pending-bg: #fff1f2;--air-pending-bd: #fecdd3;--air-pending-fg: #b91c1c;--air-ready-bg: #f0fdf4;--air-ready-bd: #bbf7d0;--air-ready-fg: #166534;--air-running-bg: #fffbeb;--air-running-bd: #fde68a;--air-running-fg: #92400e;--air-pill-text-bg: #eef2ff;--air-pill-text-bd: #c7d2fe;--air-pill-text-fg: #3730a3;--air-pill-table-bg: #ecfeff;--air-pill-table-bd: #a5f3fc;--air-pill-table-fg: #0e7490;--air-pill-ai-bg: #f5f3ff;--air-pill-ai-bd: #ddd6fe;--air-pill-ai-fg: #6d28d9;--air-pill-basic-bg: #f0f9ff;--air-pill-basic-bd: #bae6fd;--air-pill-basic-fg: #075985;--air-radius: 12px;--air-radius-sm: 10px;--air-gap: 8px;--air-pad: 10px;--air-xs: 10px;--air-sm: 12px;--air-md: 14px;--air-fast: .14s}.air-card{font-family:var(--air-font-ui);border:1px solid var(--air-line);border-radius:var(--air-radius);background:var(--air-bg);margin:8px 0;overflow:hidden}.air-card--busy{cursor:progress}.air-card__head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--air-gap);padding:8px var(--air-pad);border-bottom:1px solid var(--air-line)}.air-card__title{display:inline-flex;align-items:center;gap:8px;font-weight:600;background:none;border:none;padding:4px 6px;margin:-4px -6px;cursor:pointer;color:var(--air-text)}.air-card__title:focus-visible{outline:2px solid #93c5fd;outline-offset:2px;border-radius:8px}.air-card__chevron{display:inline-block;transform:rotate(0);transition:transform var(--air-fast) ease}.air-card[data-collapsed=true] .air-card__chevron{transform:rotate(-90deg)}.air-card__actions{display:inline-flex;align-items:center;gap:6px}.air-card__body{padding:var(--air-pad)}.air-expander{border:1px solid var(--air-line);border-radius:var(--air-radius-sm);margin:10px 0;overflow:hidden}.air-expander--dense .air-expander__head{padding:6px 8px}.air-expander__head{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;background:#fafafa;border:none;padding:8px 10px;cursor:pointer;text-align:left;color:var(--air-text)}.air-expander__head:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.air-expander__chevron{display:inline-block;transition:transform var(--air-fast) ease}.air-expander[data-open=false] .air-expander__chevron{transform:rotate(-90deg)}.air-expander__title{font-weight:600}.air-expander__right{display:inline-flex;gap:6px}.air-expander__body{padding:10px;background:#fff}.air-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 8px;font-size:12px;line-height:1;border:1px solid var(--air-line);background:#f9fafb;color:var(--air-text);max-width:10ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-user-select:none;user-select:none}.air-pill:disabled{opacity:.6;cursor:default}.air-pill:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.air-pill--text{background:var(--air-pill-text-bg);border-color:var(--air-pill-text-bd);color:var(--air-pill-text-fg)}.air-pill--table{background:var(--air-pill-table-bg);border-color:var(--air-pill-table-bd);color:var(--air-pill-table-fg)}.air-pill--ai{background:var(--air-pill-ai-bg);border-color:var(--air-pill-ai-bd);color:var(--air-pill-ai-fg)}.air-pill--basic{background:var(--air-pill-basic-bg);border-color:var(--air-pill-basic-bd);color:var(--air-pill-basic-fg)}.air-pill--removable .air-pill__x{display:inline-block}.air-pill__x{display:none;font-weight:700;margin-left:2px}.air-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.2;border:1px solid var(--air-line);background:#f9fafb;color:var(--air-muted)}.air-chip__dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--air-muted)}.air-chip--pending{background:var(--air-pending-bg);border-color:var(--air-pending-bd);color:var(--air-pending-fg)}.air-chip--pending .air-chip__dot{background:var(--air-pending-fg)}.air-chip--ready{background:var(--air-ready-bg);border-color:var(--air-ready-bd);color:var(--air-ready-fg)}.air-chip--ready .air-chip__dot{background:var(--air-ready-fg)}.air-chip--running{background:var(--air-running-bg);border-color:var(--air-running-bd);color:var(--air-running-fg)}.air-chip--running .air-chip__dot{background:var(--air-running-fg);animation:air-pulse 1.2s ease-in-out infinite}@keyframes air-pulse{0%{transform:scale(.85);opacity:.6}50%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:.6}}.air-run-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;border:1px solid var(--air-line);background:#f8fafc;color:var(--air-text);font-size:12px;cursor:pointer}.air-run-btn:hover:not(:disabled){background:#f1f5f9}.air-run-btn:disabled{opacity:.6;cursor:default}.air-run-btn:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.air-run-btn__icon{font-size:12px;line-height:1}.ui-page,.pd-root{filter:none!important;opacity:1!important;background:var(--surface-muted);color:var(--ink)}.pd-card,.pd-top-card,.pd-daycol,.pd-table,.pd-appointments,.pd-shell{opacity:1!important}.pd-root{isolation:isolate}.pd-top-balance{max-width:1100px;margin:14px auto 10px;padding:0 16px}.pd-top-card{display:grid;grid-template-columns:auto 1fr;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-12);box-shadow:var(--shadow-2);padding:14px;transition:box-shadow var(--tr-fast),transform var(--tr-fast)}.pd-top-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.pd-top-left .pd-top-label{font-size:12px;color:var(--text-muted);font-weight:700}.pd-top-left .pd-top-amount{font-size:28px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.pd-top-right .pd-top-note{font-size:13px;color:var(--text-primary)}.pd-top-right .pd-top-meta{font-size:12px;color:var(--text-muted);margin-top:4px}.pd-error-inline{color:var(--danger);font-size:12px}.pd-tabs{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--surface);padding:4px;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);overflow-x:auto}.pd-tab{appearance:none;border:1px solid transparent;background:transparent;color:inherit;font-weight:700;padding:8px 12px;min-height:var(--tap-min);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--tr-fast),border-color var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-tab:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}.pd-tab:active{transform:translateY(0)}.pd-tab:focus-visible{outline:none;box-shadow:var(--shadow-2),var(--shadow-focus)}.pd-tab[aria-pressed=true]{background:color-mix(in srgb,var(--surface) 50%,var(--pri-50));border-color:color-mix(in srgb,var(--pri-400) 40%,#fff)}.pd-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4);transition:transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.pd-card__head{display:grid;gap:4px;margin-bottom:6px}.pd-banner{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--danger) 20%,#fff 80%);background:color-mix(in srgb,var(--danger) 7%,#fff 93%);color:var(--danger);border-radius:var(--radius);padding:10px 12px}.pd-banner--danger-strong{border-color:color-mix(in srgb,var(--danger) 30%,#fff 70%);background:color-mix(in srgb,var(--danger) 12%,#fff 88%);color:var(--danger)}.pd-banner__btn{min-height:var(--tap-min);border-radius:var(--radius-10);border:1px solid var(--line);background:var(--surface);font-weight:700;transition:background var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-table-wrap{overflow:auto;border-radius:var(--radius-10)}.pd-table{width:100%;min-width:540px;border-collapse:collapse;background:var(--surface)}.pd-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-primary);font-weight:700;border-bottom:1px solid var(--border);text-align:left;padding:10px 12px}.pd-table tbody td{border-top:1px solid var(--border);vertical-align:middle;padding:10px 12px}.pd-table tbody tr:nth-child(2n){background:var(--surface-alt)}.pd-table tbody tr:hover{background:var(--surface-2)}.pd-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--text-primary)}.btn-link{color:var(--link);text-decoration:none;font-weight:600}.btn-link:hover{text-decoration:underline}.pd-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pd-controls .pd-chip{gap:6px;height:auto;padding:8px 12px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);font-weight:600}.pd-stepper{display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface)}.pd-stepper__btn{width:44px;height:44px;border-radius:var(--radius-10);border:1px solid var(--line);background:var(--surface);font-size:20px;line-height:1;cursor:pointer;transition:background var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-stepper__value{min-width:28px;text-align:center;font-weight:800}.pd-weekgrid{display:grid;gap:10px;grid-template-columns:repeat(7,1fr);position:relative}@media (max-width: 960px){.pd-weekgrid{grid-template-columns:1fr}}.pd-weekgrid.is-locked{pointer-events:none}.pd-weekgrid.is-locked:after{content:"";position:absolute;inset:0;background:var(--overlay-muted);border-radius:var(--radius-10);z-index:1}.pd-daycol{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:grid;gap:8px}.pd-daycol__title{font-weight:800;letter-spacing:.2px}.pd-daycol__slots{display:flex;flex-wrap:wrap;gap:8px;min-height:36px}.pd-empty{padding:4px 2px}.pd-slotchip{appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-10);padding:10px 12px;min-height:var(--tap-min);font-weight:700;cursor:pointer;transition:background var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-slotchip:hover{background:var(--surface-2);transform:translateY(-1px);box-shadow:var(--shadow-1)}.pd-slotchip:active{transform:translateY(0)}.pd-slotchip:focus-visible{outline:none;box-shadow:var(--shadow-2),var(--shadow-focus)}.pd-appt-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-10);padding:10px 12px;min-height:48px;background:var(--surface);text-align:left;cursor:pointer;transition:background var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-appt-row:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-1)}.pd-appt-row:active:not(:disabled){transform:translateY(0)}.pd-appt-row:disabled{opacity:.6;cursor:not-allowed}.pd-appt-time{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:800}.pd-appt-subtle{color:var(--text-muted);font-size:13px}.pd-appt-caret{color:var(--text-primary);font-weight:700;opacity:.6}.pd-dialog{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.pd-dialog__backdrop{position:absolute;inset:0;background:var(--scrim-strong)}.pd-dialog__panel{position:relative;width:min(920px,96vw);max-height:86vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-14, 14px);box-shadow:var(--shadow-lg);display:grid;grid-template-rows:auto 1fr auto;z-index:1}.pd-dialog__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.pd-dialog__body{padding:12px 14px;display:grid;gap:12px}.pd-dialog__foot{padding:10px 14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.pd-xbtn{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-8);width:36px;height:36px;font-size:18px;cursor:pointer}.pd-scope{display:inline-flex;gap:6px;border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px;background:var(--surface)}.pd-scope__btn{border:1px solid transparent;background:transparent;padding:8px 12px;border-radius:var(--radius-pill);min-height:var(--tap-min);font-weight:700;cursor:pointer}.pd-scope__btn.is-active{background:color-mix(in srgb,var(--pri-50) 70%,#fff 30%);border-color:color-mix(in srgb,var(--pri-400) 40%,#fff)}.pd-setlabel{font-weight:800}.pd-sets{display:grid;gap:10px}.pd-setday{border:1px dashed var(--line);border-radius:var(--radius-10);padding:10px;background:var(--surface)}.pd-setday__title{font-weight:700;margin-bottom:6px}.pd-setday__slots{display:flex;flex-wrap:wrap;gap:8px}.pd-reveal{display:flex;justify-content:center;padding-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-10);min-height:var(--tap-min);padding:10px 12px;font-weight:700;cursor:pointer;transition:background var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-toast{position:fixed;left:50%;bottom:calc(16px + var(--safe-bot));transform:translate(-50%);background:var(--neutral-800);color:var(--text-inverse);border-radius:var(--radius-pill);padding:10px 14px;display:inline-flex;align-items:center;gap:10px;box-shadow:var(--shadow-2);z-index:1100}.pd-toast__undo{background:var(--surface);color:var(--text-primary);border:0;border-radius:var(--radius-pill);padding:6px 10px;font-weight:800;cursor:pointer}.pd-tabs.pd-tabs--room{margin-top:8px;margin-bottom:10px}.pd-section{margin-top:10px}.pd-top-card--compact{display:grid;grid-template-columns:1fr auto;gap:8px}.pd-top-amountrow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pd-top-mini,.pd-top-right .pd-top-meta{font-size:12px;color:var(--text-muted)}@media (max-width: 640px){.pd-top-card--compact{grid-template-columns:1fr}.pd-top-mini{font-size:12px;opacity:.9}.pd-top-note{font-size:12px;margin-top:6px;color:var(--text-secondary)}}.show-mobile{display:block}.show-desktop{display:none}@media (min-width: 640px){.show-mobile{display:none}.show-desktop{display:block}}.pd-paylist{display:grid;gap:10px;margin-top:8px}.pd-payitem{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12);padding:10px 12px;text-decoration:none;transition:background var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast)}.pd-payitem:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}.pd-payitem:active{transform:translateY(0);background:var(--surface-muted)}.pd-payrow1{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pd-payamount{font-size:18px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.pd-paydate{font-size:12px;color:var(--text-muted)}.pd-payrow2{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.pd-payweek{font-size:12px;color:var(--text-muted)}.pd-paycta{margin-left:auto;font-weight:700;color:var(--text-primary);opacity:.6}.pd-weekpager{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin:6px 0 10px}.pd-weekpager__label{text-align:center;font-weight:800}.pd-daygroup{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12);padding:10px;margin-bottom:10px}.pd-daygroup__title{font-weight:800;margin-bottom:6px}.pd-daygroup__list{display:grid;gap:8px}.bottom-sheet .kiosk-container{max-width:680px;margin:0 auto;padding:8px 8px 16px}.bottom-sheet .kiosk-card{border-radius:var(--radius-12);padding:10px 12px}.bottom-sheet .kiosk-actions{padding:6px 0;gap:8px}.bottom-sheet .kiosk-banner{border-radius:var(--radius-10);padding:8px 10px}.bottom-sheet .picked-chip{transform:scale(.95)}@media (max-width: 640px){.bottom-sheet .kiosk-days{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.bottom-sheet .option-card{padding:10px!important}.bottom-sheet .SectionHeader h1,.bottom-sheet .SectionHeader .display{font-size:18px!important}}@keyframes skeleton-stripes{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{position:relative;overflow:hidden;background-color:#edf2f7;border-radius:var(--radius-8)}.skeleton:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,#fff0 0,#fff9,#fff0);background-size:200px 100%;animation:skeleton-stripes 1.2s infinite}.skeleton-line{height:16px}.skeleton-card{height:var(--tap-min)}@media (prefers-reduced-motion: reduce){.pd-root *{animation:none!important;transition:none!important;transform:none!important;scroll-behavior:auto!important}.skeleton:after{animation:none!important}}:root{--brand-navy: #0E2A47;--brand-teal: #1DA7A3;--neutral-900: #0B1728;--neutral-800: #152239;--neutral-700: #1E2C45;--neutral-600: #2A3751;--neutral-500: #445269;--neutral-400: #6B7A90;--neutral-300: #98A4B5;--neutral-200: #C8D1DD;--neutral-150: #DCE3EC;--neutral-100: #E6ECF2;--neutral-050: #F5F7FA;--white: #FFFFFF;--surface: var(--white);--surface-muted: var(--neutral-050);--surface-elevated: var(--white);--surface-2: #F2F5F9;--surface-alt: #FBFDFF;--border: var(--neutral-100);--text-primary: var(--brand-navy);--text-secondary: var(--neutral-500);--text-muted: #6B7280;--text-inverse: var(--white);--accent: var(--brand-teal);--accent-weak: #CFF1EF;--success: #16A34A;--warning: #F59E0B;--danger: #DC2626;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-heading: "Plus Jakarta Sans", var(--font-sans);--fs-display: 28px;--lh-display: 36px;--fw-display: 600;--fs-h1: 24px;--lh-h1: 28px;--fw-h1: 600;--fs-h2: 20px;--lh-h2: 24px;--fw-h2: 600;--fs-body: 16px;--lh-body: 24px;--fw-body: 400;--fs-foot: 13px;--lh-foot: 18px;--fw-foot: 400;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-6: 6px;--radius-8: 8px;--radius-10: 10px;--radius-12: 12px;--radius-16: 16px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(14,42,71,.06), 0 1px 1px rgba(14,42,71,.04);--shadow-2: 0 4px 12px rgba(14,42,71,.08);--shadow-focus: 0 0 0 3px rgba(29,167,163,.35);--shadow-sm: var(--shadow-1);--shadow-lg: 0 10px 30px rgba(2,6,23,.08);--tr-fast: .12s cubic-bezier(.2,.6,.2,1);--tr-med: .2s cubic-bezier(.2,.6,.2,1);--tr-slow: .3s cubic-bezier(.2,.6,.2,1);--tap-min: 56px;--tap-min-lg: 64px;--safe-bot: env(safe-area-inset-bottom, 0px);--ink: var(--text-primary);--line: var(--border);--radius: var(--radius-12);--tap: var(--tap-min);--focus: var(--shadow-focus);--pri-50: #EAF9F8;--pri-400: var(--brand-teal);--scrim-strong: rgba(2,6,23,.36);--overlay-muted: rgba(14,42,71,.18);--link: var(--accent)}@media (min-width: 1024px){:root{--fs-display: 32px;--lh-display: 40px;--fs-h1: 28px;--lh-h1: 34px;--fs-h2: 22px;--lh-h2: 28px}}.pdc-root{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--surface-muted);overflow:hidden}.pdc-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--accent);color:#fff;flex-shrink:0;box-shadow:var(--shadow-sm);z-index:10}.pdc-header__avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}.pdc-header__info{flex:1;min-width:0}.pdc-header__name{font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdc-header__pid{font-size:12px;opacity:.8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.pdc-header__status{font-size:12px;opacity:.85}.pdc-header__exit-ai{appearance:none;border:1px solid rgba(255,255,255,.3);background:#ffffff26;color:#fff;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;cursor:pointer;transition:background var(--tr-fast)}.pdc-header__exit-ai:hover{background:#ffffff40}.pdc-header__back{appearance:none;border:none;background:#ffffff26;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:background var(--tr-fast)}.pdc-header__back:hover{background:#ffffff40}.pdc-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,var(--surface-muted) 0%,var(--surface) 100%)}.pdc-messages::-webkit-scrollbar{width:6px}.pdc-messages::-webkit-scrollbar-track{background:transparent}.pdc-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.pdc-bubble{max-width:85%;padding:10px 14px;border-radius:16px;position:relative;word-wrap:break-word;animation:pdc-fade-in .2s ease-out}@keyframes pdc-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pdc-bubble--user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.pdc-bubble--assistant{align-self:flex-start;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px;box-shadow:var(--shadow-sm)}.pdc-bubble--system{align-self:center;background:var(--surface-2);color:var(--text-muted);font-size:12px;padding:6px 12px;border-radius:12px}.pdc-bubble__text{font-size:14px;line-height:1.5;white-space:pre-wrap}.pdc-bubble__time{font-size:11px;opacity:.7;margin-top:4px;text-align:right}button.pdc-bubble--clickable{appearance:none;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));cursor:pointer;text-align:left;font-family:inherit;transition:background var(--tr-fast),border-color var(--tr-fast),transform var(--tr-fast)}button.pdc-bubble--clickable:hover{background:color-mix(in srgb,var(--accent) 15%,var(--surface));border-color:var(--accent);transform:translateY(-1px)}button.pdc-bubble--clickable:active{transform:translateY(0);background:color-mix(in srgb,var(--accent) 20%,var(--surface))}button.pdc-bubble--clickable .pdc-bubble__text{color:var(--accent);font-weight:600}button.pdc-bubble--appointment{border-color:var(--border);background:var(--surface)}button.pdc-bubble--appointment:hover{background:var(--surface-2);border-color:var(--accent)}button.pdc-bubble--appointment .pdc-bubble__text{color:var(--text-primary);font-weight:500}.pdc-upload-inline{margin-top:10px;padding:10px;background:var(--surface-2);border:1px dashed var(--border);border-radius:8px}.pdc-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px;margin-top:8px}.pdc-card__title{font-weight:700;font-size:13px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.pdc-card__amount{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.pdc-card__amount--danger{color:var(--danger)}.pdc-card__amount--success{color:var(--success)}.pdc-card__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.pdc-card__row:last-child{border-bottom:none}.pdc-card__label{color:var(--text-muted)}.pdc-card__value{font-weight:600;font-variant-numeric:tabular-nums}.pdc-payitem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:6px;text-decoration:none;color:inherit;transition:background var(--tr-fast),transform var(--tr-fast)}.pdc-payitem:hover{background:var(--surface-2);transform:translateY(-1px)}.pdc-payitem__left{display:flex;flex-direction:column;gap:2px}.pdc-payitem__amount{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}.pdc-payitem__date{font-size:12px;color:var(--text-muted)}.pdc-payitem__cta{font-size:13px;color:var(--accent);font-weight:600}.pdc-apptitem{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:6px;cursor:pointer;transition:background var(--tr-fast),transform var(--tr-fast)}.pdc-apptitem:hover{background:var(--surface-2);transform:translateY(-1px)}.pdc-apptitem__day{font-weight:700;font-size:14px;min-width:80px}.pdc-apptitem__time{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.pdc-apptitem__caret{margin-left:auto;color:var(--text-muted)}.pdc-docitem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:6px;text-decoration:none;color:inherit;transition:background var(--tr-fast),transform var(--tr-fast)}.pdc-docitem:hover{background:var(--surface-2);transform:translateY(-1px)}.pdc-docitem__name{font-weight:600;font-size:14px}.pdc-docitem__cta{font-size:13px;color:var(--accent);font-weight:600}.pdc-quickactions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;background:var(--surface);border-top:1px solid var(--border);overflow-x:auto}.pdc-quickactions::-webkit-scrollbar{display:none}.pdc-chip{appearance:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:20px;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:background var(--tr-fast),border-color var(--tr-fast),transform var(--tr-fast)}.pdc-chip:hover{background:var(--surface-2);border-color:var(--accent);transform:translateY(-1px)}.pdc-chip:active{transform:translateY(0)}.pdc-chip--primary{background:var(--accent);border-color:var(--accent);color:#fff}.pdc-chip--primary:hover{background:color-mix(in srgb,var(--accent) 85%,black)}.pdc-inputarea{display:flex;align-items:flex-end;gap:10px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border)}.pdc-inputarea__field{flex:1;min-height:44px;max-height:120px;padding:10px 14px;border:1px solid var(--border);border-radius:22px;background:var(--surface-2);font-size:14px;resize:none;outline:none;font-family:inherit;transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}.pdc-inputarea__field:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.pdc-inputarea__field::placeholder{color:var(--text-muted)}.pdc-inputarea__send{appearance:none;width:44px;height:44px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tr-fast),transform var(--tr-fast)}.pdc-inputarea__send:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,black);transform:scale(1.05)}.pdc-inputarea__send:disabled{background:var(--border);cursor:not-allowed}.pdc-typing{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:16px 16px 16px 4px;align-self:flex-start;max-width:120px}.pdc-typing__dots{display:flex;gap:4px}.pdc-typing__dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:pdc-typing-bounce 1.4s infinite ease-in-out both}.pdc-typing__dot:nth-child(1){animation-delay:-.32s}.pdc-typing__dot:nth-child(2){animation-delay:-.16s}.pdc-typing__dot:nth-child(3){animation-delay:0s}@keyframes pdc-typing-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.pdc-error{padding:10px 14px;background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:10px;color:var(--danger);font-size:13px;margin:8px 16px}.pdc-test-shell{min-height:100vh;background:var(--surface-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.pdc-test-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:400px;width:100%;box-shadow:var(--shadow-lg)}.pdc-test-card h1{font-size:20px;font-weight:800;margin:0 0 8px;color:var(--text-primary)}.pdc-test-card p{font-size:14px;color:var(--text-muted);margin:0 0 20px}.pdc-test-field{margin-bottom:16px}.pdc-test-field label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.pdc-test-field input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--surface-2);transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}.pdc-test-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.pdc-test-demos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.pdc-test-demos__title{width:100%;font-size:12px;color:var(--text-muted);margin-bottom:4px}.pdc-test-btn{appearance:none;padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;width:100%;transition:background var(--tr-fast),transform var(--tr-fast)}.pdc-test-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,black);transform:translateY(-1px)}.pdc-test-btn:disabled{background:var(--border);cursor:not-allowed}.pdc-test-btn--secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.pdc-test-btn--secondary:hover:not(:disabled){background:var(--surface-2)}.pdc-upload-area{margin-top:10px;padding:12px;background:var(--surface-2);border:2px dashed var(--border);border-radius:10px;text-align:center}.pdc-upload-area__text{font-size:13px;color:var(--text-muted);margin-bottom:8px}.pdc-chips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.pdc-chips-row{display:flex;flex-wrap:wrap;gap:8px}.pdc-apptgroup{margin-bottom:12px}.pdc-apptgroup:last-child{margin-bottom:0}.pdc-apptgroup__title{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding-left:4px}.pdc-card__note{font-size:13px;color:var(--text-muted);margin-top:8px;padding:8px 10px;background:var(--surface-muted);border-radius:8px;line-height:1.4}.pdc-card__note--success{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface))}.pdc-payitem__week{font-size:11px;color:var(--text-muted);font-style:italic}.pdc-typing__text{font-size:13px;color:var(--text-muted);font-style:italic}.pdc-pay-sheet{position:fixed;inset:0;background:#00000080;display:flex;flex-direction:column;justify-content:flex-end;z-index:1000;animation:pdc-sheet-overlay .2s ease-out}@keyframes pdc-sheet-overlay{0%{opacity:0}to{opacity:1}}.pdc-pay-sheet__content{background:var(--surface);border-radius:20px 20px 0 0;padding:20px;max-height:70vh;overflow-y:auto;animation:pdc-sheet-slide .3s ease-out;box-shadow:var(--shadow-xl)}@keyframes pdc-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pdc-pay-sheet__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.pdc-pay-sheet__close{appearance:none;border:none;background:var(--surface-2);color:var(--text-primary);width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tr-fast)}.pdc-pay-sheet__close:hover{background:var(--surface-muted)}.pdc-pay-sheet__amount{display:flex;align-items:center;gap:12px;margin-bottom:16px}.pdc-pay-sheet__amount label{font-weight:700;min-width:60px}.pdc-pay-sheet__amount input{flex:1;border:1px solid var(--border);padding:10px 12px;border-radius:10px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.pdc-pay-sheet__wallet{margin-top:16px;display:flex;justify-content:center}.pdc-pay-sheet__loading{text-align:center;color:var(--text-muted);padding:20px}.pdc-pay-sheet__msg{margin-top:12px;color:var(--text-muted);font-size:13px}.pdc-pay-sheet__err{margin-top:12px;color:var(--danger);font-size:13px}@media (prefers-reduced-motion: reduce){.pdc-bubble,.pdc-chip,.pdc-payitem,.pdc-apptitem,.pdc-docitem,.pdc-inputarea__send,.pdc-test-btn,.pdc-pay-sheet,.pdc-pay-sheet__content,button.pdc-bubble--clickable{animation:none!important;transition:none!important;transform:none!important}.pdc-typing__dot{animation:none!important}}@media (max-width: 480px){.pdc-header{padding:10px 12px}.pdc-messages{padding:12px}.pdc-bubble{max-width:90%}.pdc-quickactions{padding:8px 12px}.pdc-inputarea{padding:10px 12px;gap:8px}}.driver-page{display:flex;justify-content:center;padding:16px}.driver-container{display:grid;grid-template-columns:320px 1fr;gap:16px;width:100%;max-width:1280px}.driver-left,.driver-right{display:flex;flex-direction:column;gap:16px}.driver-card{background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:12px}.driver-card__title{font-weight:700;margin-bottom:8px}.driver-kiosk-list{display:flex;flex-direction:column;gap:6px}.driver-kiosk-row{text-align:left;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;padding:8px;cursor:pointer}.driver-kiosk-row.is-active{border-color:#0ea5e9;background:#eff6ff}.driver-kiosk-name{font-weight:700}.driver-kiosk-meta{font-size:12px;opacity:.8}.dot{width:8px;height:8px;border-radius:9999px;display:inline-block;margin:0 6px;vertical-align:middle}.dot--on{background:#22c55e}.dot--off{background:#ef4444}.badge{border-radius:999px;padding:2px 8px;font-size:12px}.badge.on{background:#dcfce7;color:#166534}.badge.off{background:#fee2e2;color:#991b1b}.driver-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}.strong{font-weight:700}.driver-actions .driver-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.driver-select,.driver-input{border:1px solid #D1D5DB;border-radius:8px;padding:6px 8px;min-width:180px}.driver-video-wrap{position:relative;width:100%;padding-top:56.25%;background:#111;border-radius:8px;overflow:hidden;cursor:crosshair;margin-top:8px}.driver-video-wrap video{position:absolute;left:0;top:0;width:100%!important;height:100%!important;object-fit:contain}.driver-video-hint{position:absolute;right:8px;bottom:8px;font-size:12px;color:#fff;opacity:.7}.muted{color:#6b7280}:root{--bg: #f7fbfd;--card: #ffffff;--line: #e6eef3;--text: #0f172a;--muted: #64748b;--brand: #0ea5a3;--brand-strong: #0f766e;--danger: #ef4444;--focus: rgba(8, 145, 178, .18);--shadow: 0 1px 0 rgba(2, 6, 23, .04), 0 8px 24px rgba(2, 6, 23, .06)}.rs-root{background:var(--bg);color:var(--text);min-height:100vh;padding:12px 0 24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.rs-container{max-width:1180px;margin:0 auto}.rs-root h1,.rs-root h2,.rs-root h3{letter-spacing:.01em}.rs-root h1{font-size:20px}.rs-root h2{font-size:16px}.rs-root button{font-size:13px;border-radius:10px}.rs-sheet-link-wrap{display:flex;justify-content:flex-end;padding:0 4px;margin-bottom:4px}.rs-link-button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--brand-strong);font-size:13px;text-decoration:none;box-shadow:0 1px 2px #0f172a14;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.rs-link-button:hover{background:#ecfeff;border-color:#99f6e4;box-shadow:0 4px 16px #0f172a1f}.rs-link-button-icon{font-size:14px}.kiosk-card.rs-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow)}.rs-summary-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;align-items:flex-start}.rs-summary-meta{display:grid;gap:2px;margin-top:6px}.rs-summary-meta .muted.small{font-size:13px}.rs-summary-balance{margin-top:8px}.rs-summary-balance .muted.small{font-size:13px}.kiosk-input,.kiosk-select{width:100%;padding:9px 11px;border-radius:10px;border:1px solid var(--line);font-size:14px;color:var(--text);background:#fff}.kiosk-input:focus-visible,.kiosk-select:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.rs-select-small{padding-top:6px;padding-bottom:6px;font-size:13px}.muted{color:var(--muted)}.small{font-size:12px}.kiosk-banner{border-radius:10px;padding:8px 10px;font-size:13px;margin:4px 0}.kiosk-banner--info{background:#e0f2fe;color:#0369a1;border:1px solid #bfdbfe}.kiosk-banner--warn{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.rs-subtitle{font-size:12px;font-weight:500;color:var(--muted);margin-bottom:4px}.rs-pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rs-pill-button{appearance:none;border-radius:999px;border:1px solid var(--line);background:#fff;padding:6px 10px;font-size:12px;color:var(--text);cursor:pointer}.rs-pill-button.is-active{background:#ecfeff;border-color:#99f6e4;color:var(--brand-strong)}.rs-pill-button.is-disabled{opacity:.5}.rs-pill-button:disabled{cursor:not-allowed}.rs-provider-select-row{margin-bottom:12px}.rs-actions-row{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.rs-action-button{appearance:none;border-radius:999px;border:1px solid var(--line);background:#fff;padding:7px 11px;font-size:13px;color:var(--text);cursor:pointer;min-height:0}.rs-action-button.is-primary{background:var(--brand);border-color:transparent;color:#fff}.rs-action-button:disabled{opacity:.6;cursor:not-allowed}.kiosk-table.rs-table{width:100%;border-collapse:collapse;font-size:13px}.kiosk-table.rs-table thead th{background:#f8fbfe;color:#334155;font-weight:600;border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}.kiosk-table.rs-table tbody td{border-top:1px solid var(--line);padding:6px 8px;vertical-align:top}.kiosk-table.rs-table tbody tr:nth-child(2n){background:#fbfdff}.kiosk-table.rs-table tbody tr:hover{background:#f0f9ff}@media (max-width: 900px){.rs-container{padding:0 10px}.kiosk-card.rs-card{padding:10px 12px;border-radius:12px}.rs-summary-card{grid-template-columns:minmax(0,1fr)}.kiosk-table.rs-table{font-size:12px}}
