:root{--color-bg:#f5f7fb;--color-bg-accent:#f4efe3;--color-bg-gradient:linear-gradient(180deg, var(--color-bg-accent) 0%, var(--color-bg) 46%, color-mix(in srgb, var(--color-bg) 88%, white) 100%);--color-surface:#ffffffeb;--color-surface-muted:#f8fafb;--color-text:#173042;--color-text-muted:#607788;--color-primary:#173042;--color-primary-hover:#244b67;--color-primary-text:#fff;--color-secondary:#1f7a48;--color-accent:#8b6414;--color-accent-soft:color-mix(in srgb, var(--color-accent) 16%, white);--color-border:#dde6eb;--color-danger:#c24740;--color-success:#1f7a48;--color-warning:#8b6414;--color-sidebar:#ffffffeb;--color-sidebar-text:#173042;--color-card:#ffffffeb;--gradient-primary:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);--gradient-app:linear-gradient(180deg, var(--color-bg-accent) 0%, var(--color-bg) 46%, color-mix(in srgb, var(--color-bg) 88%, white) 100%);--gradient-sidebar:linear-gradient(180deg, color-mix(in srgb, var(--color-sidebar) 96%, white) 0%, color-mix(in srgb, var(--color-sidebar) 88%, var(--color-bg)) 100%);--gradient-card-header:linear-gradient(135deg, color-mix(in srgb, var(--color-surface-muted) 92%, white) 0%, color-mix(in srgb, var(--color-bg-accent) 30%, white) 100%);color:var(--color-text);background:radial-gradient(circle at top left, color-mix(in srgb, var(--color-bg-accent) 60%, transparent), transparent 34%), var(--gradient-app,var(--color-bg-gradient));font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top center, color-mix(in srgb, var(--color-bg-accent) 50%, transparent), transparent 38%), var(--gradient-app,var(--color-bg-gradient));min-height:100vh;color:var(--color-text);margin:0}button,input,select{font:inherit}button{background:color-mix(in srgb, var(--color-surface-muted) 85%, white);color:var(--color-text);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:700;transition:transform .16s,box-shadow .2s,background-color .2s,border-color .2s,color .2s;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}button:not(:disabled):hover{transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);outline:0}label{color:var(--color-text-muted);margin:14px 0 8px;font-size:13px;font-weight:800;display:block}.appShell{max-width:1320px;margin:0 auto;padding:18px 16px 24px}.topbar{background:var(--gradient-card-header);border:1px solid color-mix(in srgb, var(--color-border) 80%, white);border-radius:20px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:14px 16px;display:flex;box-shadow:0 14px 34px #22364414}.topbar h1{margin:0;font-size:28px}.topbar p{color:var(--color-text-muted);margin:6px 0 0}.topbarActions{align-items:center;gap:10px;display:flex}.topMeta{color:var(--color-text-muted);font-size:12px;font-weight:700}.tabs,.modeBadge{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;align-items:center;gap:8px;padding:8px;display:flex}.tabs{margin-bottom:14px}.tabs button{flex:1}.tabs button.active,.activeChoice,.primary{background:var(--color-primary)!important;color:var(--color-primary-text)!important}.ghost{background:var(--color-surface);border:1px solid var(--color-border)}.mini{padding:8px 10px;font-size:12px}.modeBadge{width:fit-content;color:var(--color-text-muted);margin-bottom:14px;font-weight:700}.card,.loginCard,.adminSection{background:var(--color-card);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:22px;box-shadow:0 14px 40px #22364414}.card{padding:18px}.card h2,.card h3{align-items:center;gap:8px;margin:0;display:flex}.cardHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;display:flex}.cardHeader.compact h2,.cardHeader.compact h3{font-size:16px}.softBadge,.typeBadge,.statusBadge,.eyebrow{border-radius:999px;align-items:center;width:fit-content;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.softBadge,.typeBadge{background:color-mix(in srgb, var(--color-surface-muted) 90%, white);color:var(--color-text-muted)}.statusBadge.on{background:color-mix(in srgb, var(--color-success) 16%, white);color:var(--color-success)}.statusBadge.off{background:color-mix(in srgb, var(--color-surface-muted) 85%, white);color:var(--color-text-muted)}.eyebrow{background:color-mix(in srgb, var(--color-warning) 18%, white);color:var(--color-warning);letter-spacing:.06em;text-transform:uppercase}.checkinLayout{grid-template-columns:minmax(220px,1fr) minmax(260px,1.1fr) minmax(220px,1fr);gap:14px;display:grid}.checkinCard{min-height:620px}.search{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;align-items:center;gap:8px;padding:0 12px;display:flex;box-shadow:inset 0 1px #ffffff73}.search input,.adminInput,.adminSelect{width:100%;color:var(--color-text);background:0 0;border:0;outline:0}.search input{padding:11px 0}.adminInput,.adminSelect{border:1px solid var(--color-border);background:var(--color-surface);border-radius:11px;padding:9px 11px}.adminInput:focus,.adminSelect:focus,.search input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 16%, transparent)}.guestPurchaseCard{text-align:left;border:1px solid var(--color-primary);background:var(--gradient-primary,var(--color-primary));width:100%;color:var(--color-primary-text);box-shadow:0 10px 22px color-mix(in srgb, var(--color-primary) 24%, transparent);border-radius:14px;justify-content:space-between;margin-top:10px;padding:12px 14px}.guestPurchaseCard:hover,.guestPurchaseCard:focus-visible{background:linear-gradient(135deg, var(--color-primary-hover) 0%, var(--color-primary) 100%);border-color:var(--color-primary-hover)}.guestPurchaseCard span{flex-direction:column;gap:4px;display:flex}.guestPurchaseCard small{color:color-mix(in srgb, var(--color-primary-text) 78%, transparent)}.results{flex-direction:column;gap:8px;margin-top:12px;display:flex}.compactList{max-height:540px;overflow:auto}.person{text-align:left;background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 86%, white) 0%, color-mix(in srgb, var(--color-surface-muted) 94%, white) 100%);border:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:11px 12px;display:flex;box-shadow:0 8px 18px #2236440d}.person span{flex-direction:column;gap:3px;display:flex}.person small{color:var(--color-text-muted)}.person.selected{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary);box-shadow:0 10px 22px color-mix(in srgb, var(--color-primary) 26%, transparent)}.person.selected small{color:#ffffffc7}.mealGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choiceCard{background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;gap:10px;min-height:108px;box-shadow:inset 0 1px #ffffff73}.choiceCard span{font-size:14px}.serviceGrid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.takeoutGrid{margin-bottom:6px}.serviceButton{min-height:46px}.recordButton,.loginButton{width:100%;min-height:52px;margin-top:18px}.actionRow{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.missedBtn{margin-top:10px}.notice,.errorNotice{border-radius:14px;margin:14px 0 0;padding:11px 12px;font-weight:700}.shellNotice{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.notice{background:color-mix(in srgb, var(--color-success) 12%, white);border:1px solid color-mix(in srgb, var(--color-success) 30%, var(--color-border));color:var(--color-success)}.errorNotice{background:color-mix(in srgb, var(--color-danger) 12%, white);border:1px solid color-mix(in srgb, var(--color-danger) 30%, var(--color-border));color:var(--color-danger)}.dateBadge,.summaryBlock{border:1px solid var(--color-border);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 90%, white) 0%, color-mix(in srgb, var(--color-surface-muted) 92%, white) 100%);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex;box-shadow:inset 0 1px #ffffff80}.dateBadge strong,.summaryValue{font-size:24px;line-height:1.1}.summaryValue{color:var(--color-text);margin:0}.summarySubvalue{color:var(--color-text-muted);margin:0;font-size:15px;font-weight:700}.projectionBlock{flex-direction:column;gap:4px;display:flex}.owedInline{color:var(--color-danger);margin:0;font-size:13px;font-weight:800}.sidePanel{flex-direction:column;gap:12px;display:flex}.miniFeed{flex-direction:column;gap:8px;display:flex}.miniFeedRow{border-bottom:1px solid color-mix(in srgb, var(--color-border) 82%, white);flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.miniFeedRow:last-child{border-bottom:0;padding-bottom:0}.miniFeedRow span,.miniFeedRow small,.muted{color:var(--color-text-muted)}.adminPanel{flex-direction:column;gap:10px;display:flex}.adminWorkspace{grid-template-columns:240px 1fr;align-items:start;gap:14px;display:grid}.adminSidebar{background:var(--gradient-sidebar,var(--color-sidebar));border:1px solid var(--color-border);color:var(--color-sidebar-text);border-radius:20px;padding:14px;box-shadow:0 14px 40px #22364414}.adminSidebarHeader h2{margin:0 0 10px}.adminSidebarList{flex-direction:column;gap:6px;display:flex}.sidebarItem{background:0 0;border:1px solid #0000;justify-content:flex-start;min-height:46px}.sidebarItem.active{background:var(--color-primary);color:var(--color-primary-text)}.adminContent{min-height:600px}.sidebarToggle{margin-bottom:10px;display:none}.adminSection{overflow:hidden}.sectionToggle{background:0 0;border-radius:0;justify-content:space-between;width:100%;padding:14px 18px}.sectionTitle{align-items:center;gap:10px;display:flex}.chevron{transition:transform .2s}.chevron.open{transform:rotate(180deg)}.sectionBody{border-top:1px solid color-mix(in srgb, var(--color-border) 80%, white);padding:16px 18px 18px}.sectionSubhead{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:18px 0 10px;font-size:11px;font-weight:800}.metricRow{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px;display:grid}.adminMetric{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 92%, white) 0%, color-mix(in srgb, var(--color-surface-muted) 94%, white) 100%);border:1px solid var(--color-border);border-radius:14px;padding:13px 14px;box-shadow:inset 0 1px #ffffff73}.adminMetric span{color:var(--color-text-muted);font-size:12px;display:block}.adminMetric strong{margin-top:4px;font-size:20px;display:block}.addRow{grid-template-columns:1fr 1fr 150px 92px;align-items:center;gap:8px;margin-bottom:14px;display:grid}.kioskRow{grid-template-columns:1fr 1fr 1fr 92px}.wideAddRow{grid-template-columns:1.2fr 1fr 180px 120px}.permissionsGrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.permItem{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;align-items:center;gap:8px;margin:0;padding:8px 10px;display:flex}.placeholderCell{min-height:1px}.addBtn,.settingsSave{background:var(--color-primary);color:var(--color-primary-text)}.adminTable,.planList,.staffList,.settingsList{flex-direction:column;gap:8px;display:flex}.transactionsToolbar{z-index:20;background:color-mix(in srgb, var(--color-card) 94%, white);border:1px solid color-mix(in srgb, var(--color-border) 82%, white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px;display:flex;position:sticky;top:10px;box-shadow:0 12px 28px #2236440f}.transactionsToolbarRow{flex-wrap:wrap;gap:8px;display:flex}.compactToggle{min-height:42px;margin:0}.transactionSummary{grid-template-columns:minmax(150px,1.4fr) repeat(5,minmax(70px,auto)) auto auto;align-items:center;gap:10px;width:100%;display:grid}.personRow,.planRow,.staffRow,.settingRow{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 90%, white) 0%, color-mix(in srgb, var(--color-surface-muted) 94%, white) 100%);border:1px solid var(--color-border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.personRow.inactive{opacity:.58}.personRow.editing{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface-muted))}.personName,.planInfo,.staffInfo{flex:1}.planInfo,.staffInfo{flex-direction:column;gap:4px;display:flex}.historyBlock,.auditDetails{width:100%;margin-top:8px}.auditSummary{cursor:pointer;list-style:none}.auditSummary::-webkit-details-marker{display:none}.auditDetails pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;margin:0;padding:10px;font-size:12px}.miniCheck{min-height:38px}.planControl,.staffControls,.rowActions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.inlineField{align-items:center;gap:8px;margin:0;display:flex}.iconBtn{background:var(--color-surface);border:1px solid var(--color-border);padding:7px 11px}.iconBtn.danger{border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-border));color:var(--color-danger)}.iconBtn.save,.iconBtn.exportBtn{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.planStats,.settingDesc,.txCount{color:var(--color-text-muted);font-size:12px}.owedTag{background:color-mix(in srgb, var(--color-danger) 12%, white);width:fit-content;color:var(--color-danger);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.priceGrid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.priceBox{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.priceBox span{flex:1;font-weight:700}.priceBox input{text-align:right;max-width:110px}.filterRow{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.filterRow .adminInput,.filterRow .adminSelect{flex:1;min-width:128px}.tableWrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:auto;box-shadow:inset 0 1px #ffffff85}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--color-border) 78%, white);white-space:nowrap;padding:10px 12px}th{background:var(--color-surface-muted);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;z-index:1;font-size:11px;position:sticky;top:0}tr:last-child td{border-bottom:0}tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-surface-muted) 38%, white)}.emptyStateText{text-align:center;color:var(--color-text-muted);margin:0;padding:24px 14px;font-weight:700}.screenCenter{place-items:center;min-height:100vh;padding:20px;display:grid}.modalOverlay{z-index:1000;background:#0a10187a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modalCard{background:var(--color-card);border:1px solid var(--color-border);border-radius:22px;flex-direction:column;width:min(92vw,1320px);height:min(92vh,920px);display:flex;overflow:hidden;box-shadow:0 24px 60px #111b243d}.modalHeader{border-bottom:1px solid color-mix(in srgb, var(--color-border) 80%, white);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.modalHeader h2{margin:0;font-size:20px}.modalBody{flex:1;min-height:0;position:relative}.guestPurchaseFrame{background:#fff;border:0;width:100%;height:100%}.modalFallback{background:color-mix(in srgb, var(--color-surface) 94%, white);border:1px solid var(--color-border);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:18px}.loginCard{background:linear-gradient(180deg, color-mix(in srgb, var(--color-card) 96%, white) 0%, var(--color-card) 100%);width:min(460px,100%);padding:24px}.loginHero h1{margin:10px 0 6px;font-size:30px}.loginHero p{color:var(--color-text-muted);margin:0 0 18px}.settingBlock{flex-direction:column;gap:10px;display:flex}.settingsShell{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:14px;display:grid}.settingsNav{flex-direction:column;gap:8px;display:flex}.settingsNavItem{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;justify-content:flex-start;align-items:flex-start;min-height:78px;padding:12px 13px}.settingsNavItem strong{color:var(--color-text);font-size:13px}.settingsNavItem span{color:var(--color-text-muted);font-size:12px;font-weight:600}.settingsNavItem.active{background:var(--color-primary);border-color:var(--color-primary)}.settingsNavItem.active strong,.settingsNavItem.active span{color:var(--color-primary-text)}.settingsPane{flex-direction:column;gap:12px;display:flex}.settingsPaneHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.settingsPaneHeader h3{margin:0;font-size:20px}.settingsPaneHeader p{color:var(--color-text-muted);margin:6px 0 0}.settingsToggle{min-width:72px}.themeHeader{margin-bottom:0}.themeActions{justify-content:flex-end;display:flex}.themeGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.themeCard{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;justify-content:space-between;align-items:flex-start;min-height:132px;padding:14px;box-shadow:inset 0 1px #ffffff7a}.themeCard strong{color:var(--color-text)}.activeThemeCard{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 18%, transparent)}.themeSwatches{gap:8px;margin-top:6px;display:flex}.themeSwatch{border:1px solid color-mix(in srgb, var(--color-border) 78%, white);border-radius:999px;width:22px;height:22px}.loginModes{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px;display:grid}@media (width<=1180px){.appShell{padding:12px}.checkinLayout{grid-template-columns:minmax(200px,1fr) minmax(220px,1.05fr) minmax(190px,.92fr);gap:10px}.card{padding:14px}.transactionsToolbar{padding:10px}.checkinCard{min-height:560px}.choiceCard{gap:8px;min-height:92px}.choiceCard span,.serviceButton,.person strong,.summaryValue{font-size:13px}.dateBadge strong,.summaryValue{font-size:20px}}@media (width<=920px){.checkinLayout{grid-template-columns:minmax(170px,.95fr) minmax(210px,1.05fr) minmax(170px,.92fr);gap:8px}.topbar h1{font-size:24px}.cardHeader.compact h2,.cardHeader.compact h3,.person,.planStats,.settingDesc,.txCount,th,td{font-size:12px}.choiceCard{min-height:82px;padding:8px}.serviceButton,.recordButton{min-height:42px}.search{padding:0 10px}.search input{padding:9px 0}.adminWorkspace{grid-template-columns:220px 1fr;gap:10px}.transactionSummary{grid-template-columns:minmax(140px,1fr) repeat(3,auto) auto}.settingsShell{grid-template-columns:210px minmax(0,1fr);gap:10px}.permissionsGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.appShell{padding:10px}.topbar{flex-direction:column;align-items:flex-start}.topbarActions{justify-content:stretch}.topbarActions,.tabs,.metricRow,.priceGrid,.mealGrid,.addRow,.kioskRow,.wideAddRow,.permissionsGrid,.actionRow,.checkinLayout{grid-template-columns:1fr}.sidebarToggle{display:inline-flex}.adminWorkspace{grid-template-columns:1fr}.adminSidebar{display:none}.adminSidebar.open{display:block}.settingsShell{grid-template-columns:1fr}.settingsNav{grid-template-columns:repeat(2,1fr);display:grid}.settingsPaneHeader{flex-direction:column}.topbarActions,.filterRow,.transactionsToolbarRow,.staffControls,.rowActions{width:100%}.topbarActions>*,.transactionsToolbarRow>*{flex:100%}.tabs{flex-direction:column}.card,.sectionBody,.loginCard{padding:14px}.checkinCard{min-height:auto}.serviceGrid{grid-template-columns:1fr 1fr}.modalOverlay{padding:8px}.modalCard{border-radius:18px;width:100%;height:96vh}.personRow,.planRow,.staffRow,.settingRow{align-items:flex-start}.planControl,.staffControls,.rowActions{margin-left:0}.transactionSummary{grid-template-columns:1fr}th{position:static}}@media print{:root{background:#fff}body{color:#000;background:#fff}.topbar,.tabs,.modeBadge,.adminSidebar,.sidebarToggle,button,.filterRow,.settingsNav{display:none!important}.appShell,.adminContent,.card,.adminSection{width:100%;max-width:none;box-shadow:none;background:#fff;border:0;margin:0;padding:0}.tableWrap,table,th,td{color:#000!important;background:#fff!important}}
