:root{--bg-primary:#121212;--bg-secondary:#1a1614;--bg-card:#201a17;--bg-card-hover:#29221e;--coffee-deep:#2b1d15;--coffee-medium:#4a3325;--coffee-light:#6e4d37;--crema-gold:#d49a56;--crema-light:#e8b06b;--crema-dark:#b57335;--crema-glow:#d49a5640;--text-primary:#f5f2ee;--text-secondary:#c2b7ae;--text-muted:#807369;--accent-cyan:#38bdf8;--accent-green:#34d399;--accent-red:#f87171;--accent-orange:#fb923c;--border-subtle:#d49a5626;--border-highlight:#d49a5666;--font-digital:"JetBrains Mono", monospace;--font-sans:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--safe-bottom:env(safe-area-inset-bottom,16px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;min-height:100dvh;overflow-x:hidden}body{background-image:radial-gradient(circle at 50% 0,#4a332559 0%,#0000 60%),radial-gradient(circle at 100% 100%,#2b1d154d 0%,#0000 50%);background-attachment:fixed}.app-container{max-width:480px;min-height:100dvh;padding:16px 16px calc(24px + var(--safe-bottom)) 16px;flex-direction:column;gap:16px;margin:0 auto;display:flex}.app-header{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.brand-wrapper{align-items:center;gap:10px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--crema-gold), var(--coffee-deep));color:#121212;width:38px;height:38px;box-shadow:0 4px 12px var(--crema-glow);border-radius:10px;justify-content:center;align-items:center;display:flex}.brand-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.15rem;font-weight:700}.brand-subtitle{color:var(--crema-gold);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:500}.header-actions{align-items:center;gap:8px;display:flex}.icon-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.icon-btn:active{background:var(--bg-card-hover);border-color:var(--border-highlight);color:var(--crema-light);transform:scale(.94)}.status-banner{color:var(--accent-orange);background:#fb923c1f;border:1px solid #fb923c4d;border-radius:12px;justify-content:space-between;align-items:center;padding:8px 14px;font-size:.8rem;font-weight:500;animation:.3s fadeIn;display:flex}.status-banner.syncing{color:var(--accent-cyan);background:#38bdf81f;border-color:#38bdf84d}.status-banner-badge{color:#121212;background:currentColor;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:.72rem;font-weight:700}.counter-card{border:1px solid var(--border-subtle);text-align:center;background:linear-gradient(#181310 0%,#120e0c 100%);border-radius:24px;padding:24px 20px 20px;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000073}.counter-card:before{content:"";background:linear-gradient(90deg, transparent, var(--crema-gold), transparent);opacity:.6;height:1px;position:absolute;top:0;left:20%;right:20%}.counter-label{letter-spacing:.15em;color:var(--crema-gold);text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:700}.counter-value-wrapper{justify-content:center;align-items:baseline;margin:4px 0 14px;display:flex}.counter-value{font-family:var(--font-digital);color:var(--text-primary);text-shadow:0 0 24px #e8b06b59;letter-spacing:-.02em;font-size:4rem;font-weight:800;line-height:1}.counter-today-badge{color:var(--crema-light);background:#d49a561f;border:1px solid #d49a5640;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.counter-today-val{font-family:var(--font-digital);color:#fff;font-size:.95rem;font-weight:800}.user-selector-container{flex-direction:column;gap:8px;display:flex}.user-selector-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 4px;font-size:.76rem;font-weight:600;display:flex}.user-selector-selected-highlight{color:var(--crema-light);font-weight:700}.user-pills{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.user-pill{background:var(--bg-card);border:1px solid var(--border-subtle);min-height:52px;color:var(--text-secondary);font-family:var(--font-sans);letter-spacing:.04em;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 8px;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.user-pill:active{transform:scale(.96)}.user-pill.active{border-color:var(--crema-gold);color:#fff;background:linear-gradient(#38251b 0%,#251710 100%);box-shadow:0 4px 16px #d49a5638}.user-pill-sub{font-size:.68rem;font-family:var(--font-digital);color:var(--crema-gold);opacity:.85}.action-buttons-group{grid-template-columns:1fr 1fr;gap:12px;margin:4px 0;display:grid}.action-btn{cursor:pointer;min-height:76px;font-family:var(--font-sans);letter-spacing:.04em;border:none;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:800;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0006}.action-btn:active{transform:scale(.96)}.action-btn-single{color:#fff;background:linear-gradient(145deg,#432e22 0%,#2a1c14 100%);border:1px solid #d49a5659}.action-btn-single:active{border-color:var(--crema-light);background:linear-gradient(145deg,#4d3527 0%,#342319 100%)}.action-btn-double{color:#120e0c;background:linear-gradient(145deg,#d49a56 0%,#aa6928 100%);box-shadow:0 8px 24px #d49a5659}.action-btn-double:active{background:linear-gradient(145deg,#e8b06b 0%,#b87532 100%)}.action-btn-title{align-items:center;gap:6px;font-size:1.35rem;font-weight:800;display:flex}.action-btn-subtitle{opacity:.85;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.drink-selection-row{scrollbar-width:none;gap:6px;padding:4px 2px;display:flex;overflow-x:auto}.drink-selection-row::-webkit-scrollbar{display:none}.drink-chip{background:var(--bg-card);border:1px solid var(--border-subtle);min-height:36px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:all .15s}.drink-chip:active,.drink-chip.active{border-color:var(--crema-gold);color:var(--crema-light);background:#d49a5626}.info-section{flex-direction:column;gap:12px;display:flex}.info-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.info-card-header{justify-content:space-between;align-items:center;display:flex}.info-card-title-group{text-transform:uppercase;letter-spacing:.06em;color:var(--crema-gold);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.info-card-action{color:var(--crema-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:flex}.bean-name{color:var(--text-primary);font-size:1.15rem;font-weight:700}.bean-roaster{color:var(--text-secondary);font-size:.82rem}.bean-progress-container{flex-direction:column;gap:6px;display:flex}.bean-progress-bar-bg{background:#161210;border-radius:999px;height:8px;position:relative;overflow:hidden}.bean-progress-fill{background:linear-gradient(90deg, var(--crema-dark), var(--crema-gold));border-radius:999px;height:100%;transition:width .4s}.bean-stats-row{color:var(--text-secondary);justify-content:space-between;font-size:.74rem;display:flex}.bean-stats-row span strong{color:var(--text-primary);font-family:var(--font-digital)}.quick-stats-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-box{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;gap:4px;padding:14px;display:flex}.stat-box-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:flex}.stat-box-val{color:var(--text-primary);font-size:.95rem;font-weight:700}.stat-box-sub{color:var(--crema-gold);font-size:.74rem}.maintenance-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.maint-btn{background:var(--bg-card);border:1px solid var(--border-subtle);min-height:48px;color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.maint-btn:active{background:var(--bg-card-hover);border-color:var(--border-highlight);color:var(--crema-light);transform:scale(.96)}.undo-bar{gap:8px;display:flex}.undo-btn{min-height:48px;color:var(--accent-red);cursor:pointer;background:#f8717114;border:1px dashed #f871714d;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.undo-btn:disabled{opacity:.4;cursor:not-allowed;border-style:solid}.undo-btn:not(:disabled):active{background:#f871712e;transform:scale(.97)}.toast-container{bottom:calc(16px + var(--safe-bottom));z-index:1000;pointer-events:none;flex-direction:column;gap:8px;width:90%;max-width:400px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--crema-gold);color:var(--text-primary);background:#251c17;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.88rem;font-weight:600;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;box-shadow:0 8px 24px #0009}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:500;background:#000c;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@media (width>=500px){.modal-overlay{align-items:center;padding:20px}}.modal-sheet{background:var(--bg-secondary);border:1px solid var(--border-subtle);width:100%;max-width:480px;max-height:88vh;padding:20px 20px calc(24px + var(--safe-bottom)) 20px;border-radius:24px 24px 0 0;flex-direction:column;gap:16px;animation:.25s cubic-bezier(.16,1,.3,1) slideUpModal;display:flex;overflow-y:auto}@media (width>=500px){.modal-sheet{border-radius:24px;max-height:80vh}}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--text-primary);font-size:1.15rem;font-weight:700}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.form-input,.form-textarea{background:var(--bg-card);border:1px solid var(--border-subtle);min-height:48px;color:var(--text-primary);font-family:var(--font-sans);border-radius:12px;outline:none;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.form-textarea{resize:vertical;min-height:80px}.form-input:focus,.form-textarea:focus{border-color:var(--crema-gold)}.submit-btn{background:linear-gradient(145deg, var(--crema-gold), var(--crema-dark));color:#120e0c;min-height:52px;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:1rem;font-weight:700;transition:transform .15s;display:flex}.submit-btn:active{transform:scale(.97)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.auth-header-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:20px;align-items:center;gap:6px;min-height:36px;padding:4px 10px;font-size:.76rem;font-weight:600;transition:all .2s;display:flex}.auth-header-btn:hover{border-color:var(--border-highlight);background:var(--bg-card-hover)}.auth-header-btn.authorized{background:#34d39914;border-color:#34d39959;padding:3px 6px}.auth-header-btn.read-only{background:#d49a5614;border-color:#d49a564d}.auth-header-label{color:var(--crema-gold)}.header-avatar{object-fit:cover;border:1.5px solid var(--accent-green);border-radius:50%;width:26px;height:26px}.auth-status-icon.authorized{color:var(--accent-green)}.auth-status-icon.read-only{color:var(--crema-gold)}.auth-modal-sheet{max-width:440px}.auth-icon-badge{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.auth-status-card{margin-top:4px}.auth-user-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;align-items:center;gap:14px;padding:16px;display:flex}.auth-user-card.authorized{background:#34d3990a;border-color:#34d39966}.auth-user-card.wrong-domain{background:#f871710f;border-color:#f8717159;flex-direction:column;align-items:flex-start}.auth-warning-header{color:var(--accent-red);align-items:center;gap:8px;font-size:.95rem;display:flex}.auth-avatar{object-fit:cover;border:2px solid var(--accent-green);border-radius:50%;flex-shrink:0;width:46px;height:46px}.auth-avatar.placeholder{background:var(--coffee-medium);color:var(--crema-light);justify-content:center;align-items:center;display:flex}.auth-user-details{flex-direction:column;gap:2px;display:flex;overflow:hidden}.auth-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.auth-user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.auth-domain-pill{border-radius:12px;align-items:center;gap:4px;width:fit-content;margin-top:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.auth-domain-pill.authorized{color:var(--accent-green);background:#34d39926;border:1px solid #34d3994d}.auth-read-only-banner{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.auth-body-text{color:var(--text-primary);font-size:.88rem;line-height:1.45}.auth-body-subtext{color:var(--text-secondary);font-size:.82rem;line-height:1.45}.highlight-text{color:var(--crema-gold);font-weight:600}.auth-error-banner{border:1px solid var(--accent-red);color:var(--accent-red);background:#f871711f;border-radius:12px;padding:10px 14px;font-size:.82rem}.auth-actions-section{flex-direction:column;gap:12px;margin-top:8px;display:flex}.google-btn-wrapper{justify-content:center;align-items:center;padding:8px 0;display:flex}.auth-config-notice{text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:12px;padding:12px;font-size:.8rem;line-height:1.4}.auth-config-notice code{color:var(--crema-gold);background:#d49a5626;border-radius:4px;padding:2px 6px}.auth-signout-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.auth-signout-btn:hover{color:var(--accent-red);background:#f871711a;border-color:#f871714d}
