@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--bg-primary:#0b0c10;--bg-secondary:#1a1c23;--bg-tertiary:#232731;--bg-glass:#1a1c23bf;--accent-gold:#c5a059;--accent-gold-hover:#e5bf75;--accent-gold-glow:#c5a05959;--accent-gold-light:#c5a0591f;--text-primary:#f5f6f8;--text-secondary:#a0a6b2;--text-muted:#626977;--status-going:#2ec4b6;--status-going-light:#2ec4b626;--status-not-going:#e71d36;--status-not-going-light:#e71d3626;--status-late:#ff9f1c;--status-late-light:#ff9f1c26;--status-pending:#8d99ae;--status-pending-light:#8d99ae26;--border-color:#ffffff14;--border-gold:#c5a0594d;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #00000080;--shadow-lg:0 16px 48px #000000b3;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", var(--font-sans);--border-radius-sm:8px;--border-radius-md:16px;--border-radius-lg:24px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100svh;line-height:1.5;overflow-x:hidden}#root{background-color:var(--bg-primary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-direction:column;width:100%;max-width:480px;min-height:100svh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #000c}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:600}h1{color:var(--text-primary);font-size:1.8rem}h2{color:var(--text-primary);font-size:1.4rem}h3{font-size:1.1rem}p{color:var(--text-secondary);font-size:.95rem}.card{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--border-radius-md);transition:transform var(--transition-fast), border-color var(--transition-fast);margin-bottom:16px;padding:16px}.card:active{transform:scale(.99)}.card-gold{border:1px solid var(--border-gold);box-shadow:0 0 15px var(--accent-gold-light)}.btn{font-family:var(--font-sans);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--accent-gold);color:var(--bg-primary)}.btn-primary:hover,.btn-primary:active{background-color:var(--accent-gold-hover);box-shadow:0 0 12px var(--accent-gold-glow)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover,.btn-secondary:active{background-color:#ffffff0d}.btn-danger{background-color:var(--status-not-going-light);color:#ff4d6d;border:1px solid #e71d364d}.btn-disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.input-group{text-align:left;margin-bottom:16px}.input-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.input-field{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:12px;font-size:.95rem}.input-field:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-light);outline:none}.app-header{padding-top:env(safe-area-inset-top,0px);height:calc(64px + env(safe-area-inset-top,0px));background-color:var(--bg-glass);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;padding-left:16px;padding-right:16px;display:flex;position:sticky;top:0}.app-header-title{align-items:center;gap:10px;display:flex}.app-logo{border:1px solid var(--accent-gold);border-radius:50%;width:32px;height:32px}.app-nav{background-color:var(--bg-glass);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-color);z-index:100;height:64px;padding-bottom:env(safe-area-inset-bottom,0);height:calc(64px + env(safe-area-inset-bottom,0));justify-content:space-around;align-items:center;display:flex;position:sticky;bottom:0}.nav-item{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 0;font-size:.75rem;font-weight:500;text-decoration:none;display:flex}.nav-item-active{color:var(--accent-gold)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.calendar-day-header{color:var(--text-muted);text-align:center;text-transform:uppercase;padding:4px 0;font-size:.75rem;font-weight:600}.calendar-cell{aspect-ratio:1;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;font-size:.9rem;font-weight:500;display:flex;position:relative}.calendar-cell:active{background-color:var(--bg-tertiary)}.calendar-cell-active{border-color:var(--accent-gold);background-color:var(--accent-gold-light)}.calendar-cell-unavailable{background-color:var(--status-not-going-light);border-color:#e71d364d}.calendar-cell-event:after{content:"";background-color:var(--accent-gold);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.avatar{background-color:var(--bg-tertiary);width:40px;height:40px;color:var(--accent-gold);border:1px solid var(--border-color);object-fit:cover;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.tabs-header{border-bottom:1px solid var(--border-color);margin-bottom:16px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-size:.9rem;font-weight:500}.tab-btn-active{color:var(--accent-gold);border-bottom-color:var(--accent-gold)}.badge{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-going{background-color:var(--status-going-light);color:var(--status-going)}.badge-not-going{background-color:var(--status-not-going-light);color:var(--status-not-going)}.badge-late{background-color:var(--status-late-light);color:var(--status-late)}.badge-pending{background-color:var(--status-pending-light);color:var(--status-pending)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-normal) forwards}.pin-screen{background-color:var(--bg-primary);min-height:100svh;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));text-align:center;color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex}.pin-dots{gap:20px;margin:32px 0;display:flex}.pin-dot{border:2px solid var(--accent-gold);width:16px;height:16px;transition:background-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:50%}.pin-dot-filled{background-color:var(--accent-gold);box-shadow:0 0 10px var(--accent-gold-glow)}.pin-keyboard{grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:280px;margin-top:24px;display:grid}.pin-key{border:1px solid var(--border-gold);background:var(--bg-glass);width:70px;height:70px;font-family:var(--font-heading);color:#fff;cursor:pointer;transition:background-color var(--transition-fast), transform .1s ease;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:1.8rem;font-weight:500;display:flex}.pin-key:active{background-color:var(--accent-gold-light);transform:scale(.9)}.pin-key-action{color:var(--text-secondary);background:0 0;border:none;font-size:.85rem}.pin-key-action:active{color:#fff;background:0 0}
