@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&display=swap";
:root{--bg-dark-900:#0a0c10;--bg-dark-800:#14171d;--bg-dark-700:#1c2128;--bg-dark-600:#262c35;--accent-emerald:#10b981;--accent-emerald-subtle:#10b9811a;--accent-blue:#3b82f6;--danger-red:#ef4444;--danger-red-subtle:#ef44441f;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-shadow:0 8px 32px 0 #0000005e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark-900);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 0 0,#10b9811a 0%,#0000 50%),radial-gradient(circle at 100% 100%,#3b82f61a 0%,#0000 50%);min-height:100vh;font-family:Outfit,sans-serif;line-height:1.6}.container{max-width:480px;margin:0 auto;padding:2rem 1rem}.dashboard-container{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.logo-text{background:linear-gradient(135deg, var(--accent-emerald) 0%, #34d399 100%);-webkit-text-fill-color:transparent;letter-spacing:-.05em;-webkit-background-clip:text;font-size:1.5rem;font-weight:800;text-decoration:none}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:24px;margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s,border-color .2s}@media (max-width:480px){.glass-card{border-radius:20px;padding:1rem}}.glass-card:hover{border-color:#ffffff26}h1,h2,h3{letter-spacing:-.02em;font-weight:700}.btn-primary{background:var(--accent-emerald);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.8rem 1.5rem;font-family:inherit;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #10b9814d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.btn-secondary{background:var(--bg-dark-700);color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;border-radius:12px;padding:.8rem 1.5rem;font-family:inherit;font-weight:600;transition:all .2s}.btn-secondary:hover{background:var(--bg-dark-600);border-color:var(--text-secondary)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{cursor:not-allowed;opacity:.65;transform:none}.btn-danger{background:var(--danger-red-subtle);color:#fecaca;cursor:pointer;border:1px solid #ef444473;border-radius:12px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .2s}.btn-danger:hover:not(:disabled){background:var(--danger-red);border-color:var(--danger-red);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #ef44444d}.profile-summary{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.profile-summary strong{color:var(--text-primary)}.profile-edit-button{color:var(--text-primary);cursor:pointer;background:#ffffff1a;border:1px solid #0000;border-radius:8px;padding:.25rem .55rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:all .2s}.profile-edit-button:hover{border-color:var(--glass-border);background:#ffffff29}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);background:#04070cbd;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.app-modal{background:var(--bg-dark-800);border:1px solid var(--glass-border);border-radius:20px;flex-direction:column;gap:1rem;width:min(100%,460px);max-height:calc(100vh - 2rem);padding:1.5rem;display:flex;overflow-y:auto;box-shadow:0 24px 80px #0000008c}.confirm-modal{width:min(100%,420px)}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.3rem}.modal-header p{color:var(--text-secondary);margin:.2rem 0 0;font-size:.9rem}.modal-close{background:var(--bg-dark-700);width:34px;height:34px;color:var(--text-secondary);border:1px solid var(--glass-border);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.modal-close:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-secondary)}.field-label{color:var(--text-secondary);flex-direction:column;gap:.45rem;font-size:.85rem;font-weight:700;display:flex}.modal-divider{background:var(--glass-border);height:1px;margin:.25rem 0}.form-error{color:#fecaca;background:var(--danger-red-subtle);border:1px solid #ef44444d;border-radius:12px;margin:0;padding:.75rem .9rem;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.25rem;display:flex}@media (max-width:620px){.profile-summary{flex-wrap:wrap;justify-content:flex-end}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}input{background:var(--bg-dark-800);border:1px solid var(--glass-border);color:#fff;border-radius:12px;width:100%;padding:.8rem 1rem;font-family:inherit;transition:border-color .2s}input:focus{border-color:var(--accent-emerald);outline:none}.password-field{width:100%;position:relative}.password-field input{padding-right:3.1rem}.password-toggle{width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:#fff;background:#ffffff14;outline:none}.password-toggle svg{stroke:currentColor;width:1.15rem;height:1.15rem}.claimed{opacity:.4;filter:grayscale(.8);pointer-events:none;text-decoration:line-through}.badge{border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.badge-emerald{background:var(--accent-emerald-subtle);color:var(--accent-emerald)}.review-item-row{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;gap:.5rem;margin-bottom:.4rem;padding:.6rem;display:flex}.review-item-main{align-items:center;gap:.4rem;display:flex;position:relative}.review-input-name{flex:1;min-width:0;font-weight:600;padding:.6rem!important;font-size:.95rem!important}.review-input-price-wrapper{background:var(--bg-dark-800);border:1px solid var(--glass-border);align-items:center;transition:border-color .2s;display:flex;border-radius:8px!important;width:80px!important;padding:.6rem .4rem!important}.review-input-price-wrapper:focus-within{border-color:var(--accent-emerald)}.review-input-price{text-align:left;color:#fff!important;background:0 0!important;border:none!important;outline:none!important;width:100%!important;padding:0!important;font-size:.9rem!important}.review-input-qty{text-align:center;border-radius:8px!important;width:42px!important;padding:.6rem .2rem!important;font-size:.9rem!important}.review-menu-btn{background:var(--bg-dark-700);border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.4rem .6rem;font-size:1.2rem;line-height:1;transition:all .2s;display:flex}.review-menu-btn:hover{background:var(--bg-dark-600);border-color:var(--accent-emerald);color:var(--accent-emerald);transform:scale(1.05)}.review-menu-btn:active{transform:scale(.95)}.review-dropdown{background:var(--bg-dark-800);border:1px solid var(--glass-border);z-index:1000;border-radius:12px;flex-direction:column;min-width:140px;margin-top:4px;display:flex;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 40px #00000080}.dropdown-item{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.8rem;padding:.8rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .2s;display:flex}.dropdown-item:hover:not(:disabled){background:#ffffff0d}.dropdown-item:disabled{opacity:.2;cursor:default}.dropdown-item.delete{color:#ef4444;border-top:1px solid var(--glass-border)}.dropdown-overlay{z-index:999;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}
