:root{--bg: #f4f7fb;--surface: #ffffff;--surface-strong: #f9fbff;--text: #1e2430;--muted: #667085;--border: #d9e2ef;--shadow: 0 20px 48px rgba(18, 32, 63, .08);--green: #1f8f56;--green-soft: #e8f6ee;--green-deep: #0f6d3d;--blue: #2563eb;--blue-soft: #eaf1ff;--amber: #c67a00;--amber-soft: #fff4dd;--red: #b42318;--red-soft: #fdecec;--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--content-max: 1120px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 28%),radial-gradient(circle at top right,rgba(31,143,86,.1),transparent 22%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{border:0}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);padding:14px 16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}input:focus,select:focus,textarea:focus{border-color:#2563eb66;box-shadow:0 0 0 4px #2563eb1a}textarea{resize:vertical;min-height:96px}a{color:inherit}.boot-screen,.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px}.boot-card{width:min(420px,100%);padding:28px;border-radius:28px;background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);text-align:center}.boot-pulse{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--blue));animation:pulse 1.35s infinite ease-in-out}@keyframes pulse{0%,to{transform:scale(.94);opacity:.9}50%{transform:scale(1.04);opacity:1}}.auth-page{background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 24%),radial-gradient(circle at bottom right,rgba(31,143,86,.16),transparent 26%),linear-gradient(180deg,#eff4ff,#f4f7fb)}.auth-shell{width:min(1080px,100%);display:grid;gap:20px}.auth-hero,.auth-card,.panel,.summary-card,.topbar{background:#ffffffe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(217,226,239,.9);box-shadow:var(--shadow)}.auth-hero{border-radius:30px;padding:28px}.hero-badge,.topbar-kicker,.code-badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em}.hero-badge{padding:8px 12px;color:var(--green-deep);background:var(--green-soft);margin-bottom:18px}.auth-hero h1,.topbar h1,.panel h2,.sheet-header h2{margin:0;line-height:1.08}.auth-hero h1{font-size:clamp(2rem,7vw,3.4rem);margin-bottom:12px}.auth-hero p{margin:0;color:var(--muted);line-height:1.6}.hero-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px;color:var(--text)}.hero-list li{background:#ffffffc2;border:1px solid rgba(217,226,239,.75);border-radius:16px;padding:12px 14px}.auth-card{border-radius:30px;padding:28px;display:grid;gap:14px}.auth-card h2{font-size:1.5rem;margin-bottom:4px}.auth-card label,.sheet-form label{display:grid;gap:8px;font-size:.95rem;color:var(--muted)}.priority-flag{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(31,143,86,.18);background:#1f8f560f;color:var(--text)}.priority-flag input{margin-top:4px}.priority-flag span{display:grid;gap:4px}.priority-flag small{color:var(--muted);line-height:1.4}.primary-button,.secondary-button,.call-client-button,.ghost-button,.icon-button{min-height:48px;border-radius:16px;padding:0 18px;font-weight:800;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button:hover,.secondary-button:hover,.call-client-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button{color:#fff;background:linear-gradient(135deg,var(--green),var(--green-deep));box-shadow:0 16px 30px #1f8f563d}.secondary-button{color:var(--blue);background:var(--blue-soft);border:1px solid rgba(37,99,235,.14)}.call-client-button{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid rgba(217,119,6,.22);box-shadow:0 16px 30px #d977062e}.ghost-button,.icon-button{color:var(--text);background:#ffffffb8;border:1px solid var(--border)}.icon-button{width:44px;padding:0;font-size:1.4rem;line-height:1}.dashboard{min-height:100vh}.topbar{position:sticky;top:0;z-index:5;display:flex;flex-direction:column;gap:14px;justify-content:space-between;padding:16px;margin:0 auto;width:min(var(--content-max),calc(100% - 16px));border-radius:0 0 24px 24px}.topbar-copy{min-width:0}.topbar-kicker{padding:7px 10px;margin-bottom:10px;color:var(--blue);background:var(--blue-soft)}.topbar p{margin:8px 0 0;color:var(--muted)}.content{width:min(var(--content-max),calc(100% - 16px));margin:16px auto 0;padding-bottom:28px;display:grid;gap:16px}.notice{padding:14px 16px;border-radius:18px;border:1px solid transparent;font-weight:600}.notice.success{color:var(--green-deep);background:var(--green-soft);border-color:#1f8f562e}.notice.warning,.notice.info{color:var(--amber);background:var(--amber-soft);border-color:#c67a0026}.notice.danger{color:var(--red);background:var(--red-soft);border-color:#b4231826}.toast-stack{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:10px;width:calc(100% - 32px);max-width:440px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;border:1px solid transparent;font-weight:600;font-size:14px;line-height:1.35;background:#fff;color:var(--text, #1f2937);box-shadow:0 16px 38px #0f172a2e;cursor:pointer;animation:toast-in .22s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;background:#64748b}.toast-text{flex:1}.toast-close{flex:0 0 auto;border:none;background:transparent;color:inherit;opacity:.55;font-size:20px;line-height:1;cursor:pointer;padding:0 2px}.toast-close:hover{opacity:1}.toast.success{color:var(--green-deep);background:var(--green-soft);border-color:#1f8f5638}.toast.success .toast-icon{background:var(--green-deep)}.toast.warning,.toast.info{color:var(--amber);background:var(--amber-soft);border-color:#c67a0033}.toast.warning .toast-icon,.toast.info .toast-icon{background:var(--amber)}.toast.danger{color:var(--red);background:var(--red-soft);border-color:#b4231833}.toast.danger .toast-icon{background:var(--red)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-card{border-radius:22px;padding:16px;display:grid;gap:8px}.summary-card span{color:var(--muted);font-size:.9rem}.summary-card strong{font-size:1.8rem;line-height:1}.panel{border-radius:28px;padding:18px}.panel-highlight{border-color:#2563eb2e;background:linear-gradient(180deg,#eaf1ffc7,#fffffff2),#ffffffeb}.panel-header{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.panel-header p{margin:8px 0 0;color:var(--muted)}.panel-actions{display:flex;gap:10px;flex-wrap:wrap}.date-filter{display:grid;gap:8px;margin-bottom:14px;color:var(--muted);font-size:.95rem}.search-date-filter{margin-top:2px}.search-row,.search-result-block{display:grid;gap:10px}.search-result-tag{width:fit-content;padding:7px 10px;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border);color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.chip{min-height:42px;padding:0 14px;border-radius:999px;color:var(--text);background:#fff;border:1px solid var(--border);cursor:pointer}.chip.active{color:var(--green-deep);background:var(--green-soft);border-color:#1f8f562e}.stack{display:grid;gap:12px}.mini-loading{margin-bottom:14px;color:var(--muted);font-size:.95rem}.reservation-card{border-radius:24px;background:var(--surface);border:1px solid var(--border);padding:18px;display:grid;gap:14px}.reservation-card.spotlight{border-color:#2563eb2e;box-shadow:0 18px 36px #2563eb14}.reservation-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.waitlist-badges{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;justify-content:flex-end}.reservation-head h3{margin:10px 0 6px;font-size:1.1rem}.reservation-head p{margin:0;color:var(--muted)}.code-badge{padding:7px 10px;color:var(--text);background:var(--surface-strong);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em}.code-badge.green{color:var(--green-deep);background:var(--green-soft);border-color:#1f8f562e}.code-badge.blue{color:var(--blue);background:var(--blue-soft);border-color:#2563eb29}.code-badge.amber{color:var(--amber);background:var(--amber-soft);border-color:#c67a0024}.code-badge.red{color:var(--red);background:var(--red-soft);border-color:#b4231824}.status-pill{padding:8px 12px;color:#fff;border:0}.status-pill.green{background:linear-gradient(135deg,var(--green),var(--green-deep))}.status-pill.blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.status-pill.amber{background:linear-gradient(135deg,#c67a00,#b45309)}.status-pill.red{background:linear-gradient(135deg,#d92d20,#b42318)}.priority-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:.8rem;font-weight:800;letter-spacing:.02em;color:#8a4b00;background:#fff4d6;border:1px solid rgba(198,122,0,.22)}.wait-timer{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px;border-radius:999px;font-size:.8rem;font-weight:800;letter-spacing:.02em;color:var(--blue);background:var(--blue-soft);border:1px solid rgba(37,99,235,.18);font-variant-numeric:tabular-nums}.reservation-meta{display:grid;gap:8px}.reservation-meta span{color:var(--muted);font-size:.95rem}.reservation-meta strong{color:var(--text);font-weight:700}.notes{margin:0;padding:14px 16px;border-radius:18px;background:#f8fafc;color:#344054;line-height:1.55;white-space:pre-wrap}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.status-action,.action-row .secondary-button{min-height:46px;border-radius:14px}.status-action{background:#f7f9fc;color:var(--text);border:1px solid var(--border);cursor:pointer}.status-action.active{color:var(--green-deep);background:var(--green-soft);border-color:#1f8f5633}.status-action.confirm-action{color:#fff;background:linear-gradient(135deg,var(--green),var(--green-deep));border-color:transparent;box-shadow:0 10px 18px #1f8f562e}.status-action.edit-action{color:var(--blue);background:var(--blue-soft);border-color:#2563eb33}.time-groups{display:flex;flex-direction:column;gap:18px}.time-group{display:flex;flex-direction:column;gap:12px}.time-group-header{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:var(--radius-md);background:var(--green-soft);border:1px solid rgba(31,143,86,.18);cursor:pointer;text-align:left}.time-group.open .time-group-header{border-bottom-left-radius:0;border-bottom-right-radius:0}.time-group-chevron{color:var(--green-deep);font-size:14px;transition:transform .18s ease;flex-shrink:0}.time-group-chevron.open{transform:rotate(90deg)}.time-group-time{font-size:18px;font-weight:700;color:var(--green-deep)}.time-group-stats{margin-left:auto;font-size:13px;color:var(--muted);text-align:right}.field-hint{display:block;margin-top:4px;color:var(--muted);font-size:12px}.qr-stage{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 4px 4px;text-align:center}.qr-frame{width:240px;max-width:100%;padding:16px;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow)}.qr-url{margin:0;font-size:13px;color:var(--muted);word-break:break-all}.action-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.action-row .secondary-button,.action-row .call-client-button{flex:1 1 170px}.empty-state{text-align:center;color:var(--muted);padding:20px 14px}.empty-state strong{display:block;color:var(--text);margin-bottom:6px}.empty-state p{margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0f172a7a;display:grid;place-items:end center;padding:14px}.bottom-sheet{width:min(760px,100%);max-height:min(92vh,920px);overflow:auto;background:var(--surface);border-radius:26px 26px 18px 18px;box-shadow:0 30px 90px #0f172a52;padding:16px;display:grid;gap:14px}.sheet-handle{width:58px;height:6px;border-radius:999px;margin:0 auto;background:#d7e0eb}.sheet-header{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.sheet-header p{margin:8px 0 0;color:var(--muted)}.sheet-form{display:grid;gap:16px}.form-grid{display:grid;gap:12px}.span-2{grid-column:1 / -1}.sheet-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.scanner-sheet{gap:18px}.scanner-box{display:grid;gap:12px}.scanner-target{min-height:320px;border-radius:24px;overflow:hidden;background:#0f172a;border:1px solid rgba(148,163,184,.3)}.scanner-fallback{padding:14px 16px;border-radius:18px;background:var(--amber-soft);color:#8a5500}.manual-scan{display:grid;gap:8px;color:var(--muted)}.manual-scan .search-row{grid-template-columns:1fr}@media (min-width: 720px){.auth-shell{grid-template-columns:1.05fr .95fr;align-items:center}.topbar{flex-direction:row;align-items:center;padding:18px 22px}.content{gap:18px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-header{flex-direction:row;align-items:flex-start;justify-content:space-between}.search-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.panel-actions{justify-content:flex-end}.action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.reservation-meta,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scanner-target{min-height:420px}}@media (min-width: 1024px){.content{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-highlight,.summary-grid{grid-column:1 / -1}.panel:nth-of-type(2),.panel:nth-of-type(3){align-self:start}}
