:root{--color-primary:#3157d5;--color-event:#245cc4;--color-time-block:#167566;--color-warning:#94600a;--color-destructive:#b33a38;--color-accent:#167566;--color-background:#f6f8fc;--color-foreground:#19263b;--color-muted:#eef3fb;--color-border:#dce5f2;--focus-ring:#3157d5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;color:var(--color-foreground);background:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html{overflow-x:hidden}body{background:radial-gradient(circle at top left, #3157d512, transparent 38rem), var(--color-background);min-width:320px;min-height:100vh;margin:0}.site-filing{padding:16px 16px calc(88px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);color:#526076;text-align:center;font-size:.85rem}.site-filing a{color:inherit;text-underline-offset:3px}@media (width>=900px){.site-filing{padding-bottom:24px}}a{color:inherit}a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:8px}input,select,textarea,button{font:inherit}button,a{touch-action:manipulation}input,select,textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;min-height:44px;padding:9px 11px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;border-color:#2563eb;outline:3px solid #2563eb2e}input[type=checkbox]{accent-color:#2563eb;width:20px;min-height:20px}input:disabled{color:#64748b;background:#f1f5f9}button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#2563eb;border:0;border-radius:10px;padding:0 18px;font-weight:650;transition:background-color .18s ease-out,opacity .18s ease-out}button:hover:not(:disabled){background:#1d4ed8}button:active:not(:disabled){opacity:.82}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible{outline-offset:3px;outline:3px solid #9bb6ff}.shell{min-height:100vh;padding:clamp(18px,4vw,48px)}.card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;width:min(100%,980px);margin:0 auto;padding:clamp(20px,4vw,42px);box-shadow:0 20px 60px #2739581a}.page-header{gap:18px;width:min(100%,980px);margin:0 auto 20px;display:grid}.eyebrow{color:#2457d6;letter-spacing:.08em;margin:0 0 10px;font-size:.82rem;font-weight:750}h1{margin:0;font-size:clamp(2rem,8vw,3.5rem);line-height:1.05}h2{margin:0;font-size:clamp(1.55rem,5vw,2.25rem);line-height:1.15}.intro{color:#526076;margin:14px 0 0;line-height:1.7}.status{color:#526076;background:#f3f6fb;border-radius:16px;min-height:80px;padding:18px}.settings-card{box-shadow:0 24px 70px #1e293b14}.task-card{margin-bottom:20px}.task-panel{gap:16px;margin-top:24px;display:grid}.quick-add{gap:10px;display:grid}.quick-add label{min-width:0}.task-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.task-item{border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:56px 1fr;align-items:start;gap:12px;padding:14px;display:grid}.task-item p{color:#64748b;margin:5px 0 0;font-size:.9rem}.task-check{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:50%;min-width:52px;padding:0 8px;font-size:.82rem}.task-check:hover:not(:disabled){background:#dbeafe}.danger-text{color:#b91c1c;font-weight:700}.empty-state{color:#526076;background:#f8fafc;border-radius:14px;margin:0;padding:18px}.section-heading{border-bottom:1px solid #e2e8f0;padding-bottom:24px}.section-heading>p:last-child{color:#526076;margin:10px 0 0;line-height:1.6}.settings-form{gap:22px;margin-top:24px;display:grid}.provider-settings{background:#f8fafc;border:1px solid #dbe4f4;border-radius:16px;gap:18px;margin-top:24px;padding:20px;display:grid}.provider-settings h2,.provider-settings p{margin-top:0}.provider-form,.provider-tests{gap:16px;display:grid}.provider-tests>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.provider-test{color:#526076;font-size:.86rem}.provider-test--ok{color:#047857}.provider-test--failed{color:#b91c1c}fieldset{border:1px solid #e2e8f0;border-radius:16px;min-width:0;margin:0;padding:20px}legend{padding:0 8px;font-size:1.04rem;font-weight:750}label>span:first-child{color:#334155;margin-bottom:7px;font-size:.9rem;font-weight:650;display:block}.field-note,.browser-hint{color:#64748b;margin:0 0 16px;font-size:.9rem;line-height:1.55}.browser-hint{margin:12px 0 0}.field-grid{gap:16px;display:grid}.check-row{color:#334155;align-items:center;gap:10px;min-height:44px;display:flex}.check-row>input{flex:none}.confirmation{background:#eff6ff;border:1px solid #93c5fd;border-radius:16px;gap:14px;padding:18px;display:grid}.confirmation p{color:#334155;margin:6px 0 0;line-height:1.55}.weekday-list,.choice-stack{gap:10px;display:grid}.weekday-row{grid-template-columns:minmax(76px,1fr) minmax(96px,1fr) auto minmax(96px,1fr);align-items:center;gap:8px;display:grid}.weekday-toggle{font-weight:650}.full-row{margin-bottom:12px}.form-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.feedback{color:#166534;margin:0;line-height:1.5}.feedback--error,.panel-state--error{color:#b91c1c}.sync-state{color:#526076;margin:0 0 12px;font-size:.88rem}.sync-state--offline,.sync-state--error,.conflict-note{color:#b45309}.task-copy{min-width:0}.text-button{color:#1d4ed8;background:0 0;border:0;min-height:44px;margin-left:10px;padding:3px 8px}.task-edit{gap:8px;display:grid}.task-edit__actions{flex-wrap:wrap;gap:8px;display:flex}.button-secondary{color:#334155;background:#fff;border-color:#cbd5e1}.button-secondary:hover:not(:disabled){background:var(--color-muted);color:#334155}.conflict-note{margin:0;font-size:.9rem}.panel-state{color:#526076;margin:24px 0 0}.panel-state--notice{color:#713f12;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;gap:6px;padding:18px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=720px){.page-header{grid-template-columns:1fr 300px;align-items:end}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.confirmation{grid-template-columns:1fr auto;align-items:center}.quick-add{grid-template-columns:1fr auto;align-items:end}}@media (width<=480px){fieldset{padding:16px}.weekday-row{grid-template-columns:1fr 1fr}.weekday-toggle{grid-column:1/-1}.weekday-row>span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-icon{flex:none;width:24px;height:24px}.skip-link{z-index:100;color:#fff;background:#0f172a;border-radius:8px;padding:10px 14px;transition:transform .18s ease-out;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-width:0;min-height:100dvh}.sidebar{display:none}.workspace{width:100%;min-width:0;padding:calc(20px + env(safe-area-inset-top)) 16px calc(112px + env(safe-area-inset-bottom))}.topbar{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;width:min(100%,1040px);margin:0 auto 18px;display:grid}.topbar-copy{min-width:0}.topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notice-action{background:var(--color-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.notice-action:hover{background:#2445bb}.create-menu{position:relative}.create-menu summary{border:1px solid var(--color-border);min-height:48px;color:var(--color-foreground);cursor:pointer;background:#fff;border-radius:12px;align-items:center;padding:0 16px;font-weight:650;display:flex}.create-menu summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.create-menu__items{z-index:40;border:1px solid var(--color-border);background:#fff;border-radius:14px;width:min(280px,100vw - 32px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #19263b29}.create-menu__items a,.sidebar-secondary a{min-height:44px;color:var(--color-foreground);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.create-menu__items a:hover,.sidebar-secondary a:hover,.sidebar-secondary a[aria-current=page]{background:var(--color-muted);color:var(--color-primary)}.sidebar-secondary{border-top:1px solid var(--color-border);gap:4px;margin-top:28px;padding-top:18px;display:grid}.sidebar-secondary>span{color:#526076;padding:0 12px 6px;font-size:.78rem;font-weight:700}.sidebar-secondary .app-icon{width:20px;height:20px}.topbar h1,.auth-card h1{font-size:clamp(1.8rem,8vw,2.7rem)}.topbar .intro{max-width:680px;margin-top:10px}.page-card{border:1px solid var(--color-border);background:#fff;border-radius:20px;width:min(100%,1040px);min-width:0;margin:0 auto;padding:clamp(18px,4vw,36px);box-shadow:0 18px 50px #27395814}.icon-button{color:#334155;background:#fff;border:1px solid #dbe4f4;border-radius:14px;place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;text-decoration:none;transition:color .18s ease-out,background-color .18s ease-out,border-color .18s ease-out;display:inline-grid}.icon-button:hover:not(:disabled),a.icon-button:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.mobile-nav{z-index:20;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #dbe4f4;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0f172a14}.mobile-nav a,.side-nav a{color:#64748b;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:54px;font-size:.76rem;font-weight:650;text-decoration:none;transition:color .18s ease-out,background-color .18s ease-out;display:flex}.mobile-nav a{flex-direction:column}.mobile-nav a[aria-current=page],.side-nav a[aria-current=page]{color:#1d4ed8;background:#eff6ff}.mobile-nav a:focus,.side-nav a:focus,.sidebar-secondary a:focus{outline:3px solid var(--focus-ring);outline-offset:2px}@media (width<=899px){.topbar-actions .icon-button{width:44px;min-width:44px;height:44px;min-height:44px}}@media (width>=900px){.topbar{grid-template-columns:minmax(0,1fr) auto}.topbar-actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.notice-action,.create-menu summary,.create-menu__items a,.sidebar-secondary a{transition:none;animation:none}}.state-panel{color:#334155;background:#f8fafc;border:1px dashed #bfcee6;border-radius:18px;align-content:center;justify-items:start;gap:16px;min-height:220px;padding:clamp(22px,5vw,42px);display:grid}.state-panel h2,.state-panel p{margin:0}.state-panel h2{font-size:1.35rem}.state-panel p{color:#526076;max-width:620px;margin-top:8px;line-height:1.65}.state-panel--error{background:#fff7f7;border-style:solid;border-color:#fecaca}.state-panel--notice{background:#fffbeb;border-style:solid;border-color:#fde68a}.state-spinner{border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.action-link{color:#fff;background:#2563eb;border-radius:10px;align-items:center;min-height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.boot-shell,.auth-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.boot-shell .state-panel,.auth-card{width:min(100%,500px)}.auth-card{border:1px solid var(--color-border);background:#fff;border-radius:22px;padding:clamp(26px,6vw,44px);box-shadow:0 24px 70px #1e293b1a}.brand-mark{color:#fff;background:#2563eb;border-radius:13px;place-items:center;width:44px;height:44px;margin-bottom:20px;font-size:1.2rem;font-weight:800;display:grid}.login-form{gap:16px;margin-top:28px;display:grid}.task-item,.task-copy,.task-edit,.settings-form,fieldset{min-width:0;max-width:100%}@media (width>=900px){.app-shell{grid-template-columns:240px minmax(0,1fr);display:grid}.sidebar{background:#ffffffeb;border-right:1px solid #dbe4f4;flex-direction:column;min-height:100vh;max-height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.brand{color:#0f172a;align-items:center;gap:12px;text-decoration:none;display:flex}.brand .brand-mark{flex:none;margin:0}.brand strong,.brand small{display:block}.brand small{color:#64748b;margin-top:3px;font-size:.72rem}.side-nav{gap:6px;margin-top:42px;display:grid}.side-nav a{justify-content:flex-start;gap:12px;padding:0 14px;font-size:.96rem}.sidebar-footer{color:#526076;overflow-wrap:anywhere;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:18px;display:flex}.workspace{padding:42px clamp(28px,5vw,72px) 64px}.mobile-nav{display:none}}.dashboard{gap:20px;display:grid}.dashboard-meta{color:#526076;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:.9rem;display:flex}.dashboard-meta .sync-state{margin:0}.dashboard-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dashboard-counts a{border:1px solid var(--color-border);min-width:0;min-height:56px;color:var(--color-foreground);background:#fff;border-radius:12px;justify-content:space-between;align-items:baseline;gap:6px;padding:10px 14px;text-decoration:none;display:flex}.dashboard-counts a:hover{border-color:var(--color-primary);background:#f2f6ff}.dashboard-counts strong{color:var(--color-primary);font-size:1.35rem}.dashboard-counts span{font-size:.86rem;font-weight:650}.dashboard-inline-link,.dashboard-section__heading a,.dashboard-task__title{color:#2445bb;font-weight:700;text-decoration:none}.dashboard-inline-link:hover,.dashboard-section__heading a:hover,.dashboard-task__title:hover{text-decoration:underline}.dashboard-inline-link{align-items:center;min-height:44px;margin-top:8px;display:inline-flex}.dashboard-section__heading a{font-size:.84rem}.dashboard-review{color:#6d4507;background:#fff9e9;border:1px solid #e7c66b;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:12px 18px;text-decoration:none;display:flex}.dashboard-review:hover{border-color:#94600a}.task-view-filters{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.task-view-filters a{border:1px solid var(--color-border);min-height:44px;color:var(--color-foreground);border-radius:10px;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.task-view-filters a[aria-current=page]{border-color:var(--color-primary);background:var(--color-muted);color:var(--color-primary);font-weight:700}.task-item--target{outline:3px solid var(--focus-ring);outline-offset:2px}.task-ledger-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.task-ledger-heading__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-panel>.task-ledger-heading{order:-3}.task-panel>.task-view-filters{order:-2}.task-panel>.task-filter-panel{order:-1}.task-ledger-heading h2{margin:4px 0 6px}.task-ledger-heading p:last-child{color:var(--color-muted-foreground,#475569);margin:0}.task-title-link{color:var(--color-foreground);font-weight:700;line-height:1.45;text-decoration:none;display:inline-block}.task-title-link:hover{color:var(--color-primary);text-decoration:underline}.task-item__meta{font-size:.82rem!important}.task-filter-panel{border:1px solid var(--color-border);background:var(--color-surface,#fff);border-radius:12px}.task-filter-panel summary{cursor:pointer;min-height:44px;color:var(--color-primary);padding:11px 14px;font-weight:700}.task-filter-panel__body{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:4px 14px 14px;display:grid}.task-filter-panel__body label{gap:5px;min-width:0;font-size:.86rem;display:grid}.task-filter-panel__body input,.task-filter-panel__body select{width:100%;min-height:44px}.task-detail{gap:18px;min-width:0;margin-top:20px;display:grid}.task-detail__back{width:fit-content}.task-detail__header{justify-content:space-between;align-items:start;gap:16px;display:flex}.task-detail__header h2{overflow-wrap:anywhere;margin:4px 0}.task-state-pill{border:1px solid var(--color-border);background:var(--color-muted,#eff6ff);white-space:nowrap;border-radius:100px;padding:7px 12px}.task-detail__grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:16px;display:grid}.task-detail__main,.task-detail__side{align-content:start;gap:16px;min-width:0;display:grid}.task-detail__section{border:1px solid var(--color-border);background:var(--color-surface,#fff);border-radius:16px;min-width:0;padding:20px}.task-detail__section h3{margin:0 0 12px}.task-detail__section p{line-height:1.55}.task-detail__section ul{margin:0;padding-left:21px}.task-detail__section li{margin:8px 0}.task-detail__facts{gap:10px;margin:0;display:grid}.task-detail__facts>div{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:16px;padding-bottom:9px;display:flex}.task-detail__facts dt{color:var(--color-muted-foreground,#475569)}.task-detail__facts dd{text-align:right;overflow-wrap:anywhere;margin:0}.task-detail__warning{color:#92400e;background:#fffbeb;border-left:3px solid #d97706;padding:11px 13px}.task-detail__edit{gap:12px;margin-top:16px;display:grid}.task-detail__edit label{gap:5px;display:grid}.task-detail__edit input,.task-detail__edit textarea{width:100%}.task-detail__conflict{background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;padding:12px}.task-detail__conflict p{margin:6px 0}.task-detail__actions{border:1px solid var(--color-border);background:var(--color-surface,#fff);border-radius:12px;justify-content:end;padding:12px;display:flex}@media (width<=800px){.task-detail__grid{grid-template-columns:minmax(0,1fr)}.task-filter-panel__body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.task-ledger-heading{flex-direction:column;align-items:start}.task-view-filters{flex-wrap:nowrap;margin-inline:-4px;padding:4px;overflow-x:auto}.task-view-filters a{white-space:nowrap}.task-filter-panel__body{grid-template-columns:minmax(0,1fr)}.task-detail__header{flex-wrap:wrap}.task-detail__section{padding:16px}.task-detail__facts>div{gap:3px;display:grid}.task-detail__facts dd{text-align:left}.task-detail__actions{bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:2;position:sticky}}.next-card{background:linear-gradient(135deg,#eff6ff,#f8fafc 68%);border:1px solid #bfdbfe;border-radius:18px;padding:clamp(22px,5vw,34px)}.next-card--all_day_busy,.next-card--waiting{background:linear-gradient(135deg,#fffbeb,#fff 72%);border-color:#fde68a}.next-card h2,.next-card p{margin:0}.next-card h2{font-size:clamp(1.4rem,5vw,2rem)}.next-card>p:last-child{color:#526076;margin-top:9px;line-height:1.6}.dashboard-grid,.dashboard-sections{gap:16px;display:grid}.dashboard-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-width:0;padding:18px}.dashboard-section__heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-section__heading h2{font-size:1.08rem}.dashboard-section__heading span{color:#64748b;flex:none;font-size:.84rem}.timeline-list,.priority-list,.dashboard-task-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline-item{border-bottom:1px solid #edf2f7;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.timeline-item:last-child{border-bottom:0}.timeline-item time{color:#1d4ed8;font-weight:750}.timeline-item--time_block time{color:#047857}.timeline-item p,.priority-list p,.dashboard-task p,.inline-empty{color:#64748b;margin:5px 0 0;font-size:.9rem;line-height:1.5}.priority-list li{border-bottom:1px solid var(--color-border);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.priority-list li:last-child{border-bottom:0}.priority-list .task-check{min-width:52px;min-height:44px}.priority-list li>span{color:#1d4ed8;background:#eff6ff;border-radius:9px;place-items:center;width:28px;height:28px;font-size:.82rem;font-weight:800;display:grid}.dashboard-task{border:1px solid #edf2f7;border-radius:14px;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px;display:grid}.dashboard-task .task-reason{color:#9a6700}.completed-panel{border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px}.completed-panel summary{cursor:pointer;min-height:44px;padding:11px 0;font-weight:700}.completed-panel p,.completed-panel ul{color:#526076;margin:10px 0 0}.completed-panel li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.completed-panel li a{color:var(--color-foreground)}.completed-panel li button{min-height:44px}@media (width<=759px){.dashboard-priorities{order:-1}}@media (width>=760px){.dashboard-counts{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid,.dashboard-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}.calendar-page{gap:18px;min-width:0;display:grid}.calendar-toolbar,.calendar-legend{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.calendar-toolbar{justify-content:space-between}.calendar-page__quick-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-mobile-modes{background:var(--color-muted);border-radius:12px;gap:6px;padding:4px;display:flex}.calendar-mobile-modes button{min-height:44px;color:var(--color-foreground);background:0 0;border:0;border-radius:9px;flex:1}.calendar-mobile-modes button[aria-pressed=true]{color:var(--color-primary);background:#fff;font-weight:700;box-shadow:0 1px 4px #1e293b17}.calendar-agenda{gap:18px;display:grid}.calendar-agenda__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-agenda__heading h2{margin:3px 0}.calendar-agenda__week{grid-template-columns:32px repeat(7,minmax(0,1fr)) 32px;gap:3px;display:grid}.calendar-agenda__week button{border:1px solid var(--color-border);min-width:0;min-height:52px;color:var(--color-foreground);background:#fff;border-radius:9px;place-items:center;gap:2px;padding:3px 0;display:grid}.calendar-agenda__week button.is-selected{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.calendar-agenda__week span{font-size:.72rem}.calendar-agenda__section{border:1px solid var(--color-border);background:#fff;border-radius:15px;min-width:0;padding:16px}.calendar-agenda__section h3{margin:0 0 12px}.calendar-agenda__section ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.calendar-agenda__item{border:1px solid var(--color-border);border-left-width:4px;border-radius:11px}.calendar-agenda__item--event{border-left-color:var(--color-event)}.calendar-agenda__item--time_block{border-left-color:var(--color-time-block)}.calendar-agenda__item--deadline{border-left-color:var(--color-destructive)}.calendar-agenda__item button,.calendar-agenda__item a{width:100%;min-height:56px;color:var(--color-foreground);text-align:left;background:0 0;border:0;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;text-decoration:none;display:grid}.calendar-agenda__time{color:#334155;font-size:.86rem;font-weight:700}.calendar-agenda__item strong,.calendar-agenda__item small{overflow-wrap:anywhere;display:block}.calendar-agenda__item small{color:#475569;margin-top:3px}.calendar-agenda__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.course-exception,.course-exception__form,.course-preview{border:1px solid var(--color-border);background:#fff;border-radius:12px;gap:10px;padding:13px;display:grid}.course-exception__form{background:var(--color-muted)}.course-import form{gap:12px;display:grid}.calendar-entry-detail{scroll-margin-top:16px}.calendar-toolbar .sync-state{margin:0}.calendar-legend span{border-radius:8px;align-items:center;min-height:28px;padding:3px 9px;font-size:.82rem;font-weight:700;display:inline-flex}.legend-event,.calendar-entry--event{color:#1746a2!important;background:#dbeafe!important;border-color:#93c5fd!important}.legend-block,.calendar-entry--time-block{color:#047857!important;background:#d1fae5!important;border-color:#6ee7b7!important}.legend-deadline,.calendar-entry--deadline{color:#b91c1c!important;background:#fee2e2!important;border-color:#fca5a5!important}.calendar-editor{background:#f8fafc;border:1px solid #dbe4f4;border-radius:16px;gap:16px;padding:20px;display:grid}.calendar-editor h2,.calendar-editor p{margin:0}.schedule-preview{background:#fff;border:1px solid #b8cdf0;border-radius:1rem;gap:1rem;padding:1rem;display:grid}.schedule-preview__heading,.schedule-preview__footer,.schedule-preview__columns{justify-content:space-between;gap:1rem;display:flex}.schedule-preview__heading h3{margin:0}.schedule-preview__status{color:#1d4ed8;font-weight:700}.schedule-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.schedule-metrics>div{background:#eef5ff;border-radius:.75rem;gap:.2rem;padding:.8rem;display:grid}.schedule-metrics span{color:#475569}.schedule-metrics strong{color:#10254c;font-size:1.25rem}.schedule-preview__columns>*{flex:50%;min-width:0}.schedule-preview__columns h4,.schedule-notice-group h4{margin:0 0 .7rem}.schedule-preview__notices{align-content:start;gap:1rem;display:grid}.schedule-notice-group{gap:.5rem;display:grid}.schedule-rules{border:1px solid var(--color-border);border-radius:.7rem;padding:.7rem .9rem}.schedule-rules summary{cursor:pointer;font-weight:700}.schedule-rules p{margin-top:.5rem}.schedule-conflict{background:#fffbeb;border:1px solid #f59e0b;border-radius:.8rem;padding:1rem}.schedule-conflict p{margin:.5rem 0}.schedule-preview__footer{flex-wrap:wrap;align-items:center}.schedule-preview__footer .form-actions{margin-left:auto}.schedule-notice__kind{color:#92400e;margin-left:.5rem;font-size:.85rem}@media (width<=760px){.schedule-preview__columns{flex-direction:column}.schedule-metrics{gap:.4rem}.schedule-metrics>div{padding:.6rem}.schedule-metrics strong{font-size:1rem}.schedule-preview__footer .form-actions{width:100%;margin-left:0}.schedule-preview__footer .form-actions button{flex:1}}.schedule-suggestion{border:1px solid var(--color-border);background:var(--color-muted);border-radius:.8rem;align-items:center;gap:.75rem;min-height:3.4rem;padding:.7rem .8rem;display:flex}.schedule-suggestion span{gap:.2rem;display:grid}.schedule-suggestion small,.schedule-notice{color:#64748b}.channel-card{border:1px solid var(--color-border);background:var(--color-muted);border-radius:12px;gap:.8rem;padding:1rem;display:grid}.settings-directory{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem;margin-bottom:1.2rem;display:grid}.settings-directory button{border:1px solid var(--color-border);min-height:72px;color:var(--color-foreground);text-align:left;background:#fff;border-radius:.85rem;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .6rem;padding:.9rem 1rem;display:grid}.settings-directory button:hover{background:#f8fbff;border-color:#93c5fd}.settings-directory strong{font-size:1rem}.settings-directory small{color:#526076}.settings-directory button>span{color:#2563eb;grid-area:1/2/3;align-self:center;font-size:1.4rem}.settings-anchor,#settings-general,#settings-model,#settings-health{scroll-margin-top:1rem}.channel-card__heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.channel-card__heading h3{margin:0}.channel-card__heading span{color:#475569;font-size:.9rem}.channel-test-result,.subscription-confirm{background:#fff;border:1px solid #dbe4f4;border-radius:.75rem;padding:.9rem}.channel-test-result p,.subscription-confirm p{margin:.4rem 0}.health-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;display:grid}.health-facts>div{background:#f0f6ff;border-radius:.75rem;gap:.2rem;padding:.85rem;display:grid}.health-facts span,.health-facts small{color:#526076}.notification-filters{flex-wrap:wrap;gap:.5rem;display:flex}.notification-filters button{border:1px solid var(--color-border);min-height:44px;color:var(--color-foreground);background:#fff;border-radius:999px;padding:.5rem .9rem}.notification-filters button[aria-pressed=true]{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.notification-list{gap:.7rem;display:grid}.notification-row{border:1px solid var(--color-border);border-radius:.8rem;padding:.9rem}.notification-row>div:first-child{flex-wrap:wrap;justify-content:space-between;gap:.4rem;display:flex}.notification-row>div:first-child span{color:#526076}.notification-row p{margin:.5rem 0}.task-detail__compare{grid-template-columns:minmax(90px,.7fr) repeat(2,minmax(0,1.2fr));gap:.5rem;margin:.8rem 0;display:grid}.task-detail__compare>span{color:#526076;font-size:.85rem;font-weight:700}.task-detail__compare-row{display:contents}.task-detail__compare-row>*{overflow-wrap:anywhere;background:#fff;border-radius:.4rem;min-width:0;padding:.5rem}@media (width<=560px){.task-detail__compare{grid-template-columns:repeat(2,minmax(0,1fr))}.task-detail__compare>span{display:none}.task-detail__compare-row>strong{grid-column:1/-1}}.schedule-notice{border-left:3px solid #d97706;padding-left:.8rem}.fc{min-width:0;font-size:.88rem}.fc .fc-toolbar{align-items:center;gap:8px}.fc .fc-toolbar-title{font-size:1.05rem}.fc .fc-button{color:#334155;min-height:38px;box-shadow:none;background:#fff;border-color:#cbd5e1;padding:6px 10px}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;background:#2563eb;border-color:#2563eb}.fc .fc-event{cursor:pointer}@media (width<=759px){.fc .fc-toolbar{grid-template-columns:1fr auto;display:grid}.fc .fc-toolbar-chunk:nth-child(2){grid-area:1/1/auto/-1}.fc .fc-toolbar-chunk:last-child{justify-self:end}.fc .fc-scrollgrid,.fc .fc-timegrid-body,.fc .fc-timegrid-cols table,.fc .fc-timegrid-slots table{width:100%!important}}.export-actions{flex-wrap:wrap}.backup-health{border:1px solid var(--color-border);background:var(--color-muted);border-radius:14px;margin-top:1rem;padding:.9rem 1rem}.backup-health p{margin:.35rem 0}.connection-banner{z-index:1000;color:#50370b;background:#fff7df;border:1px solid #d19b38;border-radius:.85rem;gap:.35rem;width:min(92vw,760px);padding:.8rem 1rem;display:grid;position:fixed;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #1e2d5029}.connection-banner button{margin-left:.45rem}.connection-banner--offline{color:#682c18;background:#fff0e9;border-color:#cc704f}.offline-shell{align-items:stretch;gap:1rem;max-width:780px;margin:0 auto;padding:4.5rem 1rem 2rem}.text-draft-center form{gap:1rem;display:grid}.draft-list{border-top:1px solid var(--line);gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:grid}.draft-card{background:#fffaf0;border:1px solid #d9b45e;border-radius:.8rem;gap:.55rem;padding:.85rem;display:grid}.draft-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.actions-page,.action-compose,.action-answer{gap:1rem;display:grid}.course-import summary{cursor:pointer;font-weight:750}.course-import form,.csv-import{gap:.8rem;margin-top:1rem;display:grid}.csv-import{border-top:1px solid #dbe3ec;padding-top:1rem}.action-compose,.action-answer{background:#f8fafc;border:1px solid #dbe3ec;border-radius:.9rem;padding:1rem}.action-answer h3,.action-answer p{margin:0}.action-answer--rejected{background:#fffbeb;border-color:#f2c46d}.action-answer ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.action-answer li{background:#fff;border-radius:.7rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;display:grid}.action-answer li div,.action-answer li small{gap:.25rem;display:grid}@media (width<=600px){.action-answer li{grid-template-columns:1fr}}.status p{margin:0}.status p+p,.status p+button{margin-top:8px}.status--ready{color:#1b6333;background:#eefaf1;border:1px solid #b7e0c3}.status--error{color:#8d2e27;background:#fff5f4;border:1px solid #f1c0bd}.status__title{color:inherit;font-weight:750}.inbox-page,.inbox-compose,.inbox-detail,.inbox-retry{gap:16px;display:grid}.inbox-page:not(.inbox-page--compose) .inbox-toolbar{order:0}.inbox-page:not(.inbox-page--compose) .inbox-ledger{order:1}.inbox-page:not(.inbox-page--compose) .inbox-detail{order:2}.inbox-page:not(.inbox-page--compose) .inbox-compose-links{order:3}.inbox-page:not(.inbox-page--compose) .text-draft-center{order:4}.inbox-page:not(.inbox-page--compose) .image-compose{order:5}.inbox-compose-links,.inbox-view-filters{flex-wrap:wrap;gap:8px;display:flex}.inbox-compose-links a,.inbox-view-filters button{border:1px solid var(--color-border);min-height:44px;color:var(--color-foreground);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:8px 14px;font-size:.9rem;font-weight:650;text-decoration:none;display:inline-flex}.inbox-compose-links a:hover,.inbox-view-filters button:hover{border-color:var(--color-primary);background:var(--color-muted)}.inbox-view-filters button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.inbox-view-filters button span{margin-left:6px;font-size:.78rem}.inbox-ledger{gap:16px;min-width:0;padding-top:8px;display:grid}.inbox-list-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px;display:flex}.inbox-list-head h2{margin:0;font-size:1.35rem}.inbox-list-head>span{color:#526076;font-size:.9rem}.inbox-search{align-items:end;gap:8px;display:flex}.inbox-search label{flex:1;min-width:0}.inbox-search label span,.inbox-list-options label span{margin-bottom:6px;font-size:.88rem;font-weight:650;display:block}.inbox-search button{flex:none}.inbox-list-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inbox-item__title{overflow-wrap:anywhere;line-height:1.5}.inbox-item__summary{color:#526076;line-height:1.55}.inbox-item>button{justify-self:start}@media (width<=480px){.inbox-list-options{grid-template-columns:1fr}.inbox-search{flex-direction:column;align-items:stretch}}.inbox-toolbar,.inbox-detail__heading,.inbox-item__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.inbox-toolbar h2,.inbox-toolbar p,.inbox-detail h2,.inbox-detail p,.inbox-item p{margin:0}.inbox-compose,.inbox-detail{background:#f8fafc;border:1px solid #dbe4f4;border-radius:16px;padding:20px}.inbox-compose textarea,.inbox-retry textarea{resize:vertical;min-height:140px}.inbox-compose h3{margin:0;font-size:1.12rem}.image-picker{background:#fff;border:1px solid #bfdbfe;border-radius:14px;padding:14px;display:block}.paste-zone{color:#1e40af;text-align:center;background:#eff6ff;border:1px dashed #93c5fd;border-radius:12px;min-height:56px;padding:16px}.paste-zone:focus-visible{outline-offset:2px;outline:3px solid #9bb6ff}.image-preview-list,.stored-image-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.image-preview,.stored-image{background:#fff;border:1px solid #dbe4f4;border-radius:12px;min-width:0;padding:10px}.image-preview img,.stored-image img{object-fit:contain;background:#f1f5f9;border-radius:8px;width:100%;height:128px;display:block}.image-preview div{gap:7px;margin-top:9px;display:grid}.image-preview strong,.image-preview small,.stored-image span{overflow-wrap:anywhere}.image-preview small,.stored-image span{color:#64748b;font-size:.78rem}.stored-image{gap:8px;text-decoration:none;display:grid}.stored-image:hover{border-color:#93c5fd}.stored-image-grid--detail .stored-image img{height:min(52vh,420px)}.inbox-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.inbox-item{background:#fff;border:1px solid #dbe4f4;border-radius:14px;gap:12px;padding:18px;display:grid}.inbox-item__heading small{color:#64748b}.status-chip{color:#334155;background:#e2e8f0;border-radius:999px;align-items:center;min-height:28px;padding:3px 9px;font-size:.82rem;font-weight:700;display:inline-flex}.status-chip--queued,.status-chip--processing{color:#1d4ed8;background:#dbeafe}.status-chip--failed{color:#b91c1c;background:#fee2e2}.status-chip--applied,.status-chip--partial{color:#047857;background:#d1fae5}.apply-receipt{border:1px solid var(--color-border);background:var(--color-muted);border-radius:.9rem;margin-top:1rem;padding:1rem}.apply-receipt h3,.apply-receipt p{margin-top:0}.apply-receipt ul{margin-bottom:0;padding-left:1.2rem}.duplicate-review{background:#fffbeb;border:1px solid #f2c46d;border-radius:.9rem;margin-top:1rem;padding:1rem}.duplicate-review h3,.duplicate-review p{margin-top:0}.duplicate-review article+article{border-top:1px solid #f2c46d;margin-top:.8rem;padding-top:.8rem}.candidate-review{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.9rem;gap:.9rem;margin-top:1rem;padding:1rem;display:grid}.candidate-review article{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1rem;display:grid}.candidate-review__source span{color:#64748b;font-size:.8rem}.candidate-review blockquote{white-space:pre-wrap;background:#fff;border-left:3px solid #2563eb;margin:.45rem 0 0;padding:.8rem}.candidate-review__fields,.amendment-match{gap:.7rem;display:grid}.amendment-match{grid-template-columns:1fr auto;align-items:center;margin-top:.6rem}@media (width<=700px){.candidate-review article,.amendment-match{grid-template-columns:1fr}}.inbox-meta{gap:6px;margin:0;display:grid}.inbox-meta div{grid-template-columns:84px 1fr;gap:10px;display:grid}.inbox-meta dt{color:#64748b}.inbox-meta dd{margin:0}.inbox-detail pre{overflow-wrap:anywhere;white-space:pre-wrap;color:#0f172a;font:inherit;background:#fff;border-radius:12px;margin:0;padding:16px}@media (width<=759px){.inbox-toolbar{display:grid}.inbox-toolbar .sync-state{justify-self:start}}.classroom-page{gap:var(--space-6);max-width:1220px;margin:0 auto;display:grid}.classroom-page__header{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.classroom-page h2,.classroom-page h3{margin:0 0 var(--space-2)}.classroom-page p{overflow-wrap:anywhere}.classroom-panel{align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-6);border:1px solid var(--color-border);background:#fff;border-radius:16px;display:grid}.classroom-panel label,.classroom-voice section label{gap:var(--space-2);min-width:0;display:grid}.classroom-panel textarea{resize:vertical;min-height:120px}.classroom-inline{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.classroom-layout{gap:var(--space-4);grid-template-columns:minmax(0,.86fr) minmax(0,1fr);align-items:start;display:grid}.classroom-subject-list,.classroom-question-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.classroom-subject-list li{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:10px;flex-wrap:wrap;display:flex}.classroom-filters{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.classroom-panel .classroom-trash-toggle{align-items:center;gap:var(--space-2);min-height:44px;margin-bottom:var(--space-2);cursor:pointer;display:inline-flex}.classroom-panel .classroom-trash-toggle input{flex:0 0 20px}.classroom-question-list button{gap:var(--space-2);width:100%;padding:var(--space-4);text-align:left;min-height:88px;color:var(--color-foreground);background:var(--color-muted);border:1px solid var(--color-border);overflow-wrap:anywhere;display:grid}.classroom-question-list button:hover,.classroom-question-list button[aria-pressed=true]{border-color:var(--color-primary);background:#e2eaff}.classroom-question-list__meta{color:var(--color-primary);font-size:.88rem}.classroom-photo-preview{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.classroom-photo-preview figure{min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:10px;margin:0}.classroom-photo-preview img{object-fit:contain;width:100%;height:140px;display:block}.classroom-photo-preview figcaption{margin-top:var(--space-2);overflow-wrap:anywhere;font-size:.85rem}.classroom-photo-preview figure>button{width:100%;margin-top:var(--space-2)}.classroom-trash-action{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.classroom-trashed-photos ul{gap:var(--space-2);padding:0;list-style:none;display:grid}.classroom-trashed-photos li{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);overflow-wrap:anywhere;border-radius:10px;flex-wrap:wrap;display:flex}.classroom-voice,.classroom-voice__selected,.classroom-candidate,.classroom-conflict{padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-muted);border-radius:12px}.classroom-voice summary{min-height:44px;padding:var(--space-2) 0;cursor:pointer;font-weight:650}.classroom-voice section,.classroom-voice__selected,.classroom-candidate{gap:var(--space-3);margin-top:var(--space-3);display:grid}.classroom-voice audio{max-width:100%}.classroom-voice .check-row{align-items:start;gap:var(--space-2);display:flex}.classroom-voice .check-row input{flex:0 0 20px}.classroom-conflict{gap:var(--space-2);border-color:var(--color-warning);background:#fff9e9;display:grid}.classroom-detail,.voice-inbox-compose{scroll-margin-top:var(--space-6)}.voice-inbox-compose>section,.voice-inbox-compose__review,.voice-inbox-compose__candidate{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-muted);border-radius:12px;display:grid}.voice-inbox-compose label:not(.check-row){gap:var(--space-2);min-width:0;display:grid}.voice-inbox-compose .check-row{align-items:start;gap:var(--space-2);display:flex}.voice-inbox-compose .check-row input{flex:0 0 20px}.voice-inbox-compose__review p,.voice-inbox-compose__candidate p{overflow-wrap:anywhere;margin:0}@media (width<=900px){.classroom-layout{grid-template-columns:1fr}}@media (width<=600px){.classroom-panel{padding:var(--space-4)}.classroom-inline,.classroom-filters{grid-template-columns:1fr}.classroom-page__header>button{width:100%}}.web-push-card{gap:var(--space-3);display:grid}.web-push-device{border-top:1px solid var(--color-border);padding-top:var(--space-3);gap:var(--space-2);min-width:0;display:grid}.web-push-device .channel-card__heading{flex-wrap:wrap;align-items:baseline;gap:8px}.shortcut-settings{min-width:0}.shortcut-secret,.shortcut-instructions{padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-muted);overflow-wrap:anywhere;border-radius:12px}.shortcut-instructions summary{cursor:pointer;align-items:center;min-height:44px;font-weight:650;display:flex}.shortcut-secret code,.shortcut-instructions code{overflow-wrap:anywhere}.shortcut-token-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.shortcut-token-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:10px;flex-wrap:wrap;display:flex}.shortcut-token-list li div{gap:var(--space-1);min-width:0;display:grid}.shortcut-token-list li span{color:var(--color-foreground);opacity:.75;overflow-wrap:anywhere}
