:root{color:#10223b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#0d213c;--navy-soft:#334a6b;--cream:#fffaf4;--paper:#fff;--line:#dce4ec;--muted:#65748a;--orange:#eb6b24;--success:#2c7b47;--danger:#bd3439;background:#f4f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:radial-gradient(circle at 50% 0,#fff 0,#f3f6f9 58%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:4px solid #1c71c259}button:disabled{cursor:not-allowed;opacity:.6}#root{min-height:100vh}.screen-message{min-height:100vh;color:var(--navy-soft);text-align:center;place-content:center;gap:20px;padding:30px;font-size:1.15rem;display:grid}.screen-message button{color:#fff;background:var(--navy);border:0;border-radius:14px;min-height:54px;font-weight:800}.eyebrow{color:var(--orange);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px;font-size:.76rem;font-weight:900}.pos-shell{flex-direction:column;gap:18px;width:min(1280px,100%);min-height:100vh;margin:0 auto;padding:clamp(18px,2.4vw,32px);display:flex}.topbar{justify-content:center;align-items:center;min-height:118px;display:flex;position:relative}.brand-lockup{text-align:center}.brand-lockup p{color:var(--navy-soft);margin:8px 0 0;font-size:clamp(1rem,2vw,1.35rem);font-weight:700}.brand-title{justify-content:center;align-items:center;gap:18px;display:flex}.brand-title h1{color:var(--navy);letter-spacing:.045em;margin:0;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(3rem,6vw,5rem);line-height:.9}.brand-title i{background:var(--orange);border-radius:99px;width:28px;height:5px;position:relative;transform:rotate(15deg)}.brand-title i:before,.brand-title i:after{content:"";border-radius:inherit;background:inherit;width:20px;height:5px;position:absolute;left:2px}.brand-title i:before{top:-12px;transform:rotate(-25deg)}.brand-title i:after{top:12px;transform:rotate(25deg)}.brand-title i:last-child{transform:rotate(165deg)}.icon-button{border:1px solid var(--line);width:54px;height:54px;color:var(--navy-soft);cursor:pointer;background:#fff;border-radius:16px;place-items:center;display:grid;position:absolute;top:10px;right:0}.error-banner,.admin-message{color:#922f34;background:#fff1f1;border:1px solid #edc6c8;border-radius:13px;padding:13px 18px;font-weight:750}.admin-message:not(.error){color:#24623a;background:#effaf3;border-color:#baddc7}.product-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.product-card{border:2px solid color-mix(in srgb, var(--product-color), white 22%);background:var(--cream);border-radius:25px;grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:284px;display:grid;overflow:hidden;box-shadow:0 10px 28px #0f203714}.product-image-wrap{background:#eee7de;border-radius:22px 48% 48% 22px;min-height:100%;position:relative;overflow:hidden}.product-image{object-fit:cover;width:100%;height:100%;min-height:284px;display:block}.image-placeholder{color:#756f68;text-align:center;background:repeating-linear-gradient(135deg,#f1ebe4 0 14px,#e8dfd5 14px 28px);flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;min-height:190px;font-weight:800;display:flex}.image-placeholder svg{width:34px;height:34px}.product-details{text-align:center;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;padding:22px 18px 16px;display:flex}.product-details h2{color:var(--product-color);letter-spacing:-.02em;margin:0;font-family:Arial Narrow,Impact,sans-serif;font-size:clamp(1.7rem,3.3vw,2.6rem);line-height:.98}.card-flourish{color:var(--product-color);justify-content:center;align-items:center;gap:7px;margin:12px auto 0;display:flex}.card-flourish i{background:color-mix(in srgb, var(--product-color), white 35%);width:50px;height:1px}.price{color:var(--navy);letter-spacing:-.045em;margin:10px 0 0;font-size:clamp(2rem,3.7vw,3rem);font-weight:900;line-height:1}.charge-button{color:#fff;background:var(--product-color);cursor:pointer;letter-spacing:.055em;text-transform:uppercase;border:0;border-radius:13px;justify-content:center;align-items:center;gap:13px;width:100%;min-height:64px;font-size:1.24rem;font-weight:950;display:flex;box-shadow:inset 0 -4px #0000001c}.charge-button svg{width:27px;height:27px;transform:rotate(-10deg)}.charge-button:active:not(:disabled),.primary-button:active:not(:disabled),.danger-button:active:not(:disabled){transform:translateY(2px)}.status-bar{background:#f5faff;border:1px solid #cbdced;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;min-height:82px;padding:12px 22px;display:grid}.status-segment{align-items:center;gap:16px;display:flex}.status-segment.current{justify-content:center}.status-segment>div{flex-direction:column;gap:3px;display:flex}.status-segment strong{color:var(--navy);font-size:1rem}.status-segment span:not(.status-icon){color:var(--muted);font-size:.78rem}.status-icon{color:#fff;background:#8492a5;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.status-icon.qr{background:#2389c6}.status-segment.approved .status-icon{background:var(--success)}.status-segment.waiting .status-icon{background:var(--orange)}.status-divider{background:#c8d4e0;width:1px;height:46px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#08162ab8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirmation-modal{text-align:center;background:#fff;border-radius:28px;width:min(520px,100%);padding:clamp(28px,5vw,46px);box-shadow:0 30px 90px #00000047}.confirmation-modal h2{color:var(--navy);margin:0;font-size:clamp(2rem,5vw,3rem)}.confirmation-product{color:var(--navy-soft);margin:24px 0 4px;font-size:1.34rem;font-weight:750}.confirmation-price{color:var(--orange);letter-spacing:-.06em;margin:0;font-size:clamp(3rem,8vw,4.6rem);font-weight:950}.modal-copy{color:var(--muted);margin:18px 0 0;font-size:1.06rem}.modal-actions{gap:12px;margin-top:30px;display:grid}.primary-button,.secondary-button,.danger-button,.save-button,.filter-button,.export-button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:0 22px;font-weight:900;text-decoration:none;display:inline-flex}.primary-button{color:#fff;background:var(--navy)}.primary-button.wide{width:min(430px,100%)}.secondary-button{color:var(--navy);background:#eaf0f5}.danger-button{color:#fff;background:var(--danger)}.login-shell,.admin-login-shell{background:radial-gradient(circle at 50% 10%,#fff 0,#eef3f7 66%);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card,.admin-login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:28px;width:min(440px,100%);padding:30px clamp(22px,5vw,42px);box-shadow:0 24px 60px #10223b21}.login-card h1,.admin-login-card h1{color:var(--navy);letter-spacing:.05em;margin:0;font-family:Impact,Arial Narrow,sans-serif;font-size:3.5rem}.login-mark{color:#fff;background:var(--navy);border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 16px;display:grid}.login-copy{color:var(--muted);margin:8px 0 18px;font-weight:650}.pin-dots{justify-content:center;align-items:center;gap:12px;min-height:38px;margin:0 0 8px;display:flex}.pin-dots i{border:2px solid #9eacba;border-radius:50%;width:15px;height:15px}.pin-dots i.filled{border-color:var(--orange);background:var(--orange)}.error-space{height:28px;display:block}.form-error{color:#a52e34;margin:8px 0;font-size:.9rem;font-weight:750}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.keypad button{border:1px solid var(--line);min-height:64px;color:var(--navy);cursor:pointer;background:#f7f9fb;border-radius:16px;font-size:1.38rem;font-weight:850}.keypad button:active{background:#e6edf4}.keypad .keypad-enter{color:#fff;background:var(--orange);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.payment-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:clamp(20px,4vw,44px);display:flex}.payment-shell>.status-bar{width:min(1040px,100%);margin-top:auto}.waiting-card{border:1px solid var(--line);background:#fff;border-radius:30px;width:min(720px,100%);margin:auto 0;padding:clamp(28px,5vw,52px);box-shadow:0 20px 55px #10223b1c}.payment-shell h1{color:var(--navy);text-transform:uppercase;margin:0;font-size:clamp(2.5rem,7vw,4.7rem);line-height:1}.waiting-card h1{text-transform:none;font-size:clamp(2rem,5vw,3.5rem)}.result-icon{color:#fff;border-radius:50%;place-items:center;width:92px;height:92px;display:grid}.result-icon svg{width:48px;height:48px}.result-icon.success{background:var(--success);box-shadow:0 0 0 12px #e5f4ea}.result-icon.waiting{background:var(--orange);margin:0 auto 24px;box-shadow:0 0 0 12px #fff0e8}.result-icon.neutral{background:#78869a}.payment-product{color:var(--navy-soft);margin:10px 0 0;font-size:1.4rem;font-weight:780}.payment-amount{color:var(--orange);letter-spacing:-.065em;margin:10px 0 24px;font-size:clamp(3.3rem,10vw,6rem);font-weight:950;line-height:1}.waiting-status{color:var(--navy);background:#f2f7fb;border-radius:16px;justify-content:center;align-items:center;gap:14px;margin:20px 0 28px;padding:18px;display:flex}.waiting-status>div{text-align:left;flex-direction:column;align-items:flex-start;gap:3px;display:flex}.waiting-status span{color:var(--muted);font-size:.9rem}.spin{animation:1.2s linear infinite spin}.approved-screen,.terminal-screen{background:radial-gradient(circle at 50% 35%,#fff 0,#eef6f1 70%)}.approved-screen .eyebrow{color:var(--success);margin-top:20px}.terminal-screen p{color:var(--muted);margin:0}.admin-login-card{text-align:left}.admin-login-card .login-mark,.admin-login-card .eyebrow{margin-left:0}.admin-login-card h1{margin-bottom:28px}.admin-login-card label,.admin-product-fields label,.report-filters label{color:var(--navy-soft);flex-direction:column;gap:7px;font-size:.82rem;font-weight:800;display:flex}.admin-login-card input,.admin-product-fields input,.report-filters input,.report-filters select{min-height:50px;color:var(--navy);background:#fff;border:1px solid #cfd9e3;border-radius:11px;padding:0 13px}.admin-login-card label+label{margin-top:14px}.admin-login-card .primary-button{width:100%;margin-top:18px}.text-button{width:100%;min-height:44px;color:var(--navy-soft);cursor:pointer;background:0 0;border:0;margin-top:8px;font-weight:750}.admin-shell{background:#f4f7fa;grid-template-columns:245px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:var(--navy);flex-direction:column;height:100vh;padding:25px 18px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #ffffff24;align-items:center;gap:12px;padding:0 9px 24px;display:flex}.admin-brand>span{color:#fff;background:var(--orange);border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.admin-brand>div{flex-direction:column;display:flex}.admin-brand strong{letter-spacing:.08em}.admin-brand small{color:#afbdd0}.admin-sidebar nav{gap:8px;margin-top:24px;display:grid}.admin-sidebar a,.admin-sidebar>button{color:#cbd5e2;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;min-height:50px;padding:0 14px;font-weight:750;text-decoration:none;display:flex}.admin-sidebar a.active{color:#fff;background:#ffffff1f}.admin-sidebar svg{width:20px}.admin-sidebar>button{margin-top:auto}.admin-main{min-width:0}.admin-page{width:min(1200px,100%);margin:0 auto;padding:clamp(22px,4vw,48px)}.admin-page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.admin-page-header h1{color:var(--navy);margin:0;font-size:clamp(2.2rem,5vw,3.5rem);line-height:1}.admin-page-header p:last-child{color:var(--muted);margin:8px 0 0}.admin-product-list{gap:18px;display:grid}.admin-product-card{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:260px 1fr;display:grid;overflow:hidden;box-shadow:0 8px 20px #10223b0d}.admin-product-preview,.admin-product-preview .product-image{min-height:270px}.admin-product-fields{grid-template-columns:1fr 1fr;gap:14px;padding:22px;display:grid}.admin-product-fields>label:first-child,.admin-product-fields>label:nth-child(3),.admin-product-fields .switch-row{grid-column:1/-1}.field-row{grid-template-columns:1fr 90px;gap:12px;display:grid}.color-input{width:100%;padding:5px!important}.switch-row{align-items:center;min-height:42px;flex-direction:row!important}.switch-row input{width:22px;min-height:22px}.save-button{color:#fff;background:var(--navy);align-self:end}.report-filters{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:12px;margin-bottom:24px;padding:18px;display:grid}.filter-button,.export-button{color:#fff;background:var(--navy)}.export-button{min-height:52px}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:24px 0;display:grid}.summary-grid article{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;justify-content:center;gap:5px;min-height:115px;padding:18px;display:flex}.summary-grid article:first-child,.summary-grid article:nth-child(2){background:#f1faf4;border-color:#bdd7c6}.summary-grid span,.summary-grid small{color:var(--muted);font-size:.82rem}.summary-grid strong{color:var(--navy);font-size:1.45rem}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e7edf2;padding:15px 16px}th{color:var(--navy-soft);letter-spacing:.05em;text-transform:uppercase;background:#f7f9fb;font-size:.75rem}td{color:#40516a;font-size:.87rem}.reference-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem}.status-pill{color:#4d5d72;background:#eaf0f5;border-radius:99px;padding:6px 9px;font-size:.72rem;font-weight:850}.status-pill.approved{color:#25643b;background:#e6f6eb}.status-pill.cancelled,.status-pill.expired,.status-pill.error,.status-pill.rejected{color:#963238;background:#fdebed}.status-pill.waiting_payment,.status-pill.creating{color:#a34b17;background:#fff0e5}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.pos-shell{padding:18px}.product-card{grid-template-columns:45% 55%;min-height:250px}.product-image{min-height:250px}.product-details h2{font-size:1.75rem}.status-bar{gap:18px}.admin-shell{grid-template-columns:1fr}.admin-sidebar{flex-direction:row;align-items:center;gap:12px;width:100%;height:auto;padding:12px 16px;position:static}.admin-brand{border:0;padding:0}.admin-brand small{display:none}.admin-sidebar nav{margin:0 0 0 auto;display:flex}.admin-sidebar>button{margin:0}.admin-sidebar a,.admin-sidebar>button{min-height:48px;padding:0 12px}.admin-sidebar>button{font-size:0}.report-filters{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.product-grid{grid-template-columns:1fr}.topbar{min-height:105px}.brand-title h1{font-size:2.9rem}.brand-title i{display:none}.product-details h2{font-size:2rem}.status-bar{grid-template-columns:1fr;gap:10px}.status-divider{width:100%;height:1px}.status-segment.current{justify-content:flex-start}.admin-product-card{grid-template-columns:1fr}.admin-product-preview,.admin-product-preview .product-image{min-height:220px;max-height:250px}.admin-product-fields{grid-template-columns:1fr}.admin-product-fields>*{grid-column:1!important}.admin-page-header{flex-direction:column;align-items:flex-start}.report-filters{grid-template-columns:1fr}.export-button{width:100%}}@media (width<=470px){.pos-shell{padding:14px 10px}.product-card{grid-template-columns:1fr}.product-image-wrap{border-radius:22px 22px 48% 48%;min-height:180px;max-height:210px}.product-image{min-height:180px}.product-details{padding:18px}.admin-sidebar .admin-brand div{display:none}.admin-sidebar a{font-size:0}.admin-page{padding:20px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.add-product-button{color:#fff;background:var(--orange);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:0 18px;font-weight:850;display:inline-flex}.add-product-button svg{width:19px}.new-product-card{background:#fffaf6;border:1px solid #f1c8ad;border-radius:20px;margin-bottom:22px;overflow:hidden;box-shadow:0 8px 20px #10223b0d}.new-product-heading{align-items:center;gap:13px;padding:20px 22px 0;display:flex}.new-product-heading>div:last-child{flex-direction:column;gap:3px;display:flex}.new-product-heading strong{color:var(--navy);font-size:1.2rem}.new-product-heading span{color:var(--muted);font-size:.88rem}.new-product-icon{color:#fff;background:var(--orange);border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.new-product-icon svg{width:22px}.create-product-fields{padding-top:18px}.create-button{background:var(--orange)}.admin-product-card.is-inactive{opacity:.72}.admin-product-card.is-inactive .admin-product-preview{filter:grayscale(.65)}.admin-product-fields label small,.file-field small{color:var(--muted);font-size:.74rem;font-weight:600;line-height:1.35}.admin-product-fields .file-field{grid-column:1/-1}.file-field input[type=file]{background:#f7f9fb;min-height:auto;padding:10px}.product-admin-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.save-button,.remove-image-button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 15px;font-weight:800;display:inline-flex}.save-button svg,.remove-image-button svg{width:18px}.save-button:disabled,.remove-image-button:disabled,.add-product-button:disabled{opacity:.6;cursor:wait}.remove-image-button{color:#922f34;background:#fff0f1}@media (width<=700px){.add-product-button{width:100%}.product-admin-actions{flex-direction:column;align-items:stretch}.product-admin-actions button{width:100%}}
