:root{--color-paper: oklch(98.5% .004 250);--color-paper-2: oklch(96.5% .007 250);--color-surface: oklch(99.2% .003 250);--color-surface-raised: oklch(99.4% .002 250);--color-ink: oklch(24% .02 258);--color-ink-2: oklch(34% .018 257);--color-muted: oklch(48% .015 255);--color-rule: oklch(89% .012 252);--color-rule-strong: oklch(78% .018 253);--color-accent: oklch(52% .19 256);--color-accent-hover: oklch(46% .18 256);--color-accent-soft: oklch(95% .035 256);--color-accent-ink: oklch(99% .004 250);--color-focus: oklch(63% .18 256);--color-birthday: oklch(55% .16 352);--color-birthday-soft: oklch(96% .025 352);--color-birthday-ink: oklch(36% .11 352);--color-renewal: oklch(52% .16 256);--color-renewal-soft: oklch(95% .028 256);--color-renewal-ink: oklch(34% .12 256);--color-todo: oklch(48% .105 174);--color-todo-soft: oklch(95% .025 174);--color-todo-ink: oklch(32% .075 174);--color-warning: oklch(55% .11 72);--color-warning-soft: oklch(96% .025 72);--color-warning-ink: oklch(36% .08 72);--color-danger: oklch(52% .17 22);--color-danger-soft: oklch(96% .025 22);--color-danger-ink: oklch(35% .12 22);--color-overlay: oklch(20% .02 258 / .42);--font-display: "Avenir Next", "PingFang SC", sans-serif;--font-body: "PingFang SC", "Noto Sans CJK SC", sans-serif;--font-mono: "SFMono-Regular", Menlo, monospace;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.953rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-thin: 1px;--radius-control: .375rem;--radius-card: .625rem;--radius-round: 50%;--shadow-whisper: 0 1px 2px oklch(24% .02 258 / .06);--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}*{box-sizing:border-box}:root{color:#17202f;background:#eef3f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;max-width:100vw;overflow-x:hidden;background:linear-gradient(180deg,rgba(15,118,110,.08),transparent 360px),#eef3f7}html,#root{max-width:100vw;overflow-x:hidden}button,input,select{font:inherit}button{border:0}.app-lock{display:grid;min-height:100vh;padding:24px;place-items:center;background:#eef3f7}.lock-panel{display:grid;width:min(100%,360px);gap:14px;padding:24px;background:#fff;border:1px solid #dbe5ed;border-radius:8px;box-shadow:0 20px 60px #0f172a14}.lock-panel .brand-mark{width:56px;height:56px}.lock-panel h1{margin:0;font-size:28px}.lock-panel p{margin:0;color:#64748b}.lock-error{color:#9f1239;font-size:14px}.app{display:grid;grid-template-columns:84px minmax(0,1fr);max-width:100vw;min-height:100vh;overflow-x:hidden}.sidebar{position:sticky;top:0;width:100%;max-width:100vw;height:100vh;padding:20px 12px;color:#ecfeff;background:#12202f;border-right:1px solid rgba(255,255,255,.08)}.brand{display:grid;gap:8px;align-items:center;justify-items:center;margin-bottom:24px}.brand-mark{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:10px;box-shadow:0 8px 18px #0f172a1f}.brand-mark img{display:block;width:82%;height:82%;object-fit:contain}.brand h1{margin:0;font-size:12px;line-height:1.2;letter-spacing:0;text-align:center}.brand p{display:none}.sidebar>.ghost{width:100%;min-height:40px;margin:-10px 0 16px;color:#d7e4ee;background:#0f172a2e;border-color:#ffffff1f}.nav{display:grid;gap:10px}.nav button{position:relative;display:grid;width:100%;min-height:68px;gap:6px;padding:8px 4px;place-items:center;color:#d7e4ee;text-align:center;background:transparent;border:1px solid rgba(255,255,255,.09);border-radius:8px;cursor:pointer}.nav button:hover,.nav button.active{color:#fff;background:#14b8a62e;border-color:#99f6e46b}.nav button.active:before{position:absolute;left:-12px;width:4px;height:36px;content:"";background:#5eead4;border-radius:0 999px 999px 0}.nav-icon{display:grid;width:40px;height:40px;place-items:center;line-height:1;color:#d7e4ee;background:#ffffff14;border-radius:8px}.nav-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav button.active .nav-icon{color:#042f2e;background:#99f6e4}.nav-label{display:block;max-width:100%;padding:0;color:inherit;font-size:11px;font-weight:700;line-height:1.2;text-align:center;white-space:nowrap}.mobile-nav{display:none}.content{min-width:0;width:100%;max-width:100vw;padding:24px;overflow-x:hidden}.message{position:fixed;top:18px;right:18px;z-index:60;max-width:min(360px,calc(100vw - 36px));margin:0;padding:10px 12px;color:#0f4f4a;background:#ccfbf1;border:1px solid #7dd3c7;border-radius:8px;box-shadow:0 18px 42px #0f172a24}.calendar-workbench,.panel-page{width:100%;max-width:1440px;margin:0 auto}.topbar{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-height:28px;margin-bottom:8px}.eyebrow,.page-heading span{display:inline-block;margin-bottom:5px;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topbar h2,.page-heading h2{margin:0;font-size:30px;line-height:1.1;letter-spacing:0}.top-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:flex-end;min-width:0}.work-notice{position:fixed;top:18px;right:24px;z-index:70;display:flex;max-width:min(360px,calc(100vw - 48px));min-height:36px;overflow:hidden;color:#0f766e;background:#f0fdfafa;border:1px solid #99f6e4;border-radius:999px;box-shadow:0 14px 34px #0f172a24}.work-notice.blue{color:#1d4ed8;background:#eff6fffa;border-color:#bfdbfe}.work-notice.amber{color:#92400e;background:#fffbebfa;border-color:#fcd34d}.work-notice.rose{color:#be123c;background:#fff1f2fa;border-color:#fecdd3}.work-notice-main{display:inline-flex;min-width:0;gap:7px;align-items:center;padding:7px 10px 7px 13px;color:inherit;background:transparent;cursor:pointer}.work-notice-main span{flex:0 0 auto;font-size:12px;font-weight:900}.work-notice-main b{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.work-notice-close{display:grid;width:34px;place-items:center;color:inherit;font-size:18px;font-weight:800;line-height:1;background:#ffffff6b;border-left:1px solid rgba(148,163,184,.24);cursor:pointer}.filter-pills{display:flex;gap:4px;align-items:center;min-width:0;padding:2px;background:#fff;border:1px solid #d9e2ea;border-radius:999px}.filter-pill{display:inline-flex;gap:4px;align-items:center;min-height:24px;padding:3px 7px;color:#64748b;background:#f8fafc;border:1px solid transparent;border-radius:999px;cursor:pointer;opacity:.52}.filter-pill span{font-size:12px;font-weight:800}.filter-pill b{min-width:18px;padding:1px 5px;font-size:11px;text-align:center;background:#ffffffb8;border-radius:999px}.filter-pill.active{opacity:1}.filter-pill.birthday.active{color:#831843;background:#fce7f3;border-color:#f9a8d4}.filter-pill.policy_renewal.active{color:#1e3a8a;background:#dbeafe;border-color:#93c5fd}.filter-pill.manual_todo.active{color:#064e3b;background:#ccfbf1;border-color:#5eead4}.ghost,.primary,td button{min-height:38px;padding:9px 12px;border-radius:8px;cursor:pointer}.ghost{color:#334155;background:#fff;border:1px solid #d9e2ea}.primary{color:#fff;background:#2563eb;border:1px solid #2563eb}.primary:disabled{cursor:not-allowed;opacity:.48}.primary.danger-primary{background:#be123c;border-color:#be123c}.next-step-chip{display:inline-flex;gap:6px;align-items:center;max-width:220px;min-height:36px;padding:7px 10px;color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;cursor:pointer}.next-step-chip.blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.next-step-chip.amber{color:#92400e;background:#fffbeb;border-color:#fcd34d}.next-step-chip.rose{color:#be123c;background:#fff1f2;border-color:#fecdd3}.next-step-chip span{flex:0 0 auto;color:inherit;font-size:11px;font-weight:800;opacity:.76}.next-step-chip b{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.work-status{display:inline-flex;gap:6px;align-items:center;max-width:240px;min-height:28px;padding:4px 9px;color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;cursor:pointer}.work-status.blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.work-status.amber{color:#92400e;background:#fffbeb;border-color:#fcd34d}.work-status.rose{color:#be123c;background:#fff1f2;border-color:#fecdd3}.work-status span{flex:0 0 auto;color:inherit;font-size:11px;font-weight:900}.work-status b{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.workbench-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;min-width:0}.calendar-panel,.selected-panel,.panel-page{min-width:0;background:#ffffffeb;border:1px solid #dce6ee;border-radius:8px;box-shadow:0 18px 40px #0f172a0f}.calendar-panel{padding:12px}.full-calendar-shell{min-width:0}.calendar-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-toolbar-main{display:flex;min-width:0;gap:12px;align-items:center}.calendar-toolbar-main strong{flex:0 0 auto;color:#17202f;font-size:22px;font-weight:900;line-height:1.2}.calendar-filter-pills{flex:0 1 auto}.calendar-nav-controls{display:flex;flex:0 0 auto;gap:8px;align-items:center}.calendar-nav-button,.calendar-today-button{min-height:34px;color:#334155;font-size:13px;font-weight:800;background:#fff;border:1px solid #d9e2ea;border-radius:8px;cursor:pointer}.calendar-nav-button{width:38px;padding:0;color:#17202f;font-size:24px;line-height:1}.calendar-today-button{padding:6px 12px}.full-calendar-shell .fc{--fc-border-color: #e2e8f0;--fc-button-bg-color: #fff;--fc-button-border-color: #d9e2ea;--fc-button-text-color: #334155;--fc-button-active-bg-color: #0f766e;--fc-button-active-border-color: #0f766e;--fc-today-bg-color: #ecfeff;color:#17202f;font-size:13px}.full-calendar-shell .fc-toolbar{gap:10px;margin-bottom:12px}.full-calendar-shell .fc-toolbar-title{font-size:22px;font-weight:800;letter-spacing:0}.full-calendar-shell .fc-button{min-height:34px;padding:7px 10px;border-radius:8px;box-shadow:none}.full-calendar-shell .fc-scrollgrid,.full-calendar-shell .fc-theme-standard td,.full-calendar-shell .fc-theme-standard th{border-color:#e2e8f0}.full-calendar-shell .fc-col-header-cell{padding:7px 0;color:#64748b;font-size:12px;font-weight:800;background:#f8fafc}.full-calendar-shell .fc-daygrid-day-frame{min-height:104px;padding:4px}.full-calendar-shell .fc-daygrid-day-number{min-width:24px;padding:4px;color:#17202f;font-weight:800}.full-calendar-shell .fc-day-today .fc-daygrid-day-number{display:inline-grid;place-items:center;color:#fff;background:#0f766e;border-radius:8px}.full-calendar-shell .fc-daygrid-event{padding:2px 5px;border:0;border-radius:6px;background:#fff!important}.fc-reminder-event{display:flex;gap:5px;align-items:center;min-width:0;color:#334155}.fc-reminder-event i{flex:0 0 auto;width:4px;height:13px;background:currentColor;border-radius:999px}.event-birthday .fc-reminder-event{color:#db2777}.event-policy_renewal .fc-reminder-event{color:#2563eb}.event-manual_todo .fc-reminder-event{color:#0f766e}.fc-reminder-event b{min-width:0;overflow:hidden;color:#334155;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.event-selected{box-shadow:inset 0 0 0 1px #0f766e}.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row span{padding:8px 6px 10px;color:#64748b;font-size:12px;font-weight:700;text-align:center}.month-grid{gap:6px}.day-cell{position:relative;min-width:0;min-height:118px;padding:9px;overflow:hidden;color:#17202f;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}.day-cell:hover{border-color:#99d8d1;box-shadow:inset 0 0 0 1px #99d8d1}.day-cell.muted{color:#94a3b8;background:#f1f5f9}.day-cell.today{border-color:#14b8a6}.day-cell.selected{background:#ecfeff;border-color:#0f766e;box-shadow:inset 0 0 0 1px #0f766e}.day-number{display:inline-grid;width:26px;height:26px;place-items:center;font-size:13px;font-weight:800;border-radius:8px}.today .day-number{color:#fff;background:#0f766e}.day-dots{position:absolute;top:12px;right:8px;display:flex;gap:4px;align-items:center}.day-dots i{width:7px;height:7px;border-radius:999px}.day-dots b{color:#64748b;font-size:11px}.birthday{--group-color: #db2777}.policy_renewal{--group-color: #2563eb}.manual_todo{--group-color: #0f766e}.day-dots i,.reminder-card{border-left-color:var(--group-color)}.day-dots i{background:var(--group-color)}.day-preview{display:grid;gap:5px;margin-top:9px}.day-preview span{display:flex;gap:5px;align-items:center;min-width:0;padding:4px 6px;overflow:hidden;color:#334155;font-size:11px;background:#fff;border-radius:6px}.day-preview span i{flex:0 0 auto;width:4px;height:14px;background:var(--group-color);border-radius:999px}.day-preview span b{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.selected-panel{position:sticky;top:18px;padding:16px}.selected-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.selected-head h3{margin:0;font-size:20px}.mobile-selected-count{display:none}.selected-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.selected-actions .selected-add-todo{width:auto;margin-top:0;white-space:nowrap}.selected-all-reminders{width:100%;min-height:34px;margin-top:10px;color:#64748b;font-size:13px}.reminder-cards{display:grid;gap:8px;max-height:calc(100vh - 250px);overflow:auto}.reminder-card{display:flex;gap:10px;justify-content:space-between;padding:11px 12px;background:#fff;border:1px solid #e2e8f0;border-left:4px solid;border-radius:8px}.reminder-card.birthday{color:#831843;background:#fdf2f8;border-color:#f9a8d4;border-left-color:#db2777}.reminder-card.policy_renewal{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe;border-left-color:#2563eb}.reminder-card.manual_todo{color:#064e3b;background:#f0fdfa;border-color:#99f6e4;border-left-color:#0f766e}.reminder-card.completed{color:#475569;background:#f8fafc;border-color:#d9e2ec;border-left-color:#94a3b8}.reminder-card.completed h4,.reminder-card.completed small{color:#64748b}.reminder-card-main{min-width:0;flex:1 1 auto}.reminder-card-main.can-expand{cursor:pointer}.reminder-card h4{margin:0;color:#17202f;font-size:14px;line-height:1.35}.reminder-card-main small{display:inline-block;margin-top:5px;color:#475569;font-size:12px;font-weight:800}.renewal-detail,.renewal-detail-loading{margin:9px 0 0;padding-top:9px;border-top:1px solid rgba(37,99,235,.2)}.renewal-detail{display:grid;gap:6px}.renewal-detail div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;align-items:baseline}.renewal-detail dt{color:#64748b;font-size:12px;font-weight:800}.renewal-detail dd{min-width:0;margin:0;overflow:hidden;color:#17202f;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.renewal-detail-loading{color:#64748b;font-size:12px}.reminder-card-actions{display:grid;flex:0 0 auto;gap:6px;align-content:start;justify-items:end}.reminder-card-actions b{align-self:flex-start;padding:4px 6px;color:#92400e;font-size:11px;background:#fef3c7;border-radius:6px}.reminder-card-actions button{align-self:start;min-height:28px;padding:5px 8px;color:#0f766e;font-size:12px;font-weight:800;background:#f0fdfa;border:1px solid #99f6e4;border-radius:7px;cursor:pointer}.reminder-card-actions button:disabled{cursor:not-allowed;opacity:.55}.empty-state{margin:0;padding:20px;color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.mobile-add-todo,.mobile-action-bar,.mobile-calendar-range,.mobile-calendar-toolbar{display:none}.completed-reminders{margin-top:10px}.completed-reminders summary{cursor:pointer;color:#64748b;font-size:13px;font-weight:900}.completed-reminders .reminder-cards{margin-top:8px}.selected-add-todo{width:100%;margin-top:12px}.todo-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0f172a61}.todo-dialog{width:min(430px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:18px;background:#fff;border:1px solid #dce6ee;border-radius:8px;box-shadow:0 28px 70px #0f172a38}.todo-dialog-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.todo-dialog-head h3{margin:0;font-size:22px;line-height:1.2}.icon-button{display:grid;width:34px;height:34px;place-items:center;color:#475569;font-size:22px;line-height:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}.todo-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.delete-dialog-title{padding:12px;margin:0;color:#881337;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px}.detail-dialog{width:min(680px,100%)}.detail-section{padding:12px 0;border-top:1px solid #e2e8f0}.detail-section h4{margin:0 0 10px;color:#17202f;font-size:15px}.detail-section dl{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px 12px;margin:0}.detail-section dt{color:#64748b;font-size:13px;font-weight:700}.detail-section dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#17202f;font-size:14px;font-weight:700}.empty-detail,.inline-error{margin:0;color:#64748b}.inline-error{margin-top:10px;padding:10px 12px;color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px}.panel-page{padding:18px}.page-heading{margin-bottom:18px}.maintenance-page{display:grid;gap:16px}.maintenance-section{min-width:0;padding:16px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.maintenance-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.maintenance-head>div{display:flex;gap:10px;align-items:center;min-width:0}.maintenance-head span{display:grid;flex:0 0 auto;width:28px;height:28px;place-items:center;color:#fff;font-size:13px;font-weight:900;background:#0f766e;border-radius:8px}.maintenance-head h3{margin:0;color:#0f172a;font-size:18px}.maintenance-head strong{padding:6px 9px;color:#92400e;font-size:13px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px}.maintenance-section>h2,.maintenance-section>p.section-note,.maintenance-section .sync-simple-header h3{display:none}.support-page{display:grid;max-width:880px}.support-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:24px;align-items:center;padding:22px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.support-copy{min-width:0}.support-copy span{display:inline-block;margin-bottom:8px;color:#0f766e;font-size:12px;font-weight:900}.support-copy h3{margin:0 0 10px;color:#0f172a;font-size:26px;line-height:1.15}.support-copy p{max-width:520px;margin:0;color:#475569;font-size:15px;line-height:1.7}.support-qr{display:grid;justify-items:center;min-width:0}.support-qr img{display:block;width:min(100%,300px);aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid #d9e2ea;border-radius:8px}label{display:block;max-width:760px;margin-bottom:14px;color:#334155;font-weight:700}input,select{display:block;width:100%;margin-top:7px;padding:11px 12px;color:#17202f;background:#fff;border:1px solid #cbd5e1;border-radius:8px}.import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:920px}.import-grid-single{grid-template-columns:minmax(0,1fr)}.file-picker{padding:14px;background:#fff;border:1px solid #d9e2ea;border-radius:8px}.file-picker input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.file-picker span{display:block;margin-top:10px;padding:12px;color:#0f766e;background:#f0fdfa;border:1px dashed #5eead4;border-radius:8px}.muted-note{max-width:760px;margin:-2px 0 14px;color:#64748b}.section-note{max-width:760px;margin:-6px 0 16px;color:#475569;line-height:1.55}.import-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.ai-import-options{display:grid;gap:10px;max-width:920px;margin-top:12px;padding:12px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.inline-check{display:flex;align-items:center;gap:8px;color:#334155;font-weight:800}.inline-check input{display:inline-block;width:auto;margin:0}.ai-import-grid{display:grid;grid-template-columns:minmax(160px,220px) minmax(220px,1fr);gap:10px}.analysis-panel{display:grid;gap:10px;max-width:920px;margin-top:14px;padding:12px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.analysis-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.analysis-head strong{color:#17202f}.analysis-head span,.analysis-note{color:#64748b;font-size:13px}.analysis-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.analysis-list div{min-width:0;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.analysis-list div.needs-review{background:#fffbeb;border-color:#fcd34d}.analysis-list span{display:block;color:#64748b;font-size:12px;font-weight:800}.analysis-list strong{display:block;overflow:hidden;color:#17202f;text-overflow:ellipsis;white-space:nowrap}.analysis-list p,.analysis-note{margin:4px 0 0;color:#475569;line-height:1.45}.import-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:920px;margin-top:16px;padding:14px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.import-result div{min-width:0;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.import-result div.needs-review{background:#fffbeb;border-color:#fcd34d}.import-result span{display:block;color:#64748b;font-size:12px;font-weight:800}.import-result strong{display:block;margin-top:4px;color:#17202f;font-size:24px}.import-result p{grid-column:1 / -1;margin:2px 0 0;color:#475569;line-height:1.5}.import-result-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end;padding:0;background:transparent;border:0}.backup-panel{display:grid;gap:10px;max-width:920px;margin-top:18px;padding:12px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.backup-head{display:block}.backup-head h3{margin:0;font-size:16px}.backup-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.restore-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.restore-action select{min-width:0;margin-top:0}.backup-message{margin:0;color:#64748b;font-size:13px;font-weight:800}.list-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.list-toolbar>span{flex:0 0 auto;color:#64748b;font-size:13px;font-weight:800}.segmented-filter{display:flex;flex-wrap:wrap;gap:6px;padding:3px;background:#f8fafc;border:1px solid #d9e2ea;border-radius:8px}.segmented-filter button{min-height:32px;padding:6px 10px;color:#475569;font-size:13px;font-weight:800;background:transparent;border-radius:7px;cursor:pointer}.segmented-filter button.active{color:#064e3b;background:#ccfbf1}.list-search{max-width:520px;margin-bottom:12px}.pending-list{display:grid;gap:12px}.pending-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;background:#fff;border:1px solid #e2e8f0;border-left:4px solid #f59e0b;border-radius:8px}.pending-card span{color:#92400e;font-size:12px;font-weight:800}.pending-card h3{margin:4px 0;font-size:16px}.pending-card p{margin:0;color:#475569}.pending-card .pending-guidance{margin-top:8px;padding:9px 10px;color:#334155;font-size:13px;line-height:1.5;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.pending-card details{grid-column:1 / -1;color:#64748b}.pending-card summary{cursor:pointer}.pending-card pre{max-height:220px;padding:12px;overflow:auto;color:#334155;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.change-list{display:grid;grid-column:1 / -1;gap:8px;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.dialog-change-list{margin-bottom:12px}.change-row{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;font-size:13px}.change-row strong{color:#0f172a}.change-row span{min-width:0;padding:6px 8px;overflow:hidden;color:#475569;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.change-row span:last-child{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.agent-sync-guide{display:grid;gap:12px;max-width:920px}.agent-sync-brief,.agent-sync-command,.agent-sync-rules,.agent-sync-flow article{min-width:0;padding:14px;border:1px solid #dce6ee;border-radius:8px}.agent-sync-brief{background:#f8fafc}.agent-sync-brief h4,.agent-sync-rules h4,.agent-sync-flow h4{margin:0;color:#0f172a;font-size:15px}.agent-sync-brief p,.agent-sync-flow p{margin:6px 0 0;color:#64748b;font-size:14px;line-height:1.55}.agent-sync-command{display:grid;gap:8px;color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.agent-sync-command span{font-size:13px;font-weight:900}.agent-sync-command p{margin:0;color:#0f172a;font-size:15px;font-weight:800;line-height:1.55}.agent-sync-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.agent-sync-flow article{display:flex;gap:10px;background:#fff}.agent-sync-flow b{display:grid;flex:0 0 auto;width:28px;height:28px;place-items:center;color:#fff;font-size:13px;background:#0f766e;border-radius:8px}.agent-sync-rules{color:#475569;background:#fff}.agent-sync-rules ul{display:grid;gap:6px;margin:8px 0 0;padding-left:18px}.agent-sync-rules li{font-size:14px;line-height:1.5}.sync-layout{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(0,1fr);gap:16px;align-items:start}.sync-form,.sync-result{min-width:0;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.sync-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sync-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-simple{display:grid;gap:14px}.sync-simple-header h3,.sync-status h4{margin:0;color:#0f172a}.sync-simple-header p{max-width:560px;margin:6px 0 0;color:#64748b;font-size:14px;line-height:1.55}.sync-link-field{max-width:none;margin-bottom:0}.sync-link-field input{min-height:48px;font-size:15px}.sync-requirements{display:grid;gap:5px;padding:12px;color:#334155;font-size:13px;line-height:1.45;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px}.sync-requirements strong{color:#0f766e;font-size:14px}.sync-primary-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sync-primary-steps .primary{min-height:48px;justify-content:center;font-size:15px}.sync-note{display:grid;gap:4px;padding:12px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.sync-note strong{color:#0f172a;font-size:14px}.sync-note span{font-size:13px;line-height:1.45}.sync-advanced,.sync-result-details{min-width:0}.sync-advanced summary,.sync-result-details summary{cursor:pointer;color:#0f766e;font-size:14px;font-weight:800}.sync-advanced[open] summary,.sync-result-details[open] summary{margin-bottom:12px}.sync-plan-actions{flex-wrap:wrap}.sync-strategy{max-width:320px;margin-bottom:14px}.sync-actions{display:flex;gap:8px;margin-top:4px}.sync-steps{display:grid;gap:10px;margin-top:12px}.sync-step{display:grid;gap:10px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.sync-step>div:first-child{display:flex;gap:10px;align-items:flex-start}.sync-step b{display:grid;flex:0 0 auto;width:26px;height:26px;place-items:center;color:#fff;font-size:13px;background:#0f766e;border-radius:999px}.sync-step h4{margin:0;font-size:15px}.sync-step p{margin:3px 0 0;color:#64748b;font-size:13px;line-height:1.45}.sync-result h3{margin:0 0 12px;font-size:18px}.sync-status{display:grid;gap:14px}.sync-status h4{font-size:15px}.sync-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sync-summary span{padding:7px 9px;color:#334155;font-size:13px;font-weight:800;background:#f1f5f9;border-radius:8px}.sync-preview{display:grid;gap:8px}.sync-preview article{display:grid;gap:6px;min-width:0;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.sync-preview span{color:#0f766e;font-size:12px;font-weight:800}.sync-preview strong,.sync-preview code{min-width:0;overflow:hidden;text-overflow:ellipsis}.sync-preview code{display:block;padding:8px;color:#334155;font-size:12px;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:7px}.sync-errors{display:grid;gap:8px;margin-top:12px}.sync-errors p{margin:0;padding:10px;color:#9f1239;font-size:13px;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px}.maintenance-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.maintenance-main{display:grid;gap:14px;min-width:0}.maintenance-aside{min-width:0}.maintenance-head{align-items:flex-start}.maintenance-head>div{align-items:flex-start}.maintenance-head h3{line-height:1.2}.maintenance-head p{margin:4px 0 0;color:#64748b;font-size:14px;font-weight:700;line-height:1.45}.maintenance-section>h2,.maintenance-section>p.section-note{display:none}.import-panel{display:grid;gap:12px}.import-upload-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}.file-picker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;max-width:none;min-height:122px;margin:0;padding:14px;cursor:pointer;background:#f0fdfa;border:1px dashed #5eead4}.file-picker-icon{display:grid;width:46px;height:46px;place-items:center;color:#0f4f4a;font-weight:900;background:#ccfbf1;border:0;border-radius:8px}.file-picker-copy{display:block;min-width:0;margin:0;padding:0;color:#17202f;background:transparent;border:0}.file-picker-copy b{display:block;font-size:17px}.file-picker-copy small{display:block;margin-top:4px;overflow:hidden;color:#64748b;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.file-picker-button{display:inline-grid;min-height:42px;margin:0;padding:0 15px;place-items:center;color:#fff;font-weight:900;background:#0f766e;border:1px solid #0f766e;border-radius:8px}.ai-import-options{gap:10px;max-width:none;min-height:122px;margin:0;padding:12px;background:#f8fafc;border-color:#e2e8f0}.ai-import-options p{margin:0;color:#64748b;font-size:13px;font-weight:800;line-height:1.45}.inline-check{justify-content:space-between;margin:0}.inline-check input{width:22px;height:22px;accent-color:#0f766e}.ai-import-grid{grid-template-columns:1fr;gap:8px}.ai-import-grid label{max-width:none;margin:0;font-size:12px;font-weight:900}.ai-import-grid input,.ai-import-grid select{min-height:38px;margin-top:5px;padding:8px 10px}.import-actions{margin-top:10px}.backup-panel{display:grid;gap:10px;max-width:none;margin:0;padding:16px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.backup-panel h3{margin:0 0 2px;color:#0f172a;font-size:18px}.backup-actions{display:grid;grid-template-columns:1fr;gap:8px}.backup-action-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.backup-action-card b,.backup-action-card span{display:block}.backup-action-card b{color:#17202f;font-size:14px}.backup-action-card span{margin-top:3px;color:#64748b;font-size:13px;font-weight:800;line-height:1.35}.backup-action-card .ghost{min-height:34px;padding:0 10px;font-size:13px}.backup-action-card.danger{background:#fff7ed;border-color:#fed7aa}.backup-action-card.status-warn{background:#fffbeb;border-color:#fcd34d}.backup-action-card.danger b{color:#9a3412}.backup-action-card .danger-action{min-height:34px;padding:0 10px;color:#fff;font-size:13px;font-weight:900;background:#c2410c;border:1px solid #c2410c;border-radius:8px}.backup-action-card .danger-action:disabled{cursor:not-allowed;opacity:.55}.backup-history{display:grid;gap:7px}.backup-history p{margin:0;color:#64748b;font-size:13px;font-weight:800}.backup-history button{width:100%;padding:8px 10px;overflow:hidden;color:#334155;font-size:13px;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.backup-history button.active{color:#0f766e;background:#f0fdfa;border-color:#5eead4}.cloud-backup-panel{display:grid;gap:10px;max-width:none;margin:12px 0 0;padding:16px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.cloud-backup-panel h3{margin:0;color:#0f172a;font-size:18px}.cloud-backup-panel>p{margin:-4px 0 0;color:#64748b;font-size:13px;font-weight:800;line-height:1.35}.cloud-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px}.cloud-status.status-warn{background:#fffbeb;border-color:#fcd34d}.cloud-status b,.cloud-status span{display:block}.cloud-status b{color:#17202f;font-size:14px}.cloud-status span{margin-top:3px;color:#0f766e;font-size:13px;font-weight:800;line-height:1.35}.cloud-status.status-warn span{color:#92400e}.cloud-connect-form{display:grid;gap:8px;padding:10px;background:#fff;border:1px dashed #cbd5e1;border-radius:8px}.cloud-connect-form input{min-width:0;height:36px;padding:0 10px;color:#17202f;background:#f8fafc;border:1px solid #dbe5ed;border-radius:8px}.cloud-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.cloud-help-button{min-width:82px;height:36px;padding:0 10px;color:#0f766e;font-size:12px;font-weight:900;white-space:nowrap;background:#ecfdf5;border:1px solid #99f6e4;border-radius:8px}.cloud-remember{min-width:0;padding:2px 1px;color:#475569;font-size:12px;font-weight:800}.cloud-remember span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cloud-actions button{min-width:0;font-size:13px;font-weight:900}.cloud-history{display:grid;gap:7px}.cloud-history p{margin:0;color:#64748b;font-size:13px;font-weight:800}.cloud-history button{width:100%;padding:8px 10px;overflow:hidden;color:#334155;font-size:13px;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.cloud-history button.active{color:#0f766e;background:#f0fdfa;border-color:#5eead4}.cloud-advanced{padding:9px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.cloud-advanced summary{color:#475569;font-size:13px;font-weight:900;cursor:pointer}.cloud-advanced .ghost{width:100%;margin-top:8px;font-size:13px}.cloud-password-dialog,.maintenance-dialog{width:min(520px,100%)}.maintenance-dialog label{display:grid;gap:7px;margin-top:12px;color:#334155;font-size:13px;font-weight:900}.maintenance-dialog input{min-width:0;height:38px;padding:0 10px;color:#17202f;background:#f8fafc;border:1px solid #dbe5ed;border-radius:8px}.maintenance-dialog-intro,.maintenance-dialog-warning,.maintenance-dialog-target{padding:10px 12px;margin:0;font-size:14px;font-weight:900;line-height:1.45;border-radius:8px}.maintenance-dialog-intro{color:#17202f;background:#f0fdfa;border:1px solid #99f6e4}.maintenance-dialog-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.maintenance-dialog-target{margin-top:10px;overflow-wrap:anywhere;color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.cloud-password-intro{padding:12px;margin:0 0 12px;color:#17202f;font-size:15px;font-weight:900;line-height:1.5;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px}.cloud-password-steps{display:grid;gap:8px;padding-left:22px;margin:0}.cloud-password-steps li{color:#334155;font-size:14px;font-weight:800;line-height:1.5}.cloud-password-note{padding:10px 12px;margin:14px 0 0;color:#92400e;font-size:14px;font-weight:900;line-height:1.45;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px}.agent-sync-guide{max-width:none}.agent-sync-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.agent-sync-flow article{display:grid;min-height:126px;padding:13px;background:#f8fafc;border-color:#e2e8f0}.agent-sync-flow b{margin-bottom:8px}.agent-sync-flow h4{margin-bottom:4px}.agent-sync-flow p{margin:0;font-size:13px;font-weight:800;line-height:1.45}.agent-sync-command{grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.agent-sync-command .primary{white-space:nowrap}.checkbox{display:flex;gap:8px;align-items:center}.checkbox input{width:auto;margin:0}table{width:100%;overflow:hidden;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:8px}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}th{color:#475569;font-size:13px;background:#f8fafc}td{font-size:14px}td button{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4}td button:disabled{cursor:not-allowed;opacity:.52}td button+button{margin-left:8px}td button.danger-action{color:#be123c;background:#fff1f2;border-color:#fecdd3}@media (max-width: 1180px){.app{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:28;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav lock";gap:16px;align-items:center;height:auto;padding:10px 28px 0;color:#0f172a;background:#fffffff5;border-right:0;border-bottom:1px solid #d9e2ea;box-shadow:0 10px 24px #0f172a0a}.brand{grid-area:brand;display:flex;gap:10px;align-items:center;justify-items:initial;margin-bottom:0}.brand-mark{width:38px;height:38px}.brand h1{color:#2563eb;font-size:18px;text-align:left}.brand p{display:none}.sidebar>.ghost{position:static;grid-area:lock;width:auto;margin:0;color:#475569;background:#fff;border-color:#d9e2ea}.nav{grid-area:nav;display:flex;gap:30px;justify-content:center;overflow-x:auto;padding-bottom:0}.nav button{display:inline-flex;gap:0;width:auto;min-width:max-content;min-height:40px;padding:8px 4px 10px;color:#475569;text-align:left;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}.nav button:hover,.nav button.active{color:#2563eb;background:transparent;border-color:#2563eb}.nav button.active:before{display:none}.nav-icon{display:none}.nav-label{position:static;max-width:none;padding:0;color:inherit;font-size:14px;font-weight:800;pointer-events:auto;background:transparent;border:0;box-shadow:none;opacity:1;transform:none;transition:none}.workbench-grid{grid-template-columns:1fr}.selected-panel{position:static}.reminder-cards{max-height:none}.agent-sync-flow,.sync-layout{grid-template-columns:1fr}}@media (max-width: 760px){body{background:#eef3f7}.app{min-height:auto}.sidebar{position:sticky;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav lock";gap:10px;padding:8px 12px 0}.content{padding:8px 10px 84px}.message{top:64px;right:12px;left:12px;max-width:none;padding:9px 11px;font-size:14px}.work-notice{top:58px;right:10px;left:10px;max-width:none;border-radius:8px}.mobile-nav{display:none}.brand{gap:8px;justify-content:flex-start;margin-bottom:0}.brand p{display:none}.brand-mark{display:grid;width:30px;height:30px;border-radius:8px}.brand h1{color:#2563eb;font-size:16px;text-align:left;white-space:nowrap}.nav{gap:18px;justify-content:center}.nav button{min-height:34px;padding:5px 2px 8px}.nav-label{font-size:12px}.support-panel{grid-template-columns:1fr;gap:16px;padding:16px}.support-copy h3{font-size:22px}.support-qr img{width:min(100%,280px)}.topbar{display:none}.topbar h2,.page-heading h2{font-size:24px}.top-actions{display:grid;gap:8px}.filter-pills{width:100%;overflow-x:auto}.filter-pill{flex:1 0 0;justify-content:center;min-width:0}.top-actions>.ghost,.top-actions>.primary{display:none}.work-status{justify-content:center;width:100%;max-width:none}.next-step-chip{justify-content:center;width:100%;max-width:none;margin-top:8px}.calendar-panel{padding:8px}.mobile-calendar-toolbar{display:flex;align-items:center;justify-content:flex-end;margin-bottom:8px}.mobile-calendar-toolbar strong{min-width:0;overflow:hidden;color:#17202f;font-size:18px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobile-calendar-controls{display:flex;min-width:0;gap:5px;align-items:center;justify-content:flex-end}.mobile-calendar-range{display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;gap:3px;width:116px;padding:3px;background:#f8fafc;border:1px solid #d9e2ea;border-radius:8px}.mobile-calendar-range button,.mobile-calendar-nav,.mobile-calendar-today{min-height:34px;color:#64748b;font-size:13px;font-weight:900;background:#fff;border:1px solid #d9e2ea;border-radius:8px;cursor:pointer}.mobile-calendar-range button{min-height:28px;padding:4px 6px;background:transparent;border:0;border-radius:6px}.mobile-calendar-range button.active{color:#fff;background:#2563eb}.mobile-calendar-nav{width:34px;padding:0;color:#17202f;font-size:22px;line-height:1}.mobile-calendar-today{min-width:46px;padding:4px 9px}.full-calendar-shell .fc{font-size:12px}.full-calendar-shell .fc-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}.full-calendar-shell .fc-toolbar-title{min-width:0;overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.full-calendar-shell .fc-toolbar-chunk{min-width:0}.full-calendar-shell .fc-toolbar-chunk:nth-child(2){display:none}.full-calendar-shell .fc-toolbar-chunk:last-child{justify-self:end}.full-calendar-shell .fc-button-group{gap:6px}.full-calendar-shell .fc-button{min-height:30px;padding:5px 7px;font-size:12px}.full-calendar-shell .fc-daygrid-day-frame{min-height:82px;padding:3px}.full-calendar-shell .fc-daygrid-day-number{font-size:13px}.full-calendar-shell .fc-col-header-cell-cushion{display:grid;width:100%;padding:3px 1px;place-items:center;text-align:center}.mobile-day-head{display:grid;gap:1px;place-items:center;line-height:1}.mobile-day-head b{color:#17202f;font-size:12px;font-weight:900}.mobile-day-head small{color:#64748b;font-size:10px;font-weight:900}.full-calendar-shell .fc-daygrid-event{display:flex;width:calc(100% - 4px);min-width:0;padding:1px 2px;margin-right:0;overflow:hidden;background:transparent!important}.fc-reminder-event{width:100%;gap:3px;overflow:hidden}.fc-reminder-event i{width:3px;height:12px}.fc-reminder-event b{display:block;min-width:0;overflow:hidden;font-size:10px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.full-calendar-shell .fc-daygrid-more-link{display:none}.weekday-row span{padding:6px 2px}.month-grid{gap:4px}.day-cell{min-height:76px;padding:6px}.day-preview{display:none}.day-dots{position:static;margin-top:8px}.selected-head{align-items:center;flex-direction:row;margin-bottom:8px}.selected-head .eyebrow,.selected-head h3{font-size:15px;line-height:1.3}.mobile-selected-count{display:inline-flex;flex:0 0 auto;min-height:26px;padding:4px 8px;align-items:center;color:#2563eb;font-size:12px;font-weight:900;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px}.selected-actions,.selected-add-todo{display:none}.mobile-add-todo{position:fixed;right:18px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:20;display:grid;width:58px;height:58px;place-items:center;color:#fff;font-size:38px;line-height:1;background:#2563eb;border-radius:999px;box-shadow:0 18px 38px #2563eb57;cursor:pointer}.mobile-action-bar{position:fixed;right:0;bottom:env(safe-area-inset-bottom);left:0;z-index:24;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px;background:#fffffff5;border-top:1px solid #d9e2ea;box-shadow:0 -10px 24px #0f172a14}.todo-dialog-backdrop{align-items:end;padding:10px}.todo-dialog{padding:16px}.todo-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.sync-grid,.sync-actions{grid-template-columns:1fr}.maintenance-section{padding:12px}.maintenance-head{align-items:stretch;flex-direction:column}.maintenance-head .ghost{width:100%}.list-toolbar{align-items:stretch;flex-direction:column}.import-result{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-import-grid,.analysis-list{grid-template-columns:1fr}.analysis-head{align-items:flex-start;flex-direction:column}.import-result-actions,.import-actions,.backup-head,.backup-actions,.restore-action{display:grid;grid-template-columns:1fr}.segmented-filter{overflow-x:auto;flex-wrap:nowrap}.segmented-filter button{flex:0 0 auto}.sync-grid{display:block}.sync-actions{display:grid}.maintenance-page,.import-upload-grid,.agent-sync-command{grid-template-columns:1fr}.file-picker,.backup-action-card{grid-template-columns:minmax(0,1fr)}.file-picker-button,.agent-sync-command .primary{width:100%}.brand-mark{width:36px;height:36px}.brand h1{font-size:18px}}@media (max-width: 460px){.top-actions{grid-template-columns:1fr}.day-cell{min-height:58px}.day-number{width:22px;height:22px;font-size:12px}}html,body,#root{max-width:100%;overflow-x:clip;background:var(--color-paper)}body{color:var(--color-ink-2);font-family:var(--font-body);background:var(--color-paper)}h1,h2,h3,h4,strong{min-width:0;overflow-wrap:anywhere;color:var(--color-ink);font-family:var(--font-display);font-style:normal}button,input,select,textarea{color:var(--color-ink-2);font-family:var(--font-body)}button,.file-picker-button,.nav-label{white-space:nowrap}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.file-picker:focus-within{outline:2px solid var(--color-focus);outline-offset:1px}input,select,textarea{min-height:44px;padding:var(--space-xs) var(--space-sm);color:var(--color-ink);background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-control);outline:2px solid transparent;outline-offset:1px}textarea{min-height:6rem;resize:vertical}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}.app{display:grid;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:100dvh;background:var(--color-paper)}.sidebar{position:sticky;top:0;z-index:var(--z-sticky);display:grid;grid-template-areas:"brand nav lock";grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-lg);align-items:center;width:100%;height:auto;padding:var(--space-sm) var(--space-lg);color:var(--color-ink);background:var(--color-surface);border-right:0;border-bottom:var(--rule-thin) solid var(--color-rule);box-shadow:none}.brand{grid-area:brand;display:flex;gap:var(--space-xs);align-items:center;justify-items:initial;margin:0}.brand-mark,.lock-panel .brand-mark{width:36px;height:36px;background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-control);box-shadow:none}.brand h1{color:var(--color-ink);font-size:var(--text-base);font-weight:700;letter-spacing:-.02em;text-align:start;white-space:nowrap}.sidebar>.ghost{position:static;grid-area:lock;width:auto;margin:0;color:var(--color-muted);background:transparent;border-color:var(--color-rule)}.nav{grid-area:nav;display:flex;gap:var(--space-2xs);justify-content:flex-start;min-width:0;overflow-x:auto}.nav button{position:relative;display:inline-flex;width:auto;min-width:max-content;min-height:44px;gap:0;padding:0 var(--space-sm);color:var(--color-muted);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}.nav button:hover,.nav button.active{color:var(--color-accent);background:transparent;border-color:var(--color-accent)}.nav button.active:before,.nav-icon{display:none}.nav-label{position:static;max-width:none;padding:0;color:inherit;font-size:var(--text-sm);font-weight:700;pointer-events:auto;background:transparent;border:0;box-shadow:none;opacity:1;transform:none;transition:none}.content{width:100%;max-width:100%;padding:var(--space-lg);overflow-x:clip}.calendar-workbench,.panel-page{max-width:1480px}.panel-page{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.page-heading{margin-bottom:var(--space-lg)}.page-heading h2{color:var(--color-ink);font-size:var(--text-xl);font-weight:700;letter-spacing:-.03em}.message{z-index:var(--z-toast);color:var(--color-renewal-ink);background:var(--color-renewal-soft);border-color:var(--color-renewal);border-radius:var(--radius-control);box-shadow:var(--shadow-whisper)}.work-notice{position:static;display:flex;width:100%;max-width:none;min-height:44px;margin-bottom:var(--space-sm);color:var(--color-todo-ink);background:var(--color-todo-soft);border-color:var(--color-todo);border-radius:var(--radius-control);box-shadow:none}.work-notice.blue{color:var(--color-renewal-ink);background:var(--color-renewal-soft);border-color:var(--color-renewal)}.work-notice.amber{color:var(--color-warning-ink);background:var(--color-warning-soft);border-color:var(--color-warning)}.work-notice.rose{color:var(--color-danger-ink);background:var(--color-danger-soft);border-color:var(--color-danger)}.work-notice-main{flex:1 1 auto;min-height:42px;padding:var(--space-xs) var(--space-sm);justify-content:flex-start}.work-notice-main span,.work-notice-main b{font-size:var(--text-sm)}.work-notice-close{width:44px;min-height:42px;background:transparent;border-left-color:var(--color-rule-strong)}.workbench-grid{grid-template-columns:minmax(0,1fr) 344px;gap:var(--space-md)}.calendar-panel,.selected-panel{background:var(--color-surface);border-color:var(--color-rule);border-radius:var(--radius-card);box-shadow:none}.calendar-panel,.selected-panel{padding:var(--space-md)}.calendar-toolbar{margin-bottom:var(--space-md)}.calendar-toolbar-main strong,.selected-head h3{color:var(--color-ink);font-family:var(--font-display);font-variant-numeric:tabular-nums}.selected-head{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs);align-items:center}.selected-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.selected-actions button{width:100%;padding-inline:var(--space-xs)}.filter-pills{gap:var(--space-2xs);padding:0;background:transparent;border:0;border-radius:0}.filter-pill{min-height:32px;padding:var(--space-2xs) var(--space-xs);color:var(--color-muted);background:var(--color-paper-2);border-color:var(--color-rule);border-radius:var(--radius-control);opacity:1}.filter-pill b{padding:0;background:transparent;border-radius:0}.filter-pill.birthday.active{color:var(--color-birthday-ink);background:var(--color-birthday-soft);border-color:var(--color-birthday)}.filter-pill.policy_renewal.active{color:var(--color-renewal-ink);background:var(--color-renewal-soft);border-color:var(--color-renewal)}.filter-pill.manual_todo.active{color:var(--color-todo-ink);background:var(--color-todo-soft);border-color:var(--color-todo)}.ghost,.primary,td button,.calendar-nav-button,.calendar-today-button{min-height:40px;border-radius:var(--radius-control);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.ghost,.calendar-nav-button,.calendar-today-button{color:var(--color-ink-2);background:var(--color-surface);border-color:var(--color-rule-strong)}.primary{color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-accent)}.primary.danger-primary{color:var(--color-accent-ink);background:var(--color-danger);border-color:var(--color-danger)}.ghost:disabled,.primary:disabled,td button:disabled{cursor:not-allowed;opacity:.5}.full-calendar-shell .fc{--fc-border-color: var(--color-rule);--fc-button-bg-color: var(--color-surface);--fc-button-border-color: var(--color-rule-strong);--fc-button-text-color: var(--color-ink-2);--fc-button-active-bg-color: var(--color-accent);--fc-button-active-border-color: var(--color-accent);--fc-today-bg-color: var(--color-accent-soft);color:var(--color-ink-2);font-variant-numeric:tabular-nums}.full-calendar-shell .fc-col-header-cell{color:var(--color-muted);background:var(--color-paper-2)}.full-calendar-shell .fc-daygrid-day-number,.mobile-day-head b{color:var(--color-ink)}.full-calendar-shell .fc-day-today .fc-daygrid-day-number{color:var(--color-accent-ink);background:var(--color-accent);border-radius:var(--radius-control)}.full-calendar-shell .fc-daygrid-event{background:transparent!important}.fc-reminder-event i{width:6px;height:6px;border-radius:var(--radius-round)}.event-birthday .fc-reminder-event{color:var(--color-birthday)}.event-policy_renewal .fc-reminder-event{color:var(--color-renewal)}.event-manual_todo .fc-reminder-event{color:var(--color-todo)}.fc-reminder-event b{color:var(--color-ink-2)}.event-selected{box-shadow:inset 0 0 0 1px var(--color-focus)}.reminder-card{position:relative;padding:var(--space-sm);color:var(--color-ink-2);background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-inline-start-width:var(--rule-thin);border-radius:var(--radius-control)}.reminder-card:before{flex:0 0 auto;width:7px;height:7px;margin-top:.35rem;content:"";background:currentColor;border-radius:var(--radius-round)}.reminder-card.birthday{color:var(--color-birthday);background:var(--color-birthday-soft);border-color:var(--color-rule)}.reminder-card.policy_renewal{color:var(--color-renewal);background:var(--color-renewal-soft);border-color:var(--color-rule)}.reminder-card.manual_todo{color:var(--color-todo);background:var(--color-todo-soft);border-color:var(--color-rule)}.reminder-card.completed{color:var(--color-muted);background:var(--color-paper-2);border-color:var(--color-rule)}.reminder-card h4,.renewal-detail dd{color:var(--color-ink)}.reminder-card-main small,.renewal-detail dt,.renewal-detail-loading{color:var(--color-muted)}.reminder-card-actions b{color:var(--color-warning-ink);background:var(--color-warning-soft);border-radius:var(--radius-control)}.reminder-card-actions button{min-height:32px;color:var(--color-todo-ink);background:var(--color-surface);border-color:var(--color-rule-strong);border-radius:var(--radius-control)}.empty-state{color:var(--color-muted);background:transparent;border-color:var(--color-rule-strong);border-radius:var(--radius-control)}.maintenance-section,.support-panel,.cloud-backup-panel{background:var(--color-surface);border-color:var(--color-rule);border-radius:var(--radius-card);box-shadow:none}.maintenance-head span{color:var(--color-accent);font-family:var(--font-mono);background:var(--color-accent-soft);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-control)}.maintenance-head h3,.backup-panel h3,.support-copy h3{color:var(--color-ink);font-family:var(--font-display)}.maintenance-head p,.support-copy p,.backup-action-card span{color:var(--color-muted)}.maintenance-head strong{color:var(--color-warning-ink);background:var(--color-warning-soft);border-color:var(--color-warning);border-radius:var(--radius-control)}.backup-panel{padding:0;background:transparent;border:0;border-radius:0}.backup-action-card,.ai-import-options{background:var(--color-paper-2);border-color:var(--color-rule);border-radius:var(--radius-control)}.backup-action-card.danger{background:var(--color-danger-soft);border-color:var(--color-danger)}.backup-action-card.status-warn{background:var(--color-warning-soft);border-color:var(--color-warning)}.file-picker{color:var(--color-ink-2);background:var(--color-accent-soft);border-color:var(--color-accent);border-radius:var(--radius-control)}.file-picker-icon{color:var(--color-accent);background:var(--color-surface);border-radius:var(--radius-control)}.file-picker-copy,.file-picker-copy b{color:var(--color-ink)}.file-picker-copy small,.ai-import-options p{color:var(--color-muted)}.file-picker-button{color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-accent);border-radius:var(--radius-control)}.inline-check input,.checkbox input{accent-color:var(--color-accent)}.todo-dialog-backdrop{z-index:var(--z-modal);background:var(--color-overlay)}.todo-dialog{color:var(--color-ink-2);background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);box-shadow:var(--shadow-whisper);animation:hallmark-dialog-in var(--dur-short) var(--ease-out)}.todo-dialog-head h3{color:var(--color-ink);font-family:var(--font-display)}.icon-button{min-width:44px;min-height:44px;color:var(--color-muted);background:transparent;border-color:var(--color-rule);border-radius:var(--radius-control)}.inline-error,.maintenance-dialog-warning{color:var(--color-danger-ink);background:var(--color-danger-soft);border-color:var(--color-danger)}table{color:var(--color-ink-2);background:var(--color-surface);border-color:var(--color-rule);border-radius:var(--radius-control);font-variant-numeric:tabular-nums}th,td{border-color:var(--color-rule)}th{color:var(--color-muted);background:var(--color-paper-2)}td button{color:var(--color-accent);background:var(--color-surface);border-color:var(--color-rule-strong)}td button.danger-action{color:var(--color-danger-ink);background:var(--color-danger-soft);border-color:var(--color-danger)}@media (hover: hover) and (pointer: fine){.primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.ghost:hover,.calendar-nav-button:hover,.calendar-today-button:hover{background:var(--color-paper-2)}button:active{transform:translateY(1px)}}@keyframes hallmark-dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (max-width: 1180px){.workbench-grid,.maintenance-page{grid-template-columns:minmax(0,1fr)}.selected-panel{position:static}.reminder-cards{max-height:none}}@media (max-width: 760px){.sidebar{gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.brand{gap:var(--space-2xs)}.brand-mark,.lock-panel .brand-mark{width:32px;height:32px}.brand h1{font-size:var(--text-sm)}.nav{gap:0;justify-content:flex-start}.nav button{min-height:44px;padding-inline:var(--space-xs)}.nav-label{font-size:var(--text-xs)}.content{padding:var(--space-xs) var(--space-xs) calc(5rem + env(safe-area-inset-bottom))}.work-notice{margin-bottom:var(--space-xs)}.calendar-panel,.selected-panel,.maintenance-section,.support-panel,.cloud-backup-panel{border-radius:var(--radius-control)}.calendar-panel,.selected-panel{padding:var(--space-xs)}.workbench-grid{gap:var(--space-xs)}.selected-head{grid-template-columns:minmax(0,1fr) auto}.mobile-action-bar{gap:var(--space-xs);padding:var(--space-xs) var(--space-xs) calc(var(--space-xs) + env(safe-area-inset-bottom));background:var(--color-surface);border-color:var(--color-rule);box-shadow:none}.mobile-action-bar button{min-height:44px;padding-inline:var(--space-xs);font-size:var(--text-sm)}.mobile-selected-count{color:var(--color-renewal-ink);background:var(--color-renewal-soft);border-color:var(--color-renewal);border-radius:var(--radius-control)}.todo-dialog{border-radius:var(--radius-card) var(--radius-card) 0 0}}@media (max-width: 360px){.brand h1{display:none}.nav button{padding-inline:var(--space-2xs)}}@media (pointer: coarse){button,.ghost,.primary,td button,.file-picker-button{min-height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:var(--dur-micro)!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:var(--dur-micro)!important}.todo-dialog{transform:none}}
