:root{--bg-primary: #f6f6ef;--bg-surface: #ffffff;--bg-surface-hover: #efefe4;--bg-elevated: #e6e6d8;--accent-primary: #6b7a3a;--accent-primary-hover: #56622e;--text-primary: #1a1a2e;--text-secondary: #4b5563;--text-muted: #9ca3af;--text-inverse: #ffffff;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,textarea,select{font-family:inherit;font-size:inherit}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}.app-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1rem}.top-bar{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:600px;padding:1rem 0;margin-bottom:1rem}.top-bar-greeting{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.dashboard{width:100%;max-width:600px}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm)}.card h2{margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.card p{color:var(--text-secondary)}.welcome-card{text-align:center;padding:2.5rem 1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:8px;font-weight:500;font-size:.9rem;border:none;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-ghost{background:transparent;color:var(--accent-primary);padding:.5rem .75rem}.btn-ghost:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-danger{background:var(--color-danger);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){opacity:.9}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.toast-container{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:90vw;width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;box-shadow:var(--shadow-md);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-info{background:var(--color-info);color:#fff}.toast-success{background:var(--color-success);color:#fff}.toast-warning{background:var(--color-warning);color:#fff}.toast-error{background:var(--color-danger);color:#fff}.toast-message{flex:1;margin-right:.75rem}.toast-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;padding:0;opacity:.7}.toast-dismiss:hover{opacity:1}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.loading-message{text-align:center;padding:2rem;color:var(--text-secondary)}.top-bar-actions{display:flex;gap:8px}.account-settings{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.account-settings .card{width:100%}.account-section .btn{margin-top:8px}.account-confirm{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.account-section .form-group{margin-bottom:12px}.notifications-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:480px){.app-container{padding:.75rem}.toast-container{width:calc(100vw - 1.5rem);left:50%;transform:translate(-50%)}.btn-sm{min-height:44px;min-width:44px}}.landing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1rem;width:100%;max-width:440px;margin:0 auto}.landing-hero{text-align:center;margin-bottom:2rem}.landing-brand{font-size:2.5rem;font-weight:700;color:var(--accent-primary);margin-bottom:.25rem}.landing-subtitle{font-size:1rem;color:var(--text-secondary)}.auth-form-container{width:100%;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-md)}.auth-form{display:flex;flex-direction:column;gap:.875rem}.auth-mode-title{font-size:1.25rem;font-weight:600;text-align:center;color:var(--text-primary)}.auth-feedback{text-align:center;color:var(--text-secondary);font-size:.875rem}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s ease}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6b7a3a26}.form-group input::placeholder{color:var(--text-muted)}.form-group input[readOnly]{background:var(--bg-elevated);color:var(--text-secondary)}.verification-code-input{text-align:center;font-size:1.5rem!important;letter-spacing:.5rem;font-weight:600}.auth-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.auth-actions .btn-primary{width:100%;padding:.75rem}.auth-actions .btn-ghost{font-size:.85rem}.username-feedback{font-size:.8rem;margin-top:.25rem;padding-left:.25rem}.username-feedback.checking{color:var(--text-muted)}.username-feedback.available{color:var(--color-success)}.username-feedback.taken,.username-feedback.invalid{color:var(--color-danger)}.alert-error{background:#ef44441a;color:var(--color-danger);border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:.75rem 1rem;font-size:.875rem;margin-bottom:.5rem}.alert-success{background:#22c55e1a;color:var(--color-success);border:1px solid rgba(34,197,94,.2);border-radius:8px;padding:.75rem 1rem;font-size:.875rem;margin-bottom:.5rem}.install-prompt{margin-top:20px;text-align:center}.install-prompt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:1px solid var(--accent-primary);border-radius:8px;background:transparent;color:var(--accent-primary);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.install-prompt-btn:hover{background:var(--accent-primary);color:var(--text-inverse)}.install-prompt-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.install-prompt-hint{margin-top:8px;font-size:12px;color:var(--text-muted)}.install-help-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0009}.install-help{width:100%;max-width:360px;padding:20px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-surface);box-shadow:var(--shadow-lg);text-align:left}.install-help h3{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.install-help ol{margin:0 0 16px;padding-left:20px;font-size:14px;color:var(--text-secondary)}.install-help li{margin-bottom:8px}.install-prompt{position:relative}.install-prompt-dismiss{position:absolute;top:-2px;right:6px;padding:4px 8px;border:none;background:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer}
