@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";.toast{opacity:0;pointer-events:none;color:#fff;background:#27334d;border-radius:10px;padding:11px 16px;font-size:12px;transition:all .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);box-shadow:0 6px 24px #1f2a4533}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=640px){.toast{z-index:80;bottom:calc(var(--tabbar-height,60px) + env(safe-area-inset-bottom) + 12px);max-width:calc(100vw - 32px)}}.dropdown{position:relative}.dropdown-button{color:var(--ink);cursor:pointer;font:inherit;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:9px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:border-color .15s,box-shadow .15s;display:flex}.dropdown-button:hover{border-color:#c9cff0}.dropdown-button:focus-visible,.dropdown-button.open{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-pale);outline:0}.dropdown-button:disabled{cursor:default;opacity:.6}.dropdown-icon{text-align:center;flex:none;width:20px;font-size:16px;line-height:1}.dropdown-value{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dropdown-value.placeholder{color:#a5adbb;font-weight:400}.dropdown-chevron{fill:none;stroke:#8a94a8;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:12px;transition:transform .15s}.dropdown-button.open .dropdown-chevron{transform:rotate(180deg)}.dropdown-list{z-index:90;border:1px solid var(--line);background:#fff;border-radius:12px;max-height:280px;margin:0;padding:5px;list-style:none;animation:.12s ease-out dropdown-in;position:fixed;overflow-y:auto;box-shadow:0 14px 36px #1f2a4524}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}}.dropdown-list li{color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:13px;display:flex}.dropdown-list li.active{background:#f4f5fb}.dropdown-list li.selected{color:var(--blue);font-weight:700}.dropdown-text{flex:1;display:grid}.dropdown-text small{color:#8a94a8;font-size:11px;font-weight:400}.dropdown-check{color:var(--blue);font-size:12px;font-weight:700}.dropdown.compact .dropdown-button{border-radius:8px;gap:6px;padding:6px 9px;font-size:12px;font-weight:600}.dropdown.compact .dropdown-list li{white-space:nowrap}.dropdown.inline .dropdown-button{background:0 0;border-color:#0000;border-radius:10px;gap:6px;width:auto;padding:2px 8px}.dropdown.inline .dropdown-button:hover,.dropdown.inline .dropdown-button.open{box-shadow:none;background:#f4f5fb;border-color:#0000}.dropdown.inline .dropdown-button:focus-visible{border-color:var(--blue)}.auth{background:var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:20px;gap:14px;width:min(400px,100%);padding:30px 28px 24px;display:grid;box-shadow:0 14px 60px #2937560f}.auth-brand{letter-spacing:-.8px;align-items:center;gap:10px;font:800 21px Manrope,sans-serif;display:flex}.auth-card h1{letter-spacing:-.6px;margin:10px 0 0;font:700 24px Manrope,sans-serif}.auth-lead{color:var(--muted);margin:-6px 0 4px;font-size:13px;line-height:1.5}.auth-invite{color:#3b47a8;background:var(--blue-pale);border:1px solid #dde1fb;border-radius:10px;margin:-4px 0 4px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}.auth-card input[readonly]{color:var(--muted);cursor:default;background:#f4f5f9}.auth-card label{color:#56627a;gap:6px;font-size:12px;font-weight:600;display:grid}.auth-field{color:#56627a;gap:8px;font-size:12px;font-weight:600;display:grid}.auth-card input{color:var(--ink);font:inherit;border:1px solid var(--line);border-radius:10px;outline:0;padding:11px 12px;font-size:14px;font-weight:400}.auth-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-pale)}.auth-card small{color:#8a94a8;font-weight:400}.auth-error{color:var(--red);background:#fdf0ee;border-radius:9px;margin:0;padding:9px 11px;font-size:13px}.auth-submit{height:44px;margin-top:4px;font-size:14px}.auth-switch{color:var(--muted);text-align:center;margin:2px 0 0;font-size:13px}.auth-switch a{color:var(--blue);font-weight:600;text-decoration:none}.confirm-overlay{z-index:70;background:#1f2a4533;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(400px,100%);padding:16px 18px;box-shadow:0 10px 32px #1f2a4526}.confirm-dialog strong{color:var(--ink);font:700 15px Manrope,sans-serif;display:block}.confirm-dialog p{color:#57647b;margin:8px 0 0;font-size:13px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.confirm-actions .btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.confirm-overlay{align-items:end;padding:0}.confirm-dialog{box-sizing:border-box;width:100%;max-height:90dvh;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;overflow-y:auto}.confirm-actions .btn{flex:1;min-height:44px}}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.icon .icon-fill{fill:currentColor;stroke-width:1px}.composer-box{background:#fff;border:1px solid #e3e6ee;border-radius:16px;flex-direction:column;gap:6px;margin-top:10px;padding:10px 10px 8px 12px;display:flex;box-shadow:0 6px 22px #2937560f}.composer-box.dragging{background:var(--blue-pale);border:1px dashed var(--blue)}.composer-box textarea{resize:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px;line-height:1.5}.composer-box textarea::placeholder{color:#a5adbb}.composer-bar{justify-content:space-between;align-items:center;display:flex}.icon-btn{color:#56627a;cursor:pointer;background:0 0;border:0;border-radius:8px;width:28px;height:28px;font-size:18px}.icon-btn:hover{background:#f3f4f8}.send-round{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:50%;width:30px;height:30px;font-size:14px}.send-round:disabled{cursor:default;background:#c5cbf3}.send-round.stop{background:var(--ink);font-size:11px}.send-round.stop:disabled{background:#a5adbb}.attach{position:relative}.attach-menu{border:1px solid var(--line);z-index:20;background:#fff;border-radius:10px;min-width:150px;padding:4px;display:grid;position:absolute;bottom:34px;left:0;box-shadow:0 8px 24px #1f2a4526}.attach-menu button{text-align:left;font:inherit;color:#3f4b63;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:12px}.attach-menu button:hover{background:#f4f5fb}.mode-tag{background:var(--blue-pale);color:var(--blue);border-radius:6px;align-self:flex-start;align-items:center;gap:4px;padding:2px 4px 2px 7px;font-size:10px;font-weight:700;display:inline-flex}.mode-tag button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:12px;line-height:1}.attachment-chip{box-sizing:border-box;border:1px solid var(--line);background:#f7f8fc;border-radius:10px;align-self:stretch;max-width:100%;padding:6px 6px 6px 8px}.attachment-row{align-items:center;gap:8px;display:flex}.attachment-chip.error{background:#fff6f3;border-color:#f1c4b8}.attachment-icon{font-size:18px}.attachment-text{flex-direction:column;flex:1;min-width:0;display:flex}.attachment-text strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.attachment-text small{color:#909bad;font-size:10px}.attachment-chip.error small{color:#c16e56}.attachment-remove{color:#8a94a8;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 4px;font-size:15px;line-height:1}.attachment-remove:hover{background:#eceef5}.attachment-spinner{border:2px solid var(--blue-pale);border-top-color:var(--blue);border-radius:50%;flex:none;width:16px;height:16px;margin:0 1px;animation:.8s linear infinite attachment-spin}.attachment-chip.loading .attachment-text small{color:var(--blue)}.attachment-chip .progress-bar{height:4px;margin:6px 2px 2px}.attachment-done{color:var(--green);font-weight:700}.attachment-count{color:var(--blue);font-weight:600}.attachment-sections{border-top:1px solid var(--line);gap:2px;margin:6px 0 0;padding:6px 0 0;list-style:none;animation:.25s ease-out attachment-reveal;display:grid}@keyframes attachment-spin{to{transform:rotate(360deg)}}@keyframes attachment-reveal{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.attachment-spinner{animation-duration:2s}.attachment-sections{animation:none}}.attachment-sections label{cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:3px 4px;font-size:11px;display:flex}.attachment-sections label:hover{background:#eef0f7}.attachment-section-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.attachment-section-pages{color:#909bad;white-space:nowrap;font-size:10px}.attachment-sections-empty{color:#c16e56;padding:3px 4px;font-size:10px}.send-group{align-items:center;gap:6px;min-width:0;display:flex}.model-pick{min-width:0;position:relative}.model-chip{color:#8a94a8;cursor:pointer;font:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:8px;max-width:150px;padding:5px 7px;font-size:10px;font-weight:600;overflow:hidden}.model-chip:hover:not(:disabled){color:#56627a;background:#f3f4f8}.model-chip.picked{background:var(--blue-pale);color:var(--blue)}.model-menu{min-width:190px;left:auto;right:0}.model-menu-title{color:#a5adbb;padding:5px 9px 3px;font-size:10px;font-weight:700}.model-menu button small{color:#a5adbb;font-size:10px;font-weight:500;display:block}.model-menu button.chosen{color:var(--blue);font-weight:700}.documents-dialog{width:min(480px,100%);max-height:min(560px,90vh);overflow-y:auto}.documents-heading{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin-top:16px;font-size:11px;font-weight:700;display:block}.documents-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.documents-list li{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.documents-icon{flex:none;font-size:16px}.documents-text{flex:1;min-width:0;display:grid}.documents-text b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.documents-text small{color:var(--muted);font-size:11px}.documents-list .btn{flex:none}.documents-error{color:var(--red)}.learning-card{color:#57647b;background:linear-gradient(140deg,#f8f6ff,#fff);border:1px solid #e3dcfb;border-radius:12px;align-self:stretch;padding:11px 12px;font-size:11px;line-height:1.5}.learning-card.pronto{background:#f7fcf9;border-color:#b9d8c8}.learning-head{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.learning-head strong{color:var(--ink);font:700 12px Manrope,sans-serif;display:block}.learning-head small{color:#8a94a8}.learning-spark{color:#7a5ce0;font-size:15px;line-height:1.2;animation:1.6s ease-in-out infinite learning-pulse;display:inline-block}.learning-card.pronto .learning-spark{color:var(--green);animation:none}.learning-steps{gap:4px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.learning-steps li{align-items:center;gap:7px;display:flex}.learning-steps i{border-radius:50%;flex:none;place-items:center;width:15px;height:15px;font-size:9px;font-style:normal;display:grid}.learning-steps li.done{color:#3f4b63}.learning-steps li.done i{background:var(--green);color:#fff}.learning-steps li.now{color:#4a3aa8;font-weight:600}.learning-steps li.now i{border:2px solid #d8d0fa;border-top-color:#7a5ce0;animation:.8s linear infinite learning-spin}.learning-steps li.todo{color:#a5adbb}.learning-steps li.todo i{color:#c5cbd8}.learning-result p{margin:4px 0}.learning-lesson{color:#2f6b52;background:#f1fbf5;border-radius:8px;padding:6px 8px}.learning-error{color:#c16e56}@keyframes learning-pulse{0%,to{opacity:.7;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.25)rotate(20deg)}}@keyframes learning-spin{to{transform:rotate(360deg)}}.day-actions .btn{padding:6px 9px;font-size:11px}.proposal{color:#3f4b63;background:#fbfbff;border:1px solid #d9dcf3;border-radius:12px;align-self:stretch;padding:10px 12px;font-size:12px}.proposal p{margin:4px 0 8px;line-height:1.45}.proposal.confirmada{background:#f5fbf8;border-color:#b9d8c8}.proposal.cancelada,.proposal.expirada,.proposal.desfeita{opacity:.6}.proposal-learning{color:#505a78;background:#f2f3ff;border-radius:8px;gap:4px;margin:8px 0;padding:7px 8px;font-size:10px;display:grid}.proposal-learning strong{margin-bottom:3px;font-size:10px;display:block}.proposal-learning p{margin:0;font-size:11px}.proposal-kind{text-transform:uppercase;letter-spacing:.7px;color:#8a94a8;font-size:9px;font-weight:700}.proposal-emoji{margin-right:6px}.proposal-actions{gap:6px;display:flex}.proposal-actions .btn{padding:6px 10px;font-size:11px}.proposal-status{color:#8a94a8;font-size:11px;font-weight:700}.proposal.confirmada .proposal-status{color:var(--green)}.proposal-done{align-items:center;gap:10px;display:flex}.proposal-undo{color:#8a94a8;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.proposal-undo:hover:not(:disabled){color:var(--ink)}.proposal-undo:disabled{cursor:default;opacity:.6}.proposal-source{color:#8a94a8;margin:-2px 0 8px;font-size:10px}.proposal-source blockquote{border-left:2px solid var(--line);margin:3px 0 0;padding-left:8px;font-style:italic}.proposal-source.unchecked span{color:#8a94a8;margin-top:4px;font-weight:400;display:block}.proposal-deck{background:#fbfbff;border:1px solid #d9dcf3;border-radius:14px;grid-template-columns:minmax(0,1fr);align-self:stretch;gap:8px;padding:10px;display:grid}.deck-head{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.deck-count{color:var(--ink);font-size:11px;font-weight:700}.deck-count small{color:#8a94a8;font-size:11px;font-weight:500}.deck-arrows{gap:4px;display:flex}.deck-arrows button{color:#56627a;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:26px;height:26px;padding:0 0 2px;font-size:16px;line-height:1;display:grid}.deck-arrows button:hover:not(:disabled){color:var(--blue);border-color:var(--blue)}.deck-arrows button:disabled{opacity:.35;cursor:default}.deck-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;display:flex;overflow-x:auto}.deck-track::-webkit-scrollbar{display:none}.deck-slide{scroll-snap-align:start;flex:0 0 100%;min-width:0;display:flex}.deck-slide .proposal{background:#fff;flex-direction:column;flex:1;display:flex}.deck-slide .proposal-actions,.deck-slide .proposal-done{margin-top:auto}.deck-dots{justify-content:center;gap:4px;display:flex}.deck-dot{cursor:pointer;background:#d5d9e4;border:0;border-radius:3px;width:6px;height:6px;padding:0;transition:width .2s}.deck-dot.confirmada{background:var(--green)}.deck-dot.cancelada,.deck-dot.expirada,.deck-dot.desfeita{background:#eceef3}.deck-dot.shown{background:var(--blue);width:16px}.deck-foot{border-top:1px solid #e8eaf5;justify-content:space-between;align-items:center;gap:8px;padding-top:9px;display:flex}.deck-foot .btn{padding:7px 12px;font-size:11px}.deck-cancel{color:#8a94a8;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:600}.deck-cancel:hover:not(:disabled){color:var(--red);background:#fdf0ee}.deck-foot.done{color:#8a94a8;justify-content:center;font-size:11px;font-weight:600}.right{border-left:1px solid var(--line);background:#fcfcfe;flex-direction:column;min-width:0;padding:26px 20px;display:flex}.assistant-head{align-items:center;gap:10px;margin-bottom:19px;display:flex}.botmark{color:#6659ca;background:#f0efff;border-radius:12px;place-items:center;width:35px;height:35px;font-size:17px;display:grid}.assistant-head strong{font:700 14px Manrope;display:block}.assistant-head small{color:#909bad;font-size:10px}.chat{flex-direction:column;flex:1;gap:13px;padding:2px 1px;display:flex;overflow:auto}.msg{color:#57647b;border:1px solid var(--line);background:#fff;border-radius:12px;max-width:92%;padding:11px 12px;font-size:11px;line-height:1.55}.msg.user{background:var(--blue);border-color:var(--blue);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg.bot{border-bottom-left-radius:4px;align-self:flex-start}.msg .time{color:#a5adbb;margin-top:5px;font-size:9px;display:block}.msg.user .time{color:#d6d9ff}@media (width<=850px){.right{border-left:0;border-top:1px solid var(--line);grid-column:2;min-height:500px}}@media (width<=520px){.right{padding:20px 14px}}.msg.note-msg{color:#5b55a8;background:#f8f7ff;border-color:#e9e7fb;font-size:10px}.right.assistant{box-sizing:border-box;height:100vh;position:sticky;top:0}.assistant-start{flex-direction:column;flex:1;justify-content:center;gap:14px;padding-bottom:12vh;display:flex}.assistant-hello{margin-bottom:10px;display:block}.assistant-start h2{color:var(--ink);text-align:center;letter-spacing:-.2px;margin:0 0 6px;font:500 21px/1.3 DM Serif Display,Georgia,serif}.assistant-start .spark{color:#d9774b;margin-right:4px;font-size:22px}.quick-replies{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.quick-replies button{border:1px solid var(--blue);color:var(--blue);font:inherit;cursor:pointer;background:#fff;border-radius:16px;padding:5px 11px;font-size:11px;font-weight:600}.quick-replies button:hover{background:var(--blue-pale)}.msg.pending{color:#9aa4b7;font-style:italic}.chat-progress{margin-top:8px;font-style:normal}.quick-replies button:disabled{cursor:not-allowed;opacity:.45}.quick-replies button:not(.primary):disabled:hover{background:#fff}.quick-hint{color:#909bad;font-size:10px}.next-steps{gap:6px;display:grid}.next-steps .quick-replies{margin-top:0}.quick-replies button.primary{background:var(--blue);color:#fff}.quick-replies button.primary:hover:not(:disabled){background:var(--blue);filter:brightness(1.08)}.msg-model{color:#b3bac8;margin-top:6px;font-size:9px;font-style:normal;display:block}.assistant-collapse{color:#8a94a8;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:26px;right:14px}.assistant-collapse:hover{color:var(--ink);background:#eef0f6}.assistant-head{padding-right:34px}@media (width>=851px){.right.assistant{overflow:hidden}.right.assistant:not(.collapsed)>:not(.confirm-overlay){animation:.36s cubic-bezier(.32,.72,0,1) 80ms backwards assistant-in}.right.assistant.collapsed{padding:0}.assistant-rail{animation:.3s ease-out .1s backwards rail-in}.right.assistant.collapsed>:not(.assistant-rail){display:none}.assistant-rail{color:#6b7590;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:12px;padding:26px 0;display:flex;position:relative}.assistant-rail:hover{color:var(--ink);background:#f4f5fb}.assistant-rail .botmark{flex:none}.assistant-rail-name{writing-mode:vertical-rl;letter-spacing:.3px;font:700 13px Manrope}.assistant-rail-badge{color:#fff;background:var(--coral);border-radius:999px;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;line-height:20px}.assistant-rail-working{background:#6659ca;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite rail-pulse}@keyframes rail-pulse{50%{opacity:.25}}}@media (width<=850px){.assistant-collapse,.assistant-rail{display:none}.assistant-head{padding-right:0}}@keyframes assistant-in{0%{opacity:0;transform:translate(24px)}}@keyframes rail-in{0%{opacity:0;transform:translate(-10px)}}@media (prefers-reduced-motion:reduce){.right.assistant>*,.assistant-rail{animation:none!important}}.members-dialog{width:min(500px,100%);max-height:min(620px,92vh);overflow-y:auto}.members-list{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.members-list li{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.members-avatar{color:#4656aa;background:#dbe3ff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.members-text{flex:1;min-width:0;display:grid}.members-text b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.members-text small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.members-who{color:#56627a;background:#eef0f6;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600}.members-pending{color:#9a6a12;background:#fff5df;border-radius:6px;margin-left:4px;padding:1px 6px;font-weight:600}.members-remove{color:#8a94a8;cursor:pointer;background:0 0;border:0;border-radius:7px;width:26px;height:26px;font-size:17px}.members-remove:hover{color:var(--red);background:#fdf0ee}.members-invite{gap:8px;margin-top:14px;display:flex}.members-invite .dropdown.compact .dropdown-button{height:100%}.members-invite input{color:var(--ink);font:inherit;border:1px solid var(--line);border-radius:9px;outline:0;flex:1;min-width:0;padding:8px 10px;font-size:13px}.members-invite input:focus{border-color:var(--blue)}.members-roles{color:#8a94a8;margin-top:6px;font-size:11px;line-height:1.5;display:block}.confirm-dialog .members-note{color:#3d4a64;background:var(--blue-pale);border-radius:9px;padding:10px 12px}.confirm-dialog .members-error{color:var(--red)}@media (width<=520px){.members-invite{flex-wrap:wrap}.members-invite input{flex-basis:100%}}.people-pile{font:inherit;background:0 0;border:0;flex:none;align-items:center;padding:0 4px 0 0;display:flex}button.people-pile{cursor:pointer}.people-avatar{color:#56627a;background:#eef0f6;border:2px solid #fff;border-radius:50%;place-items:center;width:32px;height:32px;margin-left:-8px;font-size:12px;font-weight:700;display:grid;position:relative}.people-avatar:first-child{margin-left:0}.people-avatar.mae{color:#4656aa;background:#dbe3ff}.people-avatar.pai{color:#874d41;background:#f7d5c6}.people-avatar.me{box-shadow:0 0 0 1.5px var(--blue)}.people-avatar.pending{color:#a5adbb;background:#fff;border:2px dashed #c9cfdc}.people-avatar.more{color:#56627a;background:#f4f5fb;font-size:11px}.people-avatar.add{color:var(--blue);background:#fff;border:1.5px dashed #c9cff0;margin-left:6px;font-size:15px;font-weight:500}button.people-pile:hover .people-avatar.add{background:var(--blue-pale);border-color:var(--blue)}button.people-pile:hover .people-avatar:not(.add){transform:translateY(-1px)}.people-avatar{transition:transform .15s}.name-dialog input{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);border-radius:9px;outline:0;margin-top:12px;padding:9px 11px;font-size:13px}.name-dialog input:focus{border-color:var(--blue)}.name-error{color:var(--red);margin-top:6px;font-size:12px;display:block}.calendar-name{font:inherit;letter-spacing:inherit;color:inherit;cursor:text;white-space:nowrap;text-overflow:ellipsis;text-align:left;background:0 0;border:0;border-radius:8px;min-width:0;margin:-2px -6px;padding:2px 6px;overflow:hidden}.calendar-name:hover{background:#f0f2f8}.calendar-name-input{font:inherit;letter-spacing:inherit;color:inherit;border:1px solid var(--blue);max-width:100%;box-shadow:0 0 0 3px var(--blue-pale);background:#fff;border-radius:8px;outline:0;margin:-3px -7px;padding:2px 6px}.day-menu{z-index:50;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:132px;padding:4px;display:grid;position:fixed;box-shadow:0 8px 24px #1f2a4526}.day-menu:after{content:"";border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;width:9px;height:9px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.day-menu.below:after{top:-5px;bottom:auto;transform:translate(-50%)rotate(225deg)}.day-menu button{text-align:left;font:inherit;color:#3f4b63;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:2px;padding:7px 9px;font-size:12px;display:flex}.day-menu button:hover{background:#f4f5fb}.day-menu button.current{font-weight:700}.day-menu .check{color:var(--green);margin-left:auto}.day-menu button.unmark{color:#8a94a8;border-top:1px solid var(--line);border-radius:0 0 7px 7px;margin-top:2px}.menu-head{color:var(--ink);padding:5px 9px 3px;font-size:10px;font-weight:700}.menu-hint{color:#a5adbb;border-top:1px solid var(--line);max-width:150px;margin-top:2px;padding:4px 9px 3px;font-size:9px;line-height:1.35}.menu-label{border:1px solid var(--line);font:inherit;border-radius:6px;width:118px;margin:3px 4px 2px;padding:4px 7px;font-size:10px}.division{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:-8px 0 16px;display:flex;position:relative}.division-button{color:var(--ink);cursor:pointer;font:inherit;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.division-button:hover,.division-button[aria-expanded=true]{background:#fafbff;border-color:#c9cff0}.division-share{white-space:nowrap;align-items:center;display:inline-flex}.division-target{color:#8a94a8;white-space:nowrap;margin-left:10px;font-weight:600}.division-pill{color:var(--ink);cursor:default;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.division-pill-label{color:#707c94;margin-right:8px;font-weight:600}.division-unit{margin-left:4px}.division-unassigned{color:#8a94a8;white-space:nowrap;margin-left:8px;font-weight:600}.division-sep{color:#c2c8d4;margin:0 8px}.division .dot:not(.mae):not(.pai){background:#8a94a8}.division-preview{color:var(--muted);flex-wrap:wrap;align-items:center;font-size:12px;font-style:italic;display:inline-flex}.division-preview .division-share{margin-left:6px;font-style:normal;font-weight:600}.division-preview .division-share+.division-share{margin-left:0}.division-detail{z-index:40;border:1px solid var(--line);background:#fff;border-radius:12px;width:min(320px,100vw - 32px);padding:14px 16px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #1f2a4524}.division-detail strong{font:700 14px Manrope,sans-serif}.division-detail table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.division-detail td{border-top:1px solid var(--line);padding:7px 0}.division-detail td+td{color:var(--muted);text-align:right;white-space:nowrap;padding-left:12px}.division-detail td.division-strong{color:var(--ink);font-weight:700}.division-note{color:#8a94a8;margin:8px 0 0;font-size:11px;line-height:1.5}.division-extra{color:#56627a;border-top:1px solid var(--line);gap:4px;margin:10px 0 0;padding:8px 0 0;font-size:12px;list-style:none;display:grid}.donut-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:18px 28px;max-width:620px;margin-top:18px;padding:18px 22px;display:flex}.donut-chart{flex:none;width:168px;height:168px;position:relative}.donut-chart svg{width:100%;height:100%;display:block}.donut-track{fill:none;stroke:#f0f2f7;stroke-width:20px}.donut-slice{fill:none;cursor:default;transition:opacity .15s}.donut-slice.dim{opacity:.3}.donut-center{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.donut-center b{color:var(--ink);letter-spacing:-.8px;font:800 26px Manrope,sans-serif}.donut-center span{color:#56627a;font-size:12px;font-weight:600}.donut-center small{color:#8a94a8;font-size:11px}.donut-side{flex:1;min-width:220px}.donut-title{color:var(--ink);font:700 14px Manrope,sans-serif}.donut-legend{gap:2px;margin:10px 0 0;padding:0;list-style:none;display:grid}.donut-legend li{cursor:default;border-radius:9px;outline:0;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:7px 8px;font-size:13px;display:flex}.donut-legend li.on,.donut-legend li:focus-visible{background:#f4f5fb}.donut-swatch{border-radius:3px;flex:none;width:10px;height:10px}.donut-name{color:var(--ink);flex:1;font-weight:600}.donut-days{color:var(--muted);font-size:12px}.donut-share{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font:800 15px Manrope,sans-serif}.donut-next{color:var(--muted);text-align:right;flex-basis:100%;font-size:11px;font-style:italic}.donut-note{color:#8a94a8;border-top:1px solid var(--line);margin:10px 0 0;padding-top:9px;font-size:12px}.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:620px;margin-top:14px;display:grid}@media (width<=720px){.stat-cards{grid-template-columns:minmax(0,1fr)}}.stat-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px 18px}.stat-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.stat-head strong{color:var(--ink);font:700 14px Manrope,sans-serif}.stat-head span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.stat-hint{color:#8a94a8;margin-top:2px;font-size:11px;display:block}.stat-bar{border-radius:999px;gap:2px;height:8px;margin-top:12px;display:flex;overflow:hidden}.stat-bar i{flex-basis:0;min-width:4px}.stat-list{gap:2px;margin:10px 0 0;padding:0;list-style:none;display:grid}.stat-list li{align-items:center;gap:10px;padding:5px 0;font-size:13px;display:flex}.stat-name{color:var(--ink);flex:1;min-width:0;font-weight:600}.stat-count{color:var(--muted);white-space:nowrap;font-size:12px}.stat-share{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font:800 14px Manrope,sans-serif}.stat-note{color:#8a94a8;border-top:1px solid var(--line);margin:8px 0 0;padding-top:8px;font-size:12px}.sheet-overlay{z-index:60;background:#1f2a4540;align-items:end;animation:.15s ease-out sheet-fade;display:grid;position:fixed;inset:0}.sheet{box-sizing:border-box;width:100%;max-height:85dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;border-radius:18px 18px 0 0;flex-direction:column;animation:.2s ease-out sheet-up;display:flex;box-shadow:0 -10px 40px #1f2a4526}.sheet-handle{background:#dfe2ea;border-radius:3px;align-self:center;width:36px;height:4px;margin-bottom:6px}.sheet-head{justify-content:space-between;align-items:center;padding:4px 0 10px;display:flex}.sheet-head strong{font:700 16px Manrope,sans-serif}.sheet-close{color:#707c94;cursor:pointer;background:#f4f5fb;border:0;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1}.sheet-body{overscroll-behavior:contain;overflow-y:auto}@keyframes sheet-up{0%{opacity:.6;transform:translateY(40px)}}@keyframes sheet-fade{0%{opacity:0}}.v-overlay{z-index:60;background:#1b233a59;place-items:center;padding:20px;animation:.15s ease-out v-fade;display:grid;position:fixed;inset:0}.v-sheet{background:#fff;border-radius:18px;width:min(420px,100%);max-height:80vh;padding:18px 20px 20px;animation:.18s ease-out v-pop;overflow:auto;box-shadow:0 24px 60px #1b233a40}.v-sheet-handle{display:none}.v-sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.v-sheet-head small{color:var(--muted);font-size:12px}.v-sheet-head h3{letter-spacing:-.4px;margin:2px 0 0;font:800 20px Manrope,sans-serif}.v-close{width:36px;height:36px;color:var(--muted);background:#f1f3f8;border:0;border-radius:50%;flex:none;font-size:20px;line-height:1}.v-who{background:var(--p,#f3f4f8);color:var(--t,var(--ink));border-radius:10px;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;font-weight:700;display:flex}.v-who i{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.v-who.conflict i{background:repeating-linear-gradient(45deg, var(--mae-soft) 0 2px, var(--pai-soft) 2px 4px)}.v-sheet-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.v-sheet-list li{align-items:flex-start;gap:10px;display:flex}.v-sheet-list li>span{font-size:20px;line-height:1.2}.v-sheet-list strong{font-size:14px;display:block}.v-sheet-list small{color:var(--muted);font-size:12px}.v-sheet-list p{color:#57647b;margin:4px 0 0;font-size:13px}@keyframes v-fade{0%{opacity:0}}@keyframes v-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes v-up{0%{transform:translateY(100%)}}@media (width<=700px){.v-overlay{place-items:end stretch;padding:0}.v-sheet{width:100%;max-height:85vh;padding:8px 18px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.22s cubic-bezier(.2,.8,.3,1) v-up}.v-sheet-handle{background:#d8dce6;border-radius:2px;width:40px;height:4px;margin:2px auto 12px;display:block}}@media (prefers-reduced-motion:reduce){.v-overlay,.v-sheet{animation:none}}:is(.view,.m-cal) .role-mae{--c:var(--mae-soft);--p:var(--blue-pale);--t:var(--mae-ink)}:is(.view,.m-cal) .role-pai{--c:var(--pai-soft);--p:var(--coral-pale);--t:var(--pai-ink)}:is(.view,.m-cal) [class*=role-]:not(.role-mae):not(.role-pai){--c:var(--other-soft);--p:#e9f3ee;--t:var(--other-ink)}:is(.view,.m-cal) .plain{--c:#c9cde0;--p:#f3f4f8;--t:#57647b}.day-actions-m{border-top:1px solid var(--line);gap:10px;margin-top:16px;padding-top:14px;display:grid}.day-actions-title{color:#8a94a8;letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:700}.day-roles{gap:8px;display:grid}.day-role{color:var(--ink);cursor:pointer;font:inherit;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.day-role i{background:var(--c);border-radius:50%;flex:none;width:12px;height:12px}.day-role.current{background:var(--p);border-color:var(--c);color:var(--t)}.day-role:disabled{cursor:default}.day-role:disabled:not(.current){opacity:.5}.day-check{margin-left:auto}.day-label{box-sizing:border-box;border:1px solid var(--line);font:inherit;color:var(--ink);border-radius:12px;width:100%;height:44px;padding:0 14px;font-size:15px}.day-label:focus{border-color:var(--blue);outline:0}.day-more{justify-content:space-between;display:flex}.day-link{color:var(--blue);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;min-height:40px;padding:0 4px;font-size:14px;font-weight:600}.day-link.danger{color:var(--red);margin-left:auto}.day-link:disabled{opacity:.5}.year-header{margin-bottom:20px;container-type:inline-size}.topline{align-items:center;gap:16px;display:flex}.page-heading{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.page-title{letter-spacing:-.6px;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font:700 24px Manrope,sans-serif;overflow:hidden}.page-heading .dropdown{flex:none}.page-heading .dropdown.inline .dropdown-button{color:#a5adbb;letter-spacing:-.6px;font:600 24px Manrope,sans-serif}.page-heading .dropdown.inline .dropdown-chevron{width:14px;height:14px}.top-actions{flex:none;align-items:center;gap:8px;display:flex}.header-action{white-space:nowrap;align-items:center;gap:7px;height:36px;padding:0 12px;display:inline-flex}.header-action-icon{display:grid}.header-action-icon svg{width:15px;height:15px}.header-action.danger-hover:hover{border-color:var(--red);color:var(--red)}@container (width<=720px){.header-action{justify-content:center;width:36px;padding:0}.header-action-label{display:none}}@container (width<=460px){.page-title,.page-heading .dropdown.inline .dropdown-button{font-size:20px}}.m-cal{--m-sticky:calc(var(--topbar-height) + env(safe-area-inset-top))}.m-top{justify-content:space-between;align-items:center;margin:-4px 0 12px;display:flex}.m-back{color:var(--blue);cursor:pointer;font:inherit;background:0 0;border:0;min-height:40px;padding:0;font-size:17px;font-weight:600}.m-top .dropdown.inline .dropdown-button{color:var(--ink);letter-spacing:-.8px;font:800 30px Manrope,sans-serif}.m-top-actions{align-items:center;gap:4px;display:flex}.m-today{color:var(--blue);cursor:pointer;font:inherit;background:0 0;border:0;min-height:40px;padding:0 8px;font-size:16px;font-weight:600}.m-more{color:var(--blue);cursor:pointer;background:var(--blue-pale);border:0;border-radius:50%;width:34px;height:34px;font-size:18px;line-height:1}.m-cal .division{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px}.m-legend{scrollbar-width:none;gap:14px;margin:0 -12px 6px;padding:0 12px;font-size:12px;display:flex;overflow-x:auto}.m-legend::-webkit-scrollbar{display:none}.m-legend span{color:#57647b;white-space:nowrap;align-items:center;gap:6px;display:flex}.m-legend i{background:var(--c);border-radius:50%;width:9px;height:9px}.m-legend .preview i{border:1.5px dashed var(--ink);box-sizing:border-box;background:0 0}.m-bar{z-index:5;border-bottom:1px solid var(--line);top:var(--m-sticky);background:#fff;margin:0 -12px;padding:4px 12px 0;position:sticky}.m-bar .m-top{margin:0}.m-bar .m-legend{margin:0 -12px 6px;font-size:11px}.m-weekdays{text-align:center;color:#8a94a8;grid-template-columns:repeat(7,1fr);padding:2px 0 6px;font-size:11px;font-weight:700;display:grid}.m-month{scroll-margin-top:calc(var(--m-sticky) + 92px);grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:8px;display:grid}.m-month-title{white-space:nowrap;letter-spacing:-.4px;margin:18px 0 4px;padding-left:6px;font:800 20px Manrope,sans-serif}.m-month-title.now{color:var(--blue)}.m-blank{border-top:1px solid #eef0f5}.m-day{cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-top:1px solid #eef0f5;place-items:start center;height:58px;padding:6px 0 0;display:grid;position:relative}.m-num{color:var(--ink);border-radius:50%;place-items:center;width:32px;height:32px;font-size:16px;font-weight:500;display:grid}.m-day[class*=role-] .m-num{background:var(--c);color:var(--t);font-weight:700}.m-day.plain .m-num{background:var(--p);color:var(--t);font-weight:600}.m-day.conflict .m-num{color:var(--ink);background:repeating-linear-gradient(45deg, var(--mae-soft) 0 4px, var(--pai-soft) 4px 8px);font-weight:700}.m-day.today .m-num{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ink);font-weight:800}.m-day.preview .m-num{outline:1.5px dashed var(--ink);outline-offset:2px;opacity:.85}.m-day.picked{background:#eef0ff}.m-emoji{pointer-events:none;font-size:12px;line-height:1;position:absolute;bottom:4px}.m-year-jump.last{margin-bottom:45dvh}.m-year-jump{color:var(--blue);cursor:pointer;font:inherit;background:0 0;border:0;justify-self:center;width:100%;min-height:44px;font-size:15px;font-weight:600}.m-year{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px;margin-top:10px;display:grid}.m-mini{color:inherit;cursor:pointer;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:flex-start;align-self:start;padding:0;display:flex}.m-mini-title{margin-bottom:4px;font:800 15px Manrope,sans-serif;display:block}.m-mini.now .m-mini-title{color:var(--blue)}.m-mini-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.m-mini-grid i{text-align:center;color:#57647b;border-radius:50%;font-size:7.5px;font-style:normal;line-height:13px}.m-mini-grid i[class*=role-]{background:var(--c);color:var(--t);font-weight:700}.m-mini-grid i.plain{background:var(--p);color:var(--t)}.m-mini-grid i.conflict{color:var(--ink);background:repeating-linear-gradient(45deg, var(--mae-soft) 0 2px, var(--pai-soft) 2px 4px)}.m-mini-grid i.today{box-shadow:0 0 0 1.5px var(--ink)}.m-picking{z-index:45;color:#fff;background:var(--ink);bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 10px);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:14px;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 8px 24px #1f2a4540}.m-picking button{color:#fff;cursor:pointer;font:inherit;background:#ffffff26;border:0;border-radius:10px;min-height:36px;padding:0 12px;font-weight:600}.m-menu{gap:4px;display:grid}.m-menu-people{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:6px;padding:4px 0 14px;display:flex}.m-menu-people>span{color:#8a94a8;font-size:13px}.m-menu-item{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;min-height:50px;padding:0 10px;font-size:15px;text-decoration:none;display:flex}.m-menu-item:active{background:#f4f5fb}.m-menu-item svg{width:18px;height:18px}.m-menu-item.danger{color:var(--red)}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.mini-month{border:1px solid var(--line);border-radius:11px;padding:10px 9px}.mini-title{color:var(--ink);margin-bottom:7px;font:700 12px Manrope,sans-serif}.mini-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-week{color:#a5adbb;font-size:8px;font-weight:700}.mini-day.role-mae{background:var(--mae-soft);color:var(--mae-ink)}.mini-day.role-pai{background:var(--pai-soft);color:var(--pai-ink)}.mini-day.conflict{color:var(--ink);background:repeating-linear-gradient(45deg, var(--mae-soft) 0 4px, var(--pai-soft) 4px 8px)}.mini-day.today{z-index:1;border-radius:50%;font-weight:800;position:relative;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #00e676}.mini-day.today:after{content:"";background:#00e676;border:1px solid #fff;border-radius:50%;width:4px;height:4px;position:absolute;top:-2px;right:-2px}@media (width<=850px){.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}button.mini-day:not(.role-mae):not(.role-pai):not(.conflict){color:#9aa4b7;font-weight:400}button.mini-day:not(.role-mae):not(.role-pai):not(.conflict):hover{background:var(--blue-pale)}.year-grid .mini-day.in-range{border-radius:0;box-shadow:-2px 0 #e3e6fb,2px 0 #e3e6fb;color:var(--ink)!important;background:#e3e6fb!important;font-weight:700!important}.year-grid .mini-day.range-start,.year-grid .mini-day.range-end{color:#fff!important}.year-grid .mini-day.range-start{box-shadow:2px 0 #e3e6fb;background:radial-gradient(circle, var(--blue) 0 9px, transparent 9.5px), linear-gradient(to right, transparent 50%, #e3e6fb 50%)!important}.year-grid .mini-day.range-end{box-shadow:-2px 0 #e3e6fb;background:radial-gradient(circle, var(--blue) 0 9px, transparent 9.5px), linear-gradient(to left, transparent 50%, #e3e6fb 50%)!important}.year-grid .mini-day.range-single{box-shadow:none;background:radial-gradient(circle, var(--blue) 0 9px, transparent 9.5px)!important}.day-emoji{pointer-events:none;filter:drop-shadow(0 1px 1px #0000002e);font-size:10px;line-height:1;position:absolute;top:-6px;right:-5px}.mini-day.has-event{background:#e9ebf3;font-weight:700;color:var(--ink)!important}.mini-day.preview{outline:1.5px dashed var(--ink);outline-offset:-2px;opacity:.82}.mini-day{color:#9aa4b7;background:0 0;border:0;border-radius:5px;padding:0;font-family:inherit;font-size:9px;line-height:19px}button.mini-day{cursor:pointer;color:#fff;font-weight:700;position:relative}.year-grid.read-only button.mini-day{cursor:default}.family-nudge{color:#3d4a64;background:var(--blue-pale);border-radius:12px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 14px;font-size:13px;text-decoration:none;display:flex}.family-nudge b{color:var(--blue);white-space:nowrap;margin-left:auto}.family-nudge:hover{background:#e4e8ff}.legend{color:#7e899e;gap:17px;margin:14px 0 0;font-size:11px;display:flex}.preview-tag{color:var(--ink);font-weight:600}.special-layout{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.period-list table{border-collapse:collapse;width:100%;font-size:12px}.period-list td{border-top:1px solid var(--line);vertical-align:top;padding:8px 6px}.period-list td:first-child{width:26%}.period-list td:nth-child(n+3){white-space:nowrap}.period-list tr:hover{background:#fafbff}.period-list .muted{color:#8a94a8;font-size:11px}.period-emoji{margin-right:6px}.year-empty{text-align:center;border:1px dashed #d4d9e6;border-radius:16px;justify-items:center;gap:8px;padding:44px 24px;display:grid}.year-empty-icon{font-size:30px}.year-empty strong{font:700 18px Manrope,sans-serif}.year-empty p{color:var(--muted);max-width:420px;margin:0 0 8px;font-size:13px;line-height:1.5}.people{gap:8px;margin:0;padding:0;list-style:none;display:grid}.person-row form{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.person-row.adding form{background:#fafbfd;border-style:dashed}.person-role,.person-gender{flex:none;width:150px}.person-gender .dropdown-button,.person-role .dropdown-button{padding:8px 10px;font-size:13px}.person-name-input,.person-date input{color:var(--ink);font:inherit;border:1px solid var(--line);background:#fff;border-radius:9px;outline:0;padding:8px 10px;font-size:13px}.person-name-input{flex:1;min-width:140px}.person-name-input:focus,.person-date input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-pale)}.person-date{color:#8a94a8;align-items:center;gap:6px;font-size:11px;display:flex}.person-day{width:70px}.person-month{width:116px}.person-date-clear{color:#a5adbb;cursor:pointer;background:0 0;border:0;border-radius:6px;width:22px;height:22px;font-size:14px}.person-date-clear:hover{color:var(--ink);background:#f0f2f8}.person-actions{align-items:center;gap:4px;min-width:30px;margin-left:auto;display:flex}.person-remove{color:#8a94a8;cursor:pointer;background:0 0;border:0;border-radius:7px;width:28px;height:28px;font-size:17px}.person-remove:hover{color:var(--red);background:#fdf0ee}.person-who{color:#56627a;background:#eef0f6;border-radius:7px;padding:3px 8px;font-size:12px;font-weight:600}.person-who.fixed{text-align:center;padding:9px 10px;display:block}.person-row.read-only{border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:13px;display:flex}.person-row.read-only .person-name{font-weight:600}.person-birthday{color:var(--muted);margin-left:auto;font-size:12px}.people-empty{color:var(--muted);font-size:13px}@media (width<=600px){.person-role,.person-gender{width:100%}.person-name-input{flex-basis:100%}}.person-actions .btn:disabled{cursor:not-allowed;box-shadow:none;opacity:.45}.split{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:14px 16px;display:grid}.split .family-hint{margin:0}.split-switch{cursor:pointer;color:var(--ink);align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.split-switch.disabled{cursor:default;opacity:.55}.split-switch input{opacity:0;width:0;height:0;position:absolute}.split-track{background:#d5d9e2;border-radius:999px;flex:none;width:36px;height:22px;transition:background .15s;position:relative}.split-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.split-switch input:checked+.split-track{background:var(--blue)}.split-switch input:checked+.split-track:after{transform:translate(14px)}.split-switch input:focus-visible+.split-track{outline:2px solid var(--blue);outline-offset:2px}.split-slider{gap:8px;display:grid}.split-slider strong{color:var(--ink);font-size:13px}.split-range{color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.split-range input{appearance:none;background:linear-gradient(90deg, var(--mae-soft), var(--pai-soft));cursor:pointer;border-radius:999px;flex:1;height:8px;margin:0}.split-range input::-webkit-slider-thumb{appearance:none;border:2px solid var(--ink);background:#fff;border-radius:50%;width:20px;height:20px}.split-range input::-moz-range-thumb{border:2px solid var(--ink);background:#fff;border-radius:50%;width:16px;height:16px}.split-range input:disabled{cursor:default;opacity:.6}.split-error{color:var(--red);margin:0;font-size:12px}.split-readonly{color:var(--ink);margin:0;font-size:13px;font-weight:600}@media (width<=640px){.split-range input::-webkit-slider-thumb{width:26px;height:26px}}.family .page-title{letter-spacing:-.6px;margin:0;font:700 24px Manrope,sans-serif}.family-lead{color:var(--muted);margin:6px 0 0;font-size:13px}.family section{max-width:760px;margin-top:28px}.family h2{letter-spacing:.4px;text-transform:uppercase;color:#56627a;margin:0 0 10px;font-size:12px;font-weight:700}.family-hint{color:#8a94a8;margin:-4px 0 10px;font-size:12px;line-height:1.5}.history-header{flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:20px;display:flex}.history .page-title{letter-spacing:-.6px;margin:0;font:700 24px Manrope,sans-serif}.history-fresh{color:#b5553c;background:var(--coral-pale);border-radius:8px;padding:4px 9px;font-size:12px;font-weight:600}.history-list{border:1px solid var(--line);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.history-item{border-top:1px solid var(--line);gap:14px;padding:12px 16px;display:flex}.history-item:first-child{border-top:0}.history-item.new{box-shadow:inset 3px 0 var(--coral);background:#fff8f5}.history-version{color:#8a94a8;text-align:right;font-variant-numeric:tabular-nums;flex:none;width:34px;padding-top:1px;font-size:12px;font-weight:700}.history-body{gap:3px;min-width:0;display:grid}.history-meta{color:var(--muted);font-size:11px}.history-new-tag{color:#fff;background:var(--coral);text-transform:uppercase;letter-spacing:.3px;border-radius:5px;margin-left:7px;padding:1px 5px;font-size:9px;font-weight:700}.history-summary{color:var(--ink);font-size:13px;line-height:1.45}.history-item.undone .history-summary{color:#8a94a8;text-decoration:line-through}.history-undone{color:#8a94a8;font-size:11px;font-style:italic}.history-empty{color:var(--muted);font-size:13px}.settings-field{gap:6px;margin-top:14px;display:grid}.settings-field>span{color:#707c94;font-size:11px;font-weight:700}.calendar-settings .settings-field input{margin-top:0}.settings-field b{color:var(--ink);font-size:13px}.settings-field small{color:#909bad;font-size:11px;line-height:1.4}.calendar-list{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.calendar-heading{color:#a5adbb;letter-spacing:.6px;text-transform:uppercase;padding:6px 12px 6px 16px;font-size:10px;font-weight:700}.calendar-list ul{grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid}.calendar-item{border-radius:10px;align-items:center;display:flex;position:relative}.calendar-item:hover{background:#f4f5fb}.calendar-item.active{background:var(--blue-pale)}.calendar-pick{color:#707c94;cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;flex:1;align-items:center;gap:9px;min-width:0;padding:8px 4px 8px 16px;display:flex}.calendar-pick .label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-item.current .calendar-pick{color:var(--blue);font-weight:700}.calendar-initial{color:#56627a;background:#eef0f6;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.calendar-unseen{color:#fff;background:var(--coral);text-align:center;border-radius:9px;flex:none;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;line-height:18px}.calendar-item.current .calendar-initial{color:#fff;background:var(--blue)}.calendar-actions{position:relative}.calendar-more{color:#8a94a8;cursor:pointer;opacity:0;background:0 0;border:0;border-radius:7px;width:26px;height:26px;margin-right:4px;font-size:15px}.calendar-item:hover .calendar-more,.calendar-item.current .calendar-more,.calendar-more[aria-expanded=true],.calendar-more:focus-visible{opacity:1}.calendar-more:hover{color:var(--ink);background:#e6e9f2}.calendar-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:140px;padding:4px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 10px 28px #1f2a4524}.calendar-menu button{color:var(--ink);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:13px}.calendar-menu button:hover{background:#f4f5fb}.calendar-menu button.danger{color:var(--red)}.calendar-menu button:disabled{opacity:.45;cursor:not-allowed}.calendar-new{color:#8a94a8;cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;padding:8px 12px 8px 16px;font-size:13px;display:flex}.calendar-new .icon{box-sizing:border-box;border:1.5px dashed #c9cfdb;border-radius:6px;width:20px;height:20px;padding:2px}.calendar-new:hover .icon{border-color:currentColor}.calendar-new:hover{color:var(--blue);background:#f4f5fb}@media (width<=1120px){.left .calendar-heading,.left .calendar-actions,.left .calendar-list .label{display:none}.left .calendar-pick{padding:8px;position:relative}.left .calendar-unseen{min-width:8px;height:8px;padding:0;font-size:0;position:absolute;top:6px;right:6px}.left .calendar-new{justify-content:center;padding:8px}}@media (hover:none){.calendar-more{opacity:1}}.profile-dialog label,.profile-field{color:#56627a;gap:7px;margin-top:14px;font-size:12px;font-weight:600;display:grid}.profile-dialog input{color:var(--ink);font:inherit;border:1px solid var(--line);border-radius:9px;outline:0;padding:9px 11px;font-size:13px;font-weight:400}.profile-dialog input:focus{border-color:var(--blue)}.profile-error{color:var(--red);margin-top:8px;font-size:12px;display:block}aside.left{border-right:1px solid var(--line);flex-direction:column;gap:28px;padding:25px 18px;display:flex}.brand{letter-spacing:-.8px;align-items:center;gap:10px;padding:0 8px;font:800 21px Manrope,sans-serif;display:flex}.sidebar-menu{gap:12px;display:grid}a.brand{color:inherit;text-decoration:none}.brand .logo{flex:none}.brand-text{min-width:0;line-height:1.1;display:grid}.brand-kicker{color:#8a94a8;letter-spacing:0;font-size:12px;font-weight:600}.brand-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav{gap:5px;display:grid}.nav button,.nav .nav-link{color:#707c94;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:11px 12px;display:flex}.nav button.active{background:var(--blue-pale);color:var(--blue);font-weight:700}.nav-badge{color:#fff;background:var(--coral);text-align:center;border-radius:9px;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;line-height:18px}.account{align-items:center;gap:9px;margin-top:auto;padding:0 4px;display:flex}.account-profile{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:9px;min-width:0;margin:-4px;padding:4px;display:flex}.account-profile:hover{background:#f4f5fb}.account-initial{color:#fff;background:var(--blue);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.account-text{flex:1;min-width:0;display:grid}.account-text b,.account-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-text b{font-size:12px}.account-text small{color:#8a94a8;font-size:11px}.account-logout{color:#707c94;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:600}.account-logout:hover{color:var(--red);background:#fdf0ee}@media (width<=1120px){.left{align-items:center;padding:22px 10px}.brand{padding:0}.nav button,.nav .nav-link{padding:12px;font-size:0}}@media (width<=520px){.left{display:none}}.nav button:disabled{opacity:.45;cursor:not-allowed}.nav .nav-link{text-decoration:none}.nav .nav-link:hover{color:var(--blue);background:#f4f5fb}.nav .nav-link.active{background:var(--blue-pale);color:var(--blue);font-weight:700}.nav .nav-link.active .icon{stroke-width:2px}@media (width<=1120px){.brand-text,.account-text,.nav-badge,.nav button .label,.nav .nav-link .label{display:none}.account{flex-direction:column;gap:4px;margin-top:auto}}.mobile-tabs{display:none}@media (width<=640px){.mobile-tabs{z-index:50;box-sizing:border-box;border-top:1px solid var(--line);height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}}.mobile-tab{color:#8a94a8;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:0;font-size:10px;font-weight:600;text-decoration:none;display:flex;position:relative}.mobile-tab .icon{width:22px;height:22px}.mobile-tab.active{color:var(--blue)}.mobile-tab.active .icon{stroke-width:2px}.mobile-assistant-mark{color:#6659ca;background:#f0efff;border-radius:10px;place-items:center;width:34px;height:22px;font-size:14px;display:grid}.mobile-tab-assistant.active .mobile-assistant-mark{color:#fff;background:#6659ca}.mobile-tab-assistant.active{color:#6659ca}.mobile-tab-badge{color:#fff;background:var(--coral);text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-style:normal;font-weight:700;line-height:16px;position:absolute;top:6px;left:calc(50% + 6px)}.more-list{gap:2px;display:grid}.more-item{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;min-height:52px;padding:8px 10px;font-size:15px;text-decoration:none;display:flex}.more-item:active{background:#f4f5fb}.more-item.danger{color:var(--red)}.more-badge{color:#fff;background:var(--coral);border-radius:9px;margin-left:auto;padding:1px 7px;font-size:11px;font-style:normal;font-weight:700}.more-initial{color:#fff;background:var(--blue);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.more-account{min-width:0;display:grid}.more-account small{color:#8a94a8;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mobile-top{display:none}@media (width<=640px){.mobile-top{z-index:30;box-sizing:border-box;border-bottom:1px solid var(--line);height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0;background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}}.mobile-brand{color:inherit;align-items:center;gap:8px;min-width:0;text-decoration:none;display:flex}.mobile-logo{font-size:22px}.mobile-brand-text{min-width:0;line-height:1.1;display:grid}.mobile-brand-text small{color:#8a94a8;font-size:11px;font-weight:600}.mobile-brand-text b{letter-spacing:-.5px;white-space:nowrap;text-overflow:ellipsis;font:800 18px Manrope,sans-serif;overflow:hidden}.mobile-calendar{color:var(--blue);cursor:pointer;font:inherit;background:var(--blue-pale);border:0;border-radius:18px;flex:none;align-items:center;gap:5px;max-width:52%;height:34px;padding:0 12px;font-size:12px;font-weight:700;display:flex;position:relative}.mobile-calendar-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-dot{background:var(--coral);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:-1px;right:-1px}.sheet .calendar-heading{display:none}.sheet .calendar-pick{padding-top:12px;padding-bottom:12px;font-size:15px}.sheet .calendar-new{padding-top:12px;padding-bottom:12px;font-size:14px}.sheet .calendar-item{flex-wrap:wrap}.sheet .calendar-actions{display:contents}.sheet .calendar-more{width:40px;height:40px}.sheet .calendar-menu{box-shadow:none;background:#fff;flex-basis:100%;margin:0 8px 8px;position:static}.sheet .calendar-menu button{padding:12px;font-size:15px}.app{background:#fff;grid-template-columns:236px minmax(540px,1fr) 360px;max-width:1600px;min-height:100vh;margin:auto;display:grid;box-shadow:0 14px 60px #2937560d}@media (width<=1120px){.app{grid-template-columns:76px minmax(480px,1fr) 320px}}@media (width>=851px){.app{transition:grid-template-columns .32s cubic-bezier(.32,.72,0,1)}.app.chat-min{grid-template-columns:236px minmax(540px,1fr) 56px}}@media (width>=851px) and (width<=1120px){.app.chat-min{grid-template-columns:76px minmax(480px,1fr) 56px}}.app.no-assistant{grid-template-columns:236px minmax(0,1fr)}@media (width<=1120px){.app.no-assistant{grid-template-columns:76px minmax(0,1fr)}}@media (width<=850px){.app.no-assistant,.app{grid-template-columns:64px minmax(0,1fr)}}:root{--tabbar-height:60px;--topbar-height:61px}@media (width<=640px){.app,.app.no-assistant{min-height:100dvh;padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));box-shadow:none;display:block}.app>aside.left,.app>.right.assistant{display:none}.app.chat-open>.right.assistant{z-index:40;box-sizing:border-box;height:auto;min-height:0;padding:calc(16px + env(safe-area-inset-top)) 14px 10px;top:0;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));border:0;display:flex;position:fixed;left:0;right:0}.app.chat-open>.main,.app.chat-open>.mobile-top{display:none}}.main{min-width:0;padding:30px 32px 42px}.step-page{max-width:1180px}@media (width<=1120px){.main{padding:25px 20px}}@media (width<=850px){.main{padding:23px 16px}}@media (width<=520px){.main{padding:20px 12px}}@media (prefers-reduced-motion:reduce){.app{transition:none!important}}.v-events{gap:6px;margin:0;padding:0;list-style:none;display:grid}.v-events li{min-width:0}.v-events button{text-align:left;background:var(--p);border:0;border-left:3px solid var(--c);width:100%;color:var(--ink);border-radius:10px;align-items:center;gap:10px;min-height:48px;padding:9px 11px;display:flex}.v-events button:hover{filter:brightness(.98)}.v-ev-emoji{font-size:18px;line-height:1}.v-ev-body{flex:1;min-width:0;display:grid}.v-ev-body strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.v-ev-body small{color:var(--muted);font-size:12px}.v-ev-who{color:var(--t);flex:none;font-size:11px;font-weight:700}.v-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.v-week{text-align:center;color:#9aa4b7;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.v-cell{color:var(--ink);font:inherit;background:0 0;border:0;padding:0;position:relative}.v-cell:focus-visible{outline:2px solid var(--blue);outline-offset:1px;z-index:1}.v-emoji{pointer-events:none;line-height:1;position:absolute}.v-grid.mini{gap:3px 0}.v-grid.mini .v-week{padding-bottom:3px;font-size:10px}.v-grid.mini .v-cell{aspect-ratio:1;color:#9aa4b7;border-radius:50%;justify-self:center;place-items:center;width:100%;max-width:34px;font-size:12px;display:grid}.v-grid.mini .v-cell:hover{background:var(--blue-pale)}.v-grid.mini .v-cell[class*=role-],.v-grid.mini .v-cell.conflict{background:var(--c);color:var(--t,var(--ink));font-weight:700}.v-grid.mini .v-cell.plain{background:var(--p);color:var(--t);font-weight:600}.v-grid.mini .v-cell.conflict{background:repeating-linear-gradient(45deg, var(--mae-soft) 0 4px, var(--pai-soft) 4px 8px)}.v-grid.mini .v-cell.today{box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--ink)}.v-grid.mini .v-emoji{font-size:9px;top:-4px;right:-3px}.v-grid.full .v-week{padding:10px 0}.v-grid.full .v-blank{border-top:1px solid var(--line)}.v-grid.full .v-cell{border-top:1px solid var(--line);text-align:left;border-radius:0;flex-direction:column;gap:4px;min-height:104px;padding:7px;transition:background .15s;display:flex}.v-grid.full .v-cell:hover{background:#fafbff}.v-grid.full .v-cell[class*=role-],.v-grid.full .v-cell.plain{background:var(--p);box-shadow:inset 0 3px 0 var(--c)}.v-grid.full .v-cell.conflict{background:repeating-linear-gradient(45deg, var(--blue-pale) 0 6px, var(--coral-pale) 6px 12px)}.v-grid.full .v-num{width:26px;height:26px;color:var(--t,var(--ink));border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.v-grid.full .v-cell.today .v-num{background:var(--ink);color:#fff}.v-grid.full .v-emoji{font-size:14px;top:9px;right:8px}.v-names{gap:3px;min-width:0;display:grid}.v-names span{color:#3f4b63;white-space:nowrap;text-overflow:ellipsis;background:#ffffffb3;border-radius:5px;padding:2px 5px;font-size:11px;line-height:1.3;overflow:hidden}.v-names .more{color:var(--muted);background:0 0;padding:0 5px}@media (width<=1000px){.v-grid.full .v-cell{min-height:86px}}@media (width<=700px){.v-grid.full .v-week{padding:8px 0;font-size:10px}.v-grid.full .v-cell{aspect-ratio:1/1.05;justify-content:flex-start;align-items:center;min-height:0;padding:4px}.v-grid.full .v-num{width:28px;height:28px;font-size:14px}.v-grid.full .v-names{display:none}.v-grid.full .v-emoji{font-size:11px;top:auto;bottom:5px;right:50%;transform:translate(50%)}.v-grid.mini .v-cell{font-size:10px}.v-grid.mini .v-week{font-size:9px}}@media (width<=380px){.v-grid.full .v-emoji{font-size:9px;bottom:2px}.v-grid.mini .v-cell{font-size:12px}}.view{background:var(--bg);min-height:100dvh}.v-header{z-index:20;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);background:#f6f7fbe6;position:sticky;top:0}.v-header-in{align-items:center;gap:12px;max-width:1280px;margin:auto;padding:10px 24px;display:flex}.v-back{flex:none;place-items:center;font-size:16px;text-decoration:none;display:grid}.v-brand{color:var(--ink);letter-spacing:-.6px;align-items:center;gap:9px;margin-right:auto;font:800 18px Manrope,sans-serif;text-decoration:none;display:flex}.v-brand .logo{border-radius:10px;width:30px;height:30px;font-size:15px}.v-switch{background:#e9ecf4;border-radius:11px;padding:3px;display:flex}.v-switch button{color:var(--muted);background:0 0;border:0;border-radius:8px;min-height:34px;padding:7px 16px;font-weight:600}.v-switch button.on{color:var(--ink);background:#fff;box-shadow:0 1px 3px #20294514}.v-edit{color:var(--blue);padding:8px 4px;font-weight:600;text-decoration:none}.v-main{max-width:1280px;padding:22px 24px calc(40px + env(safe-area-inset-bottom));margin:auto}.v-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.v-title-row h1{letter-spacing:-1px;margin:0;font:800 30px Manrope,sans-serif}.v-title-row h1 span{color:var(--muted);font-weight:600}.v-nav{justify-content:flex-end;align-items:center;gap:6px;margin-bottom:6px;display:flex}.v-nav .arrow{min-width:38px;min-height:38px}.v-error{background:var(--coral-pale);color:#9b4f3b;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.v-loading{color:var(--muted);text-align:center;padding:40px 0}.v-empty{color:var(--muted);margin:4px 0;font-size:13px}.v-card{border:1px solid var(--line);background:#fff;border-radius:16px}.v-card h2,.v-next h2{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:0 0 10px;font:700 13px Manrope,sans-serif}.v-today{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:14px;margin-bottom:16px;display:grid}.v-today>*{min-width:0}.v-today-card{--c:#c9cde0;--p:#fff;--t:var(--ink);text-align:left;border:1px solid var(--line);border-left:5px solid var(--c);background:var(--p);color:var(--ink);border-radius:16px;align-content:center;gap:4px;padding:16px 18px;display:grid}.v-today-card small{color:var(--muted);font-size:12px}.v-today-card strong{letter-spacing:-.5px;color:var(--t);font:800 22px Manrope,sans-serif}.v-today-card span{color:#57647b;font-size:13px}.v-today-card.conflict{--c:var(--coral);--p:#fff}.v-next{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px 16px}.v-next .v-events{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.v-legend{color:#57647b;flex-wrap:wrap;gap:6px 16px;margin-bottom:16px;font-size:12px;display:flex}.v-legend span{align-items:center;gap:6px;display:flex}.v-legend i{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.v-legend .conflict i{background:repeating-linear-gradient(45deg, var(--mae-soft) 0 2px, var(--pai-soft) 2px 4px)}.v-year{grid-template-columns:repeat(auto-fill,minmax(min(100%,232px),1fr));gap:14px;display:grid}.v-mini{padding:14px 14px 12px}.v-mini-title{color:var(--ink);background:0 0;border:0;margin-bottom:8px;padding:0 2px;font:700 15px Manrope,sans-serif}.v-mini-title:hover{color:var(--blue)}.v-month-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.v-month-layout>*{min-width:0}.v-month{touch-action:pan-y;padding:6px;overflow:hidden}.v-month-events{max-height:calc(100vh - 96px);margin-top:44px;padding:16px;position:sticky;top:76px;overflow:auto}@media (width<=1000px){.v-month-layout{grid-template-columns:minmax(0,1fr)}.v-month-events{max-height:none;margin-top:0;position:static}}@media (width<=700px){.v-header-in{gap:8px;padding:8px 16px}.v-brand span:last-child{display:none}.v-switch button{padding:7px 14px}.v-main{padding:16px 16px calc(32px + env(safe-area-inset-bottom))}.v-title-row h1{font-size:24px}.v-today{display:none}.v-main{flex-direction:column;display:flex}.v-month-layout,.v-month-col{display:contents}.v-legend{order:1;margin:12px 0 0}.v-month-events{order:2;margin-top:16px;padding:14px}.v-month{padding:4px}.v-year{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v-mini{border-radius:14px;padding:10px 8px 8px}}@media (width<=380px){.v-title-row h1{white-space:nowrap;font-size:21px}.v-nav{gap:4px}.v-year{grid-template-columns:1fr}}.welcome{background:var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.welcome-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(680px,100%);padding:28px;box-shadow:0 14px 60px #2937560f}.welcome-brand{letter-spacing:-.8px;align-items:center;gap:10px;font:800 21px Manrope,sans-serif;display:flex}.welcome-steps{color:#a5adbb;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:22px 0 0;padding:0;font-size:12px;font-weight:600;list-style:none;display:flex}.welcome-steps li{align-items:center;gap:7px;display:flex}.welcome-step-dot{border:1.5px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.welcome-steps li.done{color:var(--green)}.welcome-steps li.now{color:var(--blue)}.welcome-steps li.now .welcome-step-dot{color:#fff;background:var(--blue);border-color:var(--blue)}.welcome-card h1{letter-spacing:-.6px;margin:24px 0 0;font:700 24px Manrope,sans-serif}.welcome-lead{color:var(--muted);margin:6px 0 18px;font-size:13px;line-height:1.5}.welcome-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;margin-top:24px;padding-top:18px;display:flex}.welcome-skip{color:#8a94a8;cursor:pointer;font:inherit;background:0 0;border:0;margin-right:auto;padding:8px 4px;font-size:13px}.welcome-skip:hover{color:var(--ink)}:root{--ink:#202b45;--muted:#73809a;--line:#e6eaf1;--blue:#5364dc;--blue-pale:#eef0ff;--coral:#e78a71;--coral-pale:#fff1ec;--paper:#fff;--bg:#f6f7fb;--green:#548a72;--mae-soft:#c7cdf5;--mae-ink:#3b47a8;--pai-soft:#f6d0c4;--pai-ink:#a85a43;--other-soft:#cfe3d8;--other-ink:#3f6d58;--red:#c8473a}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input{font:inherit}button{cursor:pointer}.btn{border:1px solid var(--line);color:#526078;background:#fff;border-radius:10px;padding:9px 13px;font-size:12px;font-weight:600}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 10px #5364dc30}.btn.danger{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 10px #c8473a30}.arrow{border:1px solid var(--line);color:#66738a;background:#fff;border-radius:8px;width:32px;height:32px}.logo{color:#fff;background:linear-gradient(145deg,#7482f2,#4d5ed5);border-radius:12px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.mae{background:var(--mae-soft)}.dot.pai{background:var(--pai-soft)}.dot.conflict-dot{background:repeating-linear-gradient(45deg, var(--mae-soft) 0 2px, var(--pai-soft) 2px 4px)}.dot.event-only-dot{background:#c9cde0}.dot.preview-dot{border:1.5px dashed var(--ink);box-sizing:border-box;background:#fff}.progress-bar{background:var(--blue-pale);border-radius:5px;height:5px;margin-top:9px;overflow:hidden}.progress-bar i{background:var(--blue);border-radius:5px;height:100%;transition:width .6s;display:block}.progress-bar.indeterminate{position:relative}.progress-bar.indeterminate i{animation:1.2s ease-in-out infinite progress-slide;position:absolute;width:35%!important}@keyframes progress-slide{0%{left:-35%}to{left:100%}}
