:root{--bg:#1c1b1a;--surface:#262422;--surface-raised:#2f2c29;--border:#3d3934;--text:#f2efe9;--text-muted:#a8a29a;--gold:#e8a33d;--gold-dark:#c8862a;--gold-light:#f4c169;--green:#4caf6d;--green-bg:#4caf6d24;--red:#e85c4a;--red-bg:#e85c4a24;--radius:10px;--radius-lg:14px;--ease:cubic-bezier(.4, 0, .2, 1);--fast:.15s;--normal:.25s;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 8px 24px #00000059;--shadow-gold:0 6px 20px #e8a33d40}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse 85% 55% at 50% -5%, #e8a33d29, transparent 60%), radial-gradient(ellipse 70% 48% at 8% 100%, #c6583021, transparent 62%), radial-gradient(ellipse 55% 45% at 96% 82%, #78376e1a, transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background-repeat:no-repeat;background-attachment:fixed;margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}::selection{background:var(--gold);color:#1c1b1a}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg);border-radius:20px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dark)}@keyframes screenIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes bannerIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes rowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes badgePop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes pulseFade{0%,to{opacity:.5}50%{opacity:1}}@keyframes gentleGlow{0%,to{box-shadow:0 0 #e8a33d00}50%{box-shadow:0 0 0 4px #e8a33d1f}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.order-row{animation:rowIn var(--fast) var(--ease) both}.badge-pop{animation:badgePop var(--fast) var(--ease) both;display:inline-block}.loading-pulse{animation:1.4s ease-in-out infinite pulseFade}.pending-glow{animation:2.4s ease-in-out infinite gentleGlow}.spin-icon{animation:.6s linear infinite spin;display:inline-block}.screen{max-width:460px;min-height:100vh;animation:screenIn var(--normal) var(--ease) both;margin:0 auto;padding:1.5rem 1.25rem 3rem}.screen--wide{max-width:460px}@media (width>=768px){.screen--wide{max-width:780px;padding:2rem 2rem 4rem}}@media (width>=1180px){.screen--wide{max-width:1120px}}.vgrid{grid-template-columns:1fr;align-items:start;gap:0 24px;display:grid}.vgrid>*{min-width:0}@media (width>=920px){.vgrid{grid-template-columns:1fr 1fr}.vgrid>.vgrid-full{grid-column:1/-1}}.vgrid--cards{gap:14px 24px}.vgrid--cards>.card{margin-bottom:0}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;margin:0 0 4px;font-size:12px;display:flex}.eyebrow:before{content:"";background:var(--gold);border-radius:50%;flex-shrink:0;width:6px;height:6px}.title{letter-spacing:-.01em;margin:0 0 2px;font-size:21px;font-weight:800}.subtitle{color:var(--text-muted);margin:0 0 20px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--fast) var(--ease), border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);margin-bottom:14px;padding:1rem 1.1rem}.card:hover{box-shadow:var(--shadow-md);border-color:#4a453e;transform:translateY(-2px)}input,select,textarea{background:var(--surface-raised);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--radius);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), background var(--fast) var(--ease);margin-bottom:10px;padding:10px 12px;font-family:inherit;font-size:14px}textarea{resize:vertical;min-height:60px}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.8}input:hover,select:hover,textarea:hover{border-color:#4a453e}input:focus,select:focus,textarea:focus{border-color:var(--gold);background:var(--surface);box-shadow:0 0 0 3px #e8a33d29}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}button{border:1px solid var(--border);background:var(--surface-raised);color:var(--text);border-radius:var(--radius);cursor:pointer;transition:transform var(--fast) var(--ease), background var(--fast) var(--ease), border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), opacity var(--fast) var(--ease);padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600}button:hover:not(:disabled){border-color:var(--gold-dark);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--gold-light), var(--gold) 60%, var(--gold-dark));border-color:var(--gold-dark);color:#1c1b1a;width:100%;box-shadow:var(--shadow-gold)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--gold), var(--gold-dark));box-shadow:0 8px 26px #e8a33d59}.chip{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface-raised);transition:transform var(--fast) var(--ease), background var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:20px;align-items:center;gap:6px;margin:0 6px 6px 0;padding:6px 12px;font-size:12px;display:inline-flex}.chip:hover{border-color:var(--gold);transform:translateY(-1px)}.chip.selected{border-color:var(--gold);color:var(--gold);background:#e8a33d1f}.order-row{border-bottom:1px solid var(--border);transition:background var(--fast) var(--ease), opacity var(--fast) var(--ease);border-radius:8px;justify-content:space-between;align-items:center;margin:0 -4px;padding:10px 4px;font-size:14px;display:flex}.order-row:hover{background:#ffffff06}.order-row:last-child{border-bottom:none}.order-row .name{font-weight:600}.order-row .detail{color:var(--text-muted);font-size:13px}.total-row{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-top:4px;padding-top:12px;display:flex}.total-row .label{font-size:14px;font-weight:600}.total-row .amount{color:var(--gold);font-size:22px;font-weight:700}.status-banner{border-radius:var(--radius);animation:bannerIn var(--fast) var(--ease) both;border-left:3px solid #0000;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.status-banner.error{background:var(--red-bg);color:var(--red);border-left-color:var(--red)}.status-banner.error:before{content:"⚠"}.status-banner.success{background:var(--green-bg);color:var(--green);border-left-color:var(--green)}.status-banner.success:before{content:"✓";font-weight:700}.splash-screen{z-index:999;background:radial-gradient(ellipse 85% 55% at 50% -5%, #e8a33d29, transparent 60%), radial-gradient(ellipse 70% 48% at 8% 100%, #c6583021, transparent 62%), radial-gradient(ellipse 55% 45% at 96% 82%, #78376e1a, transparent 60%), var(--bg);transition:opacity .5s var(--ease), visibility .5s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.splash-screen.splash-out{opacity:0;visibility:hidden;pointer-events:none}.splash-logo-wrap{justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.splash-ring{border:2px solid #e8a33d59;border-radius:50%;animation:1.8s ease-out infinite splashRingPulse;position:absolute;inset:-16px}.splash-ring-delay{animation-delay:.6s}.splash-logo{z-index:1;object-fit:cover;border:3px solid var(--surface-raised);width:120px;height:120px;animation:splashLogoIn .7s var(--ease) both;border-radius:50%;position:relative;box-shadow:0 4px 30px #e8a33d59}.splash-text{letter-spacing:.02em;color:var(--text);opacity:0;font-size:15px;font-weight:700;animation:.5s .4s both splashTextIn}@keyframes splashLogoIn{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes splashRingPulse{0%{opacity:.6;transform:scale(.85)}to{opacity:0;transform:scale(1.6)}}@keyframes splashTextIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
