.AdminRoutesUI-module__admin-routes-ui___KYnP_{background:#f8fafc;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem}.AdminRoutesUI-module__routes-header___tMMCf{text-align:center;background:#fff;border-radius:.5rem;margin-bottom:3rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.AdminRoutesUI-module__routes-header___tMMCf h1{color:#1e293b;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.AdminRoutesUI-module__routes-header___tMMCf p{color:#64748b;margin-bottom:1.5rem;font-size:1.125rem}.AdminRoutesUI-module__current-route___yxiXx{color:#475569;background:#e2e8f0;border-radius:.375rem;padding:.5rem 1rem;font-family:monospace;display:inline-block}.AdminRoutesUI-module__routes-content___jqBco{space-y:2rem}.AdminRoutesUI-module__routes-stats___eFRrS{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.AdminRoutesUI-module__stat-card___WN49O{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.AdminRoutesUI-module__stat-number___v4A7t{color:#38bdf8;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.AdminRoutesUI-module__stat-label___iRAt8{color:#64748b;font-size:.875rem;font-weight:500}.AdminRoutesUI-module__routes-grid___K4KcG{gap:2rem;display:grid}.AdminRoutesUI-module__route-category___tjhW6{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.AdminRoutesUI-module__category-header___aePBa{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:1rem;padding:1.5rem;display:flex}.AdminRoutesUI-module__category-icon___udoxl{color:#fff;background:#38bdf8;border-radius:.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.AdminRoutesUI-module__category-title___TBUAV{color:#1e293b;margin:0;font-size:1.5rem;font-weight:600}.AdminRoutesUI-module__category-routes___qEkRP{gap:1rem;padding:1.5rem;display:grid}.AdminRoutesUI-module__route-card___wTUi8{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem;transition:all .2s}.AdminRoutesUI-module__route-card___wTUi8:hover{border-color:#38bdf8;box-shadow:0 4px 6px #38bdf81a}.AdminRoutesUI-module__route-card___wTUi8.AdminRoutesUI-module__active___hfBtx{background:#eff6ff;border-color:#38bdf8}.AdminRoutesUI-module__route-header___dA2op{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.AdminRoutesUI-module__route-name-section____Oug1{align-items:center;gap:.75rem;display:flex}.AdminRoutesUI-module__route-icon___sfPMl{color:#fff;background:#38bdf8;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.AdminRoutesUI-module__route-name___uZ6TH{color:#1e293b;margin:0;font-size:1.125rem;font-weight:600}.AdminRoutesUI-module__route-path___G6TPV{color:#64748b;background:#e2e8f0;border-radius:.25rem;padding:.25rem .5rem;font-family:monospace;font-size:.875rem}.AdminRoutesUI-module__route-description___z68YP{color:#64748b;margin-bottom:1rem;line-height:1.5}.AdminRoutesUI-module__route-actions___yKpgX{justify-content:space-between;align-items:center;display:flex}.AdminRoutesUI-module__route-link___vE1xS{color:#fff;background:#38bdf8;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.AdminRoutesUI-module__route-link___vE1xS:hover{background:#0ea5e9;transform:translateY(-1px)}.AdminRoutesUI-module__route-link___vE1xS.AdminRoutesUI-module__active___hfBtx{background:#059669}.AdminRoutesUI-module__current-indicator___sEUND{color:#fff;background:#059669;border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.AdminRoutesUI-module__routes-footer___btRIM{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-top:3rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.AdminRoutesUI-module__routes-footer___btRIM p{color:#64748b;margin-bottom:.5rem}.AdminRoutesUI-module__routes-footer___btRIM p:last-child{margin-bottom:0}.AdminRoutesUI-module__routes-note___wfvr0{color:#38bdf8;font-size:.875rem;font-weight:500}@media (max-width:768px){.AdminRoutesUI-module__admin-routes-ui___KYnP_{padding:1rem}.AdminRoutesUI-module__routes-header___tMMCf{padding:1.5rem}.AdminRoutesUI-module__routes-header___tMMCf h1{font-size:2rem}.AdminRoutesUI-module__routes-stats___eFRrS{grid-template-columns:repeat(2,1fr)}.AdminRoutesUI-module__route-header___dA2op,.AdminRoutesUI-module__route-actions___yKpgX{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width:480px){.AdminRoutesUI-module__routes-stats___eFRrS{grid-template-columns:1fr}.AdminRoutesUI-module__category-header___aePBa{text-align:center;flex-direction:column;gap:.5rem}}:root{--primary:#38bdf8;--primary-dark:#0ea5e9;--primary-light:#7dd3fc;--white:#fff;--gray-light:#f8fafc;--gray-dark:#1e293b;--error:#ef4444;--success:#10b981;--success-light:#d1fae5;--success-dark:#065f46;--warning:#f59e0b;--warning-light:#fef3c7;--warning-dark:#92400e;--info:#3b82f6;--info-light:#dbeafe;--info-dark:#1e40af;--ai-cyan:#00d4ff;--ai-purple:#8b5cf6;--ai-glow:#38bdf8;--ai-dark:#0f172a;--background:var(--white);--text:var(--gray-dark);--text-muted:#64748b;--border:#e2e8f0;--border-focus:var(--primary);--hover:var(--gray-light);--active:var(--primary-light);--ai-hover:#38bdf81a;--ai-active:#38bdf833;--ai-glow-shadow:0 0 20px #38bdf84d;--ai-pulse:0 0 0 0 #38bdf8b3;--shadow:0 1px 3px #0000001a;--shadow-focus:0 0 0 3px #38bdf81a;--ai-shadow:0 4px 15px #38bdf826;--ai-shadow-hover:0 8px 25px #38bdf840;--ai-gradient:linear-gradient(135deg,var(--primary)0%,var(--ai-cyan)100%);--ai-gradient-hover:linear-gradient(135deg,var(--primary-dark)0%,var(--ai-cyan)100%);--ai-glow-gradient:linear-gradient(45deg,var(--ai-cyan),var(--ai-purple),var(--primary))}@media (prefers-color-scheme:dark){:root{--background:var(--ai-dark);--text:var(--white);--text-muted:#94a3b8;--border:#334155;--hover:#334155;--ai-glow-shadow:0 0 30px #38bdf880;--ai-shadow:0 4px 20px #38bdf84d;--ai-shadow-hover:0 8px 30px #38bdf866}}.not-found-container{background:linear-gradient(135deg,var(--primary-color)0%,var(--secondary-color)100%);justify-content:center;align-items:center;min-height:100vh;padding:2em;display:flex}.not-found-content{text-align:center;-webkit-backdrop-filter:blur(1em);backdrop-filter:blur(1em);background:#fffffff2;border-radius:1em;max-width:30em;padding:3em 2em;box-shadow:0 .5em 2em #0000001a}.error-code{color:var(--primary-color);text-shadow:.1em .1em .2em #0000001a;margin:0;font-size:6em;font-weight:700;line-height:1}.error-title{color:var(--text-primary);margin:.5em 0;font-size:2em;font-weight:600}.error-message{color:var(--text-secondary);margin:1em 0 2em;font-size:1.1em;line-height:1.6}.error-actions{flex-wrap:wrap;justify-content:center;gap:1em;margin:2em 0;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:.5em;align-items:center;gap:.5em;padding:.8em 1.5em;font-size:1em;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:var(--primary-color);color:#fff}.btn-secondary{background:var(--background-secondary);color:var(--text-primary);border:.1em solid var(--border-color)}.btn-secondary:hover{background:var(--background-tertiary);transform:translateY(-.1em)}.error-help{border-top:.1em solid var(--border-color);margin-top:2em;padding-top:1.5em}.error-help p{color:var(--text-tertiary);margin:0;font-size:.9em}@media (max-width:48em){.not-found-container{padding:1em}.not-found-content{padding:2em 1.5em}.error-code{font-size:4em}.error-title{font-size:1.5em}.error-actions{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{justify-content:center;width:100%}}@media (max-width:30em){.error-code{font-size:3em}.error-title{font-size:1.3em}.error-message{font-size:1em}}.particle-canvas{z-index:1;opacity:1;pointer-events:none;background:0 0;background:linear-gradient(135deg,var(--background-color)0%,var(--secondary-background-color)100%);opacity:.3;width:100%;height:100%;position:fixed;top:0;left:0}.avatar-selector-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000b3;justify-content:center;align-items:center;padding:1em;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.avatar-selector-modal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #fff3;border-radius:20px;width:100%;max-width:600px;max-height:80vh;padding:2em;position:relative;overflow-y:auto;box-shadow:0 25px 50px #00000040,0 12px 25px #38bdf826}.avatar-selector-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:1.5em;padding-bottom:1em;display:flex}.avatar-selector-header h3{color:#fff;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#e2e8f0 100%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5em;font-weight:600}.close-button{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2em;height:2em;padding:.25em;font-size:1.5em;transition:all .2s;display:flex}.close-button:hover{color:#fff;background:#ffffff1a}.avatar-search{margin-bottom:1.5em}.search-input{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:10px;width:100%;padding:.75em 1em;font-size:1em;transition:all .2s}.search-input::placeholder{color:#fff9}.search-input:focus{border-color:var(--loyalty-accent-blue);outline:none;box-shadow:0 0 0 3px #38bdf81a}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1em;margin-bottom:1em;display:grid}.avatar-option{cursor:pointer;background:#ffffff0d;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;padding:1em;transition:all .2s;display:flex}.avatar-option:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.avatar-option.selected{border-color:var(--loyalty-accent-blue);background:#38bdf81a;box-shadow:0 0 0 3px #38bdf833}.avatar-preview{background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 50%,#0284c7 100%);border-radius:50%;justify-content:center;align-items:center;width:4em;height:4em;margin-bottom:.5em;display:flex;overflow:hidden;box-shadow:0 4px 15px #0003}.avatar-svg-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.avatar-svg-container svg{width:80%;height:80%}.avatar-name{color:#ffffffe6;text-align:center;font-size:.85em;font-weight:500;line-height:1.2}.no-results{text-align:center;color:#fff9;padding:2em}.no-results p{margin:0;font-size:1em}@media (max-width:768px){.avatar-selector-modal{max-height:90vh;margin:1em;padding:1.5em}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75em}.avatar-preview{width:3.5em;height:3.5em}.avatar-selector-header h3{font-size:1.3em}}@media (max-width:480px){.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5em}.avatar-preview{width:3em;height:3em}.avatar-name{font-size:.75em}}.qr-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.qr-modal-content{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #3b82f64d;border-radius:16px;width:400px;max-width:90vw;max-height:90vh;padding:0;animation:.3s ease-out qr-modal-slide-in;overflow:hidden;box-shadow:0 20px 40px #00000080}@keyframes qr-modal-slide-in{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.qr-modal-header{background:#3b82f61a;border-bottom:1px solid #3b82f633;justify-content:flex-end;align-items:center;padding:1.5em;display:flex}.qr-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25em;font-size:1.5em;transition:all .2s}.qr-modal-close:hover{color:#f8fafc;background:#ef444433}.qr-modal-body{max-height:50vh;padding:1.5em;overflow-y:auto}.qr-reward-info{text-align:center;margin-bottom:1em}.qr-reward-name{color:#3b82f6;margin:0 0 .5em;font-size:1.1em;font-weight:600}.qr-code-container{justify-content:center;margin-bottom:1em;display:flex}.qr-loading{color:#94a3b8;flex-direction:column;align-items:center;gap:1em;display:flex}.qr-loading-spinner{border:3px solid #3b82f633;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:1s linear infinite qr-spin}@keyframes qr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qr-code-wrapper{display:inline-block;position:relative}.qr-code-image{background:#fff;border:3px solid #3b82f64d;border-radius:12px;width:250px;height:250px;box-shadow:0 8px 20px #0000004d}.qr-code-overlay{background:#3b82f6e6;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #3b82f666}.qr-code-logo{filter:drop-shadow(0 2px 4px #0000004d);font-size:1.5em}.qr-modal-footer{background:#3b82f60d;border-top:1px solid #3b82f633;padding:1.5em}.qr-cancel-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:8px;width:100%;padding:.75em 1.5em;font-size:.9em;font-weight:600;transition:all .3s}.qr-cancel-button:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-1px);box-shadow:0 4px 15px #ef444466}@media (max-width:calc(48em - .001px)){.qr-modal-overlay{padding:0}.qr-modal-content{border-radius:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0}.qr-modal-header{z-index:10;background:0 0;border:none;padding:1em;position:absolute;top:0;right:0}.qr-modal-body{flex-direction:column;justify-content:center;align-items:center;height:100vh;max-height:none;padding:2em 1em;display:flex}.qr-modal-footer{background:#1a1a2ee6;padding:1em;position:absolute;bottom:0;left:0;right:0}.qr-code-image{width:280px;height:280px}.qr-reward-info{margin-bottom:2em}.qr-reward-name{font-size:1.3em}}.in-progress-modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#000c;justify-content:center;align-items:center;padding:1em;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.in-progress-modal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#1a1a2ef2,#272745f2);border:1px solid #3b82f64d;border-radius:1.5em;width:100%;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #00000080}.in-progress-modal-header{background:#3b82f61a;border-bottom:1px solid #3b82f633;justify-content:space-between;align-items:center;padding:1.5em;display:flex}.in-progress-modal-title{color:#fff;align-items:center;gap:.5em;margin:0;font-size:1.4em;font-weight:600;display:flex}.in-progress-modal-icon{font-size:1.2em}.in-progress-modal-close{color:#a1a1aa;cursor:pointer;background:0 0;border:none;border-radius:.25em;padding:.25em;font-size:1.5em;transition:all .3s}.in-progress-modal-close:hover{color:#fff;background:#ffffff1a}.in-progress-modal-content{max-height:calc(90vh - 120px);padding:1.5em;overflow-y:auto}.in-progress-empty-state{text-align:center;color:#a1a1aa;padding:3em 1em}.in-progress-empty-icon{opacity:.5;margin-bottom:1em;font-size:3em}.in-progress-empty-state h3{color:#fff;margin:0 0 .5em;font-size:1.3em}.in-progress-empty-state p{margin:0;font-size:.95em;line-height:1.5}.in-progress-rewards-list{flex-direction:column;gap:1.5em;display:flex}.in-progress-reward-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#3b82f614,#8b5cf60d);border:1px solid #3b82f640;border-radius:1.2em;padding:1.5em;transition:all .3s;box-shadow:0 4px 20px #3b82f61a}.in-progress-reward-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #3b82f633}.in-progress-reward-ready{animation:2s ease-in-out infinite alternate in-progress-reward-glow;background:linear-gradient(135deg,#22c55e1a,#10b9810d)!important;border-color:#22c55e66!important}.in-progress-reward-redeemed{opacity:.8;background:linear-gradient(135deg,#6b72801a,#4b55630d)!important;border-color:#6b728066!important}@keyframes in-progress-reward-glow{0%{box-shadow:0 4px 20px #22c55e33}to{box-shadow:0 8px 40px #22c55e66}}.in-progress-reward-header{align-items:flex-start;gap:1em;margin-bottom:1.5em;display:flex}.in-progress-reward-icon{flex-shrink:0;font-size:2em}.in-progress-reward-info{flex:1}.in-progress-reward-name{color:#fff;margin:0 0 .5em;font-size:1.2em;font-weight:600}.in-progress-reward-description{color:#a1a1aa;margin:0;font-size:.9em;line-height:1.4}.in-progress-reward-status{flex-shrink:0}.in-progress-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:.5em;padding:.4em .8em;font-size:.8em;font-weight:600;display:inline-block}.in-progress-status-in_progress{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b4d}.in-progress-status-ready{color:#22c55e;background:#22c55e33;border:1px solid #22c55e4d}.in-progress-status-redeemed{color:#6b7280;background:#6b728033;border:1px solid #6b72804d}.in-progress-progress-section{margin-bottom:1.5em}.in-progress-progress-header{justify-content:space-between;align-items:center;margin-bottom:.75em;display:flex}.in-progress-progress-label{color:#a1a1aa;font-size:.9em;font-weight:500}.in-progress-progress-count{color:#3b82f6;font-size:.9em;font-weight:600}.in-progress-progress-bar{background:#3b82f61a;border-radius:.25em;width:100%;height:.5em;margin-bottom:.5em;overflow:hidden}.in-progress-progress-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:.25em;height:100%;transition:width .5s}.in-progress-progress-percentage{text-align:center;color:#3b82f6;font-size:.85em;font-weight:600}.in-progress-milestone-details{background:linear-gradient(135deg,#ec48991a,#db27770d);border:1px solid #ec48994d;border-radius:.75em;margin-bottom:1.5em;padding:1em;box-shadow:0 4px 15px #ec48991a}.in-progress-milestone-header{align-items:center;gap:.5em;margin-bottom:1em;display:flex}.in-progress-milestone-icon{font-size:1.2em}.in-progress-milestone-title{color:#ec4899;text-shadow:0 0 10px #ec48994d;font-size:1.05em;font-weight:600}.in-progress-milestone-benefit{background:#ec48990d;border:1px solid #ec489926;border-radius:.5em;flex-direction:column;gap:.25em;margin-bottom:.75em;padding:.75em;display:flex}.in-progress-milestone-benefit-label{color:#a1a1aa;font-size:.85em;font-weight:500}.in-progress-milestone-benefit-value{color:#ec4899;font-size:.95em;font-weight:600}.in-progress-milestone-info{justify-content:center;align-items:center;display:flex}.in-progress-milestone-stamps{color:#ec4899;opacity:.8;font-size:.9em;font-weight:500}.in-progress-reward-details{background:#3b82f60d;border:1px solid #3b82f61a;border-radius:.75em;flex-direction:column;gap:.75em;margin-bottom:1.5em;padding:1em;display:flex}.in-progress-reward-value,.in-progress-reward-expiry,.in-progress-progress-type{justify-content:space-between;align-items:center;font-size:.9em;display:flex}.in-progress-value-label,.in-progress-expiry-label,.in-progress-progress-type-label{color:#a1a1aa}.in-progress-value-amount{color:#3b82f6;text-shadow:0 0 10px #3b82f64d;font-size:1.1em;font-weight:600}.in-progress-expiry-date{color:#f59e0b;font-weight:500}.in-progress-progress-type-badge{border-radius:.375em;align-items:center;gap:.25em;padding:.25em .5em;font-size:.8em;font-weight:600;display:inline-flex}.in-progress-type-milestone{color:#ec4899;background:#ec489926;border:1px solid #ec489940;box-shadow:0 2px 8px #ec48991a}.in-progress-type-final{color:#f59e0b;background:#fbbf2426;border:1px solid #fbbf2440;box-shadow:0 2px 8px #fbbf241a}.in-progress-reward-actions{gap:.75em;display:flex}.in-progress-add-stamp-button,.in-progress-redeem-button{cursor:pointer;border:none;border-radius:.5em;flex:1;padding:.75em 1em;font-size:.9em;font-weight:600;transition:all .3s}.in-progress-add-stamp-button{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid #3b82f6}.in-progress-add-stamp-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f64d}.in-progress-redeem-button{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border:1px solid #22c55e;font-weight:700;animation:2s ease-in-out infinite in-progress-button-pulse}.in-progress-redeem-button:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 8px 25px #22c55e4d}@keyframes in-progress-button-pulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 10px #22c55e00}}.in-progress-redeemed-badge{color:#6b7280;background:#6b72801a;border:1px solid #6b728033;border-radius:.5em;flex:1;justify-content:center;align-items:center;gap:.5em;padding:.75em 1em;font-weight:500;display:flex}.in-progress-redeemed-icon{font-size:1.1em}@media (max-width:calc(24em - .001px)){.in-progress-modal{max-width:calc(100vw - 1em);max-height:calc(100vh - 1em);margin:.5em}.in-progress-modal-header,.in-progress-modal-content,.in-progress-reward-card{padding:1em}.in-progress-reward-header{flex-direction:column;align-items:flex-start;gap:.75em}.in-progress-reward-status{align-self:flex-end}}.home-page{color:#fff;background:#0f0f23;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.home-loyalty-container{flex-direction:column;gap:1em;max-width:480px;margin:0 auto;padding:.75em;display:flex}.home-loyalty-header{flex-direction:column;justify-content:center;align-items:center;padding:.75em 0;display:flex}.home-brand-section{align-items:center;gap:.75em;display:flex}.home-brand-logo{position:relative}.home-diamond-icon{filter:drop-shadow(0 0 10px #3b82f6);font-size:2em;animation:2s ease-in-out infinite alternate home-glow}@keyframes home-glow{0%{filter:drop-shadow(0 0 10px #3b82f6)}to{filter:drop-shadow(0 0 20px #3b82f6)}}.home-brand-info{flex:1}.home-brand-name{color:#3b82f6;letter-spacing:-.5px;margin:0;font-size:1.4em;font-weight:700}.home-brand-tagline{color:#94a3b8;margin:.2em 0 0;font-size:.8em}.home-user-profile-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#1a1a2ee6;border:1px solid #3b82f64d;border-radius:1.5em;margin-bottom:1em;padding:1.5em;position:relative;overflow:hidden}.home-user-info-section{align-items:flex-start;gap:1em;margin-bottom:1.5em;display:flex}.home-user-avatar-section{position:relative}.home-user-avatar{cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:2px solid #3b82f680;border-radius:50%;justify-content:center;align-items:center;width:4em;height:4em;transition:all .3s;display:flex;position:relative}.home-user-avatar:hover{transform:scale(1.05);box-shadow:0 0 20px #3b82f666}.home-avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.home-avatar-fallback{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.home-avatar-svg-container{color:#fff;width:2.5em;height:2.5em}.home-level-indicator{color:#fff;background:#22c55e;border:2px solid #1a1a2e;border-radius:50%;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-size:.7em;font-weight:700;display:flex;position:absolute;bottom:-.25em;right:-.25em}.home-premium-star{filter:drop-shadow(0 0 5px #ffd700cc);font-size:1em;position:absolute;top:-.25em;right:-.25em}.home-user-details{flex-direction:column;flex:1;gap:.5em;display:flex}.home-user-name{color:#fff;margin:0;font-size:1.3em}.home-member-since{color:#3b82f6;text-transform:uppercase;letter-spacing:.5px;flex-wrap:wrap;align-items:center;gap:.5em;margin:.25em 0 .5em;font-size:.9em;font-weight:500;display:flex}.home-loyalty-status{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:.5em;padding:.25em .5em;font-size:.8em;font-weight:600;animation:2s ease-in-out infinite alternate home-status-glow;box-shadow:0 2px 8px #3b82f64d}@keyframes home-status-glow{0%{box-shadow:0 2px 8px #3b82f64d}to{box-shadow:0 4px 16px #3b82f680}}.home-user-tags{flex-wrap:wrap;gap:.5em;display:flex}.home-tag{color:#3b82f6;background:#3b82f633;border:1px solid #3b82f64d;border-radius:.5em;padding:.25em .5em;font-size:.8em}.home-visits-info{color:#a1a1aa;align-items:center;gap:.5em;font-size:.9em;display:flex}.home-visits-icon{font-size:1em}.home-loyalty-stats-section{border-top:1px solid #3b82f633;margin-top:1em;padding-top:1em}.home-stats-header{justify-content:space-between;align-items:center;margin-bottom:1em;display:flex}.home-stats-header h3{color:#fff;margin:0;font-size:1.1em;font-weight:600}.home-refresh-button{color:#3b82f6;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:.5em;padding:.4em .6em;font-size:1.2em;transition:all .3s}.home-refresh-button:hover:not(:disabled){background:#3b82f633;border-color:#3b82f666;transform:rotate(180deg)}.home-refresh-button:disabled{opacity:.5;cursor:not-allowed;animation:1s linear infinite home-refresh-spin}@keyframes home-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-stats-grid{grid-template-columns:repeat(3,1fr);gap:1em;display:grid}.home-stat-card{text-align:center;background:#3b82f61a;border:1px solid #3b82f633;border-radius:.75em;padding:1em;transition:all .3s}.home-stat-clickable{cursor:pointer}.home-stat-clickable:hover{background:#3b82f626;border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 8px 25px #3b82f633}.home-stat-card:hover{background:#3b82f626;transform:translateY(-2px)}.home-stat-icon{margin-bottom:.5em;font-size:1.5em;display:block}.home-stat-value{color:#3b82f6;margin-bottom:.25em;font-size:1.5em;font-weight:700}.home-stat-label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.5px;font-size:.8em}.home-background-diamond{opacity:.1;color:#3b82f6;font-size:3em;animation:3s ease-in-out infinite home-diamond-float;position:absolute;top:1em;right:1em}.home-available-rewards-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a2ecc;border:1px solid #3b82f633;border-radius:1em;margin-bottom:1em;padding:1.5em}.home-section-header{align-items:center;gap:.75em;margin-bottom:1.5em;display:flex}.home-section-icon{font-size:1.5em}.home-section-title{color:#fff;margin:0;font-size:1.3em;font-weight:600}.home-rewards-grid{scrollbar-width:thin;scrollbar-color:#3b82f6 #1a1a2e;flex-direction:row;gap:1em;padding-bottom:.5em;display:flex;overflow-x:auto}.home-rewards-grid::-webkit-scrollbar{height:6px}.home-rewards-grid::-webkit-scrollbar-track{background:#1a1a2e;border-radius:3px}.home-rewards-grid::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.home-rewards-grid::-webkit-scrollbar-thumb:hover{background:#2563eb}.home-reward-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#3b82f614,#8b5cf60d);border:1px solid #3b82f640;border-radius:1.2em;min-width:280px;padding:1.5em;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 20px #3b82f61a}.home-reward-card:hover{border-color:#3b82f666;transform:translateY(-5px)scale(1.02);box-shadow:0 15px 40px #3b82f640}.home-reward-new{background:#3b82f60d!important;border:1px solid #3b82f64d!important}.home-reward-new .home-reward-header{background:#3b82f61a}.home-reward-in-progress{background:#f59e0b0d!important;border:1px solid #f59e0b4d!important}.home-reward-in-progress .home-reward-header{background:#f59e0b1a}.home-reward-ready{animation:2s ease-in-out infinite alternate home-reward-glow;background:#22c55e0d!important;border:1px solid #22c55e4d!important}.home-reward-ready .home-reward-header{background:#22c55e1a}.home-reward-completed-reset{background:#8b5cf60d!important;border:1px solid #8b5cf64d!important}.home-reward-completed-reset .home-reward-header{background:#8b5cf61a}.home-reward-header{background:linear-gradient(135deg,#3b82f626,#8b5cf61a);border:1px solid #3b82f633;border-radius:.75em;align-items:center;gap:.75em;margin-bottom:1em;padding:1em;display:flex;box-shadow:0 2px 10px #3b82f61a}.home-reward-icon{font-size:1.5em}.home-reward-type{color:#a1a1aa;text-transform:uppercase;letter-spacing:.5px;font-size:.9em;font-weight:500}.home-reward-content{margin-bottom:1.5em}.home-reward-name{color:#fff;margin:0 0 .5em;font-size:1.2em;font-weight:600}.home-reward-description{color:#a1a1aa;margin-bottom:1em;font-size:.9em;line-height:1.4}.home-stamp-progress-section{margin:1em 0}.home-stamp-progress-header{justify-content:space-between;align-items:center;margin-bottom:.5em;display:flex}.home-stamp-progress-label{color:#a1a1aa;font-size:.9em}.home-stamp-progress-count{color:#3b82f6;font-size:.9em;font-weight:600}.home-stamp-progress-bar{background:#3b82f61a;border-radius:4px;width:100%;height:8px;margin-bottom:.5em;overflow:hidden}.home-stamp-progress-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;height:100%;transition:width .3s}.home-stamp-progress-percentage{color:#3b82f6;text-align:center;font-size:.8em;font-weight:500}.home-reward-completion{margin:1em 0}.home-completion-badge{background:#22c55e1a;border:1px solid #22c55e33;border-radius:.5em;align-items:center;gap:.5em;padding:.5em .75em;display:flex}.home-completion-badge.home-completed-reset-badge{background:#8b5cf61a;border:1px solid #8b5cf633}.home-completion-badge.home-completed-reset-badge .home-completion-text{color:#8b5cf6;font-size:.85em}.home-completion-icon{font-size:1.2em}.home-completion-text{color:#22c55e;font-size:.9em;font-weight:500}.home-reward-requirements{margin:1em 0}.home-requirements-badge{background:#3b82f61a;border:1px solid #3b82f633;border-radius:.5em;align-items:center;gap:.5em;padding:.5em .75em;display:flex}.home-requirements-icon{font-size:1.2em}.home-requirements-text{color:#3b82f6;font-size:.9em;font-weight:500}.home-reward-details{background:#3b82f60d;border:1px solid #3b82f61a;border-radius:.75em;flex-direction:column;gap:.75em;margin:1em 0;padding:1em;display:flex}.home-reward-points,.home-reward-value{justify-content:space-between;align-items:center;font-size:.9em;display:flex}.home-points-label,.home-value-label{color:#a1a1aa}.home-points-value,.home-value-amount{color:#3b82f6;text-shadow:0 0 10px #3b82f64d;font-size:1.1em;font-weight:600}.home-reward-expiry{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:.5em;justify-content:space-between;align-items:center;margin-top:1em;padding:.75em;font-size:.85em;font-weight:500;display:flex}.home-reward-actions{margin-top:auto}.home-add-stamp-button,.home-redeem-button{cursor:pointer;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid #3b82f6;border-radius:.5em;width:100%;padding:.75em 1em;font-size:.9em;font-weight:600;transition:all .3s}.home-add-stamp-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f64d}.home-redeem-ready:hover{background:linear-gradient(135deg,#16a34a,#15803d)!important;transform:translateY(-2px)!important;box-shadow:0 8px 25px #22c55e4d!important}.home-rewards-loading,.home-no-rewards{text-align:center;color:#a1a1aa;padding:2em}.home-loading-spinner{border:2px solid #3b82f633;border-top-color:#3b82f6;border-radius:50%;width:2em;height:2em;margin:0 auto 1em;animation:1s linear infinite home-spin}@keyframes home-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes home-diamond-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes home-reward-glow{0%{box-shadow:0 0 10px #22c55e33}to{box-shadow:0 0 20px #22c55e66}}@keyframes home-button-pulse{0%,to{box-shadow:0 4px 15px #22c55e4d}50%{box-shadow:0 6px 25px #22c55e80}}.home-notification{z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.75em;align-items:center;gap:1em;max-width:300px;padding:1em 1.5em;animation:.3s ease-out home-notification-slide-in;display:flex;position:fixed;top:2em;right:2em;box-shadow:0 8px 30px #0000004d}.home-notification-success{color:#22c55e;background:linear-gradient(135deg,#22c55e33,#10b98126);border:1px solid #22c55e4d}.home-notification-info{color:#3b82f6;background:linear-gradient(135deg,#3b82f633,#4f46e526);border:1px solid #3b82f64d}.home-notification-error{color:#ef4444;background:linear-gradient(135deg,#ef444433,#dc262626);border:1px solid #ef44444d}.home-notification-message{flex:1;font-size:.9em;font-weight:500}.home-notification-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:.2em;font-size:1.1em;transition:opacity .3s}.home-notification-close:hover{opacity:1}@keyframes home-notification-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width:calc(48em - .001px)){.home-user-info-section{text-align:center;flex-direction:column;align-items:center}.home-user-details{text-align:center;align-items:center;width:100%}.home-user-name{text-align:center}.home-member-since{text-align:center;justify-content:center}.home-user-tags,.home-visits-info{justify-content:center}.home-stats-grid{grid-template-columns:repeat(3,1fr);gap:.75em}.home-stat-card{padding:.75em}.home-stat-value{font-size:1.3em}.home-stat-label{font-size:.7em}.home-rewards-grid{flex-direction:column;overflow-x:visible}.home-reward-card{min-width:auto}}@media (max-width:calc(24em - .001px)){.home-stats-grid{grid-template-columns:1fr;gap:.5em}.home-user-avatar{width:3.5em;height:3.5em}.home-user-name{font-size:1.1em}.home-member-since{flex-direction:column;gap:.25em;font-size:.8em}.home-loyalty-status{padding:.2em .4em;font-size:.7em}.home-user-tags{margin-top:.5em}.home-visits-info{font-size:.8em}}.home-ready-badge{color:#fff;text-align:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:.5em;margin:.5em 0;padding:.5em 1em;font-size:.9em;font-weight:600;animation:2s ease-in-out infinite home-ready-pulse}.home-reward-ready{background:linear-gradient(135deg,#22c55e1a,#16a34a1a)!important;border:2px solid #22c55e!important}.home-redeem-ready{animation:2s ease-in-out infinite home-button-pulse;color:#fff!important;background:linear-gradient(135deg,#22c55e,#16a34a)!important;border:1px solid #22c55e!important;font-weight:700!important}.home-redeem-ready:hover{transform:translateY(-2px);box-shadow:0 8px 25px #22c55e66;background:linear-gradient(135deg,#16a34a,#15803d)!important}@keyframes home-ready-pulse{0%,to{box-shadow:0 0 15px #22c55e4d}50%{box-shadow:0 0 25px #22c55e99}}.home-milestone-celebration{font-size:1.2em;animation:1.5s ease-in-out infinite home-celebration-sparkle;position:absolute;top:-5px;right:-5px}@keyframes home-celebration-sparkle{0%,to{opacity:.8;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(180deg)}}.home-milestone-progress{position:relative}.home-milestone-benefit{background:linear-gradient(135deg,#a855f71a,#9333ea1a);border:1px solid #a855f74d;border-radius:.5em;margin:.5em 0;padding:.5em;font-size:.85em}.home-milestone-benefit-label{color:#a855f7;margin-bottom:.25em;font-weight:600;display:block}.home-milestone-value{padding:0 .5em}.home-milestone-benefit-text{color:#e5e7eb;font-style:italic}.home-final-progress{border-top:1px solid #6b72804d;margin-top:.75em;padding-top:.75em}.home-final-progress-bar{opacity:.7}.milestone-achieved{animation:2s ease-in-out infinite home-milestone-achieved-glow;box-shadow:0 0 15px #22c55e66;background:linear-gradient(90deg,#22c55e,#10b981)!important}@keyframes home-milestone-achieved-glow{0%,to{box-shadow:0 0 15px #22c55e66}50%{box-shadow:0 0 25px #22c55e99}}.milestone-achieved-button{animation:2s ease-in-out infinite home-milestone-button-glow;background:linear-gradient(135deg,#a855f7,#9333ea)!important;border:1px solid #a855f7!important}@keyframes home-milestone-button-glow{0%,to{box-shadow:0 4px 15px #a855f74d}50%{box-shadow:0 6px 25px #a855f780}}.home-reward-final{background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border:1px solid #fbbf244d;border-radius:.5em;margin-top:.5em;padding:.5em;font-size:.85em}.home-milestone-notification{animation:2s ease-in-out infinite home-milestone-notification-pulse;position:relative;overflow:visible;background:linear-gradient(135deg,#a855f7,#9333ea)!important;border:2px solid #a855f7!important}@keyframes home-milestone-notification-pulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #a855f766}50%{transform:scale(1.02);box-shadow:0 6px 30px #a855f799}}.home-milestone-animation{pointer-events:none;justify-content:space-around;display:flex;position:absolute;top:-10px;left:0;right:0}.home-celebration-confetti{font-size:1.5em;animation:3s ease-in-out infinite home-confetti-fall}.home-celebration-confetti:first-child{animation-delay:0s}.home-celebration-confetti:nth-child(2){animation-delay:.5s}.home-celebration-confetti:nth-child(3){animation-delay:1s}@keyframes home-confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}50%{opacity:.8;transform:translateY(-5px)rotate(180deg)}to{opacity:1;transform:translateY(-20px)rotate(360deg)}}.admin-dashboard{color:#1e293b;background:#f8fafc;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.admin-loading{color:#64748b;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.loading-spinner{border:2px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;width:2.5em;height:2.5em;margin-bottom:1em;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-sidebar{z-index:10;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:260px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.admin-sidebar.collapsed{width:64px}.sidebar-header{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.25em 1em;display:flex;position:relative}.admin-sidebar.collapsed .sidebar-header{justify-content:center;padding:1.25em .5em}.admin-sidebar.collapsed .logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.admin-sidebar.collapsed .collapse-btn{width:1.5em;height:1.5em;padding:.25em;font-size:.875em;position:absolute;top:.25em;right:.25em}.logo{align-items:center;gap:.75em;transition:all .2s;display:flex}.admin-sidebar.collapsed .logo{gap:0}.logo-icon{color:#6366f1;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.5em;transition:all .2s}.admin-sidebar.collapsed .logo-icon{font-size:1.25em}.logo-text{color:#1e293b;white-space:nowrap;letter-spacing:-.025em;font-size:1.125em;font-weight:600}.collapse-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.375em;flex-shrink:0;justify-content:center;align-items:center;width:2em;height:2em;padding:.5em;font-size:1em;transition:all .15s;display:flex}.collapse-btn:hover,.admin-sidebar.collapsed .collapse-btn:hover{color:#475569;background:#f1f5f9}.sidebar-nav{flex-direction:column;flex:1;padding:.75em 0;display:flex;overflow-y:auto}.menu-group{margin-bottom:.25em}.menu-item{text-align:left;cursor:pointer;color:#475569;background:0 0;border:none;border-radius:.375em;align-items:center;gap:.75em;width:100%;margin:0 .5em;padding:.75em 1em;font-size:.875em;font-weight:500;transition:all .15s;display:flex;position:relative}.menu-item.active{color:#6366f1;background:#f1f5f9;font-weight:600}.menu-item.active:before{content:"";background:#6366f1;border-radius:0 2px 2px 0;width:3px;position:absolute;top:.5em;bottom:.5em;left:0}.menu-icon{text-align:center;justify-content:center;align-items:center;min-width:1.25em;font-size:1.125em;display:flex}.menu-label{font-weight:inherit;font-size:inherit;white-space:nowrap;flex:1}.menu-description{color:#94a3b8;white-space:nowrap;margin-top:.125em;font-size:.75em;font-weight:400}.admin-sidebar.collapsed .menu-item{justify-content:center;margin:0 .25em;padding:.75em}.admin-sidebar.collapsed .menu-icon{font-size:1.25em}.admin-sidebar.collapsed .logout-menu-item{justify-content:center;margin:0 .25em;padding:.75em}.admin-sidebar.collapsed .logout-menu-item .menu-icon{font-size:1.25em}.logout-menu-group{border-top:1px solid #f1f5f9;margin-top:auto;margin-bottom:.25em;padding-top:1em}.logout-menu-item{color:#dc2626;cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:.5em;align-items:center;gap:.75em;width:100%;margin:0 .5em .25em;padding:.75em 1em;font-size:.875em;font-weight:500;transition:all .15s;display:flex}.logout-menu-item:hover{color:#b91c1c;background:#fee2e2}.logout-menu-item:active{background:#fecaca;transform:translateY(1px)}.logout-menu-item .menu-icon{text-align:center;flex-shrink:0;min-width:1.25em;font-size:1em;line-height:1}.logout-menu-item .menu-label{white-space:nowrap;font-weight:500}.sidebar-footer{background:#fff;padding:1em}.user-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2em;height:2em;font-size:.875em;font-weight:600;display:flex}.user-details{flex:1;min-width:0}.user-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.875em;font-weight:600;overflow:hidden}.user-role{color:#64748b;text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;font-size:.75em;overflow:hidden}.logout-btn{color:#dc2626;cursor:pointer;box-sizing:border-box;background:#fee2e2;border:1px solid #fecaca;border-radius:.5em;align-items:center;gap:.5em;width:100%;padding:.625em .75em;font-size:.875em;font-weight:500;transition:all .15s;display:flex}.logout-btn:hover{color:#b91c1c;background:#fecaca;border-color:#fca5a5}.logout-btn:active{background:#fca5a5;transform:translateY(1px)}.logout-icon{flex-shrink:0;font-size:1em;line-height:1}.logout-text{white-space:nowrap;font-weight:500}.admin-main{background:#f8fafc;flex-direction:column;flex:1;display:flex;overflow:hidden}.admin-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25em 1.5em;display:flex;box-shadow:0 1px 2px #0000000d}.header-left h1{color:#1e293b;letter-spacing:-.025em;margin:0;font-size:1.5em;font-weight:600}.header-left p{color:#64748b;margin:.25em 0 0;font-size:.875em;font-weight:400}.header-actions{gap:.5em;display:flex}.notification-btn,.profile-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:.375em;justify-content:center;align-items:center;width:2.5em;height:2.5em;padding:.5em;font-size:1.125em;transition:all .15s;display:flex}.notification-btn:hover,.profile-btn:hover{color:#475569;background:#f1f5f9}.admin-content{background:#f8fafc;flex:1;padding:1.5em;overflow-y:auto}@media (max-width:1024px) and (min-width:769px){.admin-sidebar{width:200px}.admin-sidebar.collapsed{width:56px}.admin-header{padding:1.125em 1.25em}.header-left h1{font-size:1.375em}.admin-content{padding:1.25em}.mobile-menu-btn{display:none}}@media (max-width:768px){.admin-sidebar{z-index:1000;height:100vh;transition:left .3s;position:fixed;left:-260px;box-shadow:2px 0 10px #00000026}.admin-sidebar.collapsed{width:64px;left:-64px}.admin-sidebar.mobile-open{left:0}.admin-main{width:100%;margin-left:0}.admin-header{border-bottom:1px solid #e2e8f0;padding:.875em 1em}.admin-content{padding:1em}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;border-radius:.375em;flex-shrink:0;justify-content:center;align-items:center;margin-right:1em;padding:.5em;transition:background-color .15s;display:flex}.mobile-menu-btn:hover{background:#f1f5f9}.mobile-menu-btn:active{background:#e2e8f0}.hamburger-icon{flex-direction:column;justify-content:space-between;width:20px;height:16px;display:flex;position:relative}.hamburger-icon span{background:#475569;border-radius:1px;width:100%;height:2px;transition:all .3s;display:block}.mobile-menu-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;animation:.3s fadeIn;position:fixed;top:0;bottom:0;left:0;right:0}.header-left{flex:1;align-items:center;min-width:0;display:flex}.header-title{flex:1;min-width:0}.header-title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25em;overflow:hidden}.header-title p{white-space:nowrap;text-overflow:ellipsis;color:#64748b;margin:.125em 0 0;font-size:.8em;overflow:hidden}.header-actions{gap:.25em}.notification-btn,.profile-btn{width:2.25em;height:2.25em;font-size:1em}.admin-sidebar .sidebar-header{z-index:10;background:#fff;border-bottom:1px solid #f1f5f9;padding:1em;position:sticky;top:0}.admin-sidebar .sidebar-nav{padding:.5em 0}.admin-sidebar .menu-item{border-radius:.5em;min-height:48px;margin:0 .5em .25em;padding:1em;font-size:.9em}.admin-sidebar .menu-icon{min-width:1.5em;font-size:1.25em}.admin-sidebar .logout-menu-item{min-height:48px;margin:0 .5em .25em;padding:1em;font-size:.9em}.admin-sidebar .logout-menu-item .menu-icon{min-width:1.5em;font-size:1.25em}.admin-sidebar.mobile-open{animation:.3s slideInLeft}@keyframes slideInLeft{0%{left:-260px}to{left:0}}}@media (max-width:480px){.admin-header,.admin-content{padding:.75em}.header-title h1{font-size:1.125em}.header-title p{font-size:.75em}.header-actions{gap:.125em}.notification-btn,.profile-btn{width:2em;height:2em;font-size:.9em}.admin-sidebar{width:280px;left:-280px}.admin-sidebar.mobile-open{left:0}.admin-sidebar .menu-item{min-height:52px;padding:1.125em 1em;font-size:.95em}}@media (min-width:769px){.mobile-menu-btn,.mobile-menu-overlay{display:none}.header-left{display:block}.header-title{display:contents}}.sidebar-nav::-webkit-scrollbar{width:4px}.admin-content::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.admin-content::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.admin-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#94a3b8}.admin-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.fade-in{animation:.2s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:.2s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.glass-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5em;box-shadow:0 1px 3px #0000001a}.text-gradient{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text}.bg-gradient{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.shadow-soft{box-shadow:0 1px 3px #0000001a}.rounded-lg{border-radius:.5em}.transition-all{transition:all .15s}.enterprise-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5em;transition:all .15s;box-shadow:0 1px 2px #0000000d}.enterprise-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px #0000000d}.enterprise-button{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:.375em;align-items:center;gap:.5em;padding:.5em 1em;font-size:.875em;font-weight:500;transition:all .15s;display:inline-flex}.enterprise-button:hover{background:#5855eb;transform:translateY(-1px)}.enterprise-button:active{transform:translateY(0)}.enterprise-button.secondary{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.enterprise-button.secondary:hover{color:#1e293b;background:#e2e8f0}.status-indicator{border-radius:.25em;align-items:center;gap:.375em;padding:.25em .5em;font-size:.75em;font-weight:500;display:inline-flex}.status-indicator.success{color:#166534;background:#dcfce7}.status-indicator.warning{color:#92400e;background:#fef3c7}.status-indicator.error{color:#991b1b;background:#fee2e2}.status-indicator.info{color:#1e40af;background:#dbeafe}.data-table{border-collapse:collapse;background:#fff;border-radius:.5em;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th{text-align:left;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75em 1em;font-size:.875em;font-weight:600}.data-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:.75em 1em;font-size:.875em}.data-table tr:hover{background:#f8fafc}.data-table tr:last-child td{border-bottom:none}.admin-error-boundary{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.admin-error-boundary .error-content{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:500px;padding:2rem;box-shadow:0 4px 6px -1px #0000001a}.admin-error-boundary h2{color:#dc2626;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.admin-error-boundary p{color:#64748b;margin-bottom:1.5rem;line-height:1.6}.error-refresh-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:background-color .2s}.error-refresh-btn:hover{background:#2563eb}.error-details{text-align:left;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;margin-top:1.5rem;padding:1rem}.error-details summary{cursor:pointer;color:#475569;margin-bottom:.5rem;font-weight:600}.error-details pre{color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:4px;margin-top:.5rem;padding:.75rem;font-size:.75rem;overflow-x:auto}.admin-error-banner{color:#dc2626;z-index:1000;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.admin-error-banner button{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.25rem;transition:background-color .2s;display:flex}.admin-error-banner button:hover{background:#ef44441a}.admin-error{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.admin-error .error-content{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:400px;padding:2rem;box-shadow:0 4px 6px -1px #0000001a}.admin-error h3{color:#dc2626;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.admin-error p{color:#64748b;margin-bottom:1rem;line-height:1.6}.admin-error button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:background-color .2s}.admin-error button:hover{background:#2563eb}.component-error{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin:2rem;padding:3rem 2rem}.component-error h3{color:#dc2626;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.component-error p{color:#64748b;margin-bottom:1.5rem;line-height:1.6}.component-error button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:background-color .2s}.component-error button:hover{background:#2563eb}.no-menu-items{text-align:center;color:#64748b;padding:2rem 1rem;font-size:.875rem}.retry-info{color:#64748b;margin-top:.5rem;font-size:.875rem;font-style:italic}button[aria-label]{position:relative}button[aria-label]:focus{outline-offset:2px;outline:2px solid #3b82f6}.user-avatar{justify-content:center;align-items:center;min-width:2rem;min-height:2rem;display:flex}.menu-icon{text-align:center;min-width:1.25rem;display:inline-block}.loading-spinner{animation:1s linear infinite spin;display:inline-block}.logout-dialog{z-index:10000;background:#fff;border:none;border-radius:.75em;width:90%;max-width:400px;padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.logout-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080}.logout-dialog .dialog-content{padding:1.5em}.logout-dialog .dialog-header{margin-bottom:1em}.logout-dialog .dialog-header h3{color:#1e293b;margin:0;font-size:1.125em;font-weight:600}.logout-dialog .dialog-body{margin-bottom:1.5em}.logout-dialog .dialog-body p{color:#64748b;margin:0;font-size:.875em;line-height:1.5}.logout-dialog .dialog-actions{justify-content:flex-end;gap:.75em;display:flex}.logout-dialog .btn-secondary{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375em;padding:.5em 1em;font-size:.875em;font-weight:500;transition:all .15s}.logout-dialog .btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.logout-dialog .btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:1px solid #dc2626;border-radius:.375em;padding:.5em 1em;font-size:.875em;font-weight:500;transition:all .15s}.logout-dialog .btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.logout-dialog .btn-danger:active{transform:translateY(1px)}@media (max-width:768px){.logout-dialog{width:95%;max-width:none}.logout-dialog .dialog-content{padding:1.25em}.logout-dialog .dialog-actions{flex-direction:column-reverse;gap:.5em}.logout-dialog .btn-secondary,.logout-dialog .btn-danger{justify-content:center;width:100%;padding:.75em 1em}}.dashboard{min-height:100vh;color:var(--white);background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 50%,#16213e 100%);flex-direction:column;gap:2em;padding:1.5em;display:flex;position:relative;overflow-x:hidden}.dashboard:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 80%,#7877c61a 0%,#0000 50%),radial-gradient(circle at 80% 20%,#ff77c61a 0%,#0000 50%),radial-gradient(circle at 40% 40%,#78dbff1a 0%,#0000 50%);position:fixed;top:0;bottom:0;left:0;right:0}.dashboard-loading{background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 50%,#16213e 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.ai-loading-container{text-align:center;color:var(--white)}.ai-loading-spinner{width:80px;height:80px;margin:0 auto 2em;position:relative}.spinner-ring{border:3px solid #0000;border-top-color:#6366f1;border-radius:50%;width:100%;height:100%;animation:1.5s linear infinite ai-spin;position:absolute}.spinner-ring:nth-child(2){border-top-color:#8b5cf6;width:70%;height:70%;animation-delay:.2s;top:15%;left:15%}.spinner-ring:nth-child(3){border-top-color:#06b6d4;width:40%;height:40%;animation-delay:.4s;top:30%;left:30%}@keyframes ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text h3{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#6366f1,#8b5cf6,#06b6d4);-webkit-background-clip:text;background-clip:text;margin-bottom:.5em;font-size:1.5em}.loading-text p{color:#94a3b8;font-size:1em}.dashboard-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1.5em;padding:2em;position:relative;overflow:hidden}.ai-header-background{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.ai-particles{background-image:radial-gradient(circle at 25% 25%,#6366f11a 0%,#0000 50%),radial-gradient(circle at 75% 75%,#8b5cf61a 0%,#0000 50%);width:100%;height:100%;animation:20s ease-in-out infinite particle-float;position:absolute}.ai-grid{background-image:linear-gradient(#6366f11a 1px,#0000 1px),linear-gradient(90deg,#6366f11a 1px,#0000 1px);background-size:50px 50px;width:100%;height:100%;animation:30s linear infinite grid-move;position:absolute}@keyframes particle-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(180deg)}}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.dashboard-header-content{z-index:1;justify-content:space-between;align-items:flex-start;gap:2em;display:flex;position:relative}.ai-title-container{flex:1}.ai-title{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#6366f1,#8b5cf6,#06b6d4);-webkit-background-clip:text;background-clip:text;align-items:center;gap:.5em;margin:0 0 .5em;font-size:2.5em;font-weight:700;display:flex}.ai-icon{font-size:1.2em;animation:2s ease-in-out infinite ai-pulse}@keyframes ai-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ai-subtitle p{color:#94a3b8;margin:0 0 1em;font-size:1.1em}.store-context{color:#6366f1;background:#6366f11a;border:1px solid #6366f133;border-radius:.4em;padding:.2em .6em;font-size:.9em;font-weight:500}.ai-status{align-items:center;gap:.5em;display:flex}.status-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite status-pulse}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#10b981;font-size:.9em;font-weight:500}.ai-controls{align-items:center;gap:1em;display:flex}.ai-store-select,.ai-period-select{color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:.75em;min-width:150px;padding:.75em 1em;font-size:.9em;transition:all .3s}.ai-store-select:focus,.ai-period-select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f133}.ai-store-select:disabled{opacity:.6;cursor:not-allowed}.ai-store-select option,.ai-period-select option{color:var(--white);background:#1a1a2e}.ai-refresh-btn{cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:.75em;justify-content:center;align-items:center;width:2.5em;height:2.5em;transition:all .3s;display:flex}.ai-refresh-btn:hover{background:#6366f133;border-color:#6366f1;transform:rotate(180deg)}.refresh-icon{font-size:1em}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5em;display:grid}.dashboard-metrics.compact-metrics{grid-template-columns:repeat(4,1fr);gap:1em}.metric-card.ai-metric.compact{min-height:140px;padding:1em}.metric-card.ai-metric.compact .metric-content{text-align:center}.metric-card.ai-metric.compact .metric-header{justify-content:center;margin-bottom:.5em}.metric-card.ai-metric.compact .metric-icon{font-size:1.5em}.metric-card.ai-metric.compact .metric-value{margin-bottom:.3em;font-size:1.8em;font-weight:700}.metric-card.ai-metric.compact .metric-label{margin-bottom:.5em;font-size:.85em}.metric-card.ai-metric.compact .metric-growth{font-size:.8em}.metric-card.ai-metric{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1.25em;padding:1.5em;transition:all .3s;position:relative;overflow:hidden}.metric-card.ai-metric:hover{border-color:#6366f14d;transform:translateY(-5px);box-shadow:0 20px 40px #6366f133}.metric-glow{opacity:0;background:linear-gradient(45deg,#0000,#6366f11a,#0000);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.metric-card.ai-metric:hover .metric-glow{opacity:1}.metric-content{z-index:1;position:relative}.metric-header{justify-content:space-between;align-items:center;margin-bottom:1em;display:flex}.metric-icon{filter:drop-shadow(0 0 10px #ffffff4d);font-size:2em}.metric-badge{color:var(--white);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(45deg,#6366f1,#8b5cf6);border-radius:1em;padding:.25em .75em;font-size:.75em;font-weight:600}.metric-value{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;margin-bottom:.25em;font-size:2.5em;font-weight:700}.metric-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5em;font-size:.9em}.metric-growth{align-items:center;gap:.25em;font-size:.9em;font-weight:600;display:flex}.metric-growth.positive{color:#10b981}.metric-growth.negative{color:#ef4444}.metric-chart{opacity:.3;transition:opacity .3s;position:absolute;top:1.5em;right:1.5em}.metric-card.ai-metric:hover .metric-chart{opacity:.8}.ai-chart{align-items:end;gap:2px;height:40px;display:flex}.chart-bar{background:linear-gradient(#8b5cf6,#6366f1);border-radius:2px;width:3px;animation:1s ease-out chart-grow}@keyframes chart-grow{0%{height:0}to{height:var(--height)}}.dashboard-analytics{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5em;display:grid}.analytics-card.ai-analytics{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1.25em;padding:1.5em;transition:all .3s;position:relative;overflow:hidden}.analytics-card.ai-analytics:hover{border-color:#6366f14d;transform:translateY(-3px);box-shadow:0 15px 30px #6366f126}.analytics-glow{opacity:0;background:linear-gradient(45deg,#0000,#6366f10d,#0000);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.analytics-card.ai-analytics:hover .analytics-glow{opacity:1}.analytics-header{z-index:1;justify-content:space-between;align-items:center;margin-bottom:1.5em;display:flex;position:relative}.analytics-header h3{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25em;font-weight:600}.ai-btn{color:var(--white);cursor:pointer;background:linear-gradient(45deg,#6366f1,#8b5cf6);border:none;border-radius:.75em;padding:.5em 1em;font-size:.9em;font-weight:500;transition:all .3s}.ai-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #6366f14d}.analytics-content{z-index:1;position:relative}.analytics-stats{grid-template-columns:repeat(3,1fr);gap:1em;margin-bottom:1.5em;display:grid}.stat-item{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75em;padding:1em}.stat-value{color:var(--white);margin-bottom:.25em;font-size:1.5em;font-weight:700}.stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:.8em}.analytics-chart{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75em;padding:1em}.chart-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1em;font-size:.9em}.role-distribution,.city-distribution,.reward-distribution{flex-direction:column;gap:.75em;display:flex}.role-item,.city-item,.reward-item{border-radius:.5em;align-items:center;gap:1em;padding:.5em;transition:background .3s;display:flex}.role-item:hover,.city-item:hover,.reward-item:hover{background:#ffffff0d}.role-info,.city-info,.reward-info{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.role-name,.city-name,.reward-name{color:var(--white);font-size:.9em;font-weight:500}.role-count,.city-count,.reward-count{color:#94a3b8;font-size:.8em}.role-bar,.city-bar,.reward-bar{background:#ffffff1a;border-radius:3px;width:100px;height:6px;overflow:hidden}.role-bar-fill,.city-bar-fill,.reward-bar-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;height:100%;transition:width 1s}.role-percentage,.city-percentage,.reward-percentage{color:#94a3b8;text-align:right;min-width:40px;font-size:.8em;font-weight:500}.action-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1em;display:grid}.ai-action-btn{color:var(--white);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75em;flex-direction:column;align-items:center;gap:.5em;padding:1em;transition:all .3s;display:flex;position:relative;overflow:hidden}.ai-action-btn:hover{background:#6366f11a;border-color:#6366f1;transform:translateY(-3px)}.action-glow{opacity:0;background:linear-gradient(45deg,#0000,#6366f11a,#0000);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.ai-action-btn:hover .action-glow{opacity:1}.action-icon{z-index:1;font-size:1.5em;position:relative}.action-text{text-align:center;z-index:1;font-size:.8em;font-weight:500;position:relative}.dashboard-activity{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1.25em;padding:1.5em}.activity-header{justify-content:space-between;align-items:center;margin-bottom:1.5em;display:flex}.activity-header h3{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25em;font-weight:600}.ai-activity-btn{color:var(--white);cursor:pointer;background:linear-gradient(45deg,#6366f1,#8b5cf6);border:none;border-radius:.75em;padding:.5em 1em;font-size:.9em;font-weight:500;transition:all .3s}.ai-activity-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #6366f14d}.activity-list{flex-direction:column;gap:1em;display:flex}.activity-item.ai-activity{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75em;align-items:center;gap:1em;padding:1em;transition:all .3s;display:flex;position:relative;overflow:hidden}.activity-item.ai-activity:hover{background:#ffffff14;border-color:#6366f14d;transform:translate(5px)}.activity-glow{opacity:0;background:linear-gradient(45deg,#0000,#6366f10d,#0000);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.activity-item.ai-activity:hover .activity-glow{opacity:1}.activity-icon{z-index:1;font-size:1.5em;position:relative}.activity-content{z-index:1;flex:1;position:relative}.activity-title{color:var(--white);margin-bottom:.25em;font-weight:600}.activity-desc{color:#94a3b8;margin-bottom:.25em;font-size:.9em}.activity-time{color:#64748b;font-size:.8em}@media (max-width:calc(48em - .001px)){.dashboard{gap:1.5em;padding:1em}.dashboard-header{padding:1.5em}.dashboard-header-content{flex-direction:column;gap:1.5em}.ai-title{font-size:2em}.dashboard-metrics{grid-template-columns:1fr}.dashboard-metrics.compact-metrics{grid-template-columns:repeat(2,1fr);gap:.75em}.metric-card.ai-metric.compact{min-height:120px;padding:.75em}.metric-card.ai-metric.compact .metric-value{font-size:1.5em}.dashboard-analytics,.analytics-stats{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:calc(32em - .001px)){.dashboard{padding:.75em}.dashboard-header{padding:1em}.ai-title{font-size:1.75em}.metric-card.ai-metric{padding:1em}.metric-value{font-size:2em}.analytics-card.ai-analytics{padding:1em}.action-grid{grid-template-columns:1fr}}.dashboard-error{min-height:100vh;color:var(--white);background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 50%,#16213e 100%);justify-content:center;align-items:center;display:flex}.error-container{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:3em;box-shadow:0 25px 50px #0000004d}.error-icon{margin-bottom:.5em;font-size:4em}.error-container h3{color:#ff6b6b;margin-bottom:.5em;font-size:1.5em}.error-container p{color:#fffc;margin-bottom:1.5em}.retry-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:.75em 1.5em;font-weight:600;transition:all .3s}.retry-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.dashboard-empty{min-height:100vh;color:var(--white);background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 50%,#16213e 100%);justify-content:center;align-items:center;display:flex}.empty-container{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:3em;box-shadow:0 25px 50px #0000004d}.empty-icon{opacity:.7;margin-bottom:.5em;font-size:4em}.empty-container h3{color:#ffffffe6;margin-bottom:.5em;font-size:1.5em}.empty-container p{color:#ffffffb3}.metric-secondary{color:#ffffffb3;margin-top:.5em;font-size:.8em}.activity-period{color:#fffc;background:#ffffff1a;border-radius:12px;padding:.25em .75em;font-size:.8em}@media (max-width:480px){.dashboard-metrics.compact-metrics{grid-template-columns:repeat(2,1fr);gap:.5em}.metric-card.ai-metric.compact{min-height:100px;padding:.6em}.metric-card.ai-metric.compact .metric-icon{font-size:1.2em}.metric-card.ai-metric.compact .metric-value{font-size:1.3em}.metric-card.ai-metric.compact .metric-label{font-size:.75em}.metric-card.ai-metric.compact .metric-growth{font-size:.7em}.error-container,.empty-container{margin:1em;padding:2em 1.5em}.retry-button{width:100%;padding:1em}}.phone-input-container{flex-direction:column;gap:.5em;display:flex}.phone-label{color:var(--text);align-items:center;gap:.25em;margin-bottom:0;font-size:.875em;font-weight:500;display:flex}.required{color:var(--error-400);font-weight:600}.phone-input-wrapper{border:1px solid var(--border);background:var(--background);box-sizing:border-box;border-radius:.5em;align-items:stretch;transition:all .15s;display:flex;position:relative;overflow:visible}.phone-input-wrapper:focus-within{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.phone-input-wrapper.error{border-color:var(--error-400)}.phone-input-wrapper.error:focus-within{border-color:var(--error-400);box-shadow:var(--shadow-focus)}.country-selector{align-items:center;display:flex;position:relative}.country-button{background:var(--background);border:none;border-right:1px solid var(--border);cursor:pointer;min-width:6em;color:var(--text);box-sizing:border-box;align-items:center;gap:.5em;padding:.75em 1em;font-family:inherit;font-size:1em;transition:all .15s;display:flex}.country-button:hover:not(:disabled){background:var(--hover)}.country-button:focus{background:var(--hover);outline:none}.country-button:disabled{opacity:.6;cursor:not-allowed}.country-flag{font-size:1.125em;line-height:1}.country-code{color:var(--text);font-weight:500}.dropdown-arrow{width:1em;height:1em;color:var(--text-muted);transition:transform .15s}.country-selector.open .dropdown-arrow{transform:rotate(180deg)}.country-dropdown{background:var(--background);border:1px solid var(--border);box-shadow:var(--shadow);z-index:99999;border-radius:.5em;min-width:16em;max-height:20em;margin-top:.25em;animation:.2s ease-out slideDown;position:absolute;top:100%;left:0;right:0;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.search-container{border-bottom:1px solid var(--border);padding:.75em}.country-search{border:1px solid var(--border);background:var(--background);width:100%;color:var(--text);box-sizing:border-box;border-radius:.5em;padding:.5em;font-family:inherit;font-size:.875em;transition:border-color .15s}.country-search:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.country-search::placeholder{color:var(--text-muted)}.country-list{max-height:15em;overflow-y:auto}.country-option{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.75em;padding:.75em;font-family:inherit;font-size:.875em;transition:background-color .15s;display:flex}.country-option:hover{background:var(--hover)}.country-option.selected{background:var(--primary-light);color:var(--primary);font-weight:500}.country-option .country-flag{flex-shrink:0;font-size:1em}.country-option .country-name{flex:1;font-weight:400}.country-option .country-dial-code{color:var(--text-muted);flex-shrink:0;font-weight:500}.phone-input{color:var(--text);background:var(--background);box-sizing:border-box;border:none;outline:none;flex:1;padding:.75em 1em;font-family:inherit;font-size:1em}.phone-input::placeholder{color:var(--text-muted)}.phone-input:disabled{background:var(--background-disabled);color:var(--text-disabled);cursor:not-allowed}.phone-input.error{color:var(--error-400)}.error-message{color:var(--error-400);margin-top:.25em;font-size:.75em}@media (max-width:768px){.phone-input-wrapper{flex-direction:column}.country-button{justify-content:center;min-width:auto}.country-dropdown{left:-.5em;right:-.5em}.country-option{padding:.625em;font-size:.8125em}.country-search{font-size:.8125em}}@media (max-width:480px){.country-button,.phone-input{padding:.625em;font-size:.8125em}.country-option{padding:.5em;font-size:.75em}.country-flag{font-size:.875em}}.users{flex-flow:column wrap;gap:1.5em;display:flex;overflow-x:hidden}.users-user-info{align-items:center;gap:.75em;display:flex}.users-user-details{flex:1;min-width:0}.users-user-phone{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75em;overflow:hidden}.users-search-filter-section{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;flex-wrap:wrap;align-items:center;gap:1em;padding:1.5em;display:flex}.users-search-input{border:1px solid var(--border);color:var(--text);background:var(--background);border-radius:.5em;padding:.75em 1em;font-size:1em}.users-search-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.users-search-input::placeholder{color:var(--text-muted)}.users-filter-select{border:1px solid var(--border);min-width:10em;color:var(--text);background:var(--background);cursor:pointer;border-radius:.5em;padding:.75em 1em;font-size:1em}.users-filter-select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.users-create-btn{background:var(--primary);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:.5em;flex-shrink:0;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.users-create-btn:hover{background:var(--primary-dark)}.users-table-container{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;overflow:hidden}.users-table{border-collapse:collapse;width:100%;font-size:.875em}.users-table th{text-align:left;color:var(--text);border-bottom:1px solid var(--border);background:var(--gray-light);padding:1em;font-weight:600}.users-table td{border-bottom:1px solid var(--border);color:var(--text);padding:1em}.users-table tr:hover{background:var(--hover)}.users-table tr:last-child td{border-bottom:none}.users-table th:first-child{min-width:10em;max-width:12em}.users-table th:nth-child(2){min-width:12em;max-width:15em}.users-table th:nth-child(3){min-width:8em;max-width:10em}.users-table th:nth-child(4),.users-table th:nth-child(5){min-width:6em;max-width:8em}.users-table th:nth-child(6){min-width:8em;max-width:10em}.users-table th:nth-child(7){width:8em;min-width:8em;max-width:10em}.users-role-badge,.users-status-badge{text-transform:capitalize;border-radius:.25em;padding:.25em .75em;font-size:.75em;font-weight:500}.users-role-badge.bg-red-100{color:#991b1b;background:#fee2e2}.users-role-badge.bg-purple-100{color:#7c3aed;background:#f3e8ff}.users-role-badge.bg-blue-100{color:#1e40af;background:#dbeafe}.users-role-badge.bg-green-100{color:#166534;background:#dcfce7}.users-role-badge.bg-gray-100{color:#475569;background:#f1f5f9}.users-status-badge.active{color:#166534;background:#dcfce7}.users-status-badge.inactive{color:#991b1b;background:#fee2e2}.users-actions{gap:.5em;display:flex}.users-action-btn{cursor:pointer;background:0 0;border:none;border-radius:.25em;justify-content:center;align-items:center;width:2em;height:2em;padding:.5em;font-size:1em;transition:all .15s;display:flex}.users-action-btn.edit:hover{background:var(--hover)}.users-action-btn.delete:hover{color:#991b1b;background:#fee2e2}.users-mobile{flex-direction:column;gap:1em;display:none}.users-user-card{background:var(--background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.75em;padding:1em}.users-user-card-header{justify-content:space-between;align-items:flex-start;gap:.75em;margin-bottom:1em;display:flex}.users-user-card-info{flex:1;min-width:0}.users-user-card-name{color:var(--text);margin-bottom:.25em;font-size:1.125em;font-weight:600}.users-user-card-email{color:var(--text-muted);word-break:break-word;font-size:.875em}.users-user-card-actions{flex-shrink:0;gap:.5em;display:flex}.users-user-card-content{flex-direction:column;gap:.75em;display:flex}.users-user-card-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5em 0;display:flex}.users-user-card-row:last-child{border-bottom:none}.users-user-card-label{color:var(--text-muted);font-size:.875em;font-weight:500}.users-user-card-value{color:var(--text);text-align:right;font-size:.875em}.users-modal{border:1px solid var(--border);width:90vw;max-width:48em;max-height:90vh;box-shadow:var(--shadow);background:var(--background);border-radius:.75em;padding:0;overflow:auto}.users-modal::backdrop{background:#0006}.users-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5em;display:flex}.users-panel-title{color:var(--text);margin:0;font-size:1.25em;font-weight:600}.users-panel-close{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:.5em;justify-content:center;align-items:center;width:2em;height:2em;font-size:1em;display:flex}.users-form{padding:1.5em}.users-form-grid{grid-template-columns:repeat(auto-fit,minmax(18em,1fr));gap:1.5em;margin-bottom:1.5em;display:grid}.users-form-field{flex-direction:column;gap:.5em;display:flex}.users-form-label{color:var(--text);font-size:.875em;font-weight:500}.users-form-input,.users-form-select{border:1px solid var(--border);color:var(--text);background:var(--background);box-sizing:border-box;border-radius:.5em;padding:.75em 1em;font-family:inherit;font-size:1em}.users-form-input:focus,.users-form-select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.users-form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1em;display:flex}.users-button-secondary{background:var(--hover);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:.5em;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.users-button-secondary:hover{background:var(--gray-light)}.users-button-danger{background:var(--error);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:.5em;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.users-button-danger:hover{background:#dc2626}.users-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1em;padding:3em;display:flex}.users-loading-spinner{border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;width:2.5em;height:2.5em;animation:1s linear infinite users-spin}@keyframes users-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.users-no-users{text-align:center;color:var(--text-muted);padding:2em}.users-confirm-text{color:var(--text);margin:0 0 1.5em;line-height:1.5}@media (max-width:calc(80em - .001px)){.users-table-container{overflow-x:auto}.users-table{min-width:65em}}@media (max-width:calc(64em - .001px)){.users-table-container{overflow-x:auto}.users-table{min-width:60em}}@media (max-width:calc(48em - .001px)){.users-search-filter-section{flex-direction:column;align-items:stretch;gap:1em;padding:1em}.users-search-input,.users-filter-select{min-width:0;max-width:none}.users-create-btn{align-self:stretch;width:100%}.users-table-container{display:none}.users-mobile{display:flex}.users-form-grid{grid-template-columns:1fr;gap:1em}.users-form-actions{flex-direction:column;align-items:stretch}.users-button-secondary,.users-button-danger,.users-create-btn{width:100%}.users-modal{width:95vw;max-width:none;margin:1em}.users-panel-header,.users-form{padding:1em}}@media (max-width:calc(32em - .001px)){.users-search-filter-section{gap:.75em;padding:.75em}.users-search-input,.users-filter-select{padding:.5em .75em;font-size:.875em}.users-create-btn{padding:.5em 1em;font-size:.875em}.users-panel-header,.users-form{padding:.75em}.users-form-grid{gap:.75em}}@media (min-width:48em){.users-mobile{display:none}.users-table-container{display:block}}.stores{flex-flow:column wrap;gap:1.5em;display:flex;overflow-x:hidden}.stores-store-info{align-items:center;gap:.75em;display:flex}.stores-store-details{flex:1;min-width:0}.stores-store-name{color:var(--text);font-weight:600}.stores-store-address{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75em;overflow:hidden}.stores-search-filter-section{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;flex-wrap:wrap;align-items:center;gap:1em;margin-bottom:1.5em;padding:1.5em;display:flex}.stores-search-input{border:1px solid var(--border);color:var(--text);background:var(--background);border-radius:.5em;padding:.75em 1em;font-size:1em}.stores-search-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.stores-search-input::placeholder{color:var(--text-muted)}.stores-filter-select{border:1px solid var(--border);color:var(--text);background:var(--background);cursor:pointer;border-radius:.5em;padding:.75em 1em;font-size:1em}.stores-filter-select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.stores-create-btn{background:var(--primary);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:.5em;flex-shrink:0;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.stores-create-btn:hover{background:var(--primary-dark)}.stores-table-container{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;overflow:hidden}.stores-table{border-collapse:collapse;width:100%;font-size:.875em}.stores-table th{text-align:left;color:var(--text);border-bottom:1px solid var(--border);background:var(--gray-light);padding:1em;font-weight:600}.stores-table td{border-bottom:1px solid var(--border);color:var(--text);padding:1em}.stores-table tr:hover{background:var(--hover)}.stores-table tr:last-child td{border-bottom:none}.stores-table th:first-child{min-width:12em;max-width:15em}.stores-table th:nth-child(2){min-width:15em;max-width:20em}.stores-table th:nth-child(3){min-width:8em;max-width:10em}.stores-table th:nth-child(4){min-width:10em;max-width:12em}.stores-table th:nth-child(5){min-width:12em;max-width:15em}.stores-table th:nth-child(6){min-width:6em;max-width:8em}.stores-table th:nth-child(7){width:8em;min-width:8em;max-width:10em}.stores-type-badge,.stores-status-badge{text-transform:capitalize;border-radius:.25em;padding:.25em .75em;font-size:.75em;font-weight:500}.stores-type-badge.bg-blue-100{color:#1e40af;background:#dbeafe}.stores-type-badge.bg-green-100{color:#166534;background:#dcfce7}.stores-type-badge.bg-purple-100{color:#7c3aed;background:#f3e8ff}.stores-type-badge.bg-orange-100{color:#c2410c;background:#fed7aa}.stores-status-badge.active{color:#166534;background:#dcfce7}.stores-status-badge.inactive{color:#991b1b;background:#fee2e2}.stores-actions{gap:.5em;display:flex}.stores-action-btn{cursor:pointer;background:0 0;border:none;border-radius:.25em;justify-content:center;align-items:center;width:2em;height:2em;padding:.5em;font-size:1em;transition:all .15s;display:flex}.stores-action-btn.edit:hover{background:var(--hover)}.stores-action-btn.delete:hover{color:#991b1b;background:#fee2e2}.stores-mobile{flex-direction:column;gap:1em;display:none}.stores-store-card{background:var(--background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.75em;padding:1em}.stores-store-card-header{justify-content:space-between;align-items:flex-start;gap:.75em;margin-bottom:1em;display:flex}.stores-store-card-info{flex:1;min-width:0}.stores-store-card-name{color:var(--text);margin-bottom:.25em;font-size:1.125em;font-weight:600}.stores-store-card-address{color:var(--text-muted);word-break:break-word;font-size:.875em}.stores-store-card-actions{flex-shrink:0;gap:.5em;display:flex}.stores-store-card-content{flex-direction:column;gap:.75em;display:flex}.stores-store-card-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5em 0;display:flex}.stores-store-card-row:last-child{border-bottom:none}.stores-store-card-label{color:var(--text-muted);font-size:.875em;font-weight:500}.stores-store-card-value{color:var(--text);text-align:right;font-size:.875em}.stores-modal{border:1px solid var(--border);width:90vw;max-width:48em;max-height:90vh;box-shadow:var(--shadow);background:var(--background);border-radius:.75em;padding:0;overflow:auto}.stores-modal::backdrop{background:#0006}.stores-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5em;display:flex}.stores-panel-title{color:var(--text);margin:0;font-size:1.25em;font-weight:600}.stores-panel-close{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:.5em;justify-content:center;align-items:center;width:2em;height:2em;font-size:1em;display:flex}.stores-form{padding:1.5em}.stores-form-grid{grid-template-columns:repeat(auto-fit,minmax(18em,1fr));gap:1.5em;margin-bottom:1.5em;display:grid}.stores-form-field{flex-direction:column;gap:.5em;display:flex}.stores-form-label{color:var(--text);font-size:.875em;font-weight:500}.stores-form-input,.stores-form-select,.stores-form-textarea{border:1px solid var(--border);color:var(--text);background:var(--background);box-sizing:border-box;border-radius:.5em;padding:.75em 1em;font-family:inherit;font-size:1em}.stores-form-input:focus,.stores-form-select:focus,.stores-form-textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.stores-form-textarea{resize:vertical;min-height:4em}.stores-form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1em;display:flex}.stores-button-secondary{background:var(--hover);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:.5em;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.stores-button-secondary:hover{background:var(--gray-light)}.stores-button-danger{background:var(--error);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:.5em;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.stores-button-danger:hover{background:#dc2626}.stores-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1em;padding:3em;display:flex}.stores-loading-spinner{border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;width:2.5em;height:2.5em;animation:1s linear infinite stores-spin}@keyframes stores-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stores-no-stores{text-align:center;color:var(--text-muted);padding:2em}.stores-confirm-text{color:var(--text);margin:0 0 1.5em;line-height:1.5}@media (max-width:calc(80em - .001px)){.stores-table-container{overflow-x:auto}.stores-table{min-width:70em}}@media (max-width:calc(64em - .001px)){.stores-table-container{overflow-x:auto}.stores-table{min-width:65em}}@media (max-width:calc(48em - .001px)){.stores-search-filter-section{flex-direction:column;align-items:stretch;gap:1em;padding:1em}.stores-search-input,.stores-filter-select{min-width:0;max-width:none}.stores-create-btn{align-self:stretch}.stores-table-container{display:none}.stores-mobile{display:flex}.stores-form-grid{grid-template-columns:1fr;gap:1em}.stores-form-actions{flex-direction:column;align-items:stretch}.stores-button-secondary,.stores-button-danger,.stores-create-btn{width:100%}.stores-modal{width:95vw;max-width:none;margin:1em}.stores-panel-header,.stores-form{padding:1em}}@media (max-width:calc(32em - .001px)){.stores-search-filter-section{gap:.75em;padding:.75em}.stores-search-input,.stores-filter-select{padding:.5em .75em;font-size:.875em}.stores-create-btn{padding:.5em 1em;font-size:.875em}.stores-panel-header,.stores-form{padding:.75em}.stores-form-grid{gap:.75em}}@media (min-width:48em){.stores-mobile{display:none}.stores-table-container{display:block}}.rewards{flex-flow:column wrap;gap:1.5em;width:100%;max-width:100%;display:flex;overflow-x:hidden}.rewards-search-filter-section{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;flex-wrap:wrap;align-items:center;gap:1em;margin-bottom:1.5em;padding:1.5em;display:flex}.rewards-search-input{border:1px solid var(--border);min-width:15em;max-width:25em;color:var(--text);background:var(--background);border-radius:.5em;padding:.75em 1em;font-size:1em}.rewards-search-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.rewards-search-input::placeholder{color:var(--text-muted)}.rewards-filter-select{border:1px solid var(--border);color:var(--text);background:var(--background);cursor:pointer;border-radius:.5em;padding:.75em 1em;font-size:1em}.rewards-filter-select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.rewards-create-btn{background:var(--primary);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:.5em;flex-shrink:0;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.rewards-create-btn:hover{background:var(--primary-dark)}.rewards-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1em;padding:3em;display:flex}.rewards-loading-spinner{border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;width:2.5em;height:2.5em;animation:1s linear infinite rewards-spin}@keyframes rewards-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rewards-grid{flex-wrap:wrap;gap:1.5em;display:flex}.rewards-reward-card{background:var(--background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.75em;flex:22em;min-width:18em;max-width:28em;padding:1.5em;transition:all .15s}.rewards-reward-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 6px #0000000d}.rewards-reward-header{align-items:flex-start;gap:1em;margin-bottom:1em;display:flex}.rewards-reward-icon{background:linear-gradient(135deg,var(--primary),var(--ai-purple));color:#fff;border-radius:.5em;flex-shrink:0;justify-content:center;align-items:center;width:3em;height:3em;font-size:1.5em;display:flex}.rewards-reward-info{flex:1;min-width:0}.rewards-reward-name{color:var(--text);letter-spacing:-.025em;margin:0 0 .5em;font-size:1.125em;font-weight:600}.rewards-reward-description{color:var(--text-muted);margin:0;font-size:.875em;line-height:1.5}.rewards-reward-actions{gap:.5em;display:flex}.rewards-action-btn{cursor:pointer;background:0 0;border:none;border-radius:.25em;justify-content:center;align-items:center;width:2em;height:2em;padding:.5em;font-size:1em;transition:all .15s;display:flex}.rewards-action-btn.edit:hover{background:var(--hover);color:var(--primary)}.rewards-action-btn.delete:hover{color:#991b1b;background:#fee2e2}.rewards-reward-details{flex-wrap:wrap;gap:1em;font-size:.875em;display:flex}.rewards-reward-type{width:100%}.rewards-type-badge{text-transform:capitalize;border-radius:.25em;align-items:center;padding:.25em .75em;font-size:.75em;font-weight:500;display:inline-flex}.rewards-type-badge.bg-blue-100{color:#1e40af;background:#dbeafe}.rewards-type-badge.bg-green-100{color:#166534;background:#dcfce7}.rewards-type-badge.bg-purple-100{color:#7c3aed;background:#f3e8ff}.rewards-type-badge.bg-orange-100{color:#c2410c;background:#fed7aa}.rewards-reward-value,.rewards-reward-points,.rewards-reward-status,.rewards-reward-expiry{flex-direction:column;gap:.25em;display:flex}.rewards-value-label,.rewards-points-label,.rewards-expiry-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75em;font-weight:500}.rewards-value-amount,.rewards-points-amount,.rewards-expiry-date{color:var(--text);font-weight:600}.rewards-status-badge{border-radius:.25em;align-self:flex-start;align-items:center;padding:.25em .75em;font-size:.75em;font-weight:500;display:inline-flex}.rewards-status-badge.active{color:#166534;background:#dcfce7}.rewards-status-badge.inactive{color:#991b1b;background:#fee2e2}.rewards-no-rewards{width:100%;color:var(--text-muted);flex-direction:column;align-items:center;padding:3em;display:flex}.rewards-no-rewards-icon{margin-bottom:1em;font-size:3em}.rewards-no-rewards p{margin:0;font-size:1em;font-weight:500}.rewards-modal{border:1px solid var(--border);width:90vw;max-width:48em;max-height:90vh;box-shadow:var(--shadow);background:var(--background);border-radius:.75em;padding:0;overflow:auto}.rewards-modal::backdrop{background:#0006}.rewards-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5em;display:flex}.rewards-panel-title{color:var(--text);margin:0;font-size:1.25em;font-weight:600}.rewards-panel-close{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:.5em;justify-content:center;align-items:center;width:2em;height:2em;font-size:1em;display:flex}.rewards-form{padding:1.5em}.rewards-form-grid{flex-wrap:wrap;gap:1.5em;margin-bottom:1.5em;display:flex}.rewards-form-field{flex-direction:column;flex:18em;gap:.5em;min-width:18em;display:flex}.rewards-form-label{color:var(--text);font-size:.875em;font-weight:500}.rewards-form-input,.rewards-form-select,.rewards-form-textarea{border:1px solid var(--border);color:var(--text);background:var(--background);box-sizing:border-box;border-radius:.5em;width:100%;padding:.75em 1em;font-family:inherit;font-size:1em}.rewards-form-input:focus,.rewards-form-select:focus,.rewards-form-textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.rewards-form-textarea{resize:vertical;min-height:4em}.rewards-form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1em;display:flex}.rewards-button-secondary{background:var(--hover);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:.5em;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.rewards-button-secondary:hover{background:var(--gray-light)}.rewards-button-danger{background:var(--error);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:.5em;padding:.75em 1.5em;font-size:1em;font-weight:500;transition:all .15s}.rewards-button-danger:hover{background:#dc2626}.rewards-confirm-text{color:var(--text);margin:0 0 1.5em;line-height:1.5}@media (max-width:calc(48em - .001px)){.rewards-search-filter-section{flex-direction:column;align-items:stretch;gap:1em;padding:1em}.rewards-search-input,.rewards-filter-select{width:100%;min-width:0;max-width:none}.rewards-create-btn{align-self:stretch;width:100%}.rewards-grid{flex-direction:column;gap:1em}.rewards-form-field{flex:100%;min-width:0}.rewards-form-grid{flex-direction:column;gap:1em}.rewards-form-actions{flex-direction:column;align-items:stretch}.rewards-button-secondary,.rewards-button-danger,.rewards-create-btn{width:100%}.rewards-modal{width:95vw;max-width:none;margin:1em}.rewards-panel-header,.rewards-form{padding:1em}}@media (max-width:calc(32em - .001px)){.rewards-search-filter-section{gap:.75em;padding:.75em}.rewards-search-input,.rewards-filter-select{width:100%;padding:.5em .75em;font-size:.875em}.rewards-create-btn{padding:.5em 1em;font-size:.875em}.rewards-reward-card{min-width:0;max-width:100%;padding:1.25em}.rewards-reward-details{flex-direction:column;gap:.75em}.rewards-panel-header,.rewards-form{padding:.75em}.rewards-form-field{flex:100%;min-width:0}}@media (max-width:calc(28em - .001px)){.rewards-reward-header{flex-direction:column;align-items:flex-start;gap:.75em}.rewards-reward-actions{align-self:flex-end}.rewards-action-btn{width:2.5em;height:2.5em;font-size:1.125em}}.qr-scanner-container{background:linear-gradient(135deg,#1a1a2ef2,#272745f2);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative}.qr-scanner-main{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.qr-scanner-scan-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2em;padding:2em;transition:all .3s;display:flex}.qr-scanner-scan-btn:hover{transform:scale(1.05)}.qr-scanner-scan-btn:disabled{opacity:.6;cursor:not-allowed}.qr-code-visual{background:#fff;border-radius:20px;justify-content:center;align-items:center;width:250px;height:250px;transition:all .3s;display:flex;position:relative;box-shadow:0 20px 60px #0000004d}.qr-scanner-scan-btn:hover .qr-code-visual{transform:translateY(-5px);box-shadow:0 30px 80px #3b82f666}.qr-corner{border:4px solid #3b82f6;width:40px;height:40px;position:absolute}.qr-corner.top-left{border-bottom:none;border-right:none;border-radius:8px 0 0;top:15px;left:15px}.qr-corner.top-right{border-bottom:none;border-left:none;border-radius:0 8px 0 0;top:15px;right:15px}.qr-corner.bottom-left{border-top:none;border-right:none;border-radius:0 0 0 8px;bottom:15px;left:15px}.qr-corner.bottom-right{border-top:none;border-left:none;border-radius:0 0 8px;bottom:15px;right:15px}.qr-center{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:15px;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;box-shadow:0 8px 25px #3b82f64d}.qr-pattern{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:4px;width:24px;height:24px;display:grid}.qr-dot{background:#fff;border-radius:2px;width:8px;height:8px}.dv-brand{color:#3b82f6;letter-spacing:2px;text-shadow:0 2px 8px #3b82f64d;font-size:1.2em;font-weight:900;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.scan-btn-text{color:#fff;text-transform:uppercase;letter-spacing:3px;text-shadow:0 4px 15px #0000004d;font-size:2em;font-weight:800}.qr-scanner-camera{z-index:10;background:#1a1a2efa;flex-direction:column;justify-content:center;align-items:center;gap:2em;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.qr-scanner-video-container{border-radius:20px;width:90%;max-width:500px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.qr-scanner-video-container video{border-radius:20px;width:100%;height:auto}.qr-scanner-video-container>div{border-radius:20px;overflow:hidden}.qr-scanner-video-container canvas{border-radius:20px}.qr-scanner-camera-controls{justify-content:center;gap:1em;display:flex}.qr-scanner-stop-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:15px;padding:1em 2em;font-size:1.1em;font-weight:700;transition:all .3s;box-shadow:0 8px 25px #ef44444d}.qr-scanner-stop-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 12px 30px #ef444466}.qr-scanner-error{color:#fca5a5;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ef44441a;border:1px solid #ef44444d;border-radius:15px;justify-content:center;align-items:center;gap:.5em;max-width:400px;padding:2em;font-size:1.2em;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qr-scanner-error-icon{font-size:1.5em}.qr-scanner-result{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:20;background:#1a1a2ef2;border:2px solid #3b82f64d;border-radius:25px;min-width:400px;max-width:90%;padding:3em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 80px #0006}.qr-scanner-result-content{flex-direction:column;align-items:center;gap:2em;display:flex}.qr-scanner-success,.qr-scanner-failure{flex-direction:column;align-items:center;gap:1.5em;display:flex}.qr-scanner-success-icon,.qr-scanner-failure-icon{margin-bottom:.5em;font-size:5em}.qr-scanner-success-icon{color:#22c55e}.qr-scanner-failure-icon{color:#ef4444}.qr-scanner-success h3,.qr-scanner-failure h3{margin:0;font-size:2em;font-weight:800}.qr-scanner-success h3{color:#22c55e}.qr-scanner-failure h3{color:#ef4444}.qr-scanner-success p,.qr-scanner-failure p{color:#a1a1aa;margin:0;font-size:1.3em;line-height:1.5}.qr-scanner-result-details{text-align:left;background:#3b82f61a;border:1px solid #3b82f633;border-radius:15px;width:100%;max-width:350px;margin-top:2em;padding:2em}.qr-scanner-result-details p{color:#a1a1aa;margin:.75em 0;font-size:1.1em;line-height:1.6}.qr-scanner-result-details p:first-child{margin-top:0}.qr-scanner-result-details p:last-child{margin-bottom:0}.qr-scanner-result-details strong{color:#3b82f6;font-weight:700}.qr-scanner-processing{z-index:1000;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;gap:2em;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.qr-scanner-processing-spinner{border:5px solid #3b82f64d;border-top-color:#3b82f6;border-radius:50%;width:60px;height:60px;animation:1s linear infinite qr-scanner-spin}@keyframes qr-scanner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qr-scanner-processing p{color:#fff;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:1.5em;font-weight:700}@media (max-width:768px){.qr-code-visual{width:200px;height:200px}.qr-corner{width:30px;height:30px}.qr-center{width:60px;height:60px}.qr-pattern{gap:3px;width:20px;height:20px}.qr-dot{width:7px;height:7px}.dv-brand{letter-spacing:1.5px;font-size:1em;top:-25px}.scan-btn-text{letter-spacing:2px;font-size:1.5em}.qr-scanner-result{min-width:300px;padding:2em}.qr-scanner-video-container{width:95%;max-width:400px}}@media (max-width:480px){.qr-code-visual{width:180px;height:180px}.qr-corner{border-width:3px;width:25px;height:25px}.qr-center{width:50px;height:50px}.qr-pattern{gap:2px;width:16px;height:16px}.qr-dot{width:6px;height:6px}.dv-brand{letter-spacing:1px;font-size:.9em;top:-22px}.scan-btn-text{letter-spacing:1px;font-size:1.3em}.qr-scanner-result{min-width:280px;padding:1.5em}.qr-scanner-success-icon,.qr-scanner-failure-icon{font-size:4em}.qr-scanner-success h3,.qr-scanner-failure h3{font-size:1.5em}}.progress-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.progress-modal-content{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;animation:.3s ease-out modalSlideIn;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000026}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.progress-modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.progress-modal-title{align-items:center;gap:12px;margin:0;font-size:24px;font-weight:600;display:flex}.progress-modal-close:hover{background:#ffffff4d;transform:scale(1.05)}.progress-modal-body{max-height:calc(90vh - 120px);padding:32px;overflow-y:auto}.customer-reward-section{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px;transition:all .2s}.info-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.info-card-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.info-card-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.customer-icon{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.reward-icon{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.info-card-title{color:#1a202c;margin:0;font-size:18px;font-weight:600}.info-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.info-item:last-child{border-bottom:none}.info-label{color:#64748b;font-size:14px;font-weight:500}.info-value{color:#1a202c;text-align:right;font-size:14px;font-weight:600}.progress-section{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;margin-bottom:32px;padding:32px;position:relative;overflow:hidden}.progress-section:before{content:"";background:#ffffff1a;border-radius:50%;width:100px;height:100px;position:absolute;top:0;right:0;transform:translate(30px,-30px)}.progress-header{text-align:center;margin-bottom:24px}.progress-title{margin:0 0 8px;font-size:24px;font-weight:700}.progress-subtitle{opacity:.9;margin:0;font-size:16px}.progress-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;margin-bottom:32px;display:grid}.progress-stat{text-align:center}.progress-stat-value{font-size:32px;font-weight:700;line-height:1;display:block}.progress-stat-label{opacity:.9;margin-top:4px;font-size:14px}.progress-visual{text-align:center;background:#ffffff1a;border-radius:12px;padding:20px}.progress-percentage{margin-bottom:16px;font-size:48px;font-weight:700}.progress-bar{background:#fff3;border-radius:20px;height:12px;margin-bottom:12px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);border-radius:20px;height:100%;transition:width .8s;position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:2s infinite shimmer;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar-text{opacity:.9;font-size:14px}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-active{color:#166534;background:#dcfce7}.status-completed{color:#1e40af;background:#dbeafe}.status-paused{color:#92400e;background:#fef3c7}.status-expired{color:#991b1b;background:#fee2e2}.scan-history-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.scan-history-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;margin-bottom:0;padding:12px 16px}.scan-history-title{color:#1a202c;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.scan-history-content{margin:0;padding:0}.scan-history-table{border-collapse:collapse;border-spacing:0;width:100%;margin:0}.scan-history-table th{text-align:left;color:#475569;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:8px 12px;font-size:13px;font-weight:600}.scan-history-table td{color:#334155;vertical-align:top;border-bottom:1px solid #f1f5f9;padding:8px 12px;font-size:13px}.scan-history-table tr:hover{background:#f8fafc}.scan-history-table tr:last-child td{border-bottom:none}.scan-date{flex-direction:column;gap:1px;display:flex}.date-primary{color:#334155;font-size:13px;font-weight:600}.date-secondary{color:#64748b;font-size:11px}.stamps-badge{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:10px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-block}.progress-change{align-items:center;gap:4px;font-family:monospace;font-size:12px;display:flex}.progress-before{color:#64748b;font-weight:500}.progress-arrow{color:#3b82f6;font-weight:700}.progress-after{color:#059669;font-weight:600}.staff-info{flex-direction:column;gap:1px;display:flex}.staff-name{color:#334155;font-size:13px;font-weight:600}.staff-role{color:#64748b;text-transform:capitalize;font-size:11px}.no-staff{color:#94a3b8;font-size:12px;font-style:italic}.store-name{color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:500;display:inline-block}.empty-state{text-align:center;color:#64748b;padding:32px 20px}.empty-state-icon{opacity:.5;margin-bottom:12px;font-size:40px}.empty-state-title{color:#374151;margin-bottom:6px;font-size:16px;font-weight:600}.empty-state-description{color:#6b7280;margin:0;font-size:13px}.loading-state{text-align:center;padding:32px 20px}.loading-text{color:#64748b;font-size:14px}.error-state{text-align:center;color:#dc2626;padding:32px 20px}.error-state-icon{margin-bottom:12px;font-size:40px}.error-state-title{margin-bottom:6px;font-size:16px;font-weight:600}.error-state-description{margin:0;font-size:13px}@media (max-width:768px){.progress-modal-overlay{padding:10px}.progress-modal-content{border-radius:12px}.progress-modal-header{padding:20px 24px}.progress-modal-title{font-size:20px}.progress-modal-body{padding:24px 20px}.customer-reward-section{grid-template-columns:1fr;gap:16px}.progress-stats{grid-template-columns:repeat(2,1fr);gap:16px}.progress-stat-value{font-size:24px}.progress-percentage{font-size:36px}}.progress-modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.progress-modal-title{align-items:center;gap:12px;display:flex}.progress-modal-icon{font-size:24px}.progress-modal-title h2{margin:0;font-size:24px;font-weight:600}.progress-modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:background-color .2s;display:flex}.progress-modal-close:hover{background:#ffffff4d}.progress-overview{padding:32px}.progress-overview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.progress-overview-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.progress-overview-header h3{color:#1e293b;margin:0;font-size:18px;font-weight:600}.progress-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500}.progress-overview-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px;display:grid}.progress-overview-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.progress-label{color:#64748b;font-weight:500}.progress-value{color:#1e293b;font-weight:600}.progress-bar-container{margin-top:24px}.progress-bar-label{color:#64748b;margin-bottom:8px;font-weight:500}.progress-bar{background:#e2e8f0;border-radius:6px;width:100%;height:12px;margin-bottom:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:6px;height:100%;transition:width .3s}.progress-bar-text{text-align:center;color:#1e293b;font-weight:500}.scan-history-section{padding:0 32px 24px}.scan-history-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.scan-history-header h3{color:#1e293b;margin:0;font-size:18px;font-weight:600}.scan-history-count{color:#3730a3;background:#e0e7ff;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500}.scan-history-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.scan-loading-spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}.scan-history-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.scan-error-icon{font-size:20px}.scan-history-empty{text-align:center;color:#64748b;padding:60px 20px}.scan-empty-icon{margin-bottom:16px;font-size:48px}.scan-history-empty h4{color:#374151;margin:0 0 8px}.scan-history-empty p{color:#6b7280;margin:0}.scan-history-table{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.scan-history-table-header{color:#374151;background:#f8fafc;border-bottom:1px solid #e5e7eb;grid-template-columns:200px 180px 180px 80px 80px 80px 120px;font-weight:600;display:grid}.scan-history-table-body{max-height:400px;overflow-y:auto}.scan-history-table-row{border-bottom:1px solid #f3f4f6;grid-template-columns:200px 180px 180px 80px 80px 80px 120px;display:grid}.scan-history-table-row:hover{background:#f8fafc}.scan-table-cell{border-right:1px solid #f3f4f6;align-items:center;padding:10px 8px;font-size:14px;display:flex}.scan-table-cell:last-child{border-right:none}.scan-date{color:#374151;font-size:13px}.scan-staff{text-align:left}.scan-staff-name{color:#1f2937;margin-bottom:2px;font-weight:500}.scan-staff-email{color:#6b7280;font-size:12px}.scan-store{text-align:left}.scan-store-name{color:#1f2937;margin-bottom:2px;font-weight:500}.scan-store-address{color:#6b7280;font-size:12px}.scan-stamps{text-align:center;border-radius:4px;min-width:40px;padding:4px 8px;font-weight:600}.scan-stamps.before{color:#6b7280;background:#f3f4f6}.scan-stamps.added{color:#059669;background:#d1fae5}.scan-stamps.after{color:#1d4ed8;background:#dbeafe}.scan-method{color:#6b7280;text-align:center;font-size:12px}.scan-history-pagination{justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px;display:flex}.pagination-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#6b7280;font-size:14px;font-weight:500}@media (max-width:768px){.progress-modal-overlay{padding:10px}.progress-modal-content{max-height:95vh}.progress-modal-header,.progress-overview{padding:20px}.scan-history-section{padding:0 20px 20px}.progress-overview-grid{grid-template-columns:1fr}.scan-history-table-header,.scan-history-table-row{grid-gap:0;grid-template-columns:1fr}.scan-table-cell{border-bottom:1px solid #f3f4f6;border-right:none;justify-content:space-between}.scan-table-cell:before{content:attr(data-label);color:#6b7280;font-weight:600}}@media (max-width:1024px){.scan-history-table-header,.scan-history-table-row{grid-template-columns:160px 140px 140px 70px 70px 70px 100px}}.stamp-transactions{flex-flow:column wrap;gap:1.5em;display:flex;overflow-x:hidden}.stamp-transactions-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1em;padding:3em;display:flex}.stamp-transactions-loading-spinner{border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;width:2em;height:2em;animation:1s linear infinite spin}.stamp-transactions-search-filter-section{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;flex-wrap:wrap;align-items:center;gap:1em;padding:1.5em;display:flex}.stamp-transactions-search-input{border:1px solid var(--border);min-width:15em;max-width:25em;color:var(--text);background:var(--background);border:1px solid var(--border);background:var(--background);border-radius:.5em;flex:1;padding:.75em 1em;font-size:1em}.stamp-transactions-search-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.stamp-transactions-search-input::placeholder{color:var(--text-muted)}.stamp-transactions-filter-select{border:1px solid var(--border);min-width:10em;color:var(--text);background:var(--background);cursor:pointer;border-radius:.5em;padding:.75em 1em;font-size:1em}.stamp-transactions-filter-select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.stamp-transactions-refresh-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;background:var(--primary);cursor:pointer;white-space:nowrap;border:none;border-radius:.5em;flex-shrink:0;padding:.75em 1.5em;font-size:.875em;font-weight:500;transition:all .2s}.stamp-transactions-refresh-btn:hover{background:var(--primary-dark);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.stamp-transactions-refresh-btn:active{transform:translateY(0)}.stamp-transactions-table-container{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;overflow:hidden}.stamp-transactions-table{border-collapse:collapse;border-spacing:0;background:var(--background);width:100%}.stamp-transactions-table thead{background:var(--surface);border-bottom:1px solid var(--border)}.stamp-transactions-table th{text-align:left;color:var(--text);white-space:nowrap;padding:1em 1.5em;font-size:.875em;font-weight:600}.stamp-transactions-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .15s}.stamp-transactions-table tbody tr:hover{background:var(--surface)}.stamp-transactions-table tbody tr:last-child{border-bottom:none}.stamp-transactions-table td{vertical-align:middle;color:var(--text);padding:1em 1.5em;font-size:.875em}.stamp-transactions-customer-info{flex-direction:column;gap:.25em;display:flex}.stamp-transactions-customer-name{color:var(--text);font-weight:500}.stamp-transactions-customer-email{color:var(--text-muted);font-size:.8em}.stamp-transactions-reward-info{flex-direction:column;gap:.25em;display:flex}.stamp-transactions-reward-name{color:var(--text);font-weight:500}.stamp-transactions-reward-desc{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.8em;overflow:hidden}.stamp-transactions-progress-info{flex-direction:column;gap:.25em;display:flex}.stamp-transactions-progress-text{color:var(--text);font-weight:500}.stamp-transactions-progress-percentage{color:var(--text-muted);font-size:.8em}.stamp-transactions-status-badge{white-space:nowrap;border-radius:1em;align-items:center;gap:.25em;padding:.25em .75em;font-size:.75em;font-weight:500;display:inline-flex}.stamp-transactions-status-badge.in-progress{background:var(--warning-light);color:var(--warning)}.stamp-transactions-status-badge.ready{background:var(--success-light);color:var(--success)}.stamp-transactions-status-badge.redeemed{background:var(--info-light);color:var(--info)}.stamp-transactions-actions{gap:.5em;display:flex}.stamp-transactions-action-btn{cursor:pointer;border:none;border-radius:.375em;justify-content:center;align-items:center;min-width:2em;min-height:2em;padding:.5em;font-size:.875em;transition:all .15s;display:flex}.stamp-transactions-action-btn.view{background:var(--info-light);color:var(--info)}.stamp-transactions-action-btn.view:hover{background:var(--info);color:var(--white);transform:translateY(-1px)}.stamp-transactions-no-progress{text-align:center;color:var(--text-muted);padding:3em 1.5em}.stamp-transactions-mobile{flex-direction:column;gap:1em;display:none}.stamp-transactions-progress-card{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75em;padding:1.5em;transition:all .15s}.stamp-transactions-progress-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.stamp-transactions-progress-card-header{justify-content:space-between;align-items:flex-start;gap:1em;margin-bottom:1em;display:flex}.stamp-transactions-progress-card-info{flex:1;min-width:0}.stamp-transactions-progress-card-details{flex-direction:column;gap:.25em;display:flex}.stamp-transactions-progress-card-name{color:var(--text);font-size:1em;font-weight:600}.stamp-transactions-progress-card-email{color:var(--text-muted);font-size:.875em}.stamp-transactions-progress-card-actions{flex-shrink:0;gap:.5em;display:flex}.stamp-transactions-progress-card-content{flex-direction:column;gap:.75em;display:flex}.stamp-transactions-progress-card-row{justify-content:space-between;align-items:center;gap:1em;display:flex}.stamp-transactions-progress-card-label{color:var(--text-muted);min-width:-moz-fit-content;min-width:fit-content;font-size:.875em;font-weight:500}.stamp-transactions-progress-card-value{color:var(--text);text-align:right;word-break:break-word;min-width:0;font-size:.875em}@media (max-width:768px){.stamp-transactions-table-container{display:none}.stamp-transactions-mobile{display:flex}.stamp-transactions-search-filter-section{flex-direction:column;align-items:stretch}}.settings{flex-direction:column;gap:1.5rem;max-width:100%;display:flex;overflow-x:hidden}.settings-header{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--background);border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.settings-header h1{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:600}.settings-header p{color:var(--text-muted);margin:0;font-size:.95rem}.settings-user-info{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.user-role{background:var(--primary);color:#fff;text-transform:uppercase;border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.user-name{color:var(--text-muted);font-size:.9rem}.settings-loading{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;width:2rem;height:2rem;animation:1s linear infinite spin}.settings-alert{border-radius:.5rem;align-items:center;gap:.75rem;padding:1rem;font-size:.9rem;font-weight:500;display:flex}.settings-alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.settings-alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.alert-icon{font-size:1.1rem}.settings-container{grid-template-columns:250px 1fr;gap:1.5rem;min-height:600px;display:grid}.settings-tabs{border:1px solid var(--border);background:var(--background);border-radius:.75rem;flex-direction:column;gap:.5rem;height:-moz-fit-content;height:fit-content;padding:1rem;display:flex}.settings-tab{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.settings-tab:hover{background:var(--hover);color:var(--text-primary)}.settings-tab.active{background:var(--primary);color:#fff}.tab-icon{font-size:1.1rem}.tab-label{font-weight:500}.settings-content{border:1px solid var(--border);background:var(--background);border-radius:.75rem;padding:1.5rem}.settings-section h2{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.settings-section h3{color:var(--text-primary);margin:2rem 0 1rem;font-size:1.2rem;font-weight:500}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.settings-field{flex-direction:column;gap:.5rem;display:flex}.settings-field.full-width{grid-column:1/-1}.settings-field label{color:var(--text-primary);font-size:.9rem;font-weight:500}.settings-field input,.settings-field select,.settings-field textarea{border:1px solid var(--border);background:var(--input-background);color:var(--text-primary);border-radius:.5rem;padding:.75rem;font-size:.9rem;transition:border-color .2s}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.settings-field textarea{resize:vertical;min-height:80px}.settings-toggles{flex-direction:column;gap:1.5rem;display:flex}.settings-toggle{flex-direction:column;gap:.5rem;display:flex}.settings-toggle label{cursor:pointer;color:var(--text-primary);align-items:center;gap:.75rem;font-weight:500;display:flex}.settings-toggle input[type=checkbox]{display:none}.toggle-slider{background:var(--border);border-radius:24px;width:48px;height:24px;transition:background .2s;position:relative}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.settings-toggle input[type=checkbox]:checked+.toggle-slider{background:var(--primary)}.settings-toggle input[type=checkbox]:checked+.toggle-slider:before{transform:translate(24px)}.settings-toggle p{color:var(--text-muted);margin:0 0 0 3.25rem;font-size:.85rem}.settings-actions{border:1px solid var(--border);background:var(--background);border-radius:.75rem;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.settings-save-btn,.settings-reset-btn{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.settings-save-btn{background:var(--primary);color:#fff}.settings-save-btn:hover:not(:disabled){background:var(--primary-dark)}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-reset-btn{background:var(--secondary);color:var(--text-primary);border:1px solid var(--border)}.settings-reset-btn:hover:not(:disabled){background:var(--hover)}.btn-icon{font-size:1rem}.btn-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}@media (max-width:1024px){.settings-container{grid-template-columns:1fr}.settings-tabs{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;display:grid}.settings-tab{text-align:center;justify-content:center}.tab-label{display:none}}@media (max-width:768px){.settings{gap:1rem}.settings-header,.settings-content{padding:1rem}.settings-grid{grid-template-columns:1fr;gap:1rem}.settings-actions{flex-direction:column;padding:1rem}.settings-save-btn,.settings-reset-btn{justify-content:center}.user-info{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width:480px){.settings-header h1{font-size:1.5rem}.settings-tabs{grid-template-columns:repeat(3,1fr)}.tab-icon{font-size:1.5rem}}.settings-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.settings-field input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.settings-field select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.settings-field textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.settings-save-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.settings-reset-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-contrast:high){.settings-tab.active{border:2px solid}.toggle-slider{border:1px solid var(--text-primary)}}.login-page{justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex}.login-container{width:100%;max-width:420px;height:100%;margin:0 auto}.login-form{border:2px solid var(--ai-border-medium,#e5e7eb);background:#fff;border-radius:12px;width:100%;padding:2rem;animation:.8s ease-out fadeInUp;position:relative;box-shadow:0 10px 25px #0000001a}.form-header{text-align:center;margin-bottom:2rem}.form-header h2{color:#1f2937;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.form-header p{color:var(--text-secondary,#6b7280);font-size:.875rem}.error-container,.lockout-container{border-left:4px solid;border-radius:8px;margin-bottom:1.5rem;padding:1rem;animation:.3s ease-out slideInError}.error-container{background-color:#fef2f2;border:1px solid #fecaca}.lockout-container{text-align:center;background-color:#fffbeb;border:1px solid #fed7aa}.lockout-message{color:#d97706;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:600;display:flex}.lockout-message:before{content:"🔒";font-size:1.125rem}.lockout-timer{color:#92400e;font-size:.875rem;font-weight:500}.lockout-attempts{color:#92400e;margin-top:.25rem;font-size:.75rem}.login-form-content{flex-direction:column;gap:1.5rem;display:flex}.form-group{margin-bottom:0;position:relative}.form-group input{border:2px solid var(--ai-border-medium,#e5e7eb);width:100%;color:var(--text-color,#374151);-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);box-sizing:border-box;background:#fff;border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.form-group input:disabled{opacity:.6;cursor:not-allowed;background-color:#f9fafb}.form-group input::placeholder{color:var(--text-muted,#9ca3af)}.password-toggle:focus{outline:2px solid var(--focus-border-color,#3b82f6);outline-offset:2px}.forgot-password{text-align:right;margin-top:.5rem}.forgot-password .link-button{color:var(--text-link,#3b82f6);font-size:.875rem;font-weight:500}.btn-full{cursor:pointer;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-top:1rem;padding:.875rem 1rem;font-size:1rem;font-weight:600;transition:all .2s;position:relative;overflow:hidden;width:100%!important;display:block!important}.btn-full:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #667eea4d}.btn-full:focus{outline-offset:2px;outline:2px solid #3b82f6}.form-footer{text-align:center;border-top:1px solid var(--ai-border-subtle,#e5e7eb);margin-top:1.5rem;padding-top:1.5rem}.link-button{color:var(--text-link,#3b82f6);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:.25rem;padding:.25rem;font-weight:600;text-decoration:underline;transition:all .2s}.link-button:focus{outline:2px solid var(--focus-border-color,#3b82f6);outline-offset:2px}.link-button:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInError{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:30rem){.login-page{padding:.5rem}.login-form{border-radius:8px;padding:1.5rem}.form-header h2{font-size:1.5rem}.form-group input{font-size:16px}}@media (prefers-contrast:high){.login-form{border-width:3px;border-color:#000}.form-group input{border-width:2px;border-color:#000}.form-group input:focus{border-color:#06c;box-shadow:0 0 0 3px #06c}}@media (prefers-reduced-motion:reduce){.login-form,.error-container,.lockout-container{animation:none}.btn-full:hover:not(:disabled){transform:none}}.forgot-password-link{text-align:right;margin-top:.5rem}.forgot-password-link .link-button{color:var(--text-link,#3b82f6);border-radius:4px;padding:.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s}.forgot-password-link .link-button:hover:not(:disabled){color:var(--text-link-hover,#2563eb);background-color:#f3f4f6;text-decoration:underline}.terms-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);overscroll-behavior:contain;background-color:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.terms-modal{z-index:10000;background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:.3s ease-out modalSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000026}.terms-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.terms-header h2{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600;line-height:1.4}.close-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px;font-size:1.25rem;transition:all .15s;display:flex}.close-button:hover{color:#334155;background-color:#f1f5f9}.terms-content{color:#475569;overscroll-behavior:contain;scroll-behavior:smooth;flex:1;padding:24px 32px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-y:auto}.terms-content::-webkit-scrollbar{width:8px}.terms-content::-webkit-scrollbar-track{background:#f1f5f9}.terms-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.terms-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.terms-section{margin-bottom:32px}.terms-section:last-child{margin-bottom:0}.terms-section h3{color:#1e293b;letter-spacing:-.025em;border-bottom:1px solid #e2e8f0;margin:0 0 12px;padding-bottom:6px;font-size:1rem;font-weight:600;line-height:1.5}.terms-section h4{color:#334155;margin:16px 0 8px;font-size:.9rem;font-weight:600;line-height:1.5}.terms-section p{text-align:justify;margin:0 0 12px;font-size:.8rem;line-height:1.6}.terms-section ul{margin:0 0 12px;padding-left:18px}.terms-section li{margin-bottom:6px;font-size:.8rem;line-height:1.6}.terms-section strong{color:#1e293b;font-weight:600}.terms-section em{color:#6b7280;font-style:italic}.terms-footer{background:#f8fafc;border-top:1px solid #e5e7eb;padding:24px 32px}.terms-checkboxes{margin-bottom:24px}.checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;margin-bottom:16px;display:flex}.checkbox-container:last-child{margin-bottom:0}.checkbox-container input[type=checkbox]{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background-color:#fff;border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;margin-right:12px;transition:all .2s;display:flex}.checkbox-container:hover .checkmark{border-color:#3b82f6}.checkbox-container input:checked~.checkmark{background-color:#3b82f6;border-color:#3b82f6}.checkbox-container input:checked~.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;transform:rotate(45deg)}.checkbox-text{color:#334155;flex:1;font-size:.85rem;line-height:1.5}.scroll-reminder{color:#92400e;text-align:center;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:.5;transform:translate(-50%,-50%)scale(1)}50%{opacity:.8;transform:translate(-50%,-50%)scale(1.05)}}.terms-buttons{justify-content:flex-end;gap:12px;display:flex}.terms-modal .btn-secondary{cursor:pointer;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:500;transition:all .2s;color:#374151!important;background:#fff!important;border:2px solid #d1d5db!important}.terms-modal .btn-secondary:hover{background:#f9fafb!important;border-color:#9ca3af!important}.terms-modal .btn-primary{cursor:pointer;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:500;transition:all .2s;color:#fff!important;background:#3b82f6!important;border:2px solid #3b82f6!important}.terms-modal .btn-primary:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d;color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.terms-modal .btn-primary.disabled{cursor:not-allowed;box-shadow:none;transform:none;color:#fff!important;background:#9ca3af!important;border-color:#9ca3af!important}@media (max-width:768px){.terms-overlay{padding:10px}.terms-modal{max-height:95vh}.terms-header{padding:20px}.terms-header h2{font-size:1.25rem}.terms-content{padding:16px 20px}.terms-footer{padding:20px}.terms-buttons{flex-direction:column}.btn-secondary,.btn-primary{justify-content:center;width:100%}.checkbox-container{align-items:flex-start}.checkbox-text{font-size:.9rem}}@media (max-width:480px){.terms-header,.terms-content,.terms-footer{padding:16px}.terms-section h3{font-size:.95rem}.terms-section h4{font-size:.85rem}.terms-section p,.terms-section li{font-size:.75rem}.checkbox-text{font-size:.8rem}}.signup-container{background:0 0;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.signup-form{background:#fff;border:2px solid #e5e7eb;border-radius:12px;width:100%;max-width:480px;padding:2rem;animation:.8s ease-out fadeInUp;position:relative;box-shadow:0 20px 40px #0000001a}.signup-form h2{text-align:center;color:#1f2937;margin-bottom:2rem;font-size:1.75rem;font-weight:700}.error-container{background-color:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;margin-bottom:1.5rem;padding:1rem;animation:.3s ease-out slideInError}.error-message{color:#dc2626;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.error-message:last-child{margin-bottom:0}.error-message:before{content:"⚠️";flex-shrink:0;font-size:1rem}.signup-form-content{flex-direction:column;gap:1.5rem;display:flex}.name-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex;position:relative}.form-group label{color:#374151;font-size:.875rem;font-weight:600}.form-input{color:#374151;box-sizing:border-box;background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{color:#6b7280;cursor:not-allowed;opacity:.6;background-color:#f9fafb}.form-input::placeholder{color:#9ca3af}.password-input{flex:1;padding-right:3rem!important}.password-toggle{cursor:pointer;color:#6b7280;z-index:10;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;font-size:1.125rem;transition:all .2s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover:not(:disabled){color:#374151;background-color:#f3f4f6}.password-toggle:focus{outline-offset:2px;outline:2px solid #3b82f6}.password-toggle[aria-pressed=true]{color:#374151;background-color:#e5e7eb}.password-strength-bar{background-color:#e5e7eb;border-radius:2px;width:100%;height:4px;margin-bottom:.5rem;overflow:hidden}.password-strength-fill{border-radius:2px;height:100%;transition:all .3s}.password-strength-text{margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.password-feedback{color:#6b7280;margin-top:.25rem;font-size:.75rem}.password-mismatch{color:#dc2626;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem;display:flex}.password-mismatch:before{content:"⚠️";font-size:.875rem}.submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-top:1rem;padding:.875rem 1rem;font-size:1rem;font-weight:600;transition:all .2s}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #667eea4d}.submit-button:focus{outline-offset:2px;outline:2px solid #3b82f6}.auth-toggle{text-align:center;border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.auth-toggle p{color:#6b7280;margin:0;font-size:.875rem}.link-button{color:#3b82f6;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:.25rem;padding:.25rem;font-size:.875rem;font-weight:600;text-decoration:underline;transition:all .2s}.link-button:hover:not(:disabled){color:#2563eb;background-color:#f3f4f6}.link-button:focus{outline-offset:2px;outline:2px solid #3b82f6}@media (max-width:30rem){.signup-container{padding:.5rem}.signup-form{border-radius:8px;padding:1.5rem}.signup-form h2{font-size:1.5rem}.name-row{grid-template-columns:1fr;gap:1.5rem}.form-input{font-size:16px}}@media (prefers-contrast:high){.signup-form{border-width:3px;border-color:#000}.form-input{border-width:2px;border-color:#000}.form-input:focus{border-color:#06c;box-shadow:0 0 0 3px #06c}}@media (prefers-reduced-motion:reduce){.signup-form,.error-container{animation:none}.submit-button:hover:not(:disabled){transform:none}.password-strength-fill{transition:none}}.terms-acceptance{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;margin:1.5rem 0;padding:1rem}.terms-accepted{align-items:center;gap:12px;display:flex}.terms-accepted-icon{color:#fff;background:#10b981;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.terms-accepted-text{flex-direction:column;gap:4px;display:flex}.terms-accepted-text span{color:#10b981;font-size:.95rem;font-weight:500}.terms-review-btn{color:#3b82f6;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline;transition:color .2s}.terms-review-btn:hover{color:#2563eb}.terms-not-accepted{flex-direction:column;gap:12px;display:flex}.terms-warning{color:#dc2626;align-items:center;gap:8px;font-size:.9rem;display:flex}.terms-warning-icon{font-size:18px}.terms-read-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-self:flex-start;padding:12px 20px;font-size:.95rem;font-weight:500;transition:all .2s}.terms-read-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.submit-button:disabled{cursor:not-allowed;box-shadow:none;background:#9ca3af;transform:none}@media (max-width:768px){.terms-acceptance{margin:1rem 0;padding:.75rem}.terms-accepted{flex-direction:column;align-items:flex-start;gap:8px}.terms-accepted-text{width:100%}.terms-read-btn{text-align:center;width:100%}}.landing-page{color:#f8fafc;background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#1f2937 100%);min-height:100vh;position:relative;overflow-x:hidden}.landing-page>:not(.particle-canvas){position:relative}.loading-container{z-index:10;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loading-spinner{border:.1875em solid #38bdf84d;border-top-color:#38bdf8;border-radius:50%;width:3em;height:3em;animation:1s linear infinite spin}.hero-section{justify-content:space-between;align-items:center;min-height:100vh;display:flex;position:relative}.hero-content{grid-template-columns:1fr 1fr;align-items:flex-start;gap:4em;min-height:80vh;display:grid}.hero-text{animation:1s ease-out fadeInUp}.hero-title{text-shadow:0 .125em .25em #00000080;margin:0 0 1.5em;font-size:max(2.5em,min(5vw,4em));font-weight:800;line-height:1.1}.title-line{opacity:0;animation:.8s ease-out forwards slideInLeft;display:block}.title-line:first-child{animation-delay:.2s}.title-line:nth-child(2){animation-delay:.4s}.title-line:nth-child(3){animation-delay:.6s}.title-line.highlight{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);-webkit-background-clip:text;background-clip:text;position:relative}.title-line.highlight:after{content:"";background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);border-radius:.125em;width:0;height:.1875em;animation:1s ease-out .8s forwards expandWidth;position:absolute;bottom:-.3125em;left:0}.hero-subtitle{color:#e2e8f0;opacity:0;text-shadow:0 .0625em .125em #0000004d;margin:0 0 2.5em;font-size:1.25em;font-weight:500;line-height:1.6;animation:.8s ease-out .8s forwards fadeInUp}.hero-actions{opacity:0;flex-wrap:wrap;gap:1em;animation:.8s ease-out 1s forwards fadeInUp;display:flex}.btn-hero{cursor:pointer;border:none;border-radius:.75em;align-items:center;gap:.5em;padding:1em 2em;font-size:1em;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--loyalty-gradient-primary);color:#fff;box-shadow:0 .25em 1.25em #38bdf866}.btn-primary:hover{background:linear-gradient(135deg,#0ea5e9 0% 100%);transform:translateY(-.125em);box-shadow:0 .5em 1.875em #38bdf899}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:100%}.btn-secondary{color:#f8fafc;-webkit-backdrop-filter:blur(.625em);backdrop-filter:blur(.625em);background:#ffffff1a;border:.125em solid #fff3}.btn-secondary:hover{background:#fff3;border-color:#fff6;transform:translateY(-.125em)}.btn-icon{width:1.25em;height:1.25em;transition:transform .3s}.btn-hero:hover .btn-icon{transform:scale(1.1)}.hero-visual{opacity:0;justify-content:center;align-items:center;animation:1s ease-out .5s forwards fadeInRight;display:flex}.company-image{border-radius:1em;max-width:100%;height:auto;transition:transform .3s}.company-image:hover{transform:scale(1.1)}.ai-brain{width:18.75em;height:18.75em;position:relative}.brain-core{background:radial-gradient(circle,#10b9814d 0%,#0596691a 70%);border-radius:50%;width:12.5em;height:12.5em;animation:3s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.neural-network{width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.neuron{width:.5em;height:.5em;animation:2s ease-in-out infinite neuronPulse;animation-delay:var(--delay);background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;position:absolute}.neuron:first-child{top:20%;left:50%}.neuron:nth-child(2){top:30%;left:20%}.neuron:nth-child(3){top:30%;right:20%}.neuron:nth-child(4){top:50%;left:10%}.neuron:nth-child(5){top:50%;right:10%}.neuron:nth-child(6){top:70%;left:20%}.neuron:nth-child(7){top:70%;right:20%}.neuron:nth-child(8){top:80%;left:50%}.neuron:nth-child(9){top:40%;left:30%}.neuron:nth-child(10){top:40%;right:30%}.neuron:nth-child(11){top:60%;left:30%}.neuron:nth-child(12){top:60%;right:30%}.brain-rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring{border:.125em solid #38bdf84d;border-radius:50%;animation:10s linear infinite rotate;position:absolute}.ring-1{width:15.625em;height:15.625em;animation-duration:15s;animation-direction:reverse}.ring-2{width:17.5em;height:17.5em;animation-duration:20s}.ring-3{width:19.375em;height:19.375em;animation-duration:25s;animation-direction:reverse}.features-section{-webkit-backdrop-filter:blur(.625em);backdrop-filter:blur(.625em);background:#ffffff05;padding:6em 0}.section-header{text-align:center;opacity:0;margin:0 0 4em;animation:.8s ease-out forwards fadeInUp}.section-title{-webkit-text-fill-color:transparent;text-shadow:0 .125em .25em #0000004d;background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 1em;font-size:3em;font-weight:700}.section-subtitle{color:#e2e8f0;text-shadow:0 .0625em .125em #0000004d;max-width:37.5em;margin:0 auto;font-size:1.25em;font-weight:500}.features-grid{grid-template-columns:repeat(auto-fit,minmax(17.5em,1fr));gap:2em;display:grid}.feature-card{text-align:center;-webkit-backdrop-filter:blur(.625em);backdrop-filter:blur(.625em);opacity:0;background:#ffffff0d;border:.0625em solid #ffffff1a;border-radius:1em;padding:2em;transition:all .3s;animation:.8s ease-out forwards fadeInUp}.feature-card:first-child{animation-delay:.2s}.feature-card:nth-child(2){animation-delay:.4s}.feature-card:nth-child(3){animation-delay:.6s}.feature-card:nth-child(4){animation-delay:.8s}.feature-card:hover{background:#ffffff1a;border-color:#38bdf84d;transform:translateY(-.3125em);box-shadow:0 1.25em 2.5em #0000004d}.feature-icon{color:#fff;background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);border-radius:1em;justify-content:center;align-items:center;width:3.75em;height:3.75em;margin:0 auto 1.5em;display:flex}.feature-icon svg{width:1.875em;height:1.875em}.feature-card h3{color:#f8fafc;text-shadow:0 .0625em .125em #0000004d;margin:0 0 1em;font-size:1.5em;font-weight:600}.feature-card p{color:#e2e8f0;text-shadow:0 .0625em .125em #0003;line-height:1.6}.stats-section{background:linear-gradient(135deg,#38bdf81a 0%,#0ea5e91a 100%);padding:4em 0}.stats-grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(12.5em,1fr));gap:2em;display:grid}.stat-item{opacity:0;animation:.8s ease-out forwards fadeInUp}.stat-item:first-child{animation-delay:.1s}.stat-item:nth-child(2){animation-delay:.2s}.stat-item:nth-child(3){animation-delay:.3s}.stat-item:nth-child(4){animation-delay:.4s}.stat-number{-webkit-text-fill-color:transparent;text-shadow:0 .125em .25em #0000004d;background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 .5em;font-size:3em;font-weight:800}.stat-label{color:#e2e8f0;text-shadow:0 .0625em .125em #0003;font-size:1.125em;font-weight:500}.cta-section{text-align:center;background:#0000004d;padding:6em 0}.cta-content{opacity:0;max-width:37.5em;margin:0 auto;animation:.8s ease-out forwards fadeInUp}.cta-content h2{-webkit-text-fill-color:transparent;text-shadow:0 .125em .25em #0000004d;background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 1em;font-size:2.5em;font-weight:700}.cta-content p{color:#e2e8f0;text-shadow:0 .0625em .125em #0000004d;margin:0 0 2em;font-size:1.25em;font-weight:500}.cta-actions{flex-wrap:wrap;justify-content:center;gap:1em;display:flex}.btn-large{padding:1.25em 2.5em;font-size:1.125em}.btn-outline{color:#f8fafc;-webkit-backdrop-filter:blur(.625em);backdrop-filter:blur(.625em);background:0 0;border:.125em solid #ffffff4d}.btn-outline:hover{background:#ffffff1a;border-color:#ffffff80}@keyframes fadeInRight{0%{opacity:0;transform:translate(1.875em)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-1.875em)}to{opacity:1;transform:translate(0)}}@keyframes expandWidth{0%{width:0}to{width:100%}}@keyframes neuronPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes rotate{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@media (max-width:48em){.hero-content{text-align:flex-start;grid-template-columns:1fr;gap:2em;min-height:auto}.hero-actions{align-items:center}.hero-visual{order:-1}.ai-brain{width:15.625em;height:15.625em}.brain-core{width:9.375em;height:9.375em}.ring-1{width:12.5em;height:12.5em}.ring-2{width:14.375em;height:14.375em}.ring-3{width:16.25em;height:16.25em}.features-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.cta-actions{flex-direction:column;align-items:center}.btn-hero{justify-content:center;width:100%;max-width:18.75em}}@media (max-width:30em){.container{padding:0 1em}.hero-title,.section-title{font-size:2em}.stats-grid{grid-template-columns:1fr}.stat-number{font-size:2.5em}}.public-layout{background:#fff;flex-direction:column;min-height:100vh;display:flex}.public-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:linear-gradient(135deg,#fff 0%,#f8fafc 50%,#f1f5f9 100%);border-bottom:1px solid #0000001a;padding:1rem 2rem;position:sticky;top:0;box-shadow:0 4px 20px #0000001a}.public-header .flex{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.public-header .flex.items-center.flex-col{flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:flex}.public-header .gap-1{gap:.25rem}.public-header h1{-webkit-text-fill-color:transparent;letter-spacing:-.025em;white-space:nowrap;text-align:left;background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25rem;font-weight:700}.public-header h6{color:#64748b;letter-spacing:.025em;white-space:nowrap;text-align:left;opacity:.9;margin:0;font-size:.875rem;font-weight:500}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-white{color:#fff}.text-white\/80{color:#fffc}.font-bold{font-weight:700}.font-medium{font-weight:500}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.flex-col{flex-direction:column}.py-4{padding-top:1rem;padding-bottom:1rem}.h-12{height:3rem}.w-auto{width:auto}.hidden{display:none}.md\:flex{display:flex}.transition-colors{transition:color .3s}.hover\:text-white:hover{color:#fff}.public-main{flex:1;width:100%}.public-footer{background:#f8fafc;border-top:1px solid #e2e8f0;margin-top:auto}.public-footer .container{max-width:1200px;margin:0 auto;padding:0 2rem}.public-footer a{color:#64748b;text-decoration:none;transition:color .3s}.public-footer a:hover{color:#3b82f6}@media (max-width:768px){.public-header{padding:.75rem 1.5rem}.public-header h1{font-size:1.25rem}.public-header h6{font-size:.75rem}.public-footer .container{padding:0 1rem}}@media (max-width:480px){.public-header{padding:.5rem 1rem}.public-header h1{font-size:1.125rem}.public-header h6{font-size:.625rem}.public-header .gap-1{gap:.125rem}}@media (prefers-color-scheme:dark){.public-layout{background:#0f172a}.public-header{background:linear-gradient(135deg,#fff 0%,#f8fafc 50%,#f1f5f9 100%)}.public-footer{background:#1e293b;border-top-color:#334155}.public-footer a{color:#94a3b8}.public-footer a:hover{color:#60a5fa}}@media (max-width:768px){.md\:flex{display:none}}.hamburger-menu{align-items:center;display:flex;position:relative}.hamburger-button{cursor:pointer;z-index:10;background:0 0;border:none;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;padding:0;transition:all .3s;display:flex}.hamburger-button:hover{transform:scale(1.05)}.hamburger-button:focus{border-radius:.25rem;outline:none;box-shadow:0 0 0 2px #3b82f680}.hamburger-line{transform-origin:50%;background:#374151;border-radius:.0625rem;width:100%;height:.125rem;transition:all .3s}.hamburger-button.active .hamburger-line:first-child{transform:rotate(45deg)translate(.375rem,.375rem)}.hamburger-button.active .hamburger-line:nth-child(2){opacity:0;transform:translate(-1rem)}.hamburger-button.active .hamburger-line:nth-child(3){transform:rotate(-45deg)translate(.375rem,-.375rem)}.hamburger-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;min-width:16rem;margin-top:.5rem;animation:.2s ease-out slideDown;position:absolute;top:100%;right:0;box-shadow:0 10px 25px #00000026}.menu-header{background:#f9fafb;border-bottom:1px solid #f3f4f6;border-radius:.5rem .5rem 0 0;padding:1rem}.user-info{align-items:center;gap:.75rem;display:flex}.user-avatar{color:#fff;text-transform:uppercase;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:600;display:flex}.user-details{flex-direction:column;gap:.125rem;display:flex}.user-name{color:#111827;font-size:.875rem;font-weight:600;line-height:1.25rem}.user-email{color:#6b7280;font-size:.75rem;line-height:1rem}.menu-items{padding:.5rem}.menu-item{color:#374151;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.75rem;width:100%;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.menu-item:hover{color:#111827;background:#f3f4f6}.menu-item:focus{background:#f3f4f6;outline:none;box-shadow:0 0 0 2px #3b82f680}.menu-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.logout-button{color:#dc2626}.logout-button:hover{color:#b91c1c;background:#fef2f2}.logout-button:focus{background:#fef2f2;box-shadow:0 0 0 2px #dc262680}.admin-button{color:#059669;border-top:1px solid #f3f4f6}.admin-button:hover{color:#047857;background:#f0fdf4}.admin-button:focus{background:#f0fdf4;box-shadow:0 0 0 2px #05966980}@media (max-width:768px){.hamburger-dropdown{min-width:14rem;right:-.5rem}.user-avatar{width:2rem;height:2rem;font-size:.875rem}.user-name{font-size:.8125rem}.user-email{font-size:.6875rem}}@media (max-width:480px){.hamburger-dropdown{min-width:12rem;right:-1rem}.menu-header{padding:.75rem}.menu-items{padding:.375rem}.menu-item{padding:.625rem;font-size:.8125rem}}@media (prefers-color-scheme:dark){.hamburger-line{background:#d1d5db}.hamburger-dropdown{background:#1f2937;border-color:#374151}.menu-header{background:#111827;border-bottom-color:#374151}.user-name{color:#f9fafb}.user-email{color:#9ca3af}.menu-item{color:#d1d5db}.menu-item:hover{color:#f9fafb;background:#374151}.menu-item:focus{background:#374151}.logout-button{color:#f87171}.logout-button:hover{color:#fca5a5;background:#7f1d1d}.logout-button:focus{background:#7f1d1d}.admin-button{color:#34d399}.admin-button:hover{color:#6ee7b7;background:#064e3b}.admin-button:focus{background:#064e3b}}.forgot-password-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.forgot-password-container{width:100%;max-width:400px}.forgot-password-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;box-shadow:0 10px 25px #0000001a}.forgot-password-form .form-header{text-align:center;margin-bottom:2rem}.forgot-password-form .form-header h2{color:#1f2937;margin-bottom:.5rem;font-size:1.8rem;font-weight:600}.forgot-password-form .form-header p{color:#6b7280;margin:0;font-size:.95rem;line-height:1.5}.success-icon{margin-bottom:1rem;font-size:3rem}.email-sent-content{text-align:center;margin-bottom:2rem}.email-sent-content p{color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.resend-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.resend-info p{color:#374151;margin:0 0 .5rem;font-size:.9rem}.error-icon{flex-shrink:0;font-size:1rem}.btn-secondary{color:#374151;background:#f3f4f6}.btn-secondary:hover:not(:disabled){background:#e5e7eb;box-shadow:0 2px 8px #0000001a}@media (max-width:480px){.forgot-password-page{padding:10px}.forgot-password-form{padding:1.5rem}.forgot-password-form .form-header h2{font-size:1.5rem}.forgot-password-form .form-header p{font-size:.9rem}}.reset-password-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.reset-password-container{width:100%;max-width:400px}.reset-password-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;box-shadow:0 10px 25px #0000001a}.reset-password-form .form-header{text-align:center;margin-bottom:2rem}.reset-password-form .form-header h2{color:#1f2937;margin-bottom:.5rem;font-size:1.8rem;font-weight:600}.reset-password-form .form-header p{color:#6b7280;margin:0;font-size:.95rem;line-height:1.5}.success-icon,.error-icon{margin-bottom:1rem;font-size:3rem}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin:0 auto;animation:1s linear infinite spin}.error-content,.success-content{text-align:center;margin-bottom:2rem}.error-content p,.success-content p{color:#6b7280;margin-bottom:1rem;line-height:1.6}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.9rem;display:flex}.error-message .error-icon{flex-shrink:0;margin:0;font-size:1rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.password-input-container{align-items:center;display:flex;position:relative}.form-group input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:.75rem 2.5rem .75rem .75rem;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-group input:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.password-toggle{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1rem;transition:all .2s;display:flex;position:absolute;right:.75rem}.password-toggle:hover:not(:disabled){color:#374151;background:#f3f4f6}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.btn-full{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-bottom:1rem;padding:.875rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.btn-full:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-full:disabled{cursor:not-allowed;box-shadow:none;background:#9ca3af;transform:none}.loading-text{align-items:center;gap:.5rem;display:flex}.loading-text:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.form-footer{text-align:center;margin-top:1.5rem}.form-footer p{color:#6b7280;margin:0;font-size:.9rem}.link-button{color:#3b82f6;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .2s}.link-button:hover:not(:disabled){color:#1d4ed8}.link-button:disabled{color:#9ca3af;cursor:not-allowed}.password-strength{margin-top:.75rem}.password-requirements{flex-direction:column;gap:.5rem;display:flex}.requirement{align-items:center;padding:.25rem 0;font-size:.85rem;transition:all .2s;display:flex}.requirement.met{color:#059669}.requirement.unmet{color:#dc2626}.requirement.met:before,.requirement.unmet:before{content:"";width:0;height:0;margin-right:.5rem}@media (max-width:480px){.reset-password-page{padding:10px}.reset-password-form{padding:1.5rem}.reset-password-form .form-header h2{font-size:1.5rem}.reset-password-form .form-header p{font-size:.9rem}}.not-found-container{box-sizing:border-box;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.not-found-content{text-align:center;background:#fff;border-radius:20px;max-width:500px;padding:60px 40px;animation:.6s ease-out fadeInUp;box-shadow:0 20px 60px #00000026}.not-found-icon{margin-bottom:30px}.error-code{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:120px;font-weight:700;line-height:1;display:block}.not-found-title{color:#333;margin-bottom:15px;font-size:28px;font-weight:600}.not-found-message{color:#666;margin-bottom:40px;font-size:16px;line-height:1.5}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:40px;display:flex}.not-found-btn{cursor:pointer;border:none;border-radius:8px;min-width:120px;padding:12px 24px;font-size:16px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.btn.btn-secondary{color:#6c757d;background:#f8f9fa;border:2px solid #dee2e6}.btn.btn-secondary:hover{background:#e9ecef;transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.not-found-suggestions{color:#666;border-top:1px solid #eee;padding-top:30px}.not-found-suggestions p{margin-bottom:15px;font-weight:500}.not-found-suggestions ul{margin:0;padding:0;list-style:none}.not-found-suggestions li{padding:5px 0 5px 20px;position:relative}.not-found-suggestions li:before{content:"•";color:#667eea;font-weight:700;position:absolute;left:0}@media (max-width:480px){.not-found-content{margin:20px;padding:40px 20px}.error-code{font-size:80px}.not-found-title{font-size:24px}.not-found-actions{flex-direction:column;align-items:center}.not-found-btn{width:100%;max-width:200px}}.app-module__app___NeayF{background:var(--background-color);min-height:100vh;color:var(--text-color);flex-direction:column;display:flex}.app-module__theme-toggle___OvFNO{z-index:1000;background:var(--ai-surface-card);border:1px solid var(--ai-border-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5em;padding:.5em;position:fixed;top:1em;right:1em}.app-module__theme-switch___ppjj9{display:none}.app-module__theme-switch-label___WFFNr{background:var(--loyalty-gradient-primary);cursor:pointer;border-radius:.75em;justify-content:center;align-items:center;width:3em;height:1.5em;transition:all .3s;display:flex;position:relative;overflow:hidden}.app-module__theme-switch-label___WFFNr:before{content:"";z-index:2;background:#fff;border-radius:50%;width:1.25em;height:1.25em;transition:transform .3s;position:absolute;top:.125em;left:.125em}.app-module__theme-switch___ppjj9:checked+.app-module__theme-switch-label___WFFNr:before{transform:translate(1.5em)}.app-module__theme-icon___J0rsb{z-index:1;font-size:.75em;transition:opacity .3s;position:absolute}.app-module__theme-icon___J0rsb:first-child{opacity:1;left:.375em}.app-module__theme-icon___J0rsb:last-child{opacity:0;right:.375em}.app-module__theme-switch___ppjj9:checked+.app-module__theme-switch-label___WFFNr .app-module__theme-icon___J0rsb:first-child{opacity:0}.app-module__theme-switch___ppjj9:checked+.app-module__theme-switch-label___WFFNr .app-module__theme-icon___J0rsb:last-child{opacity:1}.app-module__header___WQzmm{background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);padding:var(--spacing-md)0}.app-module__header___WQzmm h1{color:var(--primary-600);font-size:var(--font-size-2xl);margin:0}.app-module__navigation___yAfXQ{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.app-module__nav-btn___yn3sd{border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:var(--font-size-base);background:0 0;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.app-module__nav-btn___yn3sd:hover{background-color:var(--background-tertiary);color:var(--text-primary);text-decoration:none}.app-module__nav-btn___yn3sd.app-module__active___aRFL1{background-color:var(--primary-600);color:#fff;border-color:var(--primary-600);text-decoration:none}.app-module__main-content___rs7Hj{padding:var(--spacing-xl)0;flex:1}.app-module__home-section___D2RxZ{text-align:center}.app-module__color-demo___CmtKS{margin-top:var(--spacing-2xl)}.app-module__color-grid___WCL5h{gap:var(--spacing-md);margin-top:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));max-width:600px;margin-left:auto;margin-right:auto;display:grid}.app-module__color-item___y9_eI{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.app-module__color-swatch___WB9DH{border-radius:var(--radius-lg);border:2px solid var(--border-primary);width:60px;height:60px}.app-module__color-item___y9_eI.app-module__primary___uusX3 .app-module__color-swatch___WB9DH{background-color:var(--primary-500)}.app-module__color-item___y9_eI.app-module__secondary___CWg34 .app-module__color-swatch___WB9DH{background-color:var(--secondary-500)}.app-module__color-item___y9_eI.app-module__success___qLyRz .app-module__color-swatch___WB9DH{background-color:var(--success-500)}.app-module__color-item___y9_eI.app-module__warning___n4MMr .app-module__color-swatch___WB9DH{background-color:var(--warning-500)}.app-module__color-item___y9_eI.app-module__error___JIJEA .app-module__color-swatch___WB9DH{background-color:var(--error-500)}.app-module__component-grid___EmA8u{gap:var(--spacing-lg);margin-top:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.app-module__color-system___jsCJy{gap:var(--spacing-2xl);flex-direction:column;display:flex}.app-module__color-family___tx_z2{margin-bottom:var(--spacing-xl)}.app-module__color-shades___D_jbC{gap:var(--spacing-xs);margin-top:var(--spacing-md);grid-template-columns:repeat(10,1fr);display:grid}.app-module__color-shade___iuWXO{border-radius:var(--radius-md);height:60px;font-size:var(--font-size-xs);color:#fff;text-shadow:0 1px 2px #0000004d;border:1px solid var(--border-primary);justify-content:center;align-items:center;font-weight:600;display:flex}.app-module__color-shade___iuWXO:first-child,.app-module__color-shade___iuWXO:nth-child(2),.app-module__color-shade___iuWXO:nth-child(3),.app-module__color-shade___iuWXO:nth-child(4),.app-module__color-shade___iuWXO:nth-child(5){color:var(--text-primary)}.app-module__color-shade___iuWXO:nth-child(6),.app-module__color-shade___iuWXO:nth-child(7),.app-module__color-shade___iuWXO:nth-child(8),.app-module__color-shade___iuWXO:nth-child(9),.app-module__color-shade___iuWXO:nth-child(10){color:#fff}.app-module__about-section___wFOGY{max-width:800px;margin:0 auto}.app-module__about-section___wFOGY ul{margin:var(--spacing-md)0;padding-left:var(--spacing-lg)}.app-module__about-section___wFOGY li{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}@media (max-width:768px){.app-module__navigation___yAfXQ{flex-direction:column}.app-module__color-grid___WCL5h{grid-template-columns:repeat(2,1fr)}.app-module__color-shades___D_jbC{grid-template-columns:repeat(5,1fr)}.app-module__component-grid___EmA8u{grid-template-columns:1fr}}