.td-page,.td-dashboard-link { --td-line:#e2e8e5; --td-surface:#fff; --td-muted:#66776f; --td-ink:#1c342b; --td-soft:#f3f7f4; --td-accent:#0d7662; color:var(--td-ink); max-width:1200px; margin:auto; padding-bottom:24px; }
.dark .td-page,.dark .td-dashboard-link { --td-line:#293b34; --td-surface:#111c18; --td-muted:#a1b5aa; --td-ink:#edf5f0; --td-soft:#192a22; --td-accent:#63d4b5; }
.td-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:4px 0 24px; }
.td-heading h1 { font-size:30px; font-weight:750; letter-spacing:-1px; }
.td-heading h1 span { font-size:16px; font-weight:500; letter-spacing:0; }
.td-heading p:not(.td-eyebrow) { color:var(--td-muted); font-size:13px; margin-top:6px; }
.td-eyebrow { font-size:10px; font-weight:700; letter-spacing:.1em; color:var(--td-accent); margin-bottom:6px; }
.td-card { background:var(--td-surface); border:1px solid var(--td-line); border-radius:18px; padding:22px; min-width:0; }
.td-card h2,.td-dialog h2 { font-size:17px; font-weight:700; }
.td-card h3 { font-size:16px; font-weight:650; overflow-wrap:anywhere; }
.td-muted { color:var(--td-muted); font-size:13px; line-height:1.7; margin:8px 0; }
.td-meta { font-size:12px; color:var(--td-muted); line-height:1.6; margin-top:6px; }
.td-small-link { color:var(--td-accent); font-size:12px; text-decoration:underline; display:inline-flex; align-items:center; min-height:44px; }
.td-button { min-height:44px; padding:9px 14px; border:1px solid var(--td-line); border-radius:10px; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; background:var(--td-surface); color:var(--td-ink); cursor:pointer; }
.td-button:hover { background:var(--td-soft); }
.td-button-primary { background:#0d7662; color:white; border-color:#0d7662; }
.td-button-primary:hover { background:#095d4d; }
.td-button:disabled { opacity:.5; cursor:default; }
.td-page :is(button,a,input,summary):focus-visible { outline:3px solid #26b99a; outline-offset:3px; }
.td-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.td-badge { background:var(--td-soft); color:var(--td-accent); padding:5px 9px; border-radius:8px; font-size:11px; white-space:nowrap; }
.td-routines { margin-bottom:20px; }
.td-routines summary { display:flex; align-items:center; gap:14px; cursor:pointer; min-height:36px; font-size:15px; font-weight:650; }
.td-routines summary::after { content:'⌄'; margin-left:auto; }
.td-routine-list { display:flex; flex-wrap:wrap; gap:8px; max-height:190px; overflow:auto; padding:8px 0; }
.td-routine { display:flex; align-items:center; gap:6px; min-height:44px; border:1px solid var(--td-line); border-radius:24px; padding:9px 14px; font-size:13px; text-align:left; }
.td-routine.is-done { color:var(--td-accent); background:var(--td-soft); }
.td-columns { display:grid; grid-template-columns:minmax(0, 1.65fr) minmax(0, 1fr); gap:20px; align-items:start; }
.td-primary,.td-planning { display:flex; flex-direction:column; gap:20px; min-width:0; }
.td-focus { grid-column:1; grid-row:1; }
.td-primary > section:nth-child(2) { grid-column:1; grid-row:2 / span 2; }
.td-ai { grid-column:2; grid-row:1; background:linear-gradient(150deg,var(--td-soft),var(--td-surface)); }
.td-wrap { grid-column:2; grid-row:2; }
.td-focus-item { border-top:1px solid var(--td-line); padding:16px 0; }
.td-focus-item.is-current { background:var(--td-soft); padding:16px; border:1px solid var(--td-line); border-radius:12px; margin-top:16px; }
.td-focus-item.is-current h3 { font-size:20px; }
.td-focus-item.is-done h3 { text-decoration:line-through; color:var(--td-muted); }
.td-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.td-empty { padding:28px 8px; text-align:center; line-height:1.8; font-size:14px; color:var(--td-muted); }
.td-empty span { font-size:12px; }
.td-chooser { border-top:1px solid var(--td-line); margin-top:12px; padding-top:8px; }
.td-chooser summary,.td-time-grid summary { cursor:pointer; font-size:13px; padding:12px 0; color:var(--td-accent); }
.td-search { display:flex; gap:8px; margin-top:8px; }
.td-search input[type=search] { min-width:0; width:100%; padding:10px; background:var(--td-soft); border:1px solid var(--td-line); border-radius:10px; }
.td-candidates { max-height:320px; overflow:auto; }
.td-candidate { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--td-line); font-size:13px; }
.td-candidate > div { min-width:0; overflow-wrap:anywhere; }
.td-candidate form { flex-shrink:0; }
.td-flow-item { display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--td-line); }
.td-flow-time { width:45px; flex-shrink:0; font-size:13px; font-weight:650; font-variant-numeric:tabular-nums; }
.td-flow-time span { display:block; font-size:11px; font-weight:400; color:var(--td-muted); margin-top:5px; }
.td-flow-body { border-left:3px solid var(--td-accent); padding-left:14px; min-width:0; flex:1; }
.td-flow-item.is-free .td-flow-body { border-left-style:dotted; font-size:13px; color:var(--td-muted); }
.td-flow-item.is-past { opacity:.65; }
.td-all-day { border-radius:10px; padding:12px; background:var(--td-soft); margin-top:12px; font-size:13px; overflow-wrap:anywhere; }
.td-time-grid { margin-top:14px; }
.td-grid-scroll { max-height:480px; overflow:auto; }
.td-proposal { border-top:1px solid var(--td-line); margin-top:16px; padding-top:16px; font-size:13px; line-height:1.8; }
.td-proposal > p { margin:12px 0; }
.td-proposal-item { padding:12px 0; border-bottom:1px solid var(--td-line); overflow-wrap:anywhere; }
.td-proposal form { margin-top:16px; }
.td-dialog { margin:auto; padding:24px; border-radius:18px; border:1px solid var(--td-line); background:var(--td-surface); color:var(--td-ink); width:min(420px,calc(100% - 32px)); max-height:85dvh; overflow:auto; }
.td-dialog::backdrop { background:#0008; }
.td-dialog label { display:block; font-size:13px; margin-top:16px; }
.td-dialog input { display:block; width:100%; margin-top:6px; padding:10px; border:1px solid var(--td-line); border-radius:8px; background:var(--td-soft); }
.td-error { color:#e04848; font-size:13px; margin-top:12px; }
.td-dashboard-link { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; }
@media(max-width:767px) {
  .td-heading { margin-bottom:18px; }.td-heading h1 { font-size:26px; }.td-heading > a { flex-shrink:0; }
  .td-primary,.td-planning { display:contents; }
  .td-card { padding:17px; border-radius:15px; }.td-columns { display:flex; flex-direction:column; gap:16px; }.td-columns .td-card { width:100%; }
  .td-focus { order:1; }.td-ai { order:2; }.td-primary > section:nth-child(2) { order:3; }.td-wrap { order:4; }
  .td-routines { margin-bottom:16px; }.td-flow-item { gap:10px; }.td-section-heading > .td-muted { font-size:11px; }
}

.td-time-canvas { position:relative; background:var(--td-soft); margin-top:10px; }
.td-hour { position:absolute; left:0; right:0; height:1px; border-top:1px solid var(--td-line); font-size:10px; color:var(--td-muted); }
.td-hour span { position:absolute; width:42px; top:2px; }
.td-grid-item { position:absolute; display:block; text-align:left; border:1px solid var(--td-accent); border-radius:6px; background:var(--td-surface); color:var(--td-ink); overflow:hidden; font-size:11px; line-height:1.4; padding:3px 6px; }
.td-grid-item.is-event { background:var(--td-soft); border-style:dashed; }
