*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1419;--surface: #1a2332;--surface-2: #243044;--border: #2d3f56;--text: #e8edf4;--text-muted: #8b9cb3;--primary: #6366f1;--primary-hover: #818cf8;--accent: #22c55e;--danger: #ef4444;--success: #22c55e;--radius: 12px;--shadow: 0 4px 24px rgba(0, 0, 0, .35);--ambient: rgba(99, 102, 241, .15);--soft-panel: rgba(26, 35, 50, .72);font-family:DM Sans,system-ui,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}[data-theme=light]{--bg: #f5f7fb;--surface: #ffffff;--surface-2: #edf2fb;--border: #d8e1ef;--text: #172033;--text-muted: #64748b;--primary: #4f46e5;--primary-hover: #6366f1;--accent: #0ea5e9;--danger: #dc2626;--success: #16a34a;--shadow: 0 10px 28px rgba(30, 41, 59, .1);--ambient: rgba(79, 70, 229, .13);--soft-panel: rgba(255, 255, 255, .82)}body{min-height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--ambient),transparent),var(--bg)}#root{min-height:100vh}.app-fallback{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:var(--bg)}.app-fallback>div{width:min(420px,100%);border:1px solid var(--border);border-radius:16px;padding:1.25rem;background:var(--surface);box-shadow:var(--shadow)}.app-fallback h1{margin:.3rem 0 .6rem;font-size:1.4rem}.app-fallback p{margin-bottom:1rem;color:var(--text-muted)}.app{max-width:1200px;margin:0 auto;padding:1.5rem;min-height:100vh}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,430px);gap:1.5rem;align-items:center;max-width:1080px;margin:0 auto;padding:1.5rem}.login-hero,.login-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--surface);box-shadow:var(--shadow)}.login-hero{position:relative;min-height:430px;overflow:hidden;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.login-hero:before{content:"";position:absolute;inset:-30% -10% auto auto;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.32),transparent 68%);pointer-events:none}.login-brand{position:relative;z-index:1;display:flex;gap:1rem;align-items:center;max-width:520px}.login-logo{width:64px;height:64px;border-radius:20px;flex-shrink:0}.login-brand h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1;letter-spacing:-.04em}.login-brand p{margin-top:.65rem;color:var(--text-muted);font-size:1rem}.login-preview{position:relative;z-index:1;display:grid;gap:.75rem;max-width:420px}.preview-line{width:58%;height:9px;border-radius:999px;background:#8b9cb333}.preview-line.long{width:78%}.preview-event{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border:1px solid rgba(99,102,241,.35);border-radius:12px;background:#243044b8}.preview-event span{color:var(--primary-hover);font-weight:800}.preview-event strong{font-size:.95rem}.preview-event.muted{opacity:.72}.login-card{padding:1.5rem}.login-kicker{color:var(--primary-hover);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-card h2{margin-top:.25rem;margin-bottom:1.35rem;font-size:1.8rem}.login-card label{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.9rem;color:var(--text-muted);font-size:.82rem}.login-card input{width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font:inherit;padding:.75rem .85rem;transition:border-color .15s,box-shadow .15s}.login-card input:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #6366f12e}.login-error{margin:.25rem 0 .8rem;color:#fca5a5;font-size:.82rem}.login-submit{width:100%;margin-top:.35rem;padding:.75rem 1rem}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f1419b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fadeIn .18s ease}.auth-card{position:relative;width:min(420px,100%);padding:1.4rem;border:1px solid rgba(99,102,241,.34);border-radius:16px;background:radial-gradient(circle at 20% 0%,rgba(99,102,241,.18),transparent 44%),var(--surface);box-shadow:0 24px 70px #00000073;animation:alertPop .24s ease}.auth-close{position:absolute;top:.9rem;right:.9rem;width:34px;height:34px;border:1px solid rgba(129,140,248,.36);border-radius:999px;background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;font-size:.82rem;font-weight:900;line-height:1;box-shadow:0 10px 22px #00000029;transition:transform .18s ease,border-color .18s ease,background .18s ease}.auth-close:hover{border-color:var(--primary-hover);background:#6366f12e;transform:translateY(-1px)}.auth-heading{padding-right:2rem;margin-bottom:1rem}.auth-kicker{color:var(--primary-hover);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-heading h2{margin-top:.25rem;font-size:1.8rem}.auth-heading p{margin-top:.35rem;color:var(--text-muted);font-size:.9rem}.auth-card label{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.85rem;color:var(--text-muted);font-size:.82rem}.auth-card input{width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font:inherit;padding:.72rem .85rem}.auth-card input:focus{outline:none;border-color:var(--primary-hover);box-shadow:0 0 0 3px #6366f12e}.gmail-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.7rem;border:1px solid rgba(129,140,248,.42);border-radius:10px;background:#243044c2;color:var(--text);cursor:pointer;font:inherit;font-weight:700;padding:.75rem 1rem;transition:border-color .15s,transform .15s,background .15s}.gmail-button span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f8fafc;color:#2563eb;font-weight:900}.gmail-button:hover{transform:translateY(-1px);border-color:var(--primary-hover);background:#243044f0}.gmail-button:disabled{cursor:wait;opacity:.72;transform:none}.auth-divider{display:flex;align-items:center;gap:.7rem;margin:1rem 0;color:var(--text-muted);font-size:.75rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-switch{margin-top:.9rem;color:var(--text-muted);font-size:.85rem;text-align:center}.auth-switch button{margin-left:.4rem;border:0;background:transparent;color:var(--primary-hover);cursor:pointer;font:inherit;font-weight:800}.header{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:1rem;flex:1;min-width:200px}.logo-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.32),transparent 28%),linear-gradient(145deg,#818cf8,#6366f1 48%,#22c55e);line-height:1;box-shadow:0 16px 34px #6366f157,inset 0 1px #ffffff59;overflow:hidden;animation:logoFloat 5s ease-in-out infinite}.logo-mark:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 120deg,transparent,rgba(255,255,255,.26),transparent 34%);animation:logoSweep 4.8s linear infinite}.logo-face{position:relative;z-index:1;width:31px;height:31px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#0f14192e;box-shadow:inset 0 0 18px #ffffff26}.logo-face:before,.logo-face:after{content:"";position:absolute;left:50%;width:3px;height:3px;border-radius:50%;background:#fffffff2;transform:translate(-50%)}.logo-face:before{top:4px}.logo-face:after{bottom:4px}.logo-hand{position:absolute;left:50%;top:50%;width:2px;border-radius:999px;background:#fff;transform-origin:bottom center}.logo-hand-hour{height:9px;transform:translate(-50%,-100%) rotate(-35deg)}.logo-hand-minute{height:12px;transform:translate(-50%,-100%) rotate(92deg);animation:logoTick 7s steps(12,end) infinite}.logo-dot{position:absolute;z-index:2;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#f8fafc;transform:translate(-50%,-50%)}.logo-spark{position:absolute;z-index:1;width:8px;height:8px;border-radius:50%;background:#ffffffeb;box-shadow:0 0 12px #ffffffe6}.logo-spark-left{left:9px;top:10px;animation:sparkle 2.8s ease-in-out infinite}.logo-spark-right{right:8px;bottom:9px;animation:sparkle 2.8s ease-in-out 1.1s infinite}.brand h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.brand p{font-size:.875rem;color:var(--text-muted);margin-top:.15rem}.header-stats{display:flex;gap:1.5rem}.user-profile{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.38rem .45rem;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:linear-gradient(135deg,#6366f11a,#0f172a47),#0f172a47;box-shadow:inset 0 1px #ffffff0a;color:var(--text-muted);font-size:.85rem}.user-profile-button{display:flex;align-items:center;min-width:0;gap:.65rem;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.user-profile-button:hover .user-avatar,.user-profile-button:hover img{transform:translateY(-1px)}.user-profile img,.user-avatar{width:2.25rem;height:2.25rem;flex:0 0 auto;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease}.user-profile img{object-fit:cover;border:1px solid rgba(129,140,248,.45)}.user-avatar{display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),transparent 38%),linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:800;box-shadow:0 10px 22px #6366f140}.user-profile-text{display:grid;min-width:0;line-height:1.15}.user-profile-text strong,.user-profile-text span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-text strong{display:flex;align-items:center;gap:.4rem;color:var(--text);font-size:.9rem}.user-profile-text span{margin-top:.15rem;color:var(--text-muted);font-size:.73rem}.profile-plan-badge{display:inline-flex;align-items:center;border:1px solid rgba(129,140,248,.4);border-radius:999px;padding:.12rem .4rem;background:#6366f129;color:var(--primary-hover);font-size:.62rem;font-style:normal;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.profile-plan-badge.family{border-color:#22c55e61;background:#22c55e21;color:#86efac}.auth-loading{opacity:.72}.auth-actions{display:flex;align-items:center;gap:.5rem}.pro-button{border:1px solid rgba(129,140,248,.38);border-radius:999px;padding:.48rem .8rem;background:radial-gradient(circle at 30% 15%,rgba(255,255,255,.28),transparent 30%),linear-gradient(135deg,#6366f133,#10b9811a);color:var(--text);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pro-button:hover,.pro-button.active{border-color:var(--primary-hover);box-shadow:0 0 0 4px #6366f11f;transform:translateY(-1px)}.pro-button.active{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff}.theme-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(129,140,248,.34);border-radius:999px;min-height:38px;padding:.45rem .72rem;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;box-shadow:inset 0 1px #ffffff0f;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.theme-button span{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#6366f129;color:var(--primary-hover);font-size:.68rem}.theme-button:hover{border-color:var(--primary-hover);box-shadow:0 0 0 4px #6366f11c;transform:translateY(-1px)}[data-theme=light] .login-hero,[data-theme=light] .login-card,[data-theme=light] .auth-card,[data-theme=light] .pro-card,[data-theme=light] .group-panel,[data-theme=light] .schedule-form,[data-theme=light] .mini-calendar,[data-theme=light] .sheet-card,[data-theme=light] .group-drawer,[data-theme=light] .content,[data-theme=light] .quick-card,[data-theme=light] .search-box{background:linear-gradient(180deg,rgba(255,255,255,.65),transparent),var(--surface)}[data-theme=light] .preview-event,[data-theme=light] .plan-card,[data-theme=light] .category-pills,[data-theme=light] .filters,[data-theme=light] .event-card,[data-theme=light] .picker-field,[data-theme=light] .calendar-search input,[data-theme=light] .calendar-full .cal-day,[data-theme=light] .group-chip,[data-theme=light] .member-tab span,[data-theme=light] .member-tab.all{background:var(--surface-2)}[data-theme=light] .user-profile{background:linear-gradient(135deg,#6366f114,#0ea5e90f),#ffffffdb;border-color:#94a3b85c}[data-theme=light] .pro-button:not(.active){background:radial-gradient(circle at 30% 15%,rgba(255,255,255,.75),transparent 30%),linear-gradient(135deg,#6366f11f,#0ea5e91a)}[data-theme=light] .group-code,[data-theme=light] .profile-plan-badge,[data-theme=light] .group-message{background:#6366f117}[data-theme=light] .empty-state,[data-theme=light] .group-empty,[data-theme=light] .group-help{color:var(--text-muted)}[data-theme=light] .sheet-header{background:linear-gradient(180deg,var(--surface) 78%,rgba(255,255,255,0)),var(--surface)}.pro-card{position:relative;width:min(720px,100%);max-height:min(760px,calc(100vh - 2rem));overflow:auto;border:1px solid rgba(129,140,248,.42);border-radius:16px;padding:1.4rem;background:linear-gradient(180deg,rgba(99,102,241,.13),transparent 34%),var(--surface);box-shadow:0 20px 70px #00000073;animation:popIn .2s ease}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.plan-card{display:flex;flex-direction:column;gap:.85rem;border:1px solid var(--border);border-radius:12px;padding:1rem;background:#2430448f}.plan-card.featured{border-color:#818cf885;background:linear-gradient(135deg,rgba(99,102,241,.16),transparent 50%),#243044a8}.plan-name{color:var(--primary-hover);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.plan-card strong{color:var(--text);font-size:1.8rem;line-height:1}.plan-card small,.plan-card p,.billing-note{color:var(--text-muted)}.family-fields{display:grid;gap:.65rem}.family-fields label{display:grid;gap:.3rem;color:var(--text-muted);font-size:.78rem}.family-fields input{width:100%;border:1px solid var(--border);border-radius:8px;padding:.62rem .75rem;background:var(--surface-2);color:var(--text);font:inherit}.family-fields input:focus{outline:none;border-color:var(--primary)}.billing-note{margin-top:1rem;font-size:.8rem}.stat{text-align:center}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--primary);line-height:1.2}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-done .stat-value{color:#f59e0b}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-1deg)}}@keyframes logoSweep{to{transform:rotate(360deg)}}@keyframes logoTick{to{transform:translate(-50%,-100%) rotate(452deg)}}@keyframes sparkle{0%,to{opacity:.25;transform:scale(.7)}50%{opacity:.95;transform:scale(1)}}.quick-panel{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(260px,1.2fr);gap:.85rem;margin-bottom:1.5rem}.quick-card,.search-box{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;color:var(--text);box-shadow:var(--shadow)}.quick-card{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;font-family:inherit;text-align:left;cursor:pointer}.quick-card.muted{cursor:default}.quick-card:hover:not(.muted){border-color:var(--primary)}.quick-card-label,.search-box span{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.quick-card strong{font-size:1.6rem;line-height:1.1;color:var(--primary)}.quick-card span:last-child{max-width:100%;color:var(--text-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-box{display:flex;flex-direction:column;gap:.5rem}.search-box input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;color:var(--text);font:inherit}.search-box input:focus{outline:none;border-color:var(--primary)}.group-panel{display:grid;gap:.9rem;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,rgba(99,102,241,.12),transparent 42%),var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.group-panel.locked{opacity:.92}.group-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.section-kicker{display:block;margin-bottom:.15rem;color:var(--primary-hover);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.group-panel h2{font-size:1.1rem}.group-code{border:1px solid rgba(129,140,248,.35);border-radius:999px;padding:.35rem .6rem;background:#6366f11f;color:var(--primary-hover);cursor:pointer;font:inherit;font-size:.78rem;font-weight:800;white-space:nowrap}.group-code:hover{border-color:var(--primary-hover);color:var(--text)}.group-empty,.group-help{color:var(--text-muted);font-size:.9rem}.group-help strong{color:var(--text);letter-spacing:.08em}.group-active-tools{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.group-delete{border:1px solid rgba(248,113,113,.35);border-radius:999px;padding:.42rem .65rem;background:#f871711a;color:#fca5a5;cursor:pointer;font:inherit;font-size:.78rem;font-weight:800;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease}.group-delete:hover:not(:disabled){border-color:#f87171b3;background:#f871712e;color:#fecaca}.group-delete:disabled{cursor:wait;opacity:.6}.group-message{border:1px solid rgba(129,140,248,.24);border-radius:8px;padding:.65rem .75rem;background:#6366f11a;color:var(--text);font-size:.85rem}.group-switcher{display:flex;flex-wrap:wrap;gap:.5rem}.group-chip{border:1px solid var(--border);border-radius:999px;padding:.45rem .7rem;background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:.85rem;cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease}.group-chip:hover,.group-chip.active{border-color:var(--primary);color:var(--text);transform:translateY(-1px)}.group-chip.active{background:#6366f12e}.group-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}.group-form label{display:grid;gap:.35rem;color:var(--text-muted);font-size:.8rem}.group-form input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;color:var(--text);font:inherit}.group-form input:focus{outline:none;border-color:var(--primary)}.notify-toggle{display:flex;align-items:center;gap:.65rem;cursor:pointer;-webkit-user-select:none;user-select:none}.notify-toggle input{position:absolute;opacity:0;width:0;height:0}.notify-toggle-track{position:relative;width:44px;height:24px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;transition:background .2s,border-color .2s;flex-shrink:0}.notify-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:transform .2s,background .2s}.notify-toggle.on .notify-toggle-track{background:#22c55e40;border-color:var(--success)}.notify-toggle.on .notify-toggle-thumb{transform:translate(20px);background:var(--success)}.notify-toggle-label{font-size:.85rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.notify-toggle.on .notify-toggle-label{color:var(--success)}.notify-toggle-hint{font-weight:400;opacity:.75}.in-app-alert-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem;background:#0f1419a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.in-app-alert{display:flex;gap:1rem;align-items:flex-start;max-width:420px;width:100%;margin-top:2rem;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius);box-shadow:0 8px 40px #6366f159;animation:alertPop .35s cubic-bezier(.34,1.56,.64,1)}.in-app-alert-icon{font-size:2rem;line-height:1;flex-shrink:0}.in-app-alert-body{flex:1;min-width:0}.in-app-alert-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-weight:600;margin-bottom:.25rem}.in-app-alert-body h2{font-size:1.15rem;font-weight:700;margin-bottom:.35rem}.in-app-alert-desc{font-size:.9rem;color:var(--text-muted);margin-bottom:.35rem}.in-app-alert-meta{font-size:.8rem;color:var(--text-muted)}.in-app-alert-close{width:32px;height:32px;border:none;background:var(--surface-2);color:var(--text-muted);border-radius:8px;font-size:1.25rem;cursor:pointer;flex-shrink:0;line-height:1;transition:background .15s,color .15s}.in-app-alert-close:hover{background:var(--border);color:var(--text)}.in-app-alert-ringing{animation:alertPulse 1.5s ease-in-out infinite}.in-app-alert-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.stop-alarm-btn{min-width:8rem}@keyframes alertPulse{0%,to{box-shadow:0 8px 40px #6366f159}50%{box-shadow:0 8px 40px #ef444480;border-color:#f87171}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes alertPop{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.layout{display:grid;grid-template-columns:340px 1fr;gap:1.5rem;align-items:start}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:contents}.schedule-form{order:1}.content{order:2}.mini-calendar{order:3}}.sidebar{display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:1.5rem}.schedule-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);overflow:visible;min-width:0;max-width:100%}.schedule-form h2{font-size:1.1rem;margin-bottom:1rem;font-weight:600}.schedule-form label,.form-field{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.85rem}.schedule-form input,.schedule-form textarea,.schedule-form>label>select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;color:var(--text);font-family:inherit;font-size:.95rem;transition:border-color .15s}.schedule-form input:focus,.schedule-form textarea:focus,.schedule-form>label>select:focus{outline:none;border-color:var(--primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-row-datetime{grid-template-columns:1fr}.picker-grid{display:grid;width:100%;max-width:100%;gap:.5rem;align-items:center}.date-input{grid-template-columns:minmax(0,1.25fr) minmax(72px,.6fr) minmax(92px,.8fr)}.time-input{grid-template-columns:minmax(72px,1fr) auto minmax(80px,1fr) minmax(86px,1fr)}.picker-field{position:relative;display:flex;min-width:0;flex-direction:column;gap:.2rem;margin:0;padding:.45rem .55rem .5rem;border:1px solid rgba(99,102,241,.28);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.045),transparent),var(--surface-2);box-shadow:inset 0 1px #ffffff0a;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.picker-field:after{content:"";position:absolute;right:.7rem;bottom:.86rem;width:.42rem;height:.42rem;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);pointer-events:none;transform:rotate(45deg);transition:transform .18s ease,border-color .18s ease}.picker-field:hover{transform:translateY(-2px);border-color:#818cf8cc;box-shadow:0 10px 22px #0003}.picker-field:focus-within{transform:translateY(-2px) scale(1.01);border-color:var(--primary-hover);background:radial-gradient(circle at 20% 0%,rgba(99,102,241,.22),transparent 50%),var(--surface-2);box-shadow:0 0 0 3px #6366f133,0 16px 28px #00000038;animation:pickerPulse .28s ease}.picker-field:focus-within:after{border-color:var(--primary-hover);transform:translateY(2px) rotate(45deg)}.picker-field span{color:var(--text-muted);font-size:.62rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}.picker-field select{-webkit-appearance:none;appearance:none;width:100%;max-width:100%;min-width:0;border:0;background:transparent;padding:.12rem 1.25rem .05rem 0;color:var(--text);font-family:system-ui,Segoe UI,sans-serif;font-size:.98rem;font-weight:700;line-height:1.2;cursor:pointer;text-overflow:ellipsis;overflow:hidden}.picker-field select:focus{outline:none}.time-sep{align-self:center;padding-bottom:0;color:var(--primary-hover);font-size:1.2rem;font-weight:800;flex-shrink:0;text-shadow:0 0 16px rgba(129,140,248,.4);animation:colonBlink 1.8s ease-in-out infinite}.wheel-grid{display:grid;width:100%;gap:.45rem;align-items:center}.date-input.wheel-grid{grid-template-columns:minmax(0,1fr) minmax(58px,.62fr) minmax(76px,.82fr)}.time-input.wheel-grid{grid-template-columns:minmax(58px,1fr) auto minmax(62px,1fr) minmax(64px,.9fr)}.wheel-field{position:relative;min-width:0}.wheel-label{display:block;margin-bottom:.28rem;color:var(--text-muted);font-size:.62rem;font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase}.wheel-trigger{width:100%;min-width:0;height:46px;border:1px solid rgba(99,102,241,.32);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent),var(--surface-2);color:var(--text);box-shadow:inset 0 1px #ffffff0d,0 8px 18px #00000021;cursor:pointer;font:inherit;font-size:1rem;font-weight:800;text-align:center;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.wheel-trigger:hover,.wheel-trigger:focus-visible,.wheel-field.open .wheel-trigger{outline:none;transform:translateY(-1px);border-color:#818cf8d1;background:radial-gradient(circle at 20% 0%,rgba(99,102,241,.22),transparent 55%),var(--surface-2);box-shadow:0 0 0 3px #6366f129,0 12px 22px #00000038}.wheel-popover{position:absolute;z-index:50;left:50%;top:calc(100% + 8px);width:min(128px,calc(100vw - 2rem));transform:translate(-50%);transform-origin:top center;animation:wheelPopoverIn .16s ease-out}.wheel-field:first-child .wheel-popover{left:0;transform:none}.wheel-field:last-child .wheel-popover{left:auto;right:0;transform:none}.wheel-select{position:relative;display:grid;grid-template-rows:repeat(5,21px);height:105px;overflow:hidden;border:1px solid rgba(99,102,241,.25);border-radius:12px;background:linear-gradient(180deg,#0f1419e0,#243044e0),var(--surface-2);box-shadow:inset 0 1px #ffffff0d,0 8px 20px #00000029;outline:none;touch-action:none}.wheel-select:before,.wheel-select:after{content:"";position:absolute;z-index:2;left:0;right:0;height:38px;pointer-events:none}.wheel-select:before{top:0;background:linear-gradient(180deg,var(--surface-2),rgba(36,48,68,0))}.wheel-select:after{bottom:0;background:linear-gradient(0deg,var(--surface-2),rgba(36,48,68,0))}.wheel-selection{position:absolute;z-index:1;left:5px;right:5px;top:50%;height:31px;border:1px solid rgba(129,140,248,.65);border-radius:10px;background:linear-gradient(90deg,#6366f157,#22c55e24),#6366f12e;box-shadow:0 0 18px #6366f138;transform:translateY(-50%);pointer-events:none}.wheel-option{position:relative;z-index:3;min-width:0;border:0;background:transparent;color:#e8edf454;font:inherit;font-size:.84rem;font-weight:700;line-height:21px;text-align:center;cursor:pointer;transition:color .16s ease,opacity .16s ease,transform .16s ease}.wheel-option.offset-0,.wheel-option.offset-4{opacity:.38;transform:scale(.82)}.wheel-option.offset-1,.wheel-option.offset-3{opacity:.7;transform:scale(.92)}.wheel-option.selected{color:var(--text);opacity:1;font-size:.95rem;transform:scale(1);text-shadow:0 0 14px rgba(129,140,248,.35);animation:wheelNumberPop .18s ease-out}.wheel-option:not(.selected):hover{color:#e8edf4b3}.wheel-option.empty{cursor:default}.wheel-select:focus-visible{border-color:var(--primary-hover);box-shadow:0 0 0 3px #6366f133,0 14px 26px #0000003d}.wheel-period .wheel-option{font-size:.92rem}.wheel-type-input{position:relative;z-index:4;width:calc(100% - 10px);height:27px;align-self:center;justify-self:center;border:1px solid rgba(34,197,94,.75);border-radius:9px;background:#0f1419c7;color:var(--text);font:inherit;font-size:.95rem;font-weight:800;text-align:center;outline:none;box-shadow:0 0 0 3px #22c55e29,0 0 18px #22c55e38}.spin-down .wheel-option.selected{animation:wheelRollDown .18s ease-out}.spin-up .wheel-option.selected{animation:wheelRollUp .18s ease-out}@keyframes wheelPopoverIn{0%{opacity:0;transform:translate(-50%) translateY(-6px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes wheelNumberPop{0%{opacity:.65;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes wheelRollDown{0%{opacity:.4;transform:translateY(-9px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wheelRollUp{0%{opacity:.4;transform:translateY(9px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pickerPulse{0%{transform:translateY(0) scale(1)}65%{transform:translateY(-3px) scale(1.015)}to{transform:translateY(-2px) scale(1.01)}}@keyframes colonBlink{0%,to{opacity:.55}50%{opacity:1}}.category-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.pill{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;font-family:inherit;transition:all .15s}.pill:hover{border-color:var(--pill-color);color:var(--text)}.pill.active{background:color-mix(in srgb,var(--pill-color) 20%,transparent);border-color:var(--pill-color);color:var(--pill-color);font-weight:500}.form-actions{display:flex;gap:.5rem;justify-content:stretch;flex-wrap:wrap;margin-top:.5rem;max-width:100%}.form-actions .btn{flex:1 1 auto;min-width:0;max-width:100%}.form-actions .btn.primary{flex:1 1 100%}.btn{padding:.55rem 1.1rem;border-radius:8px;border:none;font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{background:#dc2626}.btn.ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn.ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn.small{padding:.35rem .7rem;font-size:.8rem}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--surface-2);color:var(--text-muted);border-radius:8px;cursor:pointer;font-size:1rem;transition:all .15s}.icon-btn:hover{background:var(--border);color:var(--text)}.icon-btn.danger:hover{background:#ef444433;color:var(--danger)}.icon-btn.text{width:auto;min-width:42px;padding:0 .6rem;font-size:.78rem;font-weight:600}.mini-calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-weight:600;font-size:.95rem}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.7rem;color:var(--text-muted);margin-bottom:.35rem}.cal-weekdays span:first-child{color:#f87171}.cal-weekdays span:last-child{color:#60a5fa}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text);font-size:.85rem;border-radius:8px;cursor:pointer;font-family:inherit;position:relative}.cal-day.empty{cursor:default}.cal-day:hover:not(.empty){background:var(--surface-2)}.cal-day.today{font-weight:700;color:var(--primary)}.cal-day.selected{background:var(--primary);color:#fff;font-weight:600}.cal-day.has-events:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--primary)}.cal-day.selected.has-events:after{background:#fff}.calendar-workspace{display:grid;gap:.8rem}.calendar-stage{min-height:min(640px,calc(100vh - 210px));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.6rem}.calendar-stage-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center}.add-event-fab{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;cursor:pointer;font:inherit;font-size:1.75rem;font-weight:800;line-height:1;box-shadow:0 14px 28px #6366f140}.calendar-search{display:grid;gap:.25rem;min-width:0}.calendar-search span{color:var(--text-muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-search input{width:100%;border:1px solid var(--border);border-radius:12px;padding:.62rem .75rem;background:var(--surface);color:var(--text);font:inherit}.calendar-full{min-height:0;height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:.85rem}.calendar-full .cal-header{margin-bottom:.55rem}.calendar-full .cal-grid{height:100%;gap:.38rem}.calendar-full .cal-day{min-height:clamp(48px,8vh,92px);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:.45rem;border:1px solid rgba(129,140,248,.14);border-radius:12px;background:var(--surface-2);font-size:.92rem}.calendar-full .cal-day.empty{visibility:hidden}.calendar-full .cal-day small{align-self:flex-end;min-width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:800}.group-drawer{border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.group-drawer summary{cursor:pointer;padding:.62rem .8rem;color:var(--text-muted);font-weight:800}.group-drawer .group-panel{margin:0;border:0;border-top:1px solid var(--border);border-radius:0 0 14px 14px;box-shadow:none}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2400;display:grid;place-items:end center;padding:1rem;background:#02061794;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.sheet-card{width:min(720px,100%);max-height:min(86vh,760px);overflow:auto;border:1px solid rgba(129,140,248,.34);border-radius:18px;padding:0 1rem 1rem;background:var(--surface);box-shadow:0 24px 80px #0000006b;animation:sheetUp .18s ease}.sheet-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 -1rem .8rem;padding:1rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface) 78%,rgba(26,35,50,0)),var(--surface)}.sheet-header .auth-close{position:static;flex:0 0 auto}.sheet-header h2{font-size:1.3rem}.event-form-sheet .schedule-form{padding:0;border:0;background:transparent;box-shadow:none}.event-form-sheet .schedule-form>h2{display:none}.attachment-field{margin-top:.15rem}.attachment-drop{display:grid;place-items:center;min-height:58px;border:1px dashed rgba(129,140,248,.55);border-radius:12px;background:#6366f114;color:var(--primary-hover);cursor:pointer;font-weight:800}.attachment-drop input{position:absolute;opacity:0;pointer-events:none}.attachment-list{display:flex;flex-wrap:wrap;gap:.4rem}.attachment-chip,.event-attachments{border:1px solid rgba(129,140,248,.32);border-radius:999px;padding:.22rem .5rem;background:#6366f11a;color:var(--primary-hover);font:inherit;font-size:.72rem;font-weight:800}.attachment-upsell{margin:-.1rem 0 .75rem;color:var(--text-muted);font-size:.78rem}@keyframes sheetUp{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;min-height:400px;box-shadow:var(--shadow)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.group-schedule-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.member-tabs{display:flex;align-items:center;gap:.75rem;min-width:0;overflow-x:auto;padding:.15rem .1rem .35rem}.member-tab{display:grid;justify-items:center;gap:.3rem;min-width:54px;border:0;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.member-tab span,.member-tab.all{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font-weight:800;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.member-tab.all{width:auto;min-width:58px;padding:0 .8rem}.member-tab small{display:block;max-width:64px;overflow:hidden;color:var(--text-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.member-tab:hover span,.member-tab.all:hover,.member-tab.active span,.member-tab.all.active{border-color:var(--primary);box-shadow:0 0 0 4px #6366f11f;transform:translateY(-1px)}.member-tab.active span,.member-tab.all.active{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff}.alarm-scope-toggle{display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;color:var(--text-muted);font-size:.78rem;cursor:pointer;-webkit-user-select:none;user-select:none}.alarm-scope-toggle input{position:absolute;opacity:0;pointer-events:none}.alarm-scope-toggle i{position:relative;width:46px;height:26px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);transition:background .18s ease,border-color .18s ease}.alarm-scope-toggle i:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-muted);transition:transform .18s ease,background .18s ease}.alarm-scope-toggle input:checked+i{border-color:var(--primary);background:#6366f138}.alarm-scope-toggle input:checked+i:before{background:var(--primary-hover);transform:translate(20px)}.filters{display:flex;gap:.35rem;background:var(--surface-2);padding:.25rem;border-radius:10px}.filter-btn{padding:.4rem .9rem;border:none;background:transparent;color:var(--text-muted);border-radius:8px;font-family:inherit;font-size:.85rem;cursor:pointer;transition:all .15s}.filter-btn.active{background:var(--primary);color:#fff;font-weight:500}.date-filter-label{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.schedule-list{display:flex;flex-direction:column;gap:1.5rem}.day-heading{font-size:.85rem;color:var(--text-muted);font-weight:600;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.03em}.event-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--surface-2);border-radius:10px;border-left:3px solid var(--accent);margin-bottom:.5rem;transition:opacity .2s}.event-card.completed{opacity:.55}.event-card.completed h3{text-decoration:line-through}.check-btn{width:22px;height:22px;flex-shrink:0;border:2px solid var(--border);border-radius:6px;background:transparent;color:var(--success);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:2px;transition:all .15s}.event-card.completed .check-btn{background:var(--success);border-color:var(--success);color:#fff}.event-body{flex:1;min-width:0}.event-body h3{font-size:1rem;font-weight:600;margin-bottom:.2rem}.event-body p{font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem}.event-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:var(--text-muted)}.event-meta .time{font-weight:500;color:var(--accent)}.event-owner{display:inline-flex;align-items:center;gap:.3rem}.event-owner span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#6366f12e;color:var(--primary-hover);font-size:.63rem;font-weight:800}.event-actions{display:flex;gap:.25rem;flex-shrink:0}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-icon{font-size:3rem;display:block;margin-bottom:.75rem;opacity:.6}.empty-hint{font-size:.85rem;margin-top:.35rem;opacity:.7}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--border);padding:.75rem 1.25rem;border-radius:10px;font-size:.9rem;box-shadow:var(--shadow);z-index:1000;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-hero{min-height:320px}.sidebar{position:static;display:contents}.schedule-form{order:1}.content{order:2}.mini-calendar{order:3}.quick-panel{grid-template-columns:1fr 1fr}.header{gap:1rem}.brand{flex-basis:100%}.header-stats{flex:1 1 320px;justify-content:space-between}.search-box{grid-column:1 / -1}.group-panel-heading{align-items:flex-start}.group-form{grid-template-columns:minmax(0,1fr)}.group-form .btn{width:100%;min-height:44px}.group-active-tools{align-items:flex-start;flex-direction:column}.group-schedule-bar{flex-direction:column}.member-tabs{width:100%;scrollbar-width:thin}.alarm-scope-toggle{align-self:stretch;justify-content:space-between;min-height:44px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:12px;background:#243044a6}}@media(max-width:640px){body{overflow-x:hidden}.app{width:100%;max-width:none;padding:.6rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:.45rem;margin-bottom:.7rem;padding-bottom:.7rem}.brand{grid-column:1 / -1;min-width:0;gap:.75rem}.logo-mark{width:38px;height:38px;border-radius:12px}.logo-face{width:24px;height:24px}.brand h1{font-size:1.08rem;line-height:1.1}.brand p{display:none}.header-stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;width:100%;gap:.35rem}.stat{min-width:0;padding:.38rem .3rem;border:1px solid var(--border);border-radius:10px;background:var(--soft-panel);text-align:center}.stat-value{font-size:1.05rem;line-height:1}.stat-label{font-size:.6rem;letter-spacing:.04em}.notify-toggle{justify-content:center;width:auto;min-height:34px;padding:.28rem .44rem;border:1px solid var(--border);border-radius:999px;background:var(--soft-panel)}.notify-toggle-label{display:none}.notify-toggle-track{width:38px;height:22px}.notify-toggle-thumb{width:16px;height:16px}.notify-toggle.on .notify-toggle-thumb{transform:translate(16px)}.user-profile{justify-content:space-between;width:100%;border-radius:16px}.user-profile-text{flex:1}.user-profile-text strong{max-width:none;flex-wrap:wrap;row-gap:.2rem}.user-profile-text span{max-width:none}.pro-button{width:auto;min-height:34px;padding:.3rem .65rem;flex:1 1 88px}.theme-button{width:auto;min-height:34px;padding:.3rem .55rem;flex:1 1 86px;font-size:0}.theme-button:after{content:"Dark";font-size:.76rem}[data-theme=dark] .theme-button:after{content:"Light"}.auth-actions{grid-column:1 / -1;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.auth-actions .btn{min-height:34px;padding:.32rem .55rem}.header>.notify-toggle{grid-column:1}.header>.theme-button{grid-column:2}.header>.pro-button{grid-column:3}.btn,.filter-btn,.group-chip,.group-code,.group-delete,.member-tab,.check-btn,.event-actions button{min-height:38px}.login-page{padding:.85rem}.login-hero,.login-card{border-radius:14px}.login-hero{padding:1.25rem}.login-brand{align-items:flex-start}.layout{gap:.75rem}.calendar-stage{min-height:min(440px,calc(100vh - 388px));gap:.3rem}.calendar-stage-toolbar{grid-template-columns:auto minmax(0,1fr)}.calendar-stage-toolbar>.btn{display:none}.add-event-fab{width:38px;height:38px;border-radius:12px;font-size:1.55rem}.calendar-search span{display:none}.calendar-search input{padding:.45rem .6rem}.calendar-full{padding:.42rem}.calendar-full .cal-header{margin-bottom:.28rem}.calendar-full .cal-grid{gap:.16rem}.calendar-full .cal-day{min-width:0;min-height:clamp(30px,5.2vh,44px);aspect-ratio:auto;border-radius:7px;padding:.22rem;font-size:.72rem}.calendar-full .cal-day small{min-width:.9rem;height:.9rem;font-size:.52rem}.group-drawer summary{padding:.48rem .65rem;font-size:.84rem}.modal-layer{padding:.55rem}.sheet-card{max-height:88vh;border-radius:16px;padding:0 .75rem .75rem}.sheet-header{margin:0 -.75rem .55rem;padding:.75rem}.sheet-header h2{font-size:1.1rem}.quick-panel{grid-template-columns:1fr 1fr;margin-bottom:.7rem;gap:.45rem}.quick-card,.search-box,.group-panel,.schedule-form,.content,.mini-calendar{border-radius:14px}.quick-card,.search-box{padding:.6rem .65rem}.quick-card strong{font-size:1.15rem}.quick-card span:last-child{white-space:normal;line-height:1.25}.plan-grid{grid-template-columns:1fr}.search-box{grid-column:1 / -1}.date-input.wheel-grid{grid-template-columns:minmax(0,1fr) minmax(58px,.56fr) minmax(72px,.68fr)}.time-input.wheel-grid{grid-template-columns:minmax(58px,1fr) auto minmax(58px,1fr) minmax(68px,.9fr)}.time-input.wheel-grid .picker-field:last-child{grid-column:auto}.time-sep{align-self:center}.picker-field{min-height:44px;padding:.34rem .45rem .38rem}.picker-field select{font-size:.82rem}.schedule-form{padding:.8rem}.form-row,.form-actions{grid-template-columns:1fr}.content{padding:.75rem;min-height:220px}.toolbar{flex-direction:column;align-items:stretch}.filters{width:100%;justify-content:stretch;overflow-x:auto}.filter-btn{flex:1;text-align:center;padding:.38rem .3rem}.category-pills{gap:.35rem}.pill{padding:.32rem .48rem;font-size:.72rem}.event-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;padding:.65rem}.event-actions{grid-column:1 / -1;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.event-actions .btn,.event-actions button{width:100%}.event-meta{gap:.45rem}.empty-state{padding:2.25rem .5rem}.in-app-alert-overlay{padding:1rem;align-items:center}.in-app-alert{margin-top:0;flex-direction:column;max-width:100%}.in-app-alert-actions{flex-direction:column}.in-app-alert-actions .btn{width:100%}.toast{left:1rem;right:1rem;transform:none;max-width:calc(100% - 2rem)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:420px){.app{padding:.5rem}.header-stats{gap:.4rem}.stat{padding:.32rem .22rem}.stat-value{font-size:1rem}.quick-panel{grid-template-columns:1fr 1fr}.search-box{grid-column:1 / -1}.group-panel-heading{flex-direction:row;align-items:center;gap:.5rem}.group-code{width:auto;text-align:center}.group-chip{flex:1 1 auto}.auth-card,.pro-card{width:100%;max-height:calc(100vh - 1rem);padding:.85rem;border-radius:14px}.user-profile{align-items:stretch;border-radius:18px}.user-profile-button{flex:1}.group-panel{gap:.6rem;margin-bottom:.75rem;padding:.75rem}.group-panel h2{font-size:1rem}.group-empty,.group-help{font-size:.82rem;line-height:1.35}.group-switcher{gap:.35rem}.group-chip{padding:.32rem .5rem;font-size:.78rem}.group-form{gap:.45rem}.schedule-form h2{margin-bottom:.65rem}.schedule-form label,.form-field{gap:.25rem;margin-bottom:.58rem}.schedule-form input,.schedule-form textarea,.schedule-form>label>select,.search-box input,.group-form input{padding:.48rem .58rem;font-size:.88rem}.schedule-form textarea{min-height:58px}.category-pills{gap:.3rem}.form-actions{gap:.45rem;margin-top:.55rem}}@media(prefers-reduced-motion:reduce){.logo-mark,.logo-mark:before,.logo-hand-minute,.logo-spark,.time-sep{animation:none}.picker-field,.picker-field:after{transition:none}}@media(min-width:480px){.form-actions{justify-content:flex-end}.form-actions .btn,.form-actions .btn.primary{flex:0 1 auto}}
