.hd-assistant{min-height:0;padding:7px 14px;font-size:13px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:var(--radius-sm);cursor:pointer}.hd-assistant:hover,.hd-assistant.is-active{border-color:var(--accent)}.assistant-panel{position:fixed;top:0;right:0;bottom:0;z-index:70;display:flex;flex-direction:column;gap:var(--space-3);width:min(460px,100vw);padding:var(--space-5);background:var(--paper);border-left:1px solid var(--line);color:var(--text)}.assistant-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.assistant-head h2{margin:0;font-size:var(--text-xl)}.assistant-head button{min-height:44px}.assistant-note{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.assistant-panel .notice{margin:0}.assistant-log{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding-right:var(--space-1)}.assistant-examples ul{display:grid;gap:var(--space-2);padding:0;margin:var(--space-2) 0;list-style:none}.assistant-examples button{width:100%;justify-content:flex-start;text-align:left;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--surface-subtle)}.assistant-turn{display:flex;flex-direction:column;gap:var(--space-2)}.assistant-question{align-self:flex-end;max-width:90%;margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-inset);background:var(--accent-soft);color:var(--text);overflow-wrap:anywhere}.assistant-answer{display:flex;flex-direction:column;gap:var(--space-3)}.assistant-text{overflow-wrap:anywhere;line-height:1.45}.assistant-text p,.assistant-text ul,.assistant-text ol{margin:0 0 var(--space-2)}.assistant-text ul,.assistant-text ol{padding-left:var(--space-5)}.assistant-text a{color:var(--accent-ink)}.assistant-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-inset);background:var(--surface-subtle)}.assistant-card p{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.assistant-card .actions{margin:0}.assistant-card-state{font-weight:600}.assistant-card-state.is-done{color:var(--ok)}.assistant-card-state.is-failed{color:var(--bad)}.assistant-card-state.is-awaiting,.assistant-card-state.is-expired{color:var(--wait)}.assistant-card.is-confirm{border-color:var(--wait)}.assistant-card ul{margin:0;padding-left:var(--space-5);font-size:var(--text-sm)}.assistant-form{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line)}.assistant-form .field{margin:0}.assistant-form textarea{resize:vertical;min-height:72px}.assistant-form .actions{margin:0}.assistant-form .muted,.assistant-examples .muted{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.assistant-switch{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-weight:600}.assistant-switch input{width:22px;height:22px}@media (max-width: 699px){.assistant-panel{width:100vw;padding:var(--space-4);border-left:0}}@media print{.hd-assistant,.assistant-panel{display:none}}.treatment-discharge{background:var(--paper);border:1px solid var(--line);padding:28px;max-width:210mm}.treatment-discharge section{border-bottom:1px solid var(--line);padding:12px 0;break-inside:avoid}.procedure-grid .procedure{min-height:88px;white-space:normal;text-align:left}.procedure-grid .procedure small{display:block;margin-top:8px}.procedure-sheet{page:sheet;box-sizing:border-box;background:#fff;color:#000;width:100%;max-width:148mm;padding:7mm;font-size:12pt;line-height:1.3}.procedure-sheet-header{position:relative;border-bottom:1px solid #333;padding-bottom:3mm}.procedure-sheet-brand{font-size:16pt;font-weight:700;color:#000}.procedure-sheet h1{margin:1mm 0;font-size:18pt}.procedure-sheet-header small,.procedure-sheet td small,.procedure-sheet .sheet-course small{display:block;font-size:12pt}.procedure-sheet-date{position:absolute;right:0;top:0}.procedure-sheet-patient{padding:3mm 0}.procedure-sheet-patient h2{margin:0 0 2mm;font-size:16pt}.procedure-sheet table{width:100%;border-collapse:collapse;table-layout:fixed}.procedure-sheet th,.procedure-sheet td{border:1px solid #333;padding:2mm 1.5mm;text-align:left;vertical-align:top;overflow-wrap:anywhere}.procedure-sheet th{font-size:12pt;background:#fff;color:#000}.procedure-sheet small{color:#000}.procedure-sheet th:nth-child(1){width:13%}.procedure-sheet th:nth-child(2){width:35%}.procedure-sheet th:nth-child(3){width:18%}.procedure-sheet th:nth-child(4){width:22%}.procedure-sheet th:nth-child(5){width:12%}.sheet-mark{display:inline-block;width:7mm;height:7mm;border:1px solid #333}.procedure-sheet-empty{padding:8mm 2mm;border:1px solid #333}.procedure-sheet footer{margin-top:4mm;font-size:12pt}@page sheet{size:A5 portrait;margin:8mm}@media print{@page{size:A4;margin:15mm}body:has(.treatment-discharge) .sidebar,body:has(.treatment-discharge) .topbar,body:has(.treatment-discharge) .no-print,body:has(.treatment-discharge) .toast-region{display:none!important}body:has(.treatment-discharge) .app-shell,body:has(.treatment-discharge) .workspace{display:block}body:has(.treatment-discharge) .content{padding:0;max-width:none}.treatment-discharge{border:0;padding:0;color:#000;width:100%}.treatment-discharge *{color:#000!important;background:#fff!important}body:has(.procedure-sheet) .sidebar,body:has(.procedure-sheet) .topbar,body:has(.procedure-sheet) .no-print,body:has(.procedure-sheet) .toast-region{display:none!important}body:has(.procedure-sheet) .app-shell,body:has(.procedure-sheet) .workspace{display:block}body:has(.procedure-sheet) .content{padding:0;max-width:none}.procedure-sheet{width:100%;max-width:none;padding:0;color:#000}.procedure-sheet *{color:#000!important;background:#fff!important}}.ccard-hero{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:28px;display:flex;flex-direction:column;gap:22px;margin-bottom:24px}.ccard-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px}.ccard-ident{display:flex;flex-direction:column;gap:10px;min-width:0}.ccard-name{margin:0;font-size:28px;font-weight:700;letter-spacing:-.4px;color:var(--text)}.ccard-tags{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ccard-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:500;background:var(--surface-subtle);color:var(--text);border:1px solid var(--line)}.ccard-tag .badge{font-size:12px;padding:0 6px}.ccard-tag-room{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent;font-weight:600}.ccard-money{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;border-radius:14px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);font-size:14px;font-weight:600}.ccard-money.ok{background:var(--status-ok-bg);color:var(--ok)}.ccard-money.wait{background:var(--status-wait-bg);color:var(--wait)}.ccard-money.bad{background:var(--status-bad-bg);color:var(--bad)}.ccard-money-main{display:inline-flex;align-items:center;gap:8px}.ccard-money-divider{width:1px;height:18px;background:currentColor;opacity:.35}.ccard-money-rest{color:var(--text)}.course-strip,.ccard-idle{display:flex;flex-direction:column;gap:12px;background:var(--surface-subtle);padding:18px 20px;border-radius:var(--radius-inset);border:1px solid var(--line)}.ccard-idle{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;font-weight:600;color:var(--text-muted)}.course-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600}.course-title{color:var(--accent-ink)}.course-until{color:var(--text-muted);font-weight:400;font-size:13px}.course-cells{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.course-cell{height:32px;min-width:0;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;box-sizing:border-box}.course-cell.past{background:var(--accent);color:var(--on-accent)}.course-cell.current{background:var(--accent-soft);color:var(--accent-ink);border:2px solid var(--accent)}.course-cell.future{background:var(--paper);color:var(--text-muted);border:1px dashed var(--border-strong)}.ccard-actions{display:flex;flex-wrap:wrap;gap:12px}.ccard-actions .button,.ccard-actions>button{min-height:44px;padding:10px 20px;font-weight:600;border-radius:var(--radius-control)}.ccard-grid{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:24px;align-items:start}.ccard-feed{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px;display:flex;flex-direction:column;gap:18px}.ccard-feed-head h2{margin:0;font-size:18px;font-weight:700}.ccard-feed-head p{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.ccard-side{display:flex;flex-direction:column;gap:16px;min-width:0}.ccard-side>.panel{margin:0}.ccard-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.ccard-tl-item{display:flex;gap:14px;position:relative}.ccard-tl-item:not(:last-child):before{content:"";position:absolute;left:5px;top:20px;bottom:-14px;width:2px;background:var(--line)}.ccard-tl-dot{flex:none;width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent-soft)}.ccard-tl-dot.done{background:var(--ok);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--status-ok-bg)}.ccard-tl-body{flex:1;min-width:0;background:var(--surface-subtle);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.ccard-tl-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ccard-tl-top time{font-size:12px;font-weight:600;color:var(--accent-ink)}.ccard-tl-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--paper);color:var(--text-muted);border:1px solid var(--line)}.ccard-tl-title{font-size:14px;font-weight:600;overflow-wrap:anywhere}.ccard-tl-who{font-size:12.5px;color:var(--text-muted)}.ccard-tl-note{font-size:12.5px;background:var(--paper);padding:8px 10px;border-radius:8px;border:1px solid var(--line);overflow-wrap:anywhere}@media (max-width: 1080px){.ccard-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 760px){.ccard-hero{padding:18px}.ccard-name{font-size:22px}.course-cell{height:28px;font-size:11px}.ccard-actions .button,.ccard-actions>button{flex:1 1 auto}}.ccard-side .grid.two{align-items:start;gap:16px}.ccard-side .panel{min-height:0;height:auto;margin:0}.ccard-side .grid.two>.panel{align-self:start}@media (max-width: 1280px){.ccard-side .grid.two{grid-template-columns:minmax(0,1fr)}}@media (min-width: 1281px){.ccard-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.ccard-side .grid.two{display:contents}.ccard-side>.panel:nth-last-child(-n+2),.ccard-side>.panel:has(.deposit-panel){grid-column:auto}}.ccard-feed{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}@media (min-width: 1281px){.ccard-side{display:block;columns:2;column-gap:16px}.ccard-side .panel{break-inside:avoid;margin:0 0 16px}}.ccard-side .panel{padding:18px 20px}.ccard-side .panel h2{margin-top:0;font-size:16px}.ccard-side .panel>:last-child{margin-bottom:0}.goods-sub{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--text-sm, 14px)}.goods-tags{flex-wrap:wrap;gap:8px}.goods-check{display:inline-flex;align-items:center;gap:10px;min-height:44px}.goods-qty{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.goods-lines input{width:120px;min-height:44px}.goods-total{font-size:var(--text-lg, 18px);font-variant-numeric:tabular-nums}.goods-mode{display:flex;flex-direction:column;gap:8px}.goods-mode label{display:flex;align-items:center;gap:10px;min-height:44px}.goods-mode input[type=radio]{width:21px;height:21px;min-height:21px;margin:0;accent-color:var(--accent);flex:none}.goods-mode input[type=radio]:disabled+*{color:var(--text-muted)}.goods-recipe{border-top:1px solid var(--line);margin-top:var(--space-5, 20px);padding-top:var(--space-5, 20px)}.error-text{display:block;color:var(--bad);font-size:var(--text-sm, 14px)}.myday{min-width:0}.myday-scan{min-height:0;padding:28px 16px}.myday-scan h2{font-size:28px}.myday-phone-scan:empty{display:none}.myday-hint,.myday-place{color:var(--text-muted);margin:0 0 12px}.myday-tiles{display:grid;gap:12px;margin:16px 0 20px}.myday-tile{min-height:72px;width:100%;white-space:normal;text-align:left;font-size:18px}.myday-tile small{display:block;margin-top:6px;font-size:14px;opacity:.9}.myday-bar{position:sticky;bottom:0;padding:12px 0;background:var(--page);z-index:2}.myday-bar button{width:100%;min-height:52px}.myday-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.myday-patient{display:flex;flex-direction:column;gap:4px;min-height:44px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.myday-patient:last-child{border-bottom:0}.myday-patient span{color:var(--text-muted);font-size:14px;overflow-wrap:anywhere}.myday .list-row{gap:8px 16px}@media (min-width: 761px){.myday-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.myday-bar{position:static;padding:0;background:none}.myday-bar button{width:auto}}.staff-services{max-height:46dvh;overflow-y:auto;margin-bottom:12px}.staff-service{display:flex;align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--line)}.staff-service input[type=checkbox]{margin:0;flex:none}.staff-service span{flex:1;min-width:0;overflow-wrap:anywhere}.staff-service small{color:var(--text-muted)}.cb-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px;display:flex;flex-direction:column;gap:16px;margin-top:16px}.cb-head h2{margin:0;font-size:18px;font-weight:700}.cb-head p{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.cb-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-inset);background:var(--paper)}.cb-grid{width:100%;min-width:940px;table-layout:fixed;border-collapse:collapse;font-size:12px}.cb-grid th,.cb-grid td{padding:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:middle}.cb-grid tr:last-child>*{border-bottom:0}.cb-grid th:last-child,.cb-grid td:last-child{border-right:0}.cb-grid thead th{position:static;background:var(--surface-subtle);color:var(--text-muted);font-weight:600;font-size:12px;text-align:center;padding:8px 2px;height:46px;white-space:nowrap}.cb-grid thead .cb-corner{position:sticky;left:0;z-index:3;width:176px;text-align:left;padding:8px 12px}.cb-grid thead .cb-day.today{background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.cb-day small{display:block;font-size:11px;font-weight:600}.cb-grid tbody .cb-bed{position:sticky;left:0;z-index:2;min-width:0;width:176px;padding:6px 12px;background:var(--paper);text-align:left;border-right:2px solid var(--border-strong)}.cb-bed-name{display:block;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.cb-bed-sub{display:block;font-size:11px;font-weight:400;color:var(--text-muted)}.cb-grid td.today{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.cb-cell{display:flex;align-items:center;width:100%;min-height:52px;margin:0;padding:0;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;position:relative}.cb-cell.free{justify-content:center;color:var(--ok);border-radius:0}.cb-cell.free:hover,.cb-cell.free:focus-visible{background:var(--surface-subtle)}.cb-plus{opacity:0;font-size:18px}.cb-cell.free:hover .cb-plus,.cb-cell.free:focus-visible .cb-plus{opacity:1}.cb-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.cb-cell:not(.free){min-height:52px;background:transparent}.cb-bar-text{display:block;box-sizing:border-box;width:calc(100% - 8px);margin:4px;padding:8px 10px;border-radius:8px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);font-size:11.5px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-cell:not(.free):hover .cb-bar-text{border-color:currentColor}.cb-cell.checked_in .cb-bar-text{background:var(--status-ok-bg);color:var(--ok)}.cb-cell.checked_out .cb-bar-text,.cb-cell.cancelled .cb-bar-text{background:var(--neutral-bg);color:var(--neutral)}.cb-cell.prepaid .cb-bar-text{background:var(--accent-soft);color:var(--accent-ink)}.cb-cell.pending .cb-bar-text{background:var(--status-wait-bg);color:var(--wait)}.cb-cell.no_show .cb-bar-text{background:var(--status-bad-bg);color:var(--bad)}@media (max-width: 760px){.cb-card{padding:14px}}.cb-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}.cb-period{display:flex;gap:12px}.cb-period label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--lapis-soft)}.cb-period input{width:auto;min-height:40px;padding:6px 10px}.cb-legend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.settings-group{margin-bottom:var(--space-6)}.settings-cards{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));padding:0;margin:0;list-style:none}.settings-card{display:flex;flex-direction:column;gap:var(--space-1);min-height:88px;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);color:var(--text);text-decoration:none}.settings-card:hover,.settings-card:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.settings-card strong{font-size:var(--text-lg);color:var(--accent-ink)}.settings-card span{color:var(--text-muted);font-size:var(--text-sm)}.dict-list{display:grid;gap:var(--space-3);padding:0;margin:0 0 var(--space-4);list-style:none}.dict-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-inset);background:var(--paper)}.dict-row.is-hidden{background:var(--surface-subtle)}.dict-row .field{flex:1 1 200px;min-width:0}.dict-row .badge{align-self:center;color:var(--text-muted);font-size:var(--text-sm)}.dict-row .actions{margin:0}.dict-row button{min-height:44px;min-width:44px}.room-card{margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper)}.room-card.is-hidden{background:var(--surface-subtle)}.tariff-history{margin:var(--space-2) 0 var(--space-4);padding-left:var(--space-5)}.hd{position:relative;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);padding:0 28px}.hd-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}.hd-brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;flex-shrink:0}.hd-logo{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--accent-ink)}.hd-logo-sub{font-size:var(--text-xs);font-weight:600;letter-spacing:.2px;color:var(--text-muted)}.hd-reader{display:inline-flex;align-items:center;gap:10px;min-width:0;padding:8px 14px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-control)}.hd-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 22%,transparent)}.hd-reader.connected .hd-dot{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.hd-reader-text{font-size:13px;font-weight:500;color:var(--text)}.hd-reader-status{font-size:var(--text-xs);font-weight:600;color:var(--wait)}.hd-reader.connected .hd-reader-status{color:var(--ok)}.hd-user{display:flex;align-items:center;gap:12px;min-width:0}.hd-chip{display:flex;align-items:center;gap:10px;min-width:0}.hd-avatar{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-size:13px;font-weight:700}.hd-who{display:flex;flex-direction:column;min-width:0;line-height:1.25}.hd-name{font-size:var(--text-sm);font-weight:600;color:var(--text)}.hd-role{font-size:var(--text-xs);color:var(--text-muted)}.hd .theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:0;min-width:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.hd .theme-toggle:hover{background:var(--surface-subtle);color:var(--text)}.hd-logout{min-height:0;padding:7px 14px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.hd-logout:hover{background:var(--surface-subtle);color:var(--text)}.hd-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:0 0 10px}.hd-link{display:inline-flex;align-items:center;gap:6px;min-height:0;padding:8px 14px;font:inherit;font-size:13.5px;font-weight:500;line-height:1.3;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm);text-decoration:none;white-space:nowrap;cursor:pointer}.hd-link:hover{color:var(--text);background:var(--surface-subtle)}.hd-link.is-active,.hd-link.active{color:var(--accent-ink);background:var(--accent-soft);font-weight:600}.hd-caret{transition:transform .15s ease}.hd-trigger[aria-expanded=true] .hd-caret{transform:rotate(180deg)}.hd-drop{position:relative}.hd-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:220px;margin:0;padding:6px;list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 8px 24px color-mix(in srgb,var(--text) 14%,transparent)}.hd-item{display:block;min-height:0;padding:8px 12px;font-size:13.5px;font-weight:500;color:var(--text);border-radius:var(--radius-sm);text-decoration:none;white-space:nowrap}.hd-item:hover,.hd-item:focus-visible{background:var(--surface-subtle)}.hd-item.is-active,.hd-item.active{color:var(--accent-ink);background:var(--accent-soft);font-weight:600}.hd-group-title,.hd-flat,.hd-menu-toggle,.hd-close,.hd-backdrop{display:none}@media (max-width: 899px){.hd{padding:0 16px}.hd-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:10px 0}.hd-logo{font-size:22px}.hd-reader{grid-column:1 / -1;grid-row:2;padding:6px 12px}.hd-user{grid-column:1 / -1;grid-row:3;justify-content:space-between}.hd-chip{margin-right:auto}.hd-menu-toggle{display:inline-flex;grid-column:2;grid-row:1;min-height:0;padding:7px 14px;font-size:13px;font-weight:500;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.hd-nav{display:none}.hd-nav.is-open{display:flex;position:fixed;inset:0 0 0 auto;z-index:61;width:min(320px,88vw);padding:16px;overflow-y:auto;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:2px;background:var(--paper);border-left:1px solid var(--border-strong)}.hd-nav .hd-drop{display:none}.hd-group-title{display:block;margin:12px 14px 4px;font-size:var(--text-xs);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted)}.hd-flat{display:block;margin:0;padding:0;list-style:none}.hd-nav .hd-link{display:flex;white-space:normal}.hd-close{display:inline-flex;align-self:flex-start;min-height:0;margin-bottom:8px;padding:7px 14px;font-size:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.hd-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:0;border-radius:0;background:var(--backdrop)}}@media (max-width: 480px){.hd-role{display:none}}.trail{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 20px}.trail-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px 0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--paper);color:var(--text);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer}.trail-back:hover{border-color:var(--accent);color:var(--accent-ink)}.trail-path{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;font-size:var(--text-sm);color:var(--text-muted)}.trail-path li{display:inline-flex;align-items:center}.trail-path li+li:before{content:"›";margin:0 8px;color:var(--text-muted)}.trail-path a{color:var(--accent-ink);text-decoration:none}.trail-path a:hover{text-decoration:underline}.trail-path [aria-current=page]{color:var(--text);font-weight:500}@media print{.trail{display:none}}.pos-fields{border:0;padding:0;margin:0;min-width:0}.pos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pos-catalog{max-height:370px;overflow-y:auto;display:grid;gap:.5rem}.pos-catalog button{text-align:left;display:grid;gap:.25rem;width:100%}.pos-catalog span{font-size:.85em}.pos-qty{width:7rem}@media (max-width: 760px){.pos-grid{grid-template-columns:1fr}}.kpi-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 var(--space-5, 20px);border-bottom:1px solid var(--line)}.kpi-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;min-height:44px;padding:0 var(--space-3, 12px)}.kpi-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent-ink);font-weight:600}.kpi-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card, 20px);padding:var(--space-5, 20px);margin-bottom:var(--space-4, 16px)}.kpi-card h3{margin:0 0 var(--space-1, 4px)}.kpi-muted{color:var(--text-muted);font-size:var(--text-sm, 14px)}.kpi-big{font-size:var(--text-xl, 22px);font-weight:600;font-variant-numeric:tabular-nums}.kpi-steps{list-style:none;margin:var(--space-3, 12px) 0 0;padding:0;display:grid;gap:var(--space-3, 12px)}.kpi-step{background:var(--surface-subtle);border-radius:var(--radius-inset, 14px);padding:var(--space-3, 12px) var(--space-4, 16px)}.kpi-step header{display:flex;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap}.kpi-bar{height:10px;border-radius:8px;background:var(--line);margin-top:var(--space-2, 8px);overflow:hidden}.kpi-bar>span{display:block;height:100%;background:var(--accent);border-radius:8px}.kpi-step.is-reached .kpi-bar>span{background:var(--ok)}.kpi-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 var(--space-4, 16px)}.kpi-tier-row{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-3, 12px);align-items:end}.kpi-tier-row .field{margin-bottom:var(--space-2, 8px)}.kpi-checks{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px) var(--space-4, 16px);margin-bottom:var(--space-4, 16px)}.kpi-checks label{display:flex;gap:var(--space-2, 8px);align-items:center;min-height:44px}.kpi-minus{color:var(--bad)}.kpi-plaque{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px) var(--space-4, 16px);background:var(--accent-soft);border-radius:var(--radius-inset, 14px);padding:var(--space-3, 12px) var(--space-4, 16px);margin-bottom:var(--space-4, 16px)}.kpi-plaque strong{color:var(--accent-ink)}.kpi-total-row td{font-weight:600;border-top:2px solid var(--border-strong)}.kpi-versions{margin-top:var(--space-3, 12px)}.kpi-versions summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.fin-chart{--fin-income: #2a78d6;--fin-expense: #eb6834}:root[data-theme=dark] .fin-chart{--fin-income: #3987e5;--fin-expense: #d95926}.fin-tile small,.fin-muted{color:var(--text-muted);font-size:var(--text-sm)}.fin-total{font-weight:600}.fin-total>span,tr.fin-total td{font-weight:600}.list-row.fin-total{border-top:1px solid var(--border-strong)}.fin-columns{gap:var(--space-6)}.fin-cancelled>div:first-child>strong{text-decoration:line-through;color:var(--text-muted)}.fin-add{margin:var(--space-4) 0 0}.fin-legend{display:flex;flex-wrap:wrap;gap:var(--space-5);list-style:none;margin:0 0 var(--space-3);padding:0;font-size:var(--text-sm);color:var(--text)}.fin-legend li{display:inline-flex;align-items:center;gap:var(--space-2)}.fin-swatch{width:12px;height:12px;border-radius:3px}.fin-swatch.income,.fin-key.income{background:var(--fin-income)}.fin-swatch.expense,.fin-key.expense{background:var(--fin-expense)}.fin-plot{position:relative;width:100%;min-width:0}.fin-plot svg{display:block;overflow:visible}.fin-grid{stroke:var(--line);stroke-width:1}.fin-base{stroke:var(--border-strong);stroke-width:1}.fin-axis{fill:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.fin-value{fill:var(--text);font-size:var(--text-xs);font-weight:600}.fin-bar.income{fill:var(--fin-income)}.fin-bar.expense{fill:var(--fin-expense)}.fin-current{fill:var(--surface-subtle)}.fin-month.is-active .fin-bar{opacity:.8}.fin-hit{fill:transparent;cursor:default}.fin-hit:focus-visible{outline:none;stroke:var(--accent);stroke-width:2}.fin-tip{position:absolute;z-index:4;min-width:180px;white-space:nowrap;padding:var(--space-2) var(--space-3);background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);pointer-events:none}.fin-tip p{margin:2px 0;display:flex;align-items:center;gap:6px;color:var(--text-muted)}.fin-tip strong{color:var(--text);font-variant-numeric:tabular-nums}.fin-tip .fin-tip-title{color:var(--text);font-weight:600}.fin-key{width:12px;height:3px;border-radius:2px}.fin-table{margin-top:var(--space-4)}.fin-table summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent-ink)}@media (max-width: 720px){.fin-columns{grid-template-columns:minmax(0,1fr)}}@media print{.fin-tip{display:none}}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-cyrillic-400-normal-9itZEwnn.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-400-normal-DivIpeVh.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-cyrillic-ext-400-normal-DVFiJ7cT.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-400-normal-Ct_d_4pr.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-latin-400-normal-DqUVgETp.woff2) format("woff2"),url(/assets/fira-sans-latin-400-normal-CRr34ncs.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-cyrillic-500-normal-VyCke2En.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-500-normal-D_dMT8_Y.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-cyrillic-ext-500-normal-D4fJC0vd.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-500-normal-jsgT70UW.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-latin-500-normal-CEH64tAT.woff2) format("woff2"),url(/assets/fira-sans-latin-500-normal-CpQD_JBa.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-cyrillic-600-normal-C82o0VEB.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-600-normal-B9Az9kNU.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-cyrillic-ext-600-normal-CGufF-y1.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-600-normal-DXPUYcb1.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-latin-600-normal-BjYBD9kW.woff2) format("woff2"),url(/assets/fira-sans-latin-600-normal-BGQrt5XT.woff) format("woff")}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-cyrillic-700-normal-X52Z0kMH.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-700-normal-C_qvJ7Q6.woff) format("woff")}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-cyrillic-ext-700-normal-DRSef4Os.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-ext-700-normal-ZeTAYTWX.woff) format("woff")}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-latin-700-normal-Bsuo9jes.woff2) format("woff2"),url(/assets/pt-serif-latin-700-normal-BnJLcJ8K.woff) format("woff")}:root{color-scheme:light;--page: #f8fafc;--paper: #ffffff;--surface-subtle: #f1f5f9;--line: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--text-muted: #5c6d84;--accent: #1e40af;--accent-ink: #1e40af;--accent-soft: #eff6ff;--accent-hover: #1d4ed8;--on-accent: #ffffff;--control-border: #8191a6;--ok: #047857;--wait: #92400e;--bad: #b91c1c;--status-ok-bg: #ecfdf5;--status-wait-bg: #fffbeb;--status-bad-bg: #fef2f2;--neutral: #475569;--neutral-bg: #f1f5f9;--backdrop: #0f172a66;--std: #64748b;--lux: #1d4ed8;--vip: #1e40af;--font-ui: "Fira Sans", sans-serif;--font-document: "PT Serif", serif;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 22px;--text-title: 28px;--text-display: 40px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--radius-sm: 8px;--radius-control: 12px;--radius-inset: 14px;--radius-card: 20px;--radius: var(--radius-card);--shadow: none;--lapis: var(--text);--lapis-soft: var(--text-muted);--tile: var(--accent);--primary: var(--accent);--primary-dark: var(--accent-hover);--border: var(--line);--muted: var(--text-muted);--surface: var(--paper);--status-wait-text: var(--wait);--status-info-bg: var(--accent-soft);--today-bg: var(--accent-soft);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-synthesis:none;text-rendering:optimizeLegibility;color:var(--text);background:var(--page);line-height:1.45;font-size:var(--text-base)}:root[data-theme=dark]{color-scheme:dark;--page: #090d16;--paper: #111827;--surface-subtle: #1a2234;--line: #1f293d;--border-strong: #334155;--text: #f8fafc;--text-muted: #94a3b8;--accent: #3b82f6;--accent-ink: #60a5fa;--accent-soft: #172554;--accent-hover: #60a5fa;--on-accent: #090d16;--control-border: #62748e;--ok: #6ee7b7;--wait: #fbbf24;--bad: #fca5a5;--status-ok-bg: #064e3b;--status-wait-bg: #451a03;--status-bad-bg: #450a0a;--neutral: #94a3b8;--neutral-bg: #1e293b;--backdrop: #00000099;--std: #94a3b8;--lux: #60a5fa;--vip: #93c5fd}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--page)}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;cursor:pointer;text-decoration:none;text-align:center;line-height:1.3}button:disabled{opacity:.5;cursor:not-allowed}.danger{border-color:var(--lapis-soft)}.large{min-height:58px;font-size:18px;padding:16px 24px}a{text-underline-offset:3px}h1{margin:0 0 16px}h2{line-height:1.35;margin:0 0 19px}h3{margin:0 0 8px}p{margin:8px 0 16px}small{font-size:14px}.app-shell{min-height:100vh}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;line-height:1.1}.brand small{display:block;font-weight:500;margin-top:6px}.workspace{min-width:0;flex:1}.content{margin:0 auto}.page-title{margin-bottom:24px}.page-title p{color:var(--muted)}.page-title h1{margin-bottom:10px}.grid{display:grid}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{margin-bottom:22px;min-width:0}.scan-zone{display:flex;flex-direction:column;margin-bottom:28px}.scan-zone h2{font-size:22px;margin:13px 0 8px}.scan-zone p{font-size:14px;margin:0}.scan-icon{font-size:45px;width:88px;height:88px;display:grid;place-items:center}.scan-zone.compact{padding:28px}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;min-width:0;font-size:14px;font-weight:500}input,select,textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:11px 12px}textarea{resize:vertical;min-height:94px}input[type=checkbox]{width:21px;height:21px;min-height:21px;margin:0}input[type=file]{padding:10px;max-width:100%}fieldset{margin:0 0 22px;padding:17px;border:1px solid var(--border);border-radius:9px}legend{padding:0 8px;font-weight:600}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:12px}.checks label{display:flex;align-items:center;gap:9px}.row{display:flex;align-items:center;gap:14px}.between{justify-content:space-between}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 22px}.filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:22px}.filters .field{margin:0;min-width:180px}.notice{padding:15px 18px;margin:12px 0 20px}.notice p:last-child{margin-bottom:0}.error,.success{background:var(--page);color:var(--lapis-soft);border-color:var(--lapis-soft)}.empty{padding:22px 0;font-size:14px}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:var(--page);color:var(--lapis-soft)}.claimed,.pending{background:var(--status-wait-bg);color:var(--status-wait-text)}.verified,.checked_in,.active{background:var(--status-ok-bg);color:var(--ok)}.rejected,.blocked,.no_show{background:var(--status-bad-bg);color:var(--bad)}.prepaid,.scheduled{background:var(--status-info-bg);color:var(--lapis)}.checked_out,.done,.cancelled{background:var(--page);color:var(--lapis-soft)}.list-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row>span:first-child,.list-row>a:first-child{flex:1;min-width:120px}.record{border-bottom:1px solid var(--border);padding:20px 0}.record:first-of-type{padding-top:0}.record:last-child{border-bottom:0;padding-bottom:0}dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.5fr);gap:10px 17px;font-size:14px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.deposit{padding-top:18px;border-top:1px solid var(--border);margin-top:22px}.prewrap{white-space:pre-wrap}.search-results{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:340px;overflow-y:auto}.search-results button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px}.search-results span{font-weight:400;font-size:14px;color:var(--muted)}.selected{padding:16px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:20px}.selected span{font-size:14px;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:36px 20px;overflow-y:auto}.modal{background:var(--paper);padding:28px;width:min(760px,100%);max-height:calc(100dvh - 72px);overflow-y:auto}.modal>.row{align-items:flex-start;margin-bottom:14px}.modal h2{font-size:22px}.modal form>button{margin:0 8px 8px 0}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:var(--paper);padding:38px;border:1px solid var(--border)}.login-card .brand{margin-bottom:36px}.login-card h1{font-size:22px;margin-bottom:27px}.login-card button{width:100%}.procedure-grid{display:grid;gap:12px;margin:20px 0}.procedure{border-color:var(--lapis-soft)}.procedure.selected{background:var(--primary);color:var(--on-accent);border-color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0}.table-scroll{overflow:auto;border:1px solid var(--border);max-height:72vh}table{border-collapse:separate;border-spacing:0;min-width:100%}th,td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left}thead th{position:sticky;top:0;z-index:2;white-space:nowrap}tbody th{position:sticky;left:0;z-index:1;background:var(--paper);min-width:145px}thead th:first-child{left:0;z-index:3}.chess-cell{border:0;display:flex;text-align:left;width:100%;font-weight:500}.chess-cell small{color:inherit}.chess-cell.free{font-size:22px;align-items:center}.arrival{display:flex;gap:25px;flex-wrap:wrap;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:20px 0}.arrival dl{min-width:230px}.payment-row{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.payment-row p{font-size:14px;margin:5px 0}.payment-row>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-end;gap:8px}.amount{font-size:22px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;margin-bottom:22px}.stat{display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);background:var(--paper)}.stat span{font-size:14px;color:var(--muted)}.stat strong{line-height:1}.appointment-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.highlight{background:var(--page)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 1100px){.brand{font-size:22px}.content{padding:24px}.two{grid-template-columns:1fr}.procedure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.app-shell{display:block}.content{padding:22px 16px}.panel{padding:20px}.page-title{align-items:flex-start;flex-wrap:wrap}h1{font-size:28px}.scan-zone{padding:28px 16px}.scan-zone h2{font-size:22px}.filters .field{min-width:140px;flex:1}.checks{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal{padding:20px;max-height:calc(100dvh - 24px)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.procedure-grid{gap:9px}.procedure{font-size:16px}.payment-row>div:nth-child(2){align-items:flex-start}.login-card{padding:28px}.arrival dl{width:100%}dl{grid-template-columns:1fr 1.3fr}.row.between>h2{margin-right:8px}}.card-counts,.form-complaints,.form-signatures{display:flex;flex-wrap:wrap;gap:16px 28px;margin:20px 0}.card-counts>span{padding:14px 18px;border:1px solid var(--border);background:var(--paper)}.stay-form{max-width:1000px;margin:0 auto}.consent-form{max-width:850px;margin:0 auto}.consent-form header,.consent-signatures{margin:1.5rem 0}.consent-signatures p{margin:1.4rem 0}.form-heading{margin:24px 0}.form-signatures{justify-content:space-between;padding:24px 0;break-inside:avoid}.stay-form td,.stay-form dd{overflow-wrap:anywhere}.badge.available,.badge.issued,.badge.lost{background:var(--page);color:var(--lapis-soft)}.app-shell{display:block}.brand small{color:var(--lapis-soft)}h1{line-height:1.15}h3{font-weight:500}small{color:var(--lapis-soft)}a:not(.button):not(.brand){min-height:44px;display:inline-flex;align-items:center}button,.button{border:1px solid var(--line);border-radius:8px;background:var(--paper);font-weight:500}button.primary,.button.primary{background:var(--tile);border-color:var(--tile);color:var(--on-accent);position:relative;isolation:isolate}button.primary:hover,.button.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}:focus-visible{outline:3px solid var(--tile);outline-offset:3px}.panel{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:var(--paper);padding:24px}.grid{gap:24px}.field>span{color:var(--lapis-soft)}input,select,textarea{color:var(--lapis);background:var(--paper)}input::placeholder{color:var(--lapis-soft)}input[type=checkbox]{accent-color:var(--accent)}.checks label{min-height:44px}.empty{text-align:left;color:var(--lapis-soft)}.notice{border:1px solid var(--line);border-left:4px solid var(--wait);color:var(--lapis)}.notice.error{border-left-color:var(--bad);color:var(--bad)}.notice.success{border-left-color:var(--ok);color:var(--ok)}.positive{color:var(--ok)}.badge{font-size:14px;font-weight:500}.badge.pending,.badge.claimed{background:var(--status-wait-bg);color:var(--status-wait-text)}.badge.available,.badge.verified,.badge.checked_in,.badge.active{background:var(--status-ok-bg);color:var(--ok)}.badge.lost,.badge.rejected,.badge.blocked,.badge.no_show{background:var(--status-bad-bg);color:var(--bad)}.badge.prepaid,.badge.scheduled,.badge.issued{background:var(--status-info-bg)}.badge.checked_out,.badge.done,.badge.cancelled{background:var(--page);color:var(--lapis-soft)}.scan-zone{align-items:flex-start;text-align:left;border-color:var(--tile);background:var(--paper);color:var(--lapis)}.scan-zone p{color:var(--lapis-soft)}.scan-icon{box-shadow:none;color:var(--tile)}.kiosk-slot{min-height:280px;justify-content:center;padding:48px}.kiosk-slot h2{font-size:40px}.procedure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.procedure{min-height:88px;background:var(--paper)}.procedure:hover{background:var(--page);border-color:var(--border-strong)}.patient-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:28px;align-items:start;margin-bottom:32px}.patient-pass{border-top:8px solid var(--tile);background:var(--paper);transform-origin:top right}.patient-name{overflow-wrap:anywhere}.patient-actions{border-top:1px solid var(--line);padding:22px 0}.patient-actions .actions{flex-direction:column;align-items:stretch}.patient-actions .button{justify-content:flex-start;text-align:left}.patient-actions .primary~.primary{background:var(--paper);color:var(--lapis);border-color:var(--line)}.patient-actions .primary~.primary:before{display:none}.room-plate{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.room-square{display:inline-block;width:12px;height:12px;margin-right:6px;flex-shrink:0;background:var(--std)}.room-square.lux{background:var(--lux)}.room-square.vip{background:var(--vip)}.stay-days{margin:20px 0}.day-cells{display:flex;flex-wrap:wrap}.day-cells .today{outline-offset:1px}.stay-days p{color:var(--lapis-soft);margin:10px 0 0}.pass-payment{padding-top:12px;border-top:1px solid var(--line)}.timeline-day{display:grid;grid-template-columns:120px minmax(0,1fr);border-top:1px solid var(--line)}.timeline-day h3{margin:0}.timeline ul{list-style:none;margin:0;padding:0}.timeline li{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.from-slot{animation:pass-from-slot .24s ease-out both}@keyframes pass-from-slot{0%{transform:translateY(-42px)}to{transform:translateY(0)}}.list-row,.payment-row,.record,.arrival{border-color:var(--line)}.list-row>strong,.amount,.numeric{font-variant-numeric:tabular-nums;text-align:right;margin-left:auto}.pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0;padding-top:16px;border-top:1px solid var(--line);color:var(--lapis-soft)}table{font-size:14px}.chessboard{table-layout:fixed}.chessboard th:first-child{width:172px;min-width:172px}.chessboard .bed-label{white-space:nowrap;font-size:14px;padding-block:0}.chessboard th:not(:first-child){min-width:58px;width:58px;font-size:14px;font-variant-numeric:tabular-nums}.chessboard th small{display:block}.chessboard td{padding:1px 0}.chessboard .today-column{background:var(--today-bg)}.chess-cell{position:relative;min-height:34px;min-width:0;padding:4px 8px;font-size:13px;line-height:1.2;flex-direction:row;align-items:center;gap:6px;white-space:nowrap;border-radius:4px;overflow:hidden;isolation:isolate}.chess-cell>span:not(.today-marker),.chess-cell>small{position:relative;z-index:1}.chess-cell small{font-size:12px}.chess-cell>span:not(.today-marker){min-width:0;overflow:hidden;text-overflow:ellipsis}.chess-cell>small{flex-shrink:100;min-width:0;overflow:hidden;text-overflow:ellipsis}.chess-cell.pending{background:var(--status-wait-bg);color:var(--status-wait-text);border-left:4px solid var(--wait)}.chess-cell.prepaid{border-left:4px solid var(--ok)}.chess-cell.no_show{background:var(--status-bad-bg);color:var(--bad)}.chess-cell.free{color:var(--ok);background:transparent;justify-content:center}.free-plus{opacity:0;font-size:18px}.chess-cell.free:hover .free-plus,.chess-cell.free:focus-visible .free-plus{opacity:1}.today-marker{position:absolute;top:0;bottom:0;border-inline:2px solid currentColor;opacity:.3}.stat{border-radius:0;border-width:0 0 1px;padding:20px 0}.stat strong{font-size:28px}.card-counts>span{border-radius:0;border-width:0 0 1px}.modal{border-radius:8px;box-shadow:none;border:1px solid var(--line)}.login{background:var(--page)}.login-card{border-radius:0;border-top:4px solid var(--border-strong);box-shadow:none}.selected{background:var(--page);border-color:var(--line);border-radius:4px}.stay-form{width:min(210mm,100%);padding:10mm;background:var(--paper);border:1px solid var(--line)}.form-heading{text-align:left;border-bottom:2px solid var(--border-strong);padding-bottom:20px}.form-heading h1{font-family:var(--font-document);font-weight:700}.stay-form .panel{padding:16px;margin-bottom:16px;border:1px solid var(--line)}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;padding:12px;background:var(--paper)}.skip-link:focus{top:12px}.toast-region{position:fixed;z-index:80;right:20px;bottom:12px;max-width:min(440px,calc(100% - 40px));pointer-events:none}@media (max-width: 900px){.patient-overview{grid-template-columns:1fr;gap:16px}.patient-actions .actions{flex-direction:row}.patient-actions .button{flex:1 1 220px}}@media (max-width: 760px){.two{grid-template-columns:1fr}.panel{padding:18px}.patient-pass{padding:22px}.procedure-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.procedure{font-size:16px;padding:8px;overflow-wrap:anywhere}.timeline-day{grid-template-columns:1fr;gap:10px}.kiosk-slot{padding:24px}.kiosk-slot h2{font-size:28px}.stay-form{padding:16px}.payment-row>div:nth-child(2){margin-left:auto;align-items:flex-end}.filters .field{min-width:min(140px,100%)}.row{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.from-slot{animation:none}}body{-webkit-font-smoothing:antialiased}.brand{font-family:var(--font-ui);color:var(--accent-ink);font-size:24px;font-weight:600;letter-spacing:-.5px;flex-shrink:0}.brand small{font-size:12px;letter-spacing:0}.content{max-width:1380px;padding:28px 24px 60px}h1{font-size:var(--text-title);font-weight:600;letter-spacing:-.4px}h2{font-size:var(--text-xl);font-weight:600}h3{font-size:var(--text-lg)}a{color:var(--accent-ink)}button,.button,input,select,textarea{border-radius:var(--radius-control)}button,.button{padding:12px 20px;border-color:var(--border-strong);color:var(--text)}button:hover,.button:hover{background:var(--surface-subtle);border-color:var(--text-muted)}button.primary,.button.primary,.procedure.selected{background:var(--accent);border-color:var(--accent-ink);color:var(--on-accent)}button.primary:hover,.button.primary:hover,.procedure.selected:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.danger{color:var(--bad)}input,select,textarea{border-color:var(--control-border)}input[type=number]{text-align:left;max-width:16rem}.setting-value{display:inline-flex;align-items:center;gap:10px}.setting-value input{width:9rem}.panel,.stat,.card-counts>span,.patient-actions{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:none}.grid>.panel{margin-bottom:0}.grid{margin-bottom:var(--space-6)}.patient-pass{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-7);box-shadow:none}.patient-name{font-family:var(--font-ui);font-size:var(--text-title);font-weight:600;line-height:1.2;letter-spacing:-.4px}.patient-actions .actions{margin-bottom:0}.patient-actions .primary~.primary:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.room-plate{width:fit-content;padding:6px 12px;background:var(--accent-soft);border-radius:10px;color:var(--accent-ink)}.room-plate>span:last-child{color:inherit}.stay-days{padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-inset);background:var(--surface-subtle)}.day-cells{gap:6px}.day-cells>span{flex:1 0 20px;width:auto;height:32px;display:grid;place-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);background:var(--paper)}.day-cells .elapsed{background:var(--accent);border-color:var(--accent-ink);color:var(--on-accent)}.day-cells .today{border:2px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);outline:none}.pass-payment{padding:14px 18px;background:var(--status-ok-bg);border:1px solid var(--line);border-radius:var(--radius-inset)}.pass-payment p{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pass-payment p:last-child{margin-bottom:0}.pass-payment strong{margin-left:auto;text-align:right}.timeline-day{border:0;gap:20px;padding:12px 0}.timeline ul{border-left:2px solid var(--line);padding-left:20px}.timeline li{position:relative;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-subtle);padding:14px 16px;margin-bottom:12px}.timeline li:before{content:"";position:absolute;width:10px;height:10px;top:20px;left:-27px;border-radius:50%;background:var(--accent);outline:4px solid var(--paper)}.timeline time{color:var(--accent-ink)}.badge{border-radius:var(--radius-sm);padding:5px 10px}.badge.prepaid,.badge.scheduled,.badge.issued{color:var(--accent-ink)}.badge.done,.badge.cancelled,.badge.checked_out{color:var(--neutral);background:var(--neutral-bg)}.notice{border-radius:var(--radius-control);background:var(--status-wait-bg)}.notice.success{background:var(--status-ok-bg)}.notice.error{background:var(--status-bad-bg)}.scan-zone{border:1px dashed var(--border-strong);border-radius:var(--radius-card);padding:40px 28px}.scan-icon{border:0;border-radius:var(--radius-inset);background:var(--accent-soft)}.procedure{border:1px solid var(--border-strong);border-radius:var(--radius-inset);font-size:var(--text-lg)}.selected,fieldset{border-radius:var(--radius-control);background:var(--surface-subtle)}.table-scroll{border-radius:var(--radius-inset);background:var(--paper)}thead th{background:var(--surface-subtle)}th,td{padding:12px}.chessboard th{padding:6px 4px}.chessboard .chess-cell{min-height:44px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid transparent}.chess-cell.checked_in{background:var(--status-ok-bg);color:var(--ok)}.chess-cell.prepaid{background:var(--accent-soft);color:var(--accent-ink);border-left-color:var(--accent-ink)}.chess-cell.checked_out,.chess-cell.cancelled{color:var(--neutral);background:var(--neutral-bg)}.chess-cell:hover{border-color:currentColor}.chess-cell.free:hover{background:var(--surface-subtle)}.chessboard .chess-cell:focus-visible{outline-offset:-3px}.chess-cell small{opacity:1}.modal,.login-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card)}.modal-backdrop{background:var(--backdrop)}.amount,.numeric{font-variant-numeric:tabular-nums;text-align:right}.staff-password{overflow-wrap:anywhere}.procedure.selected small{color:inherit}.treatment-discharge{border-radius:var(--radius-card)}@media (max-width: 760px){.content{padding:24px 16px 40px}.brand{margin-right:auto}.panel,.stat,.patient-pass,.patient-actions{padding:18px}.patient-name{font-size:var(--text-title)}.stay-days{padding:14px 12px}.timeline-day{gap:10px}.timeline ul{margin-left:4px}.pagination{flex-wrap:wrap}.appointment-columns{grid-template-columns:minmax(0,1fr)}.filters .field{max-width:100%}.field,.row>*{min-width:0}.login{padding:16px}}.card-counts>span,.table-scroll,.stat,.panel,.procedure,button{color:var(--text)}button.primary,.button.primary,.procedure.selected{color:var(--on-accent)}@page{size:A4;margin:14mm}@media print{html,body,#root,.app-shell,.workspace,.content{display:block;width:auto;min-width:0;min-height:0;margin:0;padding:0;background:#fff!important;color:#000!important;font-size:10pt}.sidebar,.topbar,.no-print,.modal-backdrop,.content>.notice,.content>button{display:none!important}.stay-form,.stay-form *,.consent-form,.consent-form *{color:#000!important;background:#fff!important;text-shadow:none!important}.consent-form .panel{border:0;padding:0}.stay-form .panel{border:1px solid black;border-radius:0;padding:3mm;margin:0 0 3mm}.stay-form .day-cells .elapsed{background:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.stay-form .day-cells>span{border-color:#000}.stay-form .day-cells .today{outline-color:#000}.stay-form .table-scroll{max-height:none}.stay-form th{position:static}.stay-form h1{font-size:18pt}.stay-form h2{font-size:13pt;margin:0 0 2mm;break-after:avoid}.stay-form h3{font-size:11pt;break-after:avoid}.stay-form dl{grid-template-columns:40% 1fr;margin:2mm 0;gap:1mm 3mm}.stay-form .table-scroll{overflow:visible}.stay-form table{width:100%;min-width:0;table-layout:fixed;font-size:9pt}.stay-form th,.stay-form td{padding:2mm;border-bottom:1px solid black}.stay-form thead{display:table-header-group}.stay-form tr,.stay-form .record,.form-signatures{break-inside:avoid}.stay-form a{text-decoration:none;display:inline;min-height:0}.form-signatures{margin-top:8mm}}@media print{:root,:root[data-theme=dark]{color-scheme:light;--page: #ffffff;--paper: #ffffff;--surface-subtle: #ffffff;--text: #000000;--text-muted: #000000;--accent: #000000;--accent-ink: #000000;--control-border: #000000;--accent-soft: #ffffff;--accent-hover: #000000;--on-accent: #ffffff;--line: #000000;--border-strong: #000000;--ok: #000000;--wait: #000000;--bad: #000000;--neutral: #000000;--neutral-bg: #ffffff;--status-ok-bg: #ffffff;--status-wait-bg: #ffffff;--status-bad-bg: #ffffff}.app-header,.toast-region,.skip-link{display:none!important}*,*:before,*:after{box-shadow:none!important;text-shadow:none!important}.stay-form,.treatment-discharge{border-radius:0;border:0;background:#fff!important;color:#000!important}.stay-form .day-cells .elapsed{color:#fff!important}}.roles-table th[scope=row] small{display:block;color:var(--text-muted);font-weight:400}.roles-table td{white-space:nowrap}.roles-change{color:var(--ok)}.roles-view{color:var(--accent-ink)}.roles-none{color:var(--text-muted)}.roles-home{margin:0;padding-left:20px}.integration-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px)}.integration-head h2{margin:0}.integration-how{margin-top:var(--space-3, 12px)}.integration-how summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:500;color:var(--accent-ink)}.integration-how ol{padding-left:20px}.integration-card .muted{color:var(--text-muted);font-size:var(--text-sm, 14px)}.roles-table td{min-width:164px;padding:8px;vertical-align:top}.roles-table td.roles-all{min-width:96px;padding:12px}.roles-table th[scope=row]{min-width:190px;max-width:240px;white-space:normal}.roles-table th[scope=row] small{font-size:var(--text-sm);line-height:1.35}.roles-table th[scope=row] small+small{margin-top:4px}.roles-table select{width:100%;min-height:44px;font-size:var(--text-sm);padding:8px}.roles-table .roles-group th{position:static;background:var(--surface-subtle);color:var(--text);font-weight:600;max-width:none}.roles-table .roles-group span{position:sticky;left:12px}.roles-all{color:var(--ok);font-weight:600}.roles-locked{color:var(--text-muted)}.roles-dirty{background:var(--accent-soft)}.roles-mark{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--accent-ink);font-weight:500}.roles-note{color:var(--text-muted);margin:var(--space-3) 0 0}.roles-changes{position:sticky;bottom:0;z-index:5;margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--radius-card);max-height:60vh;overflow:auto}.roles-changes h2{margin-top:0}.roles-changes ul,.roles-rules{margin:0;padding-left:20px}.roles-changes li+li,.roles-rules li+li{margin-top:6px}.roles-warn{display:block;color:var(--wait);font-size:var(--text-sm);font-weight:500}@media (max-width: 640px){.roles-table th[scope=row]{min-width:132px;max-width:150px}.roles-table th[scope=row] small{display:none}.roles-table td{min-width:180px}.roles-changes{padding:var(--space-3) var(--space-4)}}.hd-lang{background:none;border:1px solid var(--line);border-radius:var(--radius-inset, 6px);padding:4px 8px;font-size:var(--text-sm);cursor:pointer;color:inherit}.hd-lang:hover{border-color:var(--accent-ink, currentColor)}.hd-phone-scan,.phone-scan button{min-height:44px;padding:8px 16px;font-weight:600;border-radius:var(--radius-sm)}.hd-phone-scan{color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--line)}.hd-reader{flex-wrap:wrap}.hd-reader-error,.phone-error{flex-basis:100%;font-size:var(--text-sm);font-weight:600;color:var(--bad)}.phone-hint{font-size:var(--text-sm);color:var(--text-muted)}.phone-scan{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:12px}@media (max-width: 899px){.hd-menu-toggle,.hd-close,.hd-logout,.hd .theme-toggle{min-height:44px}.hd .theme-toggle{min-width:44px}.hd-nav .hd-link{min-height:44px}.hd-phone-scan{flex:1 1 100%}}@media (max-width: 600px){html,body{max-width:100%;overflow-x:hidden}.app-shell,.workspace,.content,.panel,.grid>*,.row>*{min-width:0;max-width:100%}.content :is(h1,h2,h3,.patient-name,.ccard-name){overflow-wrap:anywhere}.content :is(button,.button,input:not([type=checkbox],[type=radio]),select,textarea){min-height:44px}.list-row{flex-wrap:wrap}.procedure-grid{grid-template-columns:minmax(0,1fr)}.procedure{min-height:64px}.kiosk-slot{min-height:0;padding:24px 16px}.kiosk-slot h2{font-size:28px}.ccard-actions{flex-direction:column}.ccard-actions .button,.ccard-actions>button{width:100%}.ccard-grid{gap:16px}.mobile-primary{position:fixed;left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;width:auto;min-height:52px;box-shadow:0 6px 20px color-mix(in srgb,var(--text) 25%,transparent)}.content:has(.mobile-primary){padding-bottom:96px}.toast-region{right:16px;left:16px;max-width:none;bottom:76px}}
