:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fb;--border:#e5e8ee;--border-strong:#d3d8e2;--text:#171c26;--text-2:#4b5565;--text-3:#8a94a6;--primary:#4f46e5;--primary-hover:#4338ca;--primary-soft:#eef0fe;--danger:#dc2626;--danger-soft:#fef2f2;--success:#059669;--success-soft:#ecfdf5;--warn:#b45309;--warn-soft:#fffbeb;--ai:#7c3aed;--ai-soft:#f5f0ff;--radius:12px;--radius-sm:8px;--shadow-card:0 1px 2px #1018280a, 0 1px 3px #1018280f;--shadow-pop:0 12px 32px #10182829;--page-max:1760px;--gutter:32px;--font:"Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;word-break:auto-phrase;line-break:strict;margin:0;font-size:14px;line-height:1.6}p,summary{text-wrap:pretty}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:8px 12px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e524}textarea{resize:vertical;min-height:88px;line-height:1.7}input::placeholder,textarea::placeholder{color:var(--text-3)}button{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--primary);color:#fff}button.primary:hover:not(:disabled){background:var(--primary-hover)}button.ghost{background:var(--surface);border-color:var(--border);color:var(--text-2)}button.ghost:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}button.small{padding:5px 10px;font-size:13px}.linkButton.small{padding:4px 6px;font-size:12px}.linkButton{color:var(--primary);background:0 0;border:none;padding:6px 8px;font-weight:600}.linkButton:hover{text-decoration:underline}.iconBtn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-2);padding:0;font-size:15px;line-height:1}.iconBtn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.iconBtn.danger{color:var(--text-3);background:0 0;border-color:#0000}.iconBtn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);border-color:#0000}.loading{min-height:100vh;color:var(--text-2);place-items:center;font-weight:600;display:grid}.appShell{min-height:100vh}.topbar{padding-top:env(safe-area-inset-top);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffdb;position:sticky;top:0}.topbarInner{max-width:var(--page-max);height:58px;padding:0 var(--gutter);align-items:center;gap:24px;margin:0 auto;display:flex}.brand{align-items:center;gap:10px;display:flex}.brandMark{background:linear-gradient(135deg, var(--primary) 0%, var(--ai) 100%);color:#fff;letter-spacing:.02em;border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.brandName{letter-spacing:-.01em;font-size:15px;font-weight:700}.dateNav{align-items:center;gap:8px;margin:0 auto;display:flex}.dateNav input[type=date]{padding:5px 10px;font-weight:600}.topbarRight{align-items:center;gap:12px;display:flex}.userEmail{color:var(--text-3);font-size:13px}.page{max-width:var(--page-max);padding:24px var(--gutter) 56px;gap:20px;margin:0 auto;display:grid}.pageHead{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;display:flex}.pageHead h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}.stats{gap:12px;display:flex}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:108px;box-shadow:var(--shadow-card);gap:2px;padding:10px 16px;display:grid}.statValue{letter-spacing:-.01em;font-size:17px;font-weight:800}.statLabel{color:var(--text-3);font-size:12px}.dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.dashboardBottom{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.cardHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cardHead h2{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.cardHint{color:var(--text-3);white-space:nowrap;font-size:12px}.muted{color:var(--text-2);margin:0 0 12px;font-size:13px}.empty{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-3);text-align:center;margin:6px 0;padding:10px 12px;font-size:13px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rowActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.inlineForm{align-items:center;gap:8px;margin-bottom:14px;display:flex}.inlineForm input:not([type=time]),.inlineForm .grow{flex:1;min-width:0}.scheduleForm{flex-wrap:wrap}.scheduleForm .grow{flex:120px}.timeSep{color:var(--text-3)}.inlineWarning{border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);margin:0 0 12px;padding:8px 12px;font-size:13px;font-weight:600}.formError{color:var(--danger);margin:12px 0 0;font-size:13px;font-weight:600}.prioritySection{border-top:1px solid var(--border);padding:10px 0 4px}.prioritySection:first-of-type{border-top:none}.priorityHead{align-items:center;gap:8px;margin-bottom:8px;display:flex}.priorityBadge{color:#fff;border-radius:7px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.priorityBadge.pS{background:#e11d48}.priorityBadge.pA{background:#d97706}.priorityBadge.pB{background:#64748b}.priorityCount{color:var(--text-3);font-size:12px}.taskRow{align-items:flex-start;gap:8px;padding:3px 0;display:flex}.taskRow .statusChips,.taskRow .iconBtn{margin-top:2px}.taskRow .taskTitle{resize:none;background:0 0;border-color:#0000;flex:1;min-width:0;min-height:0;padding:5px 8px;line-height:1.5;overflow:hidden}.taskRow .taskTitle:hover{border-color:var(--border);background:var(--surface)}.taskRow .taskTitle:focus{background:var(--surface)}.taskRow.done .taskTitle{color:var(--text-3);text-decoration:line-through}.statusChips{flex-shrink:0;gap:4px;display:flex}.statusChip{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-3);border-radius:999px;padding:0;font-size:12px;font-weight:700}.statusChip:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.statusChip.done.active{background:var(--success-soft);border-color:var(--success);color:var(--success)}.statusChip.partial.active{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.statusChip.missed.active{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.timeline{gap:8px;display:grid}.timelineRow{gap:12px;display:flex}.timelineTime{width:44px;color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:4px 0;font-size:12px;font-weight:600;display:flex}.timelineTimeEnd{color:var(--text-3);font-weight:500}.timelineBody{border-radius:var(--radius-sm);border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface-2);flex-direction:column;flex:1;justify-content:space-between;gap:2px;min-width:0;padding:8px 8px 6px 14px;display:flex}.timelineRow.google .timelineBody{border-left-color:var(--success)}.timelineTitle{overflow-wrap:break-word;padding-right:6px;font-size:14px}.timelineMeta{justify-content:space-between;align-items:center;gap:8px;display:flex}.timelineMeta .iconBtn{width:26px;height:26px}.sourceTag{color:var(--text-3);font-size:11px;font-weight:600}.linkedTag{color:var(--success);padding:0 6px;font-size:12px;font-weight:600}.timelineRow.google .sourceTag{color:var(--success)}.runningPill{background:var(--success-soft);color:var(--success);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.runningPill:before{content:"";background:var(--success);border-radius:999px;width:7px;height:7px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.logs{gap:8px;margin-bottom:14px;display:grid}.logRow{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.logRow.running{border-color:var(--success);background:var(--success-soft)}.logText{gap:2px;min-width:0;display:grid}.logText strong{overflow-wrap:break-word;font-size:14px}.logText span{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.logEdit{gap:8px;width:100%;display:grid}.logEditTimes{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.logEditTimes .rowActions{margin-left:auto}.manualLogBox{border-top:1px solid var(--border);padding-top:12px}.manualLogBox summary{cursor:pointer;color:var(--text-2);font-size:13px;font-weight:600}.manualLogBox summary:hover{color:var(--text)}.manualLogBox p{margin-top:10px}.manualLogBox form{margin:10px 0 0}.syncDot{color:var(--text-3);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.syncDot:before{content:"";background:var(--text-3);border-radius:999px;width:8px;height:8px}.syncDot.on{color:var(--success)}.syncDot.on:before{background:var(--success)}.googleBar{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);margin:-4px 0 14px;padding:8px 8px 8px 12px}.googleBarMain{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.oauthHint{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.oauthHint summary{cursor:pointer;color:var(--text-2);font-size:13px;font-weight:600}.oauthHint p{color:var(--text-2);margin:10px 0;font-size:13px}.oauthHint code{overflow-wrap:anywhere;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);margin-bottom:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:block}.aiButton{background:var(--ai-soft);color:var(--ai);border-color:#0000}.aiButton:hover:not(:disabled){background:#ece2ff}.aiComment{border-radius:var(--radius-sm);background:var(--ai-soft);border:1px solid #e4d7ff;margin-bottom:14px;padding:12px 14px}.aiCommentLabel{color:var(--ai);letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.aiComment p{color:var(--text-2);margin:0;font-size:13px}.reflection{gap:14px;display:grid}.rateLabel{color:var(--text-2);gap:6px;font-size:13px;font-weight:600;display:grid}.rateLabel strong{color:var(--text);font-size:15px}.rateLabel input[type=range]{box-shadow:none;accent-color:var(--primary);border:none;padding:0}.reflectionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reflectionGrid label{color:var(--text-2);align-content:start;gap:6px;font-size:13px;font-weight:600;display:grid}.dashboardBottom .card{flex-direction:column;display:flex}.dashboardBottom .reflection,.dashboardBottom .exportSplit{flex:1}.exportSplit{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.exportPane{grid-template-rows:auto 1fr auto;gap:10px;display:grid}.exportPane h3{color:var(--text-2);margin:0;font-size:13px;font-weight:700}.exportPane textarea{background:var(--surface-2);width:100%;min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.8}.collapsibleCard>summary{cursor:pointer;margin-bottom:0;list-style:none}.collapsibleCard>summary::-webkit-details-marker{display:none}.collapsibleCard>summary h2:before{content:"▸";width:16px;color:var(--text-3);transition:transform .15s;display:inline-block}.collapsibleCard[open]>summary{margin-bottom:14px}.collapsibleCard[open]>summary h2:before{transform:rotate(90deg)}.collapsibleCard h3{color:var(--text-2);margin:0 0 8px;font-size:13px;font-weight:700}.copyRow{align-items:flex-start;gap:8px;display:flex}.copyRow code{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);word-break:break-all;flex:1;min-width:0;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.issuedToken{border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid #f5d38a;margin-bottom:14px;padding:12px 14px}.issuedToken p{color:var(--warn);margin:0 0 8px;font-size:13px}.issuedToken code{background:var(--surface)}.mcpSetup{margin-bottom:14px}.mcpGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.mcpSection{min-width:0}.mcpSection .muted{margin-bottom:10px}.mcpSubhead{margin-top:16px!important}.mcpSteps{color:var(--text-2);margin:0 0 10px;padding-left:20px;font-size:13px}.mcpSteps li+li{margin-top:2px}.tokenList{gap:8px;display:grid}.tokenRow{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.notifyGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.notifySection{min-width:0}.notifySection>h3:first-child{margin-top:0}.deviceStatus{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.deviceStatus.on{border-color:var(--success);background:var(--success-soft);color:var(--success);font-weight:600}.notifySettings{gap:10px;margin-bottom:4px;display:grid}.toggleRow{color:var(--text-2);cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;display:flex}.toggleRow>input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin-top:4px}.toggleRow span{line-height:2}.toggleRow input[type=time],.inlineNumber{margin:0 4px;padding:2px 6px;font-size:13px}.inlineNumber{width:64px}.reminderForm{flex-wrap:wrap}.reminderForm .grow{flex:160px}.toast{z-index:50;border-radius:var(--radius);color:#f4f6fb;max-width:420px;box-shadow:var(--shadow-pop);background:#1c2333;padding:12px 18px;font-size:13px;font-weight:600;animation:.22s ease-out toastIn;position:fixed;bottom:24px;right:24px}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.authShell{background:radial-gradient(720px 360px at 12% -8%, #4f46e51a, transparent 70%), radial-gradient(640px 320px at 92% 6%, #7c3aed14, transparent 70%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.authCard{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:min(440px,100%);padding:36px;box-shadow:0 24px 64px #1018281a}.authBrand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.authBrand .brandName{font-size:16px}.authCard h1{letter-spacing:-.02em;margin:0 0 8px;font-size:21px;font-weight:800;line-height:1.4}.authLead{color:var(--text-2);margin:0 0 22px;font-size:13px}.authTabs{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:4px;margin-bottom:18px;padding:4px;display:grid}.authTabs button{color:var(--text-3);border-radius:6px;padding:7px}.authTabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.authNotice{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);margin:-8px 0 18px;padding:10px 12px;font-size:13px;font-weight:600}.consentDetails{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 22px;padding:14px 16px;font-size:13px;display:grid}.consentDetails dt{color:var(--text-3);white-space:nowrap;font-weight:600}.consentDetails dd{overflow-wrap:anywhere;margin:0}.consentActions{grid-template-columns:1fr 2fr;gap:10px;display:grid}.consentActions button{padding:10px}.consentBack{color:var(--primary);margin-top:16px;font-weight:600;display:inline-block}.stack{gap:10px;display:grid}.stack input{padding:10px 12px}.stack button.primary{margin-top:4px;padding:10px}@media (width<=1280px){:root{--gutter:24px}.dashboardBottom{grid-template-columns:1fr}}@media (width<=1100px){.dashboard:not(.dashboardBottom){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard>:nth-child(3){grid-column:span 2}}@media (width<=800px){:root{--gutter:16px}.topbarInner{flex-wrap:wrap;gap:10px;height:auto;padding-top:10px;padding-bottom:10px}.dateNav{margin:0}.page{padding-top:16px;padding-bottom:48px}.dashboard{grid-template-columns:1fr}.dashboard>:nth-child(3){grid-column:auto}.exportSplit,.reflectionGrid,.mcpGrid,.notifyGrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;display:grid}.stat{min-width:0;padding:8px 10px}.statValue{white-space:nowrap;font-size:15px}.statLabel{white-space:nowrap;font-size:11px}}
