:root{color:#172033;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.brand{color:#c1121f;font-size:13px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.muted{color:#667085}.small{font-size:12px}.error{color:#b91c1c;font-weight:600;margin:0}.success-msg{color:#027a48;font-weight:700;margin:0}.banner{display:flex;align-items:center;gap:10px;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.4;animation:banner-in .2s ease-out}.banner-icon{font-size:16px;line-height:1;flex-shrink:0}.banner-success{background:#ecfdf3;color:#027a48;border:1px solid #a6f4c5}.banner-error{background:#fef3f2;color:#b91c1c;border:1px solid #fda29b}.banner-info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}.banner-warning{background:#fffaeb;color:#b54708;border:1px solid #fec84b}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.onboarding-alert{margin:12px 32px 0;padding:16px 18px;border-radius:14px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;display:grid;gap:8px}.onboarding-alert__title{font-size:15px;font-weight:800;color:#c2410c}.onboarding-alert p{margin:0;font-size:13px;line-height:1.5;font-weight:500}.onboarding-alert a{color:#c2410c;font-weight:800;text-decoration:underline}.onboarding-alert__steps{color:#9a3412;opacity:.9}.spinner-dot{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite;margin-right:8px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(135deg,#fff5f5,#f0f4ff)}.auth-card{background:#fff;border-radius:24px;padding:32px;width:100%;max-width:420px;box-shadow:0 20px 50px #0f172a1f;display:grid;gap:14px}.auth-card h1{margin:0;font-size:26px}.auth-card label{display:grid;gap:6px;font-weight:600;font-size:14px;color:#334155}.auth-card input{border:1px solid #d0d5dd;border-radius:12px;padding:12px;font-size:15px}.shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#fff;border-bottom:1px solid #e5e7eb}.topbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.empresa-picker-card{max-width:480px;display:grid;gap:14px}.empresa-picker-list{display:grid;gap:10px}.empresa-picker-item{display:grid;gap:4px;text-align:left;width:100%;padding:14px 88px 14px 16px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;cursor:pointer;position:relative}.empresa-picker-item:hover:not(:disabled){border-color:#c1121f;box-shadow:0 4px 14px #c1121f1f}.empresa-picker-item--current{border-color:#027a48;background:#f6fef9}.empresa-picker-item__name{font-weight:800;font-size:16px;color:#172033}.empresa-picker-item__cta{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:800;color:#c1121f}.pill{background:#eef2ff;color:#3730a3;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.pill--live{background:#ecfdf3;color:#027a48}.pill-yellow{background:#fef3c7;color:#92400e}.pill-green{background:#dcfce7;color:#166534}.pill-pink{background:#fce7f3;color:#9d174d}.tabs{display:flex;gap:8px;padding:12px 32px;background:#fff;border-bottom:1px solid #e5e7eb;overflow-x:auto}.tab{background:transparent;border:1px solid transparent;color:#475467;font-weight:700;padding:8px 14px;border-radius:999px;cursor:pointer;font-size:14px}.tab--active{background:#111827;color:#fff}.layout{padding:32px;display:grid;gap:16px;width:100%;max-width:100%}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.two-columns{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.stack-page{display:grid;gap:18px;width:100%;max-width:100%;align-content:start}.stack-page>.card{width:100%;min-width:0}.table-wrap{width:100%;overflow-x:auto;border:1px solid #eef2f7;border-radius:14px;background:#fff}.table-wrap .table{min-width:720px;margin:0}.table-wrap .table th,.table-wrap .table td{white-space:nowrap}.form-card .form-grid{max-width:920px}.coords-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.address-map-picker{display:grid;gap:10px}.address-map-actions{display:flex;flex-wrap:wrap;gap:8px}.address-map-canvas{width:100%;height:280px;border-radius:12px;border:2px solid #eadfd4;overflow:hidden;background:#f3f4f6}.pac-container{z-index:1200!important}@media (max-width: 640px){.coords-row{grid-template-columns:1fr}}.card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px;box-shadow:0 12px 30px #1720330f}.card h2{margin:0 0 6px}.metric{font-size:36px;font-weight:800;margin:6px 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 18px;align-items:start}.form-grid label{display:grid;font-size:12.5px;font-weight:700;gap:6px;color:#475467;text-transform:uppercase;letter-spacing:.02em}.form-grid label>span.field-hint{font-size:11.5px;font-weight:500;text-transform:none;letter-spacing:normal;color:#98a2b3}.form-grid input,.form-grid select,.form-grid textarea{border:1.5px solid #d0d5dd;border-radius:10px;padding:11px 13px;font-size:14.5px;font-weight:500;color:#101828;text-transform:none;letter-spacing:normal;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.form-grid textarea{resize:vertical;min-height:64px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:#c1121f;box-shadow:0 0 0 3px #c1121f1a}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#a4abb8;font-weight:400}.form-grid .field-full{grid-column:1 / -1}.form-grid .field-actions{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin-top:4px}.form-grid .amount-field{position:relative;display:flex;align-items:center}.form-grid .amount-field input{padding-left:34px;width:100%}.form-grid .amount-prefix{position:absolute;left:13px;font-weight:700;color:#98a2b3;font-size:14px;pointer-events:none}button{background:#c1121f;color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;font-size:14px}button:disabled{opacity:.6;cursor:progress}.ghost-btn{background:#fff;color:#344054;border:1px solid #d0d5dd;font-size:12px;padding:6px 10px}.access-btn--cashier{border-color:#bbf7d0;color:#027a48;background:#f0fdf4}.access-btn--grifero{border-color:#bfdbfe;color:#1d4ed8;background:#eff6ff}.danger-btn{border-color:#fecaca;color:#b91c1c}.actions{display:flex;gap:6px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left;font-size:14px}.table th{background:#f8fafc;color:#344054;font-size:12px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.table td{vertical-align:top}.table-sort-btn{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:800;padding:0}.table-scroll{width:100%;overflow-x:auto;border:1px solid #eef2f7;border-radius:14px}.table-scroll .table th,.table-scroll .table td{white-space:nowrap}.table-pager{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;color:#475467;font-size:13px;flex-wrap:wrap}.table-pager>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 16px;align-items:end}.filters label{display:grid;gap:4px;font-size:12px;font-weight:600;color:#475467}.filters input,.filters select{border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;font-size:13px;min-width:140px}.filters button{align-self:end;margin-bottom:1px}.search-input{border:1px solid #d0d5dd;border-radius:10px;padding:10px 14px;font-size:14px;background:#fff}.search-input:focus{outline:none;border-color:#c1121f;box-shadow:0 0 0 3px #c1121f1f}.sauce-charts{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px;margin:14px 0 18px}.sauce-chart-card{min-height:170px;border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#f8fafc);display:grid;gap:10px}.sauce-chart-card h3{margin:0 0 4px;font-size:15px}.sauce-chart-card p{margin:0}.pie-chart-layout{display:grid;grid-template-columns:116px 1fr;gap:12px;align-items:center}.pie-chart{width:116px;height:116px;filter:drop-shadow(0 8px 18px rgba(15,23,42,.12))}.chart-total{fill:#111827;font-size:14px;font-weight:800}.chart-total-label{fill:#667085;font-size:9px;font-weight:700}.chart-legend{display:grid;gap:6px;min-width:0}.chart-legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:12px}.chart-legend-row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-dot{width:10px;height:10px;border-radius:999px}.bar-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;min-height:120px}.bar-column{display:grid;gap:5px;justify-items:center;color:#475467;font-size:11px}.bar-column strong{color:#111827;font-size:11px}.bar-track{width:100%;max-width:28px;height:76px;border-radius:999px;background:#fee2e2;display:flex;align-items:end;overflow:hidden}.bar-fill{width:100%;border-radius:999px;background:linear-gradient(180deg,#ef4444,#991b1b)}.redeem-preview{display:grid;gap:10px;padding:18px;border-radius:18px;background:#111827;color:#fff}.redeem-preview strong{font-size:clamp(34px,5vw,56px);letter-spacing:.08em}.redeem-result{margin-top:14px;padding:14px;border-radius:14px;background:#ecfdf3;color:#064e3b}.redeem-result h3,.redeem-result p{margin:0 0 8px}.reward-config-list{display:grid;gap:10px;margin-top:14px}.reward-config-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.reward-config-row div{display:grid;gap:3px}.reward-config-row span{color:#667085;font-size:12px}.totals-row{display:flex;flex-wrap:wrap;gap:20px;background:#f0f4ff;padding:12px 16px;border-radius:12px;margin-bottom:14px;font-size:14px;color:#1e3a8a}.app-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0f172a8f;display:grid;place-items:center;padding:20px}.app-modal{width:min(520px,100%);background:#fff;border-radius:22px;padding:20px;box-shadow:0 24px 70px #0f172a57;display:grid;gap:14px}.app-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-modal-head h3{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.cropper-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#111827b3;display:flex;align-items:center;justify-content:center;padding:20px}.cropper-modal{width:100%;max-width:520px;background:#fff;border-radius:18px;padding:18px;box-shadow:0 24px 60px #0006}.cropper-modal h3{margin:0 0 6px}.cropper-stage{position:relative;width:100%;height:320px;background:#111827;border-radius:12px;overflow:hidden;margin:12px 0}.cropper-zoom{display:flex;align-items:center;gap:10px}.cropper-zoom input{flex:1}.cropper-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.trial-banner{background:linear-gradient(90deg,#fff7ed,#fef3c7);border-bottom:2px solid #f59e0b;color:#92400e;font-weight:700;padding:10px 32px;text-align:center}.account-menu{position:relative;z-index:40}.account-menu__trigger{width:42px;height:42px;border-radius:10px;border:2px solid #0d0d0d;background:#fff;color:#0d0d0d;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.account-menu__trigger:hover{background:#fff7ed;color:#0d0d0d}.account-menu__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:transparent;cursor:default;z-index:39;color:transparent;padding:0;border-radius:0}.account-menu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:#fff;border:2px solid #0d0d0d;border-radius:12px;box-shadow:0 12px 30px #00000029;padding:10px;display:grid;gap:4px;z-index:41}.account-menu__panel button{text-align:left;border:0;background:#fff;color:#0d0d0d;padding:11px 12px;border-radius:8px;cursor:pointer;font:inherit;font-weight:700;font-size:14px}.account-menu__panel button:hover{background:#f3f4f6;color:#0d0d0d}.account-menu__logout,.account-menu__panel button.account-menu__logout{color:#b91c1c;font-weight:800}.account-menu__logout:hover,.account-menu__panel button.account-menu__logout:hover{background:#fef2f2;color:#991b1b}.account-menu__meta{display:grid;gap:6px;padding:6px 8px 10px;border-bottom:1px solid #e5e7eb;margin-bottom:4px;color:#344054}.account-menu__meta .pill{justify-self:start;color:#3730a3;background:#eef2ff}.account-menu__meta .muted{color:#667085}.subscription-page{display:grid;gap:16px}.subscription-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.subscription-plan-card{border:2px solid #eadfd4;border-radius:12px;padding:14px;background:#fffdf8}.subscription-total{font-weight:800;margin-top:6px}.subscription-station__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.subscription-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.subscription-cancel-btn{color:#991b1b!important;border-color:#fecaca!important;background:#fff!important}.subscription-cancel-btn:hover:not(:disabled){background:#fef2f2!important}.subscription-pill--trial{background:#fef3c7;color:#92400e}.subscription-pill--active{background:#dcfce7;color:#166534}.subscription-pill--past_due{background:#ffedd5;color:#9a3412}.subscription-pill--canceled{background:#e5e7eb;color:#374151}.subscription-pill--unpaid{background:#fee2e2;color:#991b1b}.subscription-paywall{margin:0 32px}.tabs .tab:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 900px){.sauce-charts{grid-template-columns:1fr}}@media (max-width: 640px){.topbar{padding:14px 16px;align-items:flex-start;gap:12px;flex-direction:column}.tabs{padding:10px 16px}.layout,.card{padding:16px}.two-columns{grid-template-columns:1fr}.pie-chart-layout{grid-template-columns:100px 1fr}.pie-chart{width:100px;height:100px}.cropper-stage{height:260px}}
