@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#111827b3;--bg-card-hover:#192337cc;--bg-glass:#ffffff08;--bg-input:#ffffff0f;--bg-input-focus:#ffffff1a;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#fbbf24;--accent-gold:#fbbf24;--accent-gold-dim:#fbbf2426;--accent-gold-glow:#fbbf244d;--accent-green:#34d399;--accent-green-dim:#34d39926;--accent-red:#f87171;--accent-red-dim:#f8717126;--accent-blue:#60a5fa;--accent-blue-dim:#60a5fa26;--border-color:#ffffff14;--border-focus:#fbbf2480;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #fbbf241a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition:all .2s cubic-bezier(.4,0,.2,1);--transition-slow:all .4s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 0,#fbbf240a 0%,#0000 50%),radial-gradient(at 80% 100%,#60a5fa08 0%,#0000 50%);position:fixed;inset:0}.auth-container{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.auth-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:40px 32px;animation:.5s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo-icon{background:linear-gradient(135deg,var(--accent-gold),#f59e0b);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:28px;display:flex;box-shadow:0 8px 24px #fbbf2440}.auth-logo h1{color:var(--text-primary);letter-spacing:-.5px;font-size:24px;font-weight:700}.auth-logo p{color:var(--text-secondary);margin-top:6px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-input{background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:var(--transition);outline:none;padding:14px 16px;font-family:inherit;font-size:16px}.form-input:focus{border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-gold-dim)}.form-input::placeholder{color:var(--text-muted)}.remember-row{align-items:center;gap:10px;margin-bottom:24px;display:flex}.remember-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-gold);cursor:pointer}.remember-row label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px}.btn-primary{background:linear-gradient(135deg,var(--accent-gold),#f59e0b);color:#0a0e1a;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:var(--transition);border:none;padding:14px;font-family:inherit;font-size:16px;font-weight:600;position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #fbbf2459}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:14px}.auth-footer a{color:var(--accent-gold);transition:var(--transition);font-weight:500;text-decoration:none}.auth-footer a:hover{color:#f59e0b;text-decoration:underline}.error-message{background:var(--accent-red-dim);color:var(--accent-red);border-radius:var(--radius-sm);border:1px solid #f871714d;margin-bottom:20px;padding:12px 16px;font-size:14px;animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.dashboard{z-index:1;min-height:100vh;padding-bottom:100px;position:relative}.dashboard-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);background:#0a0e1ad9;padding:10px 12px;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:600px;margin:0 auto;display:flex}.header-title{align-items:center;gap:10px;display:flex}.header-title-icon{background:linear-gradient(135deg,var(--accent-gold),#f59e0b);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;display:flex}.header-title h1{letter-spacing:-.3px;white-space:nowrap;font-size:16px;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.btn-icon{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-glass);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.btn-icon:hover{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-focus)}.btn-icon.logout:hover{color:var(--accent-red);border-color:#f871714d}.btn-install-glow{background:linear-gradient(135deg,var(--accent-gold),#f59e0b);color:#0a0e1a;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:4px 12px;font-size:13px;font-weight:700;transition:transform .2s;animation:2s infinite pulse-glow}.btn-install-glow:hover{transform:scale(1.05)}@keyframes pulse-glow{0%{box-shadow:0 0 #fbbf24b3}70%{box-shadow:0 0 0 8px #fbbf2400}to{box-shadow:0 0 #fbbf2400}}.user-badge{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;flex-shrink:1;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.user-name-text{text-overflow:ellipsis;max-width:80px;overflow:hidden}.user-badge-dot{background:var(--accent-green);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.denom-section{max-width:600px;margin:0 auto;padding:16px}.denom-section-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px;padding-left:4px;font-size:13px;font-weight:600}.denom-grid{flex-direction:column;gap:8px;display:flex}.denom-row{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);grid-template-columns:90px 1fr 110px;align-items:center;gap:12px;padding:14px 16px;display:grid}.denom-row:hover,.denom-row:focus-within{border-color:var(--border-focus);background:var(--bg-card-hover)}.denom-label{align-items:center;gap:8px;display:flex}.denom-color{border-radius:3px;flex-shrink:0;width:6px;height:32px}.denom-value{white-space:nowrap;font-size:18px;font-weight:700}.denom-input-wrapper{position:relative}.denom-input{background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:center;transition:var(--transition);-moz-appearance:textfield;outline:none;padding:10px 12px;font-family:inherit;font-size:18px;font-weight:500}.denom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.denom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.denom-input:focus{border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-gold-dim)}.denom-input::placeholder{color:var(--text-muted);font-weight:400}.denom-subtotal{text-align:right;color:var(--text-secondary);transition:var(--transition);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.denom-subtotal.has-value{color:var(--accent-green)}.denom-2000 .denom-color{background:#e879f9}.denom-500 .denom-color{background:#818cf8}.denom-200 .denom-color{background:#fb923c}.denom-100 .denom-color{background:#38bdf8}.denom-50 .denom-color{background:#4ade80}.denom-20 .denom-color{background:#fbbf24}.denom-10 .denom-color{background:#f472b6}.denom-5 .denom-color{background:#a78bfa}.denom-2 .denom-color{background:#fb7185}.denom-1 .denom-color{background:#94a3b8}.denom-2000 .denom-value{color:#e879f9}.denom-500 .denom-value{color:#818cf8}.denom-200 .denom-value{color:#fb923c}.denom-100 .denom-value{color:#38bdf8}.denom-50 .denom-value{color:#4ade80}.denom-20 .denom-value{color:#fbbf24}.denom-10 .denom-value{color:#f472b6}.denom-5 .denom-value{color:#a78bfa}.denom-2 .denom-value{color:#fb7185}.denom-1 .denom-value{color:#94a3b8}.grand-total-bar{z-index:50;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-color);background:#0a0e1aeb;padding:0;position:fixed;bottom:0;left:0;right:0}.grand-total-inner{flex-direction:column;max-width:600px;margin:0 auto;display:flex}.grand-total-row{justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.grand-total-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);font-size:13px;font-weight:600}.grand-total-amount{color:var(--accent-gold);letter-spacing:-.5px;text-shadow:0 0 20px #fbbf2433;font-size:28px;font-weight:800}.grand-total-actions{gap:8px;padding:0 16px 14px;display:flex}.btn-action{border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition);flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.btn-save{background:linear-gradient(135deg,var(--accent-gold),#f59e0b);color:#0a0e1a;border:none}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 16px #fbbf2459}.btn-clear{background:var(--bg-glass);color:var(--text-secondary)}.btn-clear:hover{background:var(--accent-red-dim);color:var(--accent-red);border-color:#f871714d}.btn-readings{background:var(--bg-glass);color:var(--text-secondary)}.btn-readings:hover{background:var(--accent-blue-dim);color:var(--accent-blue);border-color:#60a5fa4d}.grand-total-words{color:var(--text-muted);text-align:right;max-width:220px;margin-top:2px;font-size:11px;font-style:italic;font-weight:400;line-height:1.3}.grand-total-bar.keyboard-hidden{display:none}.floating-calc-strip{z-index:60;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-focus);will-change:top,transform;background:#0a0e1af2;padding:10px 16px;position:fixed;left:0;right:0}@keyframes slideUpCalc{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.floating-calc-inner{justify-content:space-between;align-items:center;gap:12px;max-width:600px;margin:0 auto;display:flex}.floating-calc-notes{align-items:baseline;gap:4px;display:flex}.floating-calc-notes-count{color:var(--text-primary);font-size:18px;font-weight:700}.floating-calc-notes-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.floating-calc-total{flex-shrink:0;align-items:center;gap:8px;display:flex}.floating-calc-total-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:600}.floating-calc-total-amount{color:var(--accent-gold);letter-spacing:-.3px;text-shadow:0 0 15px #fbbf2426;font-size:18px;font-weight:800}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:flex-end;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl)var(--radius-xl)var(--radius-lg)var(--radius-lg);width:100%;max-width:500px;max-height:85vh;padding:28px 24px;animation:.3s ease-out slideUpModal;overflow-y:auto}@keyframes slideUpModal{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-handle{background:var(--text-muted);border-radius:2px;width:40px;height:4px;margin:0 auto 20px}.modal-title{margin-bottom:20px;font-size:20px;font-weight:700}.modal-actions{gap:10px;margin-top:20px;display:flex}.btn-secondary{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-glass);color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex:1;padding:14px;font-family:inherit;font-size:15px;font-weight:500}.btn-secondary:hover{background:var(--bg-input);color:var(--text-primary)}.readings-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.reading-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);justify-content:space-between;align-items:center;padding:16px;display:flex}.reading-card:hover{border-color:var(--border-focus);background:var(--bg-card-hover);transform:translate(4px)}.reading-info h3{margin-bottom:4px;font-size:16px;font-weight:600}.reading-info p{color:var(--text-muted);font-size:13px}.reading-total{color:var(--accent-gold);white-space:nowrap;font-size:18px;font-weight:700}.reading-actions{gap:6px;margin-left:12px;display:flex}.btn-small{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-glass);color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:8px;font-size:14px}.btn-small.delete:hover{background:var(--accent-red-dim);color:var(--accent-red);border-color:#f871714d}.btn-small.load:hover{background:var(--accent-green-dim);color:var(--accent-green);border-color:#34d3994d}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state-icon{opacity:.5;margin-bottom:12px;font-size:48px}.empty-state p{font-size:14px}.spinner{border:2.5px solid var(--text-muted);border-top-color:var(--accent-gold);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{z-index:200;background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.loading-overlay .spinner{width:40px;height:40px}.loading-overlay p{color:var(--text-secondary);font-size:14px}.toast{z-index:300;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:12px 24px;font-size:14px;font-weight:500;animation:.3s ease-out toastIn,.3s ease-in 2.7s forwards toastOut;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast-success{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid #34d3994d}.toast-error{background:var(--accent-red-dim);color:var(--accent-red);border:1px solid #f871714d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}@media (min-width:640px){.auth-card{padding:48px 40px}.modal-overlay{align-items:center}.modal-content{border-radius:var(--radius-xl)}.denom-row{grid-template-columns:100px 1fr 130px;padding:16px 20px}.denom-value{font-size:20px}.grand-total-amount{font-size:32px}.user-badge{padding:6px 12px}.user-name-text{max-width:150px;font-size:13px}}@media (max-width:380px){.user-badge{padding:3px 6px;font-size:10px}.user-name-text{max-width:50px}.btn-install-glow{padding:3px 6px;font-size:11px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
