:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172026;background:#f4f5f2;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:76px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,480px) auto auto;align-items:center;gap:16px;padding:14px 22px;background:#fff;border-bottom:1px solid #d8ddd6}.login-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.web-login-panel{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:18px;padding:18px 22px;background:#fff;border-bottom:1px solid #d8ddd6}.qr-box{width:132px;aspect-ratio:1;display:grid;place-items:center;border:1px solid #d8ddd6;border-radius:8px;background:#fff}.qr-box img{width:116px;height:116px;display:block}.web-login-copy{display:grid;gap:8px}.web-login-copy p,.web-login-copy small{color:#5a666f;font-size:13px}.login-code{display:inline-flex;align-items:center;gap:10px}.login-code span{color:#5a666f;font-size:12px;font-weight:700}.login-code strong{color:#172026;font-size:20px;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.1;letter-spacing:0}h2{font-size:16px;letter-spacing:0}h3{font-size:14px;letter-spacing:0}.topbar p,.memo-main p,.surface-header p,.calendar-toolbar p,.agenda-title p,.editor-title p,.summary-line{color:#5a666f;font-size:13px}.endpoint-box{display:grid;gap:5px}.endpoint-box label,.form-grid label{color:#52606a;font-size:12px;font-weight:650}.endpoint-box input,.form-grid input,.form-grid select,.form-grid textarea,.search-box input,.ai-panel textarea{width:100%;min-height:38px;border:1px solid #cbd3cd;border-radius:7px;background:#fff;color:#172026;padding:9px 10px;outline:none}.endpoint-box input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-box input:focus,.ai-panel textarea:focus{border-color:#2d7f7b;box-shadow:0 0 0 3px #2d7f7b24}.workspace{flex:1;display:grid;grid-template-columns:280px minmax(430px,1fr) minmax(340px,410px);min-height:0}.rail,.list-pane,.editor-pane{min-width:0;min-height:calc(100vh - 76px);padding:18px}.rail{background:#eef1ee;border-right:1px solid #d8ddd6}.list-pane{background:#f9faf8;border-right:1px solid #d8ddd6}.editor-pane{background:#fff}.toolbar-stack{display:grid;gap:10px}.view-nav{display:grid;gap:7px;margin-bottom:18px}.view-nav button,.kind-switch button{display:flex;align-items:center;gap:9px;min-height:40px;border:1px solid transparent;border-radius:7px;padding:0 11px;background:transparent;color:#43515b;font-weight:800;text-align:left}.view-nav button.active,.kind-switch button.active{background:#fff;border-color:#cbd3cd;color:#172026;box-shadow:inset 3px 0 #2d7f7b}.primary-button,.secondary-button,.danger-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:7px;border:1px solid transparent;padding:0 13px;font-weight:700;letter-spacing:0}.primary-button{color:#fff;background:#226b68}.secondary-button{color:#172026;background:#fff;border-color:#cbd3cd}.danger-button{color:#8f1d1d;background:#fff5f2;border-color:#f0b8a8}.icon-button{width:38px;padding:0;color:#2b3841;background:#fff;border-color:#cbd3cd}.icon-button.small{width:32px;min-height:32px}.check-button{width:24px;height:24px;display:grid;place-items:center;border:1px solid #aeb9b2;border-radius:6px;background:#fff;color:#fff;padding:0}.check-button.done{border-color:#226b68;background:#226b68}.check-placeholder{width:8px;height:8px;border-radius:2px;background:transparent}.icon-button.on{color:#95620c;background:#fff7d7;border-color:#e6c96a}button:disabled{cursor:not-allowed;opacity:.55}.status-pill{display:inline-flex;align-items:center;gap:7px;min-height:34px;border-radius:999px;padding:0 12px;font-size:13px;font-weight:700;white-space:nowrap;background:#eef6f5;color:#226b68}.status-pill.error{background:#fff1ee;color:#9b2b21}.status-pill.success{background:#edf7ed;color:#247142}.ai-panel{margin-top:0;display:grid;gap:11px}.editor-pane .ai-panel{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #e2e6e0}.ai-panel textarea,.form-grid textarea{min-height:96px;resize:vertical}.ai-results{display:grid;gap:8px}.ai-result{display:grid;gap:4px;text-align:left;border:1px solid #d8ddd6;border-radius:7px;padding:10px;background:#fff}.ai-result span,.kind-tag{width:fit-content;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.ai-result span,.kind-tag.task{background:#eaf1ff;color:#29558f}.kind-tag.scheduled{background:#ecf7ef;color:#277347}.list-tools{display:flex;gap:12px;align-items:center;justify-content:space-between}.segmented{display:inline-grid;grid-template-columns:repeat(3,minmax(52px,1fr));border:1px solid #cbd3cd;border-radius:8px;overflow:hidden;background:#fff}.segmented.compact{grid-template-columns:repeat(2,minmax(64px,1fr))}.segmented button{border:0;min-height:34px;background:transparent;color:#52606a;font-weight:800}.segmented button.active{background:#23343d;color:#fff}.search-box{flex:1;max-width:340px;display:flex;align-items:center;gap:8px;color:#52606a}.search-box input{min-width:0}.summary-line{display:flex;gap:14px;margin:12px 0}.surface-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.planner-surface{display:grid;gap:14px}.mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-list{display:grid;gap:16px}.task-section{display:grid;gap:8px}.section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#2b3841}.section-heading span{min-width:26px;height:24px;display:grid;place-items:center;border-radius:999px;background:#edf1ec;color:#52606a;font-size:12px;font-weight:800}.task-section.pinned .section-heading h3{color:#95620c}.task-section.overdue .section-heading h3{color:#9b2b21}.task-section.completed .section-heading h3{color:#68737c}.memo-list{display:grid;gap:9px}.memo-row{min-height:70px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d8ddd6;border-radius:8px;background:#fff;padding:10px}.memo-row.compact-row{min-height:62px}.memo-row.selected{border-color:#2d7f7b;box-shadow:inset 3px 0 #2d7f7b}.memo-main{min-width:0;display:grid;gap:5px}.memo-title-line{min-width:0;display:flex;gap:8px;align-items:center}.inline-icon{flex:0 0 auto;color:#52606a}.inline-icon.amber{color:#95620c}.memo-title-line strong,.memo-main p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.complete-time{color:#7b878f;font-size:12px}.completed{color:#7b878f;text-decoration:line-through}.row-actions{display:flex;gap:6px}.empty-state{min-height:160px;display:grid;place-items:center;color:#7b878f;border:1px dashed #cbd3cd;border-radius:8px;background:#fff}.editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;border-bottom:1px solid #e2e6e0;padding-bottom:14px}.calendar-shell{grid-template-columns:1fr;align-items:start}.calendar-main,.day-agenda{min-width:0}.calendar-toolbar,.agenda-title{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:12px}.calendar-controls,.agenda-actions{display:flex;gap:7px;align-items:center}.calendar-mode{grid-template-columns:repeat(4,minmax(42px,1fr));flex:0 0 auto}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;color:#68737c;font-size:12px;font-weight:800;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week-grid{display:grid;grid-template-columns:54px repeat(7,minmax(78px,1fr));gap:1px;overflow-x:auto;border:1px solid #d8ddd6;border-radius:8px;background:#d8ddd6}.week-corner,.week-hour-label,.week-day-head,.time-slot{background:#fff}.week-corner{min-height:46px}.week-hour-label{min-height:46px;display:grid;place-items:start center;padding-top:9px;color:#68737c;font-size:12px;font-weight:800}.week-day-head{min-height:46px;display:grid;place-items:center;border:0;color:#52606a;padding:6px}.week-day-head strong{color:#172026;font-size:16px}.week-day-head.selected{color:#226b68;background:#eef6f5}.time-slot{min-height:46px;display:flex;align-items:start;gap:4px;border:0;border-radius:0;padding:5px;overflow:hidden}.time-slot:hover,.time-slot:focus-visible{background:#f1f7f6}.time-chip{max-width:100%;min-height:22px;border-radius:6px;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#ecf7ef;color:#277347;font-size:12px;font-weight:800}.day-timeline{display:grid;gap:1px;overflow:hidden;border:1px solid #d8ddd6;border-radius:8px;background:#d8ddd6}.day-time-row{display:grid;grid-template-columns:62px minmax(0,1fr);min-height:52px}.day-time-row>span{display:grid;place-items:start center;padding-top:10px;background:#fff;color:#68737c;font-size:12px;font-weight:800}.day-time-row .time-slot{min-height:52px}.calendar-list-view{display:grid;gap:14px}.agenda-day-block{display:grid;gap:8px}.day-cell{min-width:0;aspect-ratio:1 / .82;display:grid;align-content:space-between;justify-items:start;border:1px solid #d8ddd6;border-radius:7px;background:#fff;color:#172026;padding:7px}.day-cell.muted{color:#8a949b;background:#f2f4f1}.day-cell.today{border-color:#2d7f7b}.day-cell.selected{background:#eef6f5;border-color:#226b68;box-shadow:inset 0 0 0 2px #226b6838}.day-face{width:26px;height:24px;display:grid;place-items:center;border-radius:999px;font-size:13px;font-weight:800}.day-cell.today .day-face{color:#fff;background:#226b68}.day-dots{display:flex;gap:4px;align-items:center;min-height:18px}.event-dot,.task-dot{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;color:#fff;font-size:11px;font-weight:800}.event-dot{background:#277347}.task-dot{background:#29558f}.day-agenda{border-top:1px solid #d8ddd6;padding-top:16px}.agenda-list{display:grid;grid-template-columns:1fr;gap:8px}.event-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 10px;align-items:center;text-align:left;border:1px solid #d8ddd6;border-radius:8px;background:#fff;padding:10px}.event-row strong,.event-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row small{grid-column:2;color:#5a666f}.event-time{grid-row:span 2;color:#277347;font-size:13px;font-weight:900}.compact-empty{min-height:100px;display:grid;place-items:center;color:#7b878f;border:1px dashed #cbd3cd;border-radius:8px;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{display:grid;gap:6px}.form-grid .wide{grid-column:1 / -1}.toggle-line{grid-template-columns:18px auto;align-items:center;min-height:38px;color:#172026}.toggle-line input{width:18px;min-height:18px;padding:0}.save-button{width:100%;margin-top:18px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.topbar{grid-template-columns:1fr}.login-actions{justify-content:stretch}.login-actions .primary-button,.login-actions .secondary-button{flex:1}.web-login-panel{grid-template-columns:auto 1fr}.web-login-panel>.secondary-button{grid-column:1 / -1;justify-self:start}.workspace,.calendar-shell{grid-template-columns:1fr}.rail,.list-pane,.editor-pane{min-height:auto;border-right:0;border-bottom:1px solid #d8ddd6}.day-agenda{padding:16px 0 0}}@media(max-width:620px){.list-tools,.surface-header,.mode-row,.calendar-toolbar,.agenda-title,.memo-row,.memo-title-line{align-items:stretch}.list-tools,.surface-header,.mode-row,.calendar-toolbar,.agenda-title{flex-direction:column}.search-box{max-width:none;width:100%}.memo-row{grid-template-columns:28px minmax(0,1fr)}.row-actions{grid-column:2}.form-grid{grid-template-columns:1fr}.calendar-grid,.weekday-row{gap:4px}.calendar-mode{width:100%}.calendar-controls{width:100%;justify-content:space-between}.day-cell{aspect-ratio:auto;min-height:54px;padding:5px}.day-dots{transform:scale(.9);transform-origin:left bottom}.web-login-panel{grid-template-columns:1fr}.qr-box{width:100%;max-width:180px}}
