:root{--accent: #1b6ef3;--accent-press: #155ed1;--accent-soft: #e9f1fe;--r-sm: 8px;--r: 14px;--r-lg: 20px;--ff: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg: #eef0f3;--surface: #ffffff;--surface-2: #f6f7f9;--surface-3: #eef0f3;--line: #e4e7ec;--line-strong: #d3d7de;--text: #16191f;--text-2: #5b626e;--text-3: #8b919c;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .06);--shadow-lg: 0 12px 40px rgba(16, 24, 40, .16);--t-slate: #5b626e;--t-slate-bg: #eceef1;--t-amber: #b7791f;--t-amber-bg: #fdf2dd;--t-violet: #6d49d6;--t-violet-bg: #ece7fb;--t-red: #d23b3b;--t-red-bg: #fbe3e3;--t-green: #1f9254;--t-green-bg: #ddf3e6;--t-orange: #d2691e;--t-orange-bg: #fdeadb;--ion-color-primary: var(--accent);--ion-color-primary-rgb: 27, 110, 243;--ion-color-primary-shade: var(--accent-press);--ion-color-primary-tint: #3480f5;--ion-background-color: var(--bg);--ion-background-color-rgb: 238, 240, 243;--ion-text-color: var(--text);--ion-text-color-rgb: 22, 25, 31;--ion-font-family: var(--ff);--ion-toolbar-background: var(--bg);--ion-item-background: var(--surface);--ion-border-color: var(--line)}body{font-family:var(--ff);-webkit-font-smoothing:antialiased}ion-content{--background: var(--bg)}ion-header.ion-no-border ion-toolbar,ion-toolbar{--background: var(--surface);--border-color: var(--line);--color: var(--text);--min-height: 58px}ion-title{font-weight:700;letter-spacing:-.01em}ion-back-button{--color: var(--text);--icon-font-size: 24px}ion-button{--border-radius: 13px;--box-shadow: none;--padding-top: 20px;--padding-bottom: 20px;font-weight:650;letter-spacing:-.01em;text-transform:none;min-height:50px}ion-button[expand]{--box-shadow: 0 6px 16px rgba(27, 110, 243, .28)}ion-button[fill=outline]{--border-color: var(--line-strong);--box-shadow: none;--color: var(--text)}ion-button[fill=clear]{--box-shadow: none}ion-button::part(native){font-weight:650}ion-tab-bar{--background: var(--surface);--border: 0;border-top:1px solid var(--line);height:calc(60px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));contain:none}ion-tab-button{--color: var(--text-3);--color-selected: var(--accent);--background: var(--surface);margin:0 3px;border:1px solid var(--line);border-radius:13px;font-weight:650}ion-tab-button ion-label{font-size:11px;font-weight:650;margin-top:2px}ion-tab-button ion-icon{font-size:22px}ion-tab-button.tab-selected{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--accent-soft)}ion-badge{--background: var(--t-red);font-weight:700}body.po-hide-tabbar ion-tab-bar{display:none!important}.po-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#080a0e73}.po-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--surface);border-radius:22px 22px 0 0;border-top:1px solid var(--line);box-shadow:var(--shadow-lg);padding:8px 18px calc(22px + env(safe-area-inset-bottom));max-height:86%;overflow-y:auto;animation:po-sheet-up .3s cubic-bezier(.22,.61,.36,1)}.po-grab{width:38px;height:4px;border-radius:999px;background:var(--line-strong);margin:8px auto 14px}@keyframes po-sheet-up{0%{transform:translateY(100%)}to{transform:none}}.po-sheet-opt{width:100%;text-align:left;padding:14px;margin-bottom:8px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;font-family:var(--ff);font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:10px}.po-qr-box{width:200px;height:200px;border-radius:28px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;position:relative;box-shadow:var(--shadow);overflow:hidden}.po-scan-line{position:absolute;left:24px;right:24px;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);border-radius:2px;animation:po-scan 2.2s ease-in-out infinite}@keyframes po-scan{0%,to{top:30px}50%{top:166px}}ion-segment{--background: var(--surface-2);border-radius:12px;padding:4px}ion-segment-button{--background-checked: var(--surface);--color: var(--text-2);--color-checked: var(--text);--indicator-color: transparent;--border-radius: 9px;min-height:38px;font-weight:650;text-transform:none}ion-segment-button.segment-button-checked{box-shadow:var(--shadow)}ion-input.input-fill-outline,ion-textarea.textarea-fill-outline{--border-color: var(--line-strong);--border-radius: 11px}ion-checkbox{--size: 26px;--border-radius: 8px;--border-color: var(--line-strong);--border-width: 2px;--checkbox-background-checked: var(--accent);--border-color-checked: var(--accent)}ion-spinner{color:var(--accent)}ion-modal{--border-radius: 22px;--backdrop-opacity: .45;--box-shadow: var(--shadow-lg)}ion-modal::part(content){background:var(--bg)}.po-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.po-card.flat{box-shadow:none}.po-card.tap{cursor:pointer;transition:transform .12s,box-shadow .15s,border-color .15s}.po-card.tap:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.po-card.tap:active{transform:scale(.985)}.po-pad{padding:16px}.po-iconbtn{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--line)}.po-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:650;padding:4px 9px;border-radius:999px;white-space:nowrap;line-height:1.2}.po-badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.po-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--text-2);padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);white-space:nowrap}.po-chip.vip{background:var(--accent);color:#fff;border-color:transparent}.po-chip.occasion{background:var(--accent-soft);color:var(--accent);border-color:transparent}.tone-slate{color:var(--t-slate);background:var(--t-slate-bg)}.tone-amber{color:var(--t-amber);background:var(--t-amber-bg)}.tone-violet{color:var(--t-violet);background:var(--t-violet-bg)}.tone-red{color:var(--t-red);background:var(--t-red-bg)}.tone-green{color:var(--t-green);background:var(--t-green-bg)}.tone-orange{color:var(--t-orange);background:var(--t-orange-bg)}.po-track{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.po-track>i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .5s cubic-bezier(.22,.61,.36,1)}.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--text-2)}.muted3{color:var(--text-3)}.po-photo-slot{width:100%;aspect-ratio:16/10;border-radius:12px;border:1.5px dashed var(--line-strong);background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 10px,var(--surface-3) 10px,var(--surface-3) 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-3);cursor:pointer;font-size:12px;font-weight:600}.po-photo-slot.filled{border-style:solid;border-color:var(--t-green);background:var(--t-green-bg);color:var(--t-green)}.po-grid{display:grid;gap:12px}.po-grid.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.po-grid.kpis{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.po-row{display:flex;align-items:center;gap:10px}.po-spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.po-stack{display:flex;flex-direction:column;gap:12px}.po-anim{animation:po-in .26s cubic-bezier(.22,.61,.36,1)}@keyframes po-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (min-width: 720px){.po-mobile-canvas ion-router-outlet{max-width:720px;margin:0 auto;box-shadow:var(--shadow-lg)}}.po-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 18px;border-radius:13px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-family:var(--ff);font-weight:650;font-size:15px;cursor:pointer}.po-btn.primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 6px 16px #1b6ef347}.po-btn.ghost{background:var(--surface-2)}.po-btn.sm{height:38px;padding:0 14px;font-size:13.5px;border-radius:11px}.po-btn:disabled{opacity:.55;cursor:default}.po-btn ion-icon{font-size:18px}.po-input{width:100%;font-family:var(--ff);font-size:15px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text)}.po-textbtn{display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:var(--accent);font-family:var(--ff);font-weight:650;font-size:13px;cursor:pointer;padding:0}:root{--board-bg: #0b0f16;--board-bg-2: #11161f;--panel: #161c27;--panel-2: #1c2430;--line: #2a323f;--muted: #aab3c2;--muted-2: #7f8a9b;--good: #3fd07f;--good-bg: rgba(63, 208, 127, .14);--warn: #f3b13c;--warn-bg: rgba(243, 177, 60, .14);--bad: #ff6b6b;--bad-bg: rgba(255, 107, 107, .15);--accent: #2f7bf6}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 50% -10%,#18202c 0%,var(--board-bg) 60%)}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.board-center{min-height:100vh;display:grid;place-items:center;padding:24px}.board-spinner{width:56px;height:56px;border-radius:50%;border:5px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.live-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--good);margin-right:10px;box-shadow:0 0 #3fd07f99;animation:pulse 1.8s infinite;vertical-align:middle}.live-dot.sm{width:9px;height:9px;margin-right:7px}@keyframes pulse{0%{box-shadow:0 0 #3fd07f80}70%{box-shadow:0 0 0 10px #3fd07f00}to{box-shadow:0 0 #3fd07f00}}.login-card{width:min(420px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:34px 30px;text-align:center;box-shadow:0 30px 80px #00000080}.login-brand{font-size:24px;font-weight:800;letter-spacing:-.01em}.login-sub{color:var(--muted);font-size:15px;margin:8px 0 22px}.pin-dots{display:flex;gap:14px;justify-content:center;margin-bottom:8px}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--muted-2);transition:all .15s}.pin-dot.filled{background:var(--accent);border-color:var(--accent);transform:scale(1.05)}.login-error{min-height:20px;color:var(--bad);font-size:13.5px;font-weight:600;opacity:0;transition:opacity .15s;margin-bottom:14px}.login-error.show{opacity:1}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pin-key{height:70px;border-radius:16px;border:1px solid var(--line);background:var(--panel-2);color:#fff;font-family:var(--ff);font-size:26px;font-weight:700;cursor:pointer;transition:transform .06s,background .15s}.pin-key:hover{background:#232c39}.pin-key:active{transform:scale(.95)}.pin-key.aux{font-size:20px;color:var(--muted)}.pin-key:disabled{opacity:.5;cursor:default}.board-root{min-height:100vh;display:flex;flex-direction:column;padding:clamp(16px,2vw,34px);gap:clamp(14px,1.6vw,26px)}.board-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.board-title{font-size:clamp(24px,2.4vw,40px);font-weight:800;letter-spacing:-.02em}.date-toggle{display:flex;align-items:center;gap:10px;margin-top:8px;margin-left:22px}.date-arrow{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}.date-arrow:hover:not(:disabled){background:var(--panel-2)}.date-arrow:disabled{opacity:.35;cursor:default}.date-label{color:var(--muted);font-size:clamp(13px,1.1vw,18px);font-weight:600;min-width:220px;text-align:center}.date-today{border:1px solid var(--accent);background:transparent;color:#fff;border-radius:10px;padding:7px 14px;font-family:var(--ff);font-weight:700;font-size:13px;cursor:pointer}.date-today:hover{background:var(--accent)}.board-totals{display:flex;gap:14px}.totals-cell{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:10px 22px;text-align:center;min-width:120px}.totals-value{font-size:clamp(24px,2.2vw,38px);font-weight:800}.totals-label{color:var(--muted-2);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.board-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.board-updated{color:var(--muted);font-size:clamp(13px,1vw,17px);font-weight:600}.board-btn{border:1px solid var(--line);background:var(--accent);color:#fff;border-radius:12px;padding:10px 18px;font-family:var(--ff);font-weight:700;font-size:14px;cursor:pointer}.board-btn.ghost{background:transparent;color:var(--muted)}.board-banner{background:var(--warn-bg);color:var(--warn);border:1px solid rgba(243,177,60,.3);border-radius:12px;padding:10px 16px;font-weight:600;font-size:14px}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(300px,22vw,380px),1fr));gap:clamp(12px,1.2vw,22px);align-content:start}.tile{background:linear-gradient(180deg,var(--panel) 0%,var(--board-bg-2) 100%);border:1.5px solid var(--line);border-radius:20px;padding:clamp(14px,1.1vw,22px);display:flex;flex-direction:column;gap:14px}.tile-lead{box-shadow:0 0 50px #f5c5181f}.tile-top{display:flex;align-items:center;gap:14px}.rank{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--panel-2);display:grid;place-items:center;font-weight:800;font-size:20px}.avatar{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#2f7bf6,#6a4cf0);display:grid;place-items:center;font-weight:800;font-size:22px}.tile-name{flex:1;min-width:0}.tile-name .name{font-size:clamp(18px,1.4vw,24px);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-name .name-sub{color:var(--muted-2);font-size:13px;margin-top:2px}.tile-score{text-align:right}.score-val{font-size:clamp(30px,2.6vw,44px);font-weight:800;line-height:1}.score-label{color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.progress{height:12px;border-radius:999px;background:var(--panel-2);overflow:hidden}.progress-fill{height:100%;border-radius:999px;transition:width .6s ease}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:flex;align-items:baseline;gap:7px;padding:7px 12px;border-radius:11px;background:var(--panel-2);border:1px solid var(--line)}.chip-label{color:var(--muted-2);font-size:12px;font-weight:600}.chip-value{font-size:16px;font-weight:800}.chip-good .chip-value{color:var(--good)}.chip-good{background:var(--good-bg);border-color:transparent}.chip-warn .chip-value{color:var(--warn)}.chip-warn{background:var(--warn-bg);border-color:transparent}.chip-bad .chip-value{color:var(--bad)}.chip-bad{background:var(--bad-bg);border-color:transparent}.chip-mut .chip-value{color:#fff}.rel-bar{height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden;margin-top:auto}.rel-fill{height:100%;border-radius:999px;transition:width .6s ease;opacity:.8}
