:root{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2937;background:#f5f7fb;line-height:1.5;font-weight:400;--brand-primary: #ff7a59;--brand-secondary: #1fb6a6;--brand-primary-strong: #e65d3a;--brand-secondary-strong: #0f8f83;--brand-primary-soft: #fff0ea;--brand-secondary-soft: #e8fbf8;--brand-primary-muted: #fbf7f2;--brand-on-primary: #ffffff;--brand-on-secondary: #073c37;--brand-focus-ring: rgba(255, 122, 89, .26);--surface-base: rgba(255, 255, 255, .78);--surface-strong: rgba(255, 255, 255, .92);--surface-border: rgba(148, 163, 184, .18);--text-primary: #102033;--text-secondary: #516173;--shadow-soft: 0 24px 60px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(31,182,166,.28) 0%,transparent 30%),radial-gradient(circle at top right,rgba(255,122,89,.24) 0%,transparent 28%),radial-gradient(circle at bottom,rgba(67,97,238,.16) 0%,transparent 26%),linear-gradient(180deg,#f7fbff,#eef4fb 48%,#f9f3ee)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent 82%);mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent 82%)}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--brand-focus-ring);outline-offset:2px}.page-shell{position:relative;z-index:1;width:min(1100px,calc(100vw - 24px));margin:0 auto;padding:24px 0 48px}.hero-card,.panel-card{background:var(--surface-base);border:1px solid var(--surface-border);border-radius:32px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{padding:28px;display:grid;gap:20px}.hero-copy{display:grid;gap:8px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#ff7a591f,#1fb6a629);border:1px solid rgba(255,255,255,.7);color:#6f3d2f;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text-primary);font-family:Space Grotesk,DM Sans,sans-serif;letter-spacing:-.03em}h1{font-size:clamp(2.2rem,6vw,4rem);margin-top:16px;line-height:.95}.hero-card p{margin-top:10px;color:var(--text-secondary)}.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.72);color:var(--text-primary);box-shadow:0 16px 28px #0f172a14}.hero-stats strong{display:block;font-size:1.7rem;color:var(--text-primary)}.hero-stats span{color:var(--text-secondary)}.accent-primary{--accent-ink: #b85c55;background:linear-gradient(135deg,#ffc9bef0,#ffe5ccfa);border:1px solid rgba(255,255,255,.72)}.accent-secondary{--accent-ink: #3c7d8c;background:linear-gradient(135deg,#c9eee7f5,#d6e4fffa);border:1px solid rgba(255,255,255,.72)}.accent-info{--accent-ink: #5971b6;background:linear-gradient(135deg,#d7e1fff5,#e4dcfffa);border:1px solid rgba(255,255,255,.72)}.accent-success{--accent-ink: #3f8c74;background:linear-gradient(135deg,#d2f3e4f5,#e0f6effa);border:1px solid rgba(255,255,255,.72)}.surface-icon,.entity-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;color:var(--accent-ink, var(--text-primary));box-shadow:0 12px 24px #0f172a14}.entity-main{display:flex;gap:14px;align-items:flex-start}.inline-icon,.button-icon,.stat-icon,.material-symbols-rounded{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.material-symbols-rounded{font-size:1.2rem;line-height:1}.inline-icon{font-size:1rem}.button-icon{font-size:1.1rem}.stat-icon{color:var(--accent-ink, var(--text-primary));font-size:1.4rem}.owner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{margin-top:20px;display:grid;gap:20px}.macro-nav{position:sticky;top:12px;z-index:5;display:flex;gap:10px;overflow-x:auto;padding:8px;margin-top:20px;background:#ffffff8f;border:1px solid rgba(255,255,255,.72);border-radius:999px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 34px #0f172a14}.macro-nav-link{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;text-decoration:none;color:var(--text-primary);background:#ffffffbd;box-shadow:inset 0 0 0 1px #94a3b829;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}.macro-nav-link:hover{transform:translateY(-1px);background:linear-gradient(135deg,#fff3eefa,#f1fbf9fa);box-shadow:0 10px 20px #0f172a14}.status-banner{margin-top:16px;display:flex;align-items:center;gap:10px}.status-banner p{color:var(--text-secondary)}.macro-area{margin-top:24px}.macro-area-heading{display:grid;gap:8px;margin-bottom:16px}.macro-area-heading p{color:var(--text-secondary)}.owner-grid{grid-template-columns:1fr}.panel-card{padding:22px}.users-panel,.marketing-card{display:grid;gap:18px}.users-panel{background:radial-gradient(circle at top right,rgba(255,122,89,.12),transparent 32%),radial-gradient(circle at bottom left,rgba(31,182,166,.1),transparent 30%),var(--surface-base)}.marketing-card,.reward-panel,.reward-list-card,.analytics-card,.analytics-toolbar-card,.proximity-card{background:linear-gradient(180deg,#fffffff5,#f8fbffe0)}.users-summary,.marketing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-tile{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.72);color:var(--text-primary);box-shadow:0 12px 24px #0f172a14}.summary-tile strong{display:block;font-size:1.5rem}.summary-tile span{color:var(--text-secondary)}.user-search-box{margin-bottom:0}.fidelity-grid{display:grid;gap:20px}.section-heading{margin-bottom:18px}.section-heading p{color:var(--text-secondary);margin-top:6px}.section-title-row{display:flex;gap:14px;align-items:flex-start}.section-title-row.compact{align-items:center}.section-heading.inline{display:flex;align-items:start;justify-content:space-between;gap:12px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.surface-panel{padding:18px;border-radius:24px;background:#ffffffb3;border:1px solid rgba(255,255,255,.76);box-shadow:inset 0 1px #fffc}.fiscal-code-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.segment-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;padding:14px 16px;border-radius:18px;background:#ffffffbd;color:var(--text-primary);box-shadow:inset 0 0 0 1px #94a3b833;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}.segment-button:hover{transform:translateY(-1px);background:#fffffff0}.segment-button.active{background:linear-gradient(135deg,#ffe4dbfa,#dff4f0fa);color:#355a68;box-shadow:0 12px 26px #355a681f}.store-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin-bottom:16px}.store-selector{display:grid;gap:6px;color:var(--text-secondary);font-size:.95rem}.store-selector select{min-width:220px;padding:14px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.22);background:#ffffffe0;color:var(--text-primary)}.store-chip{padding:14px 16px;border-radius:18px;background:#ffffffc2;border:1px solid color-mix(in srgb,var(--brand-primary) 14%,white)}.store-chip strong,.store-chip span{display:block}.store-chip span{margin-top:4px;color:color-mix(in srgb,var(--brand-primary) 58%,#8f6b50);font-size:.85rem}.store-form{margin-top:0}.customer-form{display:grid;gap:14px;margin-top:16px}.customer-form label{display:grid;gap:6px;color:var(--text-secondary);font-size:.95rem}.customer-form input,.customer-form select,.customer-form textarea,.scanner-video,.customer-item,.primary-button,.ghost-button,.points-actions button,.custom-points-actions button,.analytics-toggle{border-radius:18px}.customer-form input,.customer-form select,.customer-form textarea{border:1px solid rgba(148,163,184,.22);padding:14px 16px;background:#ffffffe0;color:var(--text-primary);box-shadow:inset 0 1px 2px #0f172a0d}.customer-form textarea{resize:vertical;min-height:120px}.builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.builder-span-full{grid-column:1 / -1}.birth-place-picker{display:grid;gap:10px}.birth-place-options{display:grid;gap:8px;max-height:240px;overflow-y:auto;padding-right:4px}.birth-place-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:none;border-radius:16px;background:#fffc;color:var(--text-primary);box-shadow:inset 0 0 0 1px #94a3b82e;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;text-align:left}.birth-place-option:hover{transform:translateY(-1px);background:#fffffff5}.birth-place-option.active{background:linear-gradient(135deg,#dff4f0fa,#eaeffffa);box-shadow:0 10px 20px #3c7d8c1f}.birth-place-option span,.birth-place-option small{display:block}.birth-place-option small{color:var(--text-secondary)}.primary-button,.ghost-button,.points-actions button,.custom-points-actions button,.analytics-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;padding:14px 18px;cursor:pointer;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.primary-button:hover,.ghost-button:hover,.points-actions button:hover,.custom-points-actions button:hover,.analytics-toggle:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(135deg,#ffd6ccfa,#ffecd6fa);color:#8c4e47;box-shadow:0 12px 24px #b85c551f}.ghost-button,.points-actions button,.custom-points-actions button,.analytics-toggle{background:#ffffffc7;color:var(--text-primary);box-shadow:inset 0 0 0 1px #94a3b838}.danger-button{background:#ef44441f;color:#8a1f1f}.primary-button:hover{background:linear-gradient(135deg,#ffdfd6,#fff1df);box-shadow:0 14px 28px #b85c5529}.ghost-button:hover,.points-actions button:hover,.custom-points-actions button:hover,.analytics-toggle:hover{background:#fffaf7f5}.primary-button:active,.ghost-button:active,.points-actions button:active,.custom-points-actions button:active,.analytics-toggle:active{transform:translateY(0);box-shadow:inset 0 2px 4px color-mix(in srgb,var(--brand-primary) 16%,transparent)}.primary-button:disabled,.ghost-button:disabled,.points-actions button:disabled,.custom-points-actions button:disabled,.analytics-toggle:disabled{opacity:.58;cursor:not-allowed;transform:none}.history-meta span{display:flex;align-items:center;gap:8px}.hint-text,.feedback-text,.loading-text{color:var(--text-secondary);font-size:.95rem}.search-box{display:grid;gap:8px;margin-bottom:8px}.search-box input{border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:14px 16px;background:#ffffffe0;color:var(--text-primary)}.search-meta{color:var(--text-secondary);font-size:.85rem}.analytics-card{display:grid;gap:18px}.analytics-toolbar-card{padding:18px 22px}.analytics-grid{display:grid;gap:20px}.analytics-heading{align-items:stretch}.analytics-toolbar{align-items:center}.analytics-toggle-group{display:flex;flex-wrap:wrap;gap:10px}.analytics-toggle{border-radius:999px;padding:10px 14px}.analytics-toggle.active{background:linear-gradient(135deg,#d6eee9fa,#d6e4fffa);color:#325f72;box-shadow:0 10px 20px #3c7d8c29}.analytics-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:min(100%,320px)}.analytics-summary div{padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,#fffffff2,#f0f7ffe6);border:1px solid rgba(255,255,255,.72)}.analytics-summary strong{display:block;font-size:1.5rem;color:var(--text-primary)}.analytics-summary span{color:var(--text-secondary)}.proximity-card{gap:20px}.proximity-toggle{width:fit-content}.proximity-collapsed-note{margin-top:-4px}.proximity-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.proximity-list{display:grid;gap:14px}.proximity-item{display:flex;justify-content:space-between;gap:18px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fffffff0,#f4f8ffeb);border:1px solid rgba(148,163,184,.14)}.proximity-item p,.proximity-item span{color:var(--text-secondary)}.proximity-side{min-width:min(100%,260px);display:grid;gap:8px;justify-items:end;text-align:right}.proximity-side strong{color:var(--text-primary)}.proximity-progress{width:min(100%,240px);height:10px;border-radius:999px;overflow:hidden;background:#94a3b824;box-shadow:inset 0 1px 2px #0f172a0d}.proximity-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(135deg,#1fb6a6,#3a86ff)}.analytics-summary span{display:block;margin-top:4px;color:color-mix(in srgb,var(--brand-primary) 58%,#8f6b50);font-size:.86rem}.analytics-chart-shell{width:100%;overflow-x:auto;padding-bottom:6px}.analytics-chart{width:100%;min-width:680px;height:auto;display:block}.analytics-grid-line{stroke:color-mix(in srgb,var(--brand-primary) 14%,white);stroke-width:1}.analytics-line{fill:none;stroke:var(--brand-primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.analytics-point{fill:var(--brand-secondary);stroke:#ffffffeb;stroke-width:3}.analytics-axis-label{fill:var(--text-secondary);font-size:12px}.analytics-value-label{fill:var(--text-primary);font-size:12px;font-weight:700}.analytics-footnote{color:var(--text-secondary);font-size:.86rem}.feedback-text{margin-top:12px}.tenant-path{margin-top:12px;display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem}.shop-login-card{margin-top:20px}.tenant-list{display:grid;gap:14px;margin-top:18px}.tenant-item{display:flex;justify-content:space-between;gap:18px;padding:18px;background:#ffffffd6;border:1px solid rgba(148,163,184,.14);border-radius:22px}.tenant-item p,.tenant-item span{color:var(--text-secondary)}.tenant-item span{display:block;margin-top:6px;font-size:.9rem}.tenant-side{display:grid;gap:10px;align-content:center;justify-items:end}.link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.customer-list{display:grid;gap:10px;margin-top:14px}.reward-panel,.reward-list-card{display:grid;gap:16px}.reward-panel-summary{display:grid;gap:12px}.reward-panel-summary strong,.reward-panel-summary span{display:block}.reward-panel-summary strong{font-size:1.2rem;color:var(--text-primary)}.reward-panel-summary span{margin-top:4px;color:var(--text-secondary);font-size:.88rem}.reward-list{display:grid;gap:12px}.reward-item{display:flex;justify-content:space-between;gap:16px;padding:18px;background:linear-gradient(180deg,#ffffffeb,#f8fbffe0);border:1px solid rgba(148,163,184,.14);box-shadow:0 12px 24px #0f172a0f;border-radius:22px}.reward-item p,.reward-item span{color:var(--text-secondary)}.reward-item span{display:inline-block;margin-top:6px;font-size:.9rem}.reward-side{display:grid;gap:10px;justify-items:end;align-content:center}.customer-item{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;background:linear-gradient(180deg,#ffffffeb,#f8fbffe0);border:1px solid rgba(148,163,184,.14);box-shadow:0 12px 24px #0f172a0f}.customer-item p{font-size:.84rem;color:var(--text-secondary)}.customer-item span{display:inline-block;margin-top:2px;color:var(--text-secondary);font-size:.8rem}.customer-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.customer-title-row h3{font-size:1rem}.info-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#31c48d1f;color:#0b6b52;font-size:.74rem;font-weight:700}.subtle-chip{background:#3a86ff1a;color:#2556a8}.customer-side{display:grid;gap:8px;justify-items:end;min-width:min(100%,204px)}.history-trigger{padding:9px 12px;width:100%}.customer-side strong{font-size:1.05rem;color:var(--text-primary)}.points-actions{display:flex;gap:6px;justify-content:end;width:100%}.points-actions button{min-width:54px;padding:10px 12px}.custom-points-controls{display:grid;gap:8px;width:min(100%,204px)}.custom-points-field{display:grid;gap:4px;color:var(--text-secondary);font-size:.82rem}.custom-points-field span{margin-top:0}.custom-points-field input,.custom-points-actions button{border-radius:16px}.custom-points-field input{border:1px solid rgba(148,163,184,.22);padding:10px 12px;background:#ffffffe0;color:var(--text-primary);box-shadow:inset 0 1px 2px #0f172a0d}.custom-points-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.custom-points-actions button{padding:10px 12px;font-size:.84rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a3d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;overflow-y:auto}.confirm-modal{width:min(460px,100%);max-height:min(88vh,920px);overflow-y:auto;padding:24px;background:#fffffff5;border:1px solid rgba(255,255,255,.72);border-radius:28px;box-shadow:0 24px 60px #0f172a1f}.history-modal{width:min(720px,100%)}.customer-create-modal{width:min(680px,100%);display:grid;gap:14px}.reward-create-modal{width:min(560px,100%);display:grid;gap:16px}.customer-create-intro{max-width:54ch}.reward-create-form{margin-top:0}.customer-create-form{margin-top:0;gap:14px}.generator-panel{display:grid;gap:16px}.generated-code-card{display:grid;gap:8px;padding:18px;border-radius:22px}.generated-code-value{font-family:Space Grotesk,DM Sans,sans-serif;font-size:1.35rem;letter-spacing:.08em;word-break:break-word}.lookup-helper{padding:12px 14px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(148,163,184,.16)}.lookup-helper strong{color:var(--text-primary)}.modal-inline-feedback{margin-top:0;padding:12px 14px;border-radius:16px;background:#fff5eee6;border:1px solid rgba(255,214,204,.9)}.eyebrow.light{background:linear-gradient(135deg,#3a86ff1a,#1fb6a61f);border:1px solid rgba(255,255,255,.72);color:#2556a8}.confirm-modal h2{margin-top:14px;font-size:1.8rem}.confirm-modal p{margin-top:10px;color:var(--text-secondary)}.confirm-modal-actions{display:flex;justify-content:end;gap:10px;margin-top:20px}.marketing-form{margin-top:0}.marketing-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.modal-status{margin-top:18px}.history-list{display:grid;gap:12px;margin-top:18px;max-height:min(50vh,420px);overflow-y:auto;padding-right:4px}.history-item{padding:16px;border-radius:20px;border:1px solid rgba(148,163,184,.16);background:#ffffffd6}.history-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-item-header strong{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:.95rem}.history-delta{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:8px 12px;border-radius:999px;font-weight:700}.history-delta.positive{background:#31c48d29;color:#0b6b52}.history-delta.negative{background:#ef44441f;color:#8a1f1f}.history-reason{margin-top:12px;color:var(--text-primary);font-weight:600}.history-meta{display:grid;gap:6px;margin-top:12px}.history-meta span{color:var(--text-secondary);font-size:.9rem}.history-meta strong{color:var(--text-primary)}@media(min-width:860px){.hero-card{grid-template-columns:2fr 1fr;align-items:center}.panel-grid,.fidelity-grid{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.full-span{grid-column:1 / -1}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.page-shell{width:min(100vw - 16px,100%);padding-top:10px}.hero-card,.panel-card,.confirm-modal{border-radius:22px}.confirm-modal{padding:18px}.section-title-row,.entity-main,.customer-title-row{align-items:flex-start}.macro-nav{top:8px;border-radius:24px}.users-summary,.marketing-summary,.fidelity-grid,.fiscal-code-mode-switch,.builder-grid{grid-template-columns:1fr}.inline-actions,.confirm-modal-actions,.marketing-footer{width:100%}.inline-actions>*,.confirm-modal-actions>*{flex:1 1 auto}.customer-item,.reward-item{flex-direction:column}.customer-side,.reward-side,.tenant-side{justify-items:stretch;min-width:100%}.points-actions,.reward-side,.custom-points-actions{justify-content:stretch}.points-actions button,.custom-points-actions button,.history-trigger,.reward-side .ghost-button,.reward-side .danger-button{width:100%}.proximity-item,.analytics-heading{flex-direction:column}.analytics-toolbar{align-items:stretch}.analytics-summary{grid-template-columns:1fr}.analytics-toggle-group{width:100%}.analytics-toggle{flex:1 1 0}.tenant-item{flex-direction:column}.customer-side{justify-items:start}.custom-points-controls{width:100%}.history-item-header{align-items:start;flex-direction:column}.tenant-side,.reward-side{justify-items:stretch}.proximity-side{min-width:0;justify-items:start;text-align:left}.proximity-progress{width:100%}.points-actions{justify-content:start}.confirm-modal-actions{flex-direction:column-reverse}.store-selector,.store-selector select{width:100%}}
