:root {
  --navy-950: #0c1426;
  --navy-900: #111b30;
  --navy-800: #1a2740;
  --ink-900: #182033;
  --ink-700: #49536a;
  --ink-500: #7a8499;
  --canvas: #f5f4ef;
  --surface: #fffefa;
  --surface-2: #faf9f5;
  --line: #e6e3da;
  --line-strong: #d8d4c9;
  --blue: #5272d8;
  --blue-soft: #edf1ff;
  --green: #249576;
  --green-soft: #e8f5f0;
  --amber: #bb7b2e;
  --amber-soft: #fff3dd;
  --coral: #c65752;
  --coral-soft: #ffebe8;
  --violet: #705ac8;
  --violet-soft: #f0ecff;
  --cyan: #248aa0;
  --cyan-soft: #e6f5f8;
  --shadow: 0 12px 35px rgba(25, 32, 49, .07);
  --radius: 16px;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); }
body { margin: 0; color: var(--ink-900); background: var(--canvas); font-family: "DM Sans", system-ui, sans-serif; font-size: 14px; line-height: 1.45; }
button, input, select { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(82,114,216,.3); outline-offset: 2px; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 246px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 15px 18px; color: #dce4f2; background: linear-gradient(180deg, var(--navy-950), var(--navy-900)); display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; align-items: center; gap: 11px; width: 100%; padding: 0 10px 24px; border: 0; background: transparent; color: white; text-align: left; cursor: pointer; }
.brand > span:last-child { display: flex; align-items: baseline; gap: 5px; }
.brand strong { font-family: Manrope, sans-serif; font-size: 18px; letter-spacing: -.4px; }
.brand small { color: #8590a6; font-size: 8px; font-weight: 700; letter-spacing: 1.8px; }
.brand-mark { display: grid; grid-template-columns: repeat(3, 5px); align-items: end; gap: 3px; width: 22px; height: 22px; }
.brand-mark span { display: block; border-radius: 5px; background: #7f6de4; }
.brand-mark span:nth-child(1) { height: 11px; } .brand-mark span:nth-child(2) { height: 19px; } .brand-mark span:nth-child(3) { height: 15px; background: #56b3c3; }
.primary-nav { display: grid; gap: 3px; }
.nav-group-label { margin: 12px 11px 3px; color: #66738b; font-size: 9px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; }
.nav-item { width: 100%; min-height: 40px; display: grid; grid-template-columns: 25px 1fr auto; align-items: center; padding: 0 11px; border: 0; border-radius: 9px; color: #aab5ca; background: transparent; text-align: left; cursor: pointer; font-weight: 500; }
.nav-item:hover { color: white; background: rgba(255,255,255,.055); }
.nav-item.is-active { color: white; background: rgba(127,109,228,.18); }
.icon { font-size: 17px; color: #77859f; }
.nav-item.is-active .icon { color: #9f91ed; }
.nav-count { color: #69768e; font-size: 12px; }
.sidebar-projects { margin-top: 27px; overflow: auto; }
.sidebar-heading { display: flex; justify-content: space-between; align-items: center; padding: 0 10px 9px; color: #66738b; font-size: 10px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.sidebar-heading button { border: 0; background: transparent; color: #7f8ba0; cursor: pointer; font-size: 18px; }
.sidebar-project { display: grid; grid-template-columns: 8px 1fr; gap: 10px; align-items: center; width: 100%; padding: 8px 11px; border: 0; border-radius: 8px; color: #9aa7bd; background: transparent; text-align: left; cursor: pointer; }
.sidebar-project:hover { color: white; background: rgba(255,255,255,.04); }
.project-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.project-dot.violet { background: #8b78e8; } .project-dot.cyan { background: #52aebe; } .project-dot.amber { background: #d99c4f; } .project-dot.coral { background: #d46c68; }
.sidebar-footer { margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.07); }
.sync-state { display: flex; align-items: center; gap: 8px; padding: 0 10px 12px; color: #708099; font-size: 11px; }
.sync-dot { width: 7px; height: 7px; border-radius: 50%; background: #45b58e; box-shadow: 0 0 0 4px rgba(69,181,142,.1); }
.profile { display: grid; grid-template-columns: 32px 1fr auto; gap: 9px; align-items: center; width: 100%; padding: 9px; border: 0; border-radius: 10px; background: rgba(255,255,255,.035); color: #d8e0ee; text-align: left; }
.avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: white; background: #5d6d89; font-size: 11px; font-weight: 700; }
.profile strong, .profile small { display: block; } .profile strong { font-size: 12px; } .profile small { color: #738098; font-size: 10px; }
.main-shell { min-width: 0; }
.topbar { height: 72px; position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 12px; padding: 0 34px; border-bottom: 1px solid rgba(216,212,201,.8); background: rgba(245,244,239,.91); backdrop-filter: blur(14px); }
.command-search { flex: 1; max-width: 620px; height: 39px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink-500); background: rgba(255,254,250,.85); }
.command-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink-900); }
.command-search kbd { padding: 2px 6px; border: 1px solid var(--line); border-radius: 5px; color: #8a91a0; background: #f7f6f1; font-size: 10px; }
.primary-button, .secondary-button { min-height: 39px; padding: 0 16px; border: 0; border-radius: 9px; font-weight: 600; cursor: pointer; }
.primary-button { color: white; background: var(--ink-900); box-shadow: 0 5px 14px rgba(24,32,51,.15); }
.primary-button:hover { background: #273149; transform: translateY(-1px); }
.secondary-button { border: 1px solid var(--line-strong); background: white; }
.icon-button { position: relative; width: 39px; height: 39px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); cursor: pointer; }
.notification-button{display:grid;place-items:center;color:var(--ink-900)}
.notification-bell{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-count{position:absolute;top:-6px;right:-7px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid var(--surface);border-radius:999px;background:var(--coral);color:#fff;font-size:10px;font-weight:800;line-height:1}
.notification-count[hidden]{display:none}
.notification-button:hover{background:color-mix(in srgb,var(--coral) 8%,var(--surface));border-color:color-mix(in srgb,var(--coral) 45%,var(--line))}
.notification-button:focus-visible,.fc-prev-button:focus-visible,.fc-next-button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:3px}
.mobile-menu { display: none; border: 0; background: transparent; font-size: 19px; }
.content { max-width: 1460px; margin: 0 auto; padding: 34px 38px 60px; }
.page-header { display: flex; justify-content: space-between; gap: 25px; align-items: flex-start; margin-bottom: 28px; }
.page-header h1 { margin: 3px 0 5px; font-family: Manrope, sans-serif; font-size: clamp(28px, 3vw, 38px); letter-spacing: -1.5px; line-height: 1.1; }
.page-header p { margin: 0; color: var(--ink-500); font-size: 15px; }
.eyebrow { color: var(--violet); font-size: 10px; font-weight: 700; letter-spacing: 1.5px; }
.date-chip { padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink-700); background: var(--surface); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 25px; }
.metric-card { position: relative; overflow: hidden; min-height: 110px; padding: 18px 19px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 5px 17px rgba(28,35,50,.035); }
.metric-card::after { content: ""; position: absolute; right: -18px; bottom: -22px; width: 75px; height: 75px; border-radius: 50%; background: var(--blue-soft); }
.metric-card.green::after { background: var(--green-soft); } .metric-card.amber::after { background: var(--amber-soft); } .metric-card.coral::after { background: var(--coral-soft); }
.metric-label { display: flex; align-items: center; gap: 8px; color: var(--ink-500); font-size: 12px; font-weight: 600; }
.metric-value { margin-top: 8px; font-family: Manrope, sans-serif; font-size: 30px; font-weight: 700; letter-spacing: -1px; }
.metric-meta { color: var(--ink-500); font-size: 11px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .8fr); gap: 22px; }
.section { margin-bottom: 23px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 12px; }
.section-heading h2 { margin: 0; font-family: Manrope, sans-serif; font-size: 17px; letter-spacing: -.35px; }
.section-heading p { margin: 3px 0 0; color: var(--ink-500); font-size: 12px; }
.heading-actions { display: flex; align-items: center; gap: 8px; }
.text-button { border: 0; background: transparent; color: var(--blue); cursor: pointer; font-weight: 600; font-size: 12px; }
.project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.project-card { position: relative; display: block; width: 100%; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); text-align: left; cursor: pointer; transition: .18s ease; }
.project-card:hover { border-color: #d1cce7; box-shadow: var(--shadow); transform: translateY(-2px); }
.project-card-top { display: flex; justify-content: space-between; gap: 10px; }
.project-identity { display: flex; gap: 11px; align-items: center; }
.project-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 11px; color: var(--violet); background: var(--violet-soft); font-family: Manrope; font-size: 11px; font-weight: 700; }
.project-icon.cyan { color: var(--cyan); background: var(--cyan-soft); } .project-icon.amber { color: var(--amber); background: var(--amber-soft); } .project-icon.coral { color: var(--coral); background: var(--coral-soft); }
.project-name { font-family: Manrope; font-weight: 700; font-size: 14px; }
.project-update { color: var(--ink-500); font-size: 10px; }
.status-pill, .project-pill, .priority-pill, .source-pill { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 700; }
.status-pill.on-track { color: var(--green); background: var(--green-soft); } .status-pill.attention { color: var(--amber); background: var(--amber-soft); } .status-pill.blocked { color: var(--coral); background: var(--coral-soft); }
.project-description { min-height: 40px; margin: 15px 0 17px; color: var(--ink-700); font-size: 12px; }
.progress-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; }
.progress-track { height: 5px; overflow: hidden; border-radius: 99px; background: #ebe9e2; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.progress-label { font-size: 10px; color: var(--ink-500); }
.next-action { margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); }
.next-action span { display: block; color: var(--ink-500); font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.next-action strong { display: block; margin-top: 3px; font-size: 11px; font-weight: 600; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.task-list { overflow: hidden; }
.task-row { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 13px 15px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.task-row:last-child { border-bottom: 0; }
.task-row:hover { background: var(--surface-2); }
.check { width: 18px; height: 18px; display: grid; place-items: center; border: 1.5px solid #c5c7cf; border-radius: 50%; color: transparent; background: white; }
.task-row.is-done .check { color: white; border-color: var(--green); background: var(--green); }
.task-row.is-done .task-title { color: var(--ink-500); text-decoration: line-through; }
.task-title { display: block; font-size: 12px; font-weight: 600; }
.task-meta { display: flex; align-items: center; gap: 7px; margin-top: 3px; color: var(--ink-500); font-size: 10px; }
.task-due { color: var(--ink-500); font-size: 10px; } .task-due.overdue { color: var(--coral); font-weight: 700; }
.project-pill { color: var(--blue); background: var(--blue-soft); }
.attention-panel { padding: 17px; }
.reminder { display: grid; grid-template-columns: 27px 1fr; gap: 9px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.reminder:last-child { border: 0; }
.reminder-icon { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; color: var(--amber); background: var(--amber-soft); font-size: 11px; }
.reminder strong { display: block; font-size: 11px; } .reminder span { color: var(--ink-500); font-size: 10px; }
.activity-item { position: relative; display: grid; grid-template-columns: 15px 1fr; gap: 9px; padding: 8px 0 14px; }
.activity-item:not(:last-child)::before { content: ""; position: absolute; left: 5px; top: 22px; bottom: -2px; width: 1px; background: var(--line); }
.activity-dot { position: relative; z-index: 1; width: 11px; height: 11px; margin-top: 3px; border: 3px solid var(--blue-soft); border-radius: 50%; background: var(--blue); }
.activity-dot.green { border-color: var(--green-soft); background: var(--green); } .activity-dot.amber { border-color: var(--amber-soft); background: var(--amber); } .activity-dot.violet { border-color: var(--violet-soft); background: var(--violet); }
.activity-item strong { display: block; font-size: 11px; } .activity-item p { margin: 1px 0; color: var(--ink-700); font-size: 10px; } .activity-item time { color: var(--ink-500); font-size: 9px; }
.project-hero { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg, var(--surface), #faf8f3); box-shadow: 0 8px 25px rgba(35,40,50,.045); }
.breadcrumb { margin-bottom: 16px; color: var(--ink-500); font-size: 11px; }
.project-hero-main { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 28px; }
.project-title-row { display: flex; align-items: center; gap: 14px; }
.project-title-row h1 { margin: 0; font-family: Manrope; font-size: 30px; letter-spacing: -1px; }
.project-hero p { max-width: 760px; color: var(--ink-700); }
.project-properties { display: flex; flex-wrap: wrap; gap: 17px; margin-top: 18px; }
.property span { display: block; color: var(--ink-500); font-size: 9px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; } .property strong { display: block; margin-top: 3px; font-size: 11px; }
.hero-action { padding: 17px; border: 1px solid #dcd7f0; border-radius: 13px; background: var(--violet-soft); }
.hero-action span { color: var(--violet); font-size: 9px; font-weight: 700; letter-spacing: 1px; } .hero-action strong { display: block; margin: 7px 0 14px; font-family: Manrope; font-size: 14px; }
.project-tabs { display: flex; gap: 5px; overflow-x: auto; margin: 20px 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,254,250,.75); }
.project-tab { flex: 0 0 auto; padding: 8px 13px; border: 0; border-radius: 8px; color: var(--ink-500); background: transparent; cursor: pointer; font-size: 11px; font-weight: 600; }
.project-tab.is-active { color: var(--ink-900); background: white; box-shadow: 0 2px 8px rgba(20,26,40,.07); }
.project-overview { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(290px,.72fr); gap: 20px; }
.content-card { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.content-card + .content-card { margin-top: 15px; }
.goal-card { padding: 14px 0; border-bottom: 1px solid var(--line); } .goal-card:last-child { border: 0; }
.goal-card-button { display:block; width:100%; background:transparent; text-align:left; cursor:pointer; }
.goal-card-button:hover { background:var(--surface-2); }
.goal-title { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 9px; font-size: 11px; font-weight: 600; }
.goal-card-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:9px; color:var(--ink-500); font-size:10px; }
.goal-progress-note { display:block; margin-top:7px; color:var(--violet); font-size:10px; font-weight:650; }
.goal-list .goal-card-button { padding:15px 12px; border-radius:10px; }
.goal-drawer h2 { margin:9px 0 10px; font:700 22px Manrope; }
.goal-detail-content > p { color:var(--ink-700); font-size:12px; line-height:1.6; }
.goal-progress-detail { display:flex; flex-wrap:wrap; gap:7px; align-items:baseline; }
.goal-progress-detail span { color:var(--ink-500); font-weight:500; }
.goal-toolbar { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.goal-empty-work,.goal-suggestion,.goal-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0; padding:13px; border-radius:10px; background:var(--blue-soft); color:var(--ink-700); font-size:11px; }
.goal-suggestion { display:block; background:var(--green-soft); }
.goal-notice { background:var(--amber-soft); }
.goal-mode { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.goal-mode label,.goal-detail-form label { display:grid; gap:6px; margin-bottom:12px; color:var(--ink-700); font-size:11px; font-weight:600; }
.goal-mode input,.goal-mode select,.goal-mode textarea,.goal-detail-form input,.goal-detail-form select,.goal-detail-form textarea { width:100%; min-width:0; padding:9px 10px; border:1px solid var(--line-strong); border-radius:8px; background:white; color:var(--ink-900); }
.mode-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; }
.mode-heading h3 { margin:0; font:700 16px Manrope; }
.field-guidance { margin:-6px 0 13px; color:var(--ink-500); font-size:10px; line-height:1.45; }
.goal-task-list { margin-bottom:15px; border:1px solid var(--line); border-radius:9px; background:white; }
.goal-task-list > div { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:10px; border-bottom:1px solid var(--line); }
.goal-task-list > div:last-child { border:0; }
.goal-task-list strong,.goal-task-list small,.preview-task strong,.preview-task small { display:block; }
.goal-task-list small,.preview-task small { margin-top:2px; color:var(--ink-500); font-weight:500; }
.goal-mode fieldset { min-width:0; margin:13px 0; padding:0; border:0; }
.goal-mode legend { margin-bottom:8px; color:var(--ink-700); font-size:11px; font-weight:700; }
.preview-task { grid-template-columns:20px minmax(0,1fr)!important; align-items:start; padding:9px; border:1px solid var(--line); border-radius:8px; background:white; }
.preview-task input { width:auto; margin-top:2px; }
.compact-empty { padding:22px 12px; }
.idea-grid, .research-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.idea-card, .research-card { min-height: 90px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); }
.idea-card span { color: var(--amber); font-size: 16px; } .idea-card p { margin: 7px 0 0; font-size: 11px; }
.research-card span { color: var(--ink-500); font-size: 9px; } .research-card strong { display: block; margin-top: 6px; font-size: 11px; }
.transcript-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 18px; }
.transcript-panel { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.transcript-header { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.transcript-header h2 { margin: 0; font: 700 17px Manrope; }
.source-pill { color: var(--violet); background: var(--violet-soft); }
.transcript-search { width: 170px; height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); }
.transcript-source-picker { display: grid; gap: 4px; min-width: 190px; color: var(--ink-500); font-size: 9px; font-weight: 700; }
.transcript-source-picker select { height: 34px; max-width: 230px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); color: var(--ink-700); }
.transcript-segments { padding: 8px 20px 18px; }
.transcript-segment { display: grid; grid-template-columns: 48px 70px minmax(0,1fr); gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.transcript-segment:last-child { border: 0; }
.segment-time { color: var(--blue); font-family: ui-monospace, monospace; font-size: 10px; cursor: pointer; }
.segment-speaker { font-size: 10px; font-weight: 700; }
.segment-text { margin: 0; color: var(--ink-700); font-size: 12px; line-height: 1.65; }
.source-details { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); height: fit-content; }
.source-details h3 { margin: 0 0 14px; font: 700 14px Manrope; }
.source-meta-row { padding: 10px 0; border-bottom: 1px solid var(--line); } .source-meta-row span { display: block; color: var(--ink-500); font-size: 9px; text-transform: uppercase; } .source-meta-row strong { display: block; margin-top: 3px; font-size: 11px; }
.source-summary { margin-top: 14px; padding: 13px; border-radius: 10px; background: var(--blue-soft); color: var(--ink-700); font-size: 11px; }
.filters { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.filter-chip { padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-500); background: var(--surface); cursor: pointer; font-size: 10px; font-weight: 600; }
.filter-chip.is-active { color: white; border-color: var(--ink-900); background: var(--ink-900); }
.tasks-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 18px; }
.task-group { margin-bottom: 15px; }
.task-group h3 { margin: 0 0 8px 5px; color: var(--ink-500); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; }
.task-detail { position: sticky; top: 90px; height: fit-content; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.task-detail h2 { margin: 9px 0 10px; font: 700 19px Manrope; }
.task-detail p { color: var(--ink-700); font-size: 12px; }
.detail-property { padding: 10px 0; border-bottom: 1px solid var(--line); } .detail-property span { display: inline-block; width: 85px; color: var(--ink-500); font-size: 10px; } .detail-property strong { font-size: 10px; }
.task-detail-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.task-properties { margin:14px 0; }
.task-properties div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--line); }
.task-properties dt { color:var(--ink-500); font-size:10px; }
.task-properties dd { margin:0; font-size:11px; font-weight:650; overflow-wrap:anywhere; }
.task-toolbar,.lifecycle-actions,.task-form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.task-toolbar { margin:18px 0; }
.task-activity { margin-top:22px; padding-top:14px; border-top:1px solid var(--line); }
.task-form label,.block-task-form label { display:grid; gap:6px; margin-bottom:12px; color:var(--ink-700); font-size:11px; font-weight:600; }
.task-form input,.task-form select,.task-form textarea,.block-task-form input,.block-task-form textarea { width:100%; min-width:0; padding:9px 10px; border:1px solid var(--line-strong); border-radius:8px; background:white; color:var(--ink-900); }
.task-form-actions { justify-content:flex-end; }
.task-drawer { width:min(570px,100vw); max-width:none; height:100dvh; max-height:none; margin:0 0 0 auto; padding:0; border:0; background:var(--surface); box-shadow:-18px 0 50px rgba(10,15,28,.2); }
.task-drawer::backdrop { background:rgba(10,15,28,.38); }
.task-drawer > div { min-height:100%; padding:26px; overflow:auto; }
.task-row:focus-visible,.goal-card-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible,.dialog-close:focus-visible,.filter-chip:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent); outline-offset:2px; }
button:disabled { cursor:not-allowed; opacity:.55; }
.move-control { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 7px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.move-control label { margin: 0; color: var(--ink-500); font-size: 9px; font-weight: 700; }
.reminder > .move-control { grid-column: 2 / -1; width: 100%; }
.move-control select { min-width: 0; height: 34px; padding: 0 7px; border: 1px solid var(--line-strong); border-radius: 8px; background: white; color: var(--ink-700); font-size: 10px; }
.triage-list { display:grid; gap:0; overflow:hidden; }
.triage-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.8fr); align-items:center; gap:18px; padding:14px 16px; border-bottom:1px solid var(--line); }
.triage-row:last-child { border-bottom:0; }
.triage-task { display:grid; gap:4px; min-width:0; padding:4px; border:0; background:transparent; color:var(--ink-900); text-align:left; cursor:pointer; }
.triage-task strong,.triage-task span { overflow-wrap:anywhere; }
.triage-task span { color:var(--ink-500); font-size:10px; }
.triage-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:end; }
.triage-actions label { grid-column:1/-1; color:var(--ink-500); font-size:9px; font-weight:700; }
.triage-actions select { min-width:0; min-height:44px; padding:0 9px; border:1px solid var(--line-strong); border-radius:8px; background:white; }
.triage-actions button { min-height:44px; }
.triage-recovery { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; padding:12px 14px; border:1px solid var(--amber); border-radius:10px; background:var(--surface); }
.compact-button { min-height: 34px; padding: 0 10px; font-size: 10px; }
.capture-dialog { width: min(520px,calc(100vw - 30px)); padding: 0; border: 0; border-radius: 18px; background: var(--surface); box-shadow: 0 30px 80px rgba(10,15,28,.25); }
.capture-dialog::backdrop { background: rgba(10,15,28,.46); backdrop-filter: blur(3px); }
.capture-dialog form { padding: 24px; }
.dialog-heading { display: flex; justify-content: space-between; margin-bottom: 20px; } .dialog-heading h2 { margin: 3px 0 0; font: 700 20px Manrope; }
.dialog-close { border: 0; background: transparent; color: var(--ink-500); font-size: 24px; cursor: pointer; }
.capture-dialog label { display: grid; gap: 7px; margin-bottom: 15px; color: var(--ink-700); font-size: 11px; font-weight: 600; }
.capture-dialog input, .capture-dialog select, .capture-dialog textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; resize: vertical; }
.capture-dialog input, .capture-dialog select { height: 42px; }
.form-error { min-height: 18px; margin: -3px 0 10px; color: var(--coral); font-size: 11px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.capture-dialog menu { display: flex; justify-content: flex-end; gap: 8px; margin: 5px 0 0; padding: 0; }
.schedule-editor { display:grid; gap:18px; }
.schedule-editor fieldset { min-width:0; margin:0; padding:16px; border:1px solid var(--line); border-radius:12px; }
.schedule-editor legend { padding:0 6px; color:var(--ink-900); font:700 12px Manrope,sans-serif; }
.schedule-editor .fold-choice { margin-top:12px; background:var(--amber-soft); }
.schedule-editor .check-row { display:flex; min-height:44px; align-items:center; gap:9px; }
.schedule-editor .check-row input { width:20px; height:20px; flex:0 0 auto; }
.field-help { margin:-7px 0 13px; color:var(--ink-500); font-size:11px; line-height:1.45; }
.schedule-live { min-height:18px; color:var(--ink-700); font-size:11px; }
.schedule-review { padding:24px; }
.schedule-review:focus-visible { outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent); outline-offset:-5px; }
.schedule-review dl { display:grid; gap:10px; margin:0 0 20px; }
.schedule-review dl>div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.schedule-review dt { color:var(--ink-500); font-size:10px; font-weight:700; text-transform:uppercase; }
.schedule-review dd { margin:4px 0 0; overflow-wrap:anywhere; color:var(--ink-900); line-height:1.5; }
.schedule-review menu { display:flex; justify-content:flex-end; gap:8px; padding:0; }
.toast{position:fixed;right:25px;bottom:25px;z-index:100;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;width:min(390px,calc(100vw - 32px));padding:12px 13px;border:1px solid color-mix(in srgb,var(--coral) 28%,var(--line));border-radius:16px;color:var(--ink-900);background:color-mix(in srgb,#fffaf0 94%,var(--surface));box-shadow:0 18px 48px rgba(17,26,46,.2);opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.toast.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.toast-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--coral);color:#fff;font-family:Georgia,serif;font-size:18px;font-weight:700}
.toast-message{min-width:0;font-size:14px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.toast-dismiss{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink-500);font-size:22px;cursor:pointer}
.toast-dismiss:hover{background:color-mix(in srgb,var(--coral) 10%,transparent);color:var(--ink-900)}
.toast-dismiss:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:2px}
.toast-dismiss[hidden]{display:none}
.toast:not(.is-persistent){grid-template-columns:32px minmax(0,1fr)}
.empty-state { padding: 50px 20px; text-align: center; color: var(--ink-500); }
.empty-state strong { display: block; color: var(--ink-900); margin-bottom: 5px; }
.search-highlight { background: #fff0a8; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.voice-list,.voice-receipts { display:grid; gap:12px; min-width:0; }
.voice-runner { display:grid; gap:16px; margin-bottom:18px; padding:18px; }
.voice-runner-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.voice-runner-heading h2 { margin:4px 0 0; }
.voice-schedule { display:grid; gap:10px; padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.voice-schedule-heading,.voice-schedule-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.voice-schedule-heading div { display:grid; gap:3px; } .voice-schedule-heading small { color:var(--ink-500); }
.voice-schedule>label { font-weight:700; }
.voice-schedule select { min-width:140px; min-height:44px; padding:8px 10px; border:1px solid var(--line-strong); border-radius:9px; background:var(--surface); color:var(--ink-900); }
.voice-schedule-error { margin:0; color:var(--danger); }
.voice-runner-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.voice-runner-times span { display:grid; gap:4px; min-width:0; padding:10px 12px; border-radius:10px; background:var(--surface-2); overflow-wrap:anywhere; }
.voice-runner-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; padding:0; list-style:none; }
.voice-runner-stages li { display:grid; gap:3px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; }
.voice-runner-stages li.is-running { border-color:var(--blue); background:var(--blue-soft); }
.voice-runner-stages span { color:var(--ink-500); font-size:12px; }
.voice-runner-outcome { margin:0; color:var(--ink-700); } .voice-runner-outcome.is-error { color:var(--danger); }
.voice-card,.voice-receipt,.alias-row { min-width:0; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:0 5px 17px rgba(28,35,50,.035); }
.voice-summary { display:grid; gap:7px; width:100%; min-height:44px; padding:16px; border:0; border-radius:inherit; background:transparent; text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.voice-card-top { display:flex; justify-content:space-between; gap:10px; align-items:center; color:var(--ink-500); font-size:11px; }
.voice-summary strong { font-size:16px; } .voice-summary span,.voice-summary small { color:var(--ink-700); }
.voice-receipt { padding:18px; overflow:hidden; } .voice-receipt header { display:flex; justify-content:space-between; gap:16px; align-items:start; } .voice-receipt h2 { margin:7px 0 0; font-size:18px; }
.voice-command-list { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; counter-reset:none; }
.voice-command-list li { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border-radius:10px; background:var(--surface-2); }
.voice-command-list li>span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-weight:700; } .voice-command-list strong,.voice-command-list small { display:block; }
.voice-load-more { margin-top:16px; min-height:44px; }
.voice-drawer > div { padding:0; } .voice-drawer form { min-height:100dvh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.voice-drawer .dialog-heading { padding:22px 24px; border-bottom:1px solid var(--line); }
.voice-detail-body { min-width:0; padding:22px 24px 120px; overflow:auto; }
.voice-detail-body>label,.alias-form>label { display:block; margin:14px 0 6px; font-weight:700; }
.voice-detail-body input,.voice-detail-body select,.voice-detail-body textarea,.alias-form input,.alias-form select { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:9px; background:var(--surface); color:var(--ink-900); }
.proposal-disclaimer,.alias-partial { padding:11px 13px; border-radius:9px; background:var(--amber-soft); color:#704513; }
.voice-diagnostics { display:grid; grid-template-columns:110px minmax(0,1fr); gap:7px 12px; margin:20px 0; } .voice-diagnostics dt { color:var(--ink-500); } .voice-diagnostics dd { margin:0; overflow-wrap:anywhere; }
.voice-provenance { padding:12px; border:1px solid var(--line); border-radius:10px; } .voice-provenance summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:700; } .voice-provenance blockquote { margin:10px 0; padding-left:12px; border-left:3px solid var(--violet); }
.voice-action-bar { position:sticky; bottom:0; z-index:2; display:flex; justify-content:flex-end; gap:9px; padding:14px 24px max(14px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(255,254,250,.96); backdrop-filter:blur(12px); } .voice-action-bar button { min-height:44px; }
.alias-form { max-width:560px; } .alias-row { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:14px 16px; } .alias-row strong,.alias-row span { display:block; } .alias-row span { color:var(--ink-500); }
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"] { border-color:var(--coral); box-shadow:0 0 0 2px var(--coral-soft); }
.ideas-workspace { min-width:0; }
.idea-filters { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-bottom:18px; padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.idea-filters label { display:grid; gap:5px; min-width:130px; color:var(--ink-500); font-size:9px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; }
.idea-filters input,.idea-filters select { min-width:0; height:38px; padding:0 10px; border:1px solid var(--line-strong); border-radius:8px; background:white; color:var(--ink-900); }
.idea-lifecycle-selector { display:none!important; }
.idea-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:start; }
.idea-column { min-width:0; padding:10px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.idea-column > header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:3px 3px 10px; }
.idea-column h2 { margin:0; font:700 12px Manrope; }
.idea-column header span { min-width:23px; padding:3px 7px; border-radius:999px; background:var(--surface); color:var(--ink-500); text-align:center; font-size:9px; }
.idea-column-list { display:grid; gap:9px; min-height:130px; }
.idea-board-card { position:relative; min-width:0; border:1px solid var(--line); border-radius:11px; background:var(--surface); box-shadow:0 3px 10px rgba(20,26,40,.035); }
.idea-board-card:hover { border-color:var(--line-strong); transform:translateY(-1px); }
.idea-board-card:active { transform:translateY(0); }
.idea-card-open { display:grid; gap:7px; width:100%; min-width:0; padding:13px; border:0; border-radius:inherit; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.idea-card-title { overflow-wrap:anywhere; font-size:11px; font-weight:700; }
.idea-card-meta { color:var(--ink-500); font-size:9px; }
.idea-tags { display:flex; flex-wrap:wrap; gap:4px; }
.idea-tags span { padding:3px 6px; border-radius:999px; color:var(--violet); background:var(--violet-soft); font-size:8px; }
.idea-integrity { color:var(--coral); font-size:9px; font-weight:650; }
.idea-actions { border-top:1px solid var(--line); }
.idea-actions summary { padding:8px 12px; color:var(--ink-500); cursor:pointer; font-size:9px; font-weight:700; list-style-position:inside; }
.idea-actions [role="menu"] { display:grid; gap:2px; padding:0 7px 7px; }
.idea-actions button { width:100%; padding:8px; border:0; border-radius:7px; background:transparent; color:var(--ink-700); text-align:left; cursor:pointer; font-size:9px; }
.idea-actions button:hover,.idea-actions button:focus-visible { background:var(--blue-soft); }
.idea-column-empty { display:grid; place-content:center; min-height:130px; padding:14px; color:var(--ink-500); text-align:center; font-size:9px; line-height:1.5; }
.idea-column-empty strong { color:var(--ink-700); }
.idea-drawer h2 { margin:9px 0 10px; font:700 22px Manrope; overflow-wrap:anywhere; }
.idea-notes { white-space:pre-wrap; color:var(--ink-700); font-size:12px; line-height:1.65; }
.idea-toolbar,.idea-destination-options { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.idea-mode { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.idea-mode label { display:grid; gap:6px; margin-bottom:12px; color:var(--ink-700); font-size:11px; font-weight:600; }
.idea-mode input,.idea-mode select,.idea-mode textarea { width:100%; min-width:0; padding:9px 10px; border:1px solid var(--line-strong); border-radius:8px; background:white; color:var(--ink-900); }
.idea-score-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.idea-outcome { display:grid; gap:5px; margin:16px 0; padding:14px; border-radius:10px; background:var(--green-soft); }
.idea-outcome span:last-child { color:var(--ink-500); font-size:10px; }
.idea-conflict { margin:14px 0; padding:14px; border:1px solid color-mix(in srgb,var(--coral) 45%,var(--line)); border-radius:10px; background:var(--coral-soft); color:var(--ink-700); font-size:11px; }
.idea-conflict p { margin:6px 0 12px; line-height:1.5; }
.drawer-loading { display:grid; min-height:50vh; place-content:center; color:var(--ink-500); }
.calendar-toolbar { display:flex; justify-content:space-between; gap:12px; margin:0 0 14px; }
.calendar-toolbar div { display:flex; gap:6px; }
.calendar-toolbar button,.notification-item button,.calendar-linear button { min-height:40px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); color:var(--ink-700); cursor:pointer; }
.calendar-toolbar button { padding:0 14px; }
.calendar-status { margin:0 0 10px; color:var(--ink-500); font-size:11px; }
.calendar-status.is-error { padding:10px; border-radius:8px; color:var(--coral); background:var(--coral-soft); }
.calendar-settings { margin:-4px 0 14px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); color:var(--ink-700); }
.calendar-settings p { margin:5px 0 0; color:var(--ink-500); }
.calendar-grid { padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.calendar-linear { display:none; margin:0; padding:0; list-style:none; }
.calendar-linear li + li { margin-top:8px; }
.calendar-linear button { display:grid; width:100%; padding:12px; text-align:left; }
.calendar-linear span,.calendar-linear small { color:var(--ink-500); }
.agenda-panel { margin-top:18px; padding:18px; }
.notification-center { position:fixed; z-index:120; top:64px; right:18px; width:min(390px,calc(100vw - 32px)); max-height:calc(100vh - 84px); overflow:auto; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:var(--shadow); }
.notification-center header { display:flex; justify-content:space-between; align-items:start; }
.notification-center h2 { margin:4px 0 14px; }
.notification-item { padding:14px 0; border-top:1px solid var(--line); }
.notification-item h3 { margin:0 0 4px; font-size:12px; }
.notification-item p { color:var(--ink-500); font-size:10px; }
.notification-item div { display:flex; flex-wrap:wrap; gap:6px; }
.notification-item button { padding:0 10px; }
.notification-item.is-overdue { border-left:3px solid var(--coral); padding-left:10px; }
.calendar-toolbar button:focus-visible,.calendar-linear button:focus-visible,.notification-item button:focus-visible { outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent); outline-offset:2px; }
.idea-card-open:focus-visible,.idea-actions summary:focus-visible,.idea-actions button:focus-visible { outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent); outline-offset:2px; }
@media (max-width: 1080px) { .metric-grid { grid-template-columns: repeat(2,1fr); } .dashboard-grid,.project-overview { grid-template-columns: 1fr; } .attention-column { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .project-hero-main { grid-template-columns: 1fr; } .tasks-layout,.transcript-layout { grid-template-columns: 1fr; } .task-detail { position: static; } }
@media (max-width: 760px) { .app-shell { display: block; overflow-x: hidden; } .main-shell { overflow-x: hidden; } .sidebar { position: fixed; left: -260px; width: 246px; transition: .2s; box-shadow: var(--shadow); } .sidebar.is-open { left: 0; } .mobile-menu { display: block; flex: 0 0 auto; } .topbar { display: grid; grid-template-columns: 28px minmax(0,1fr) 39px; gap: 8px; padding: 0 16px; overflow: hidden; } .command-search { min-width: 0; } .command-search kbd,.icon-button { display: none; } #quick-capture { flex: 0 0 39px; width: 39px; padding: 0; overflow: hidden; font-size: 0; } #quick-capture::before { content: "+"; font-size: 20px; line-height: 1; } .content { width: 100%; padding: 24px 16px 45px; overflow-x: hidden; } .metric-grid,.project-grid,.attention-column,.idea-grid,.research-grid { grid-template-columns: minmax(0,1fr); } .page-header { display: block; min-width: 0; } .page-header .primary-button { margin-top:12px; } .page-header p { max-width: 100%; } .date-chip { display: none; } .project-properties { gap: 12px; } .transcript-header { align-items: stretch; flex-direction: column; } .transcript-search,.transcript-source-picker,.transcript-source-picker select { width: 100%; max-width: none; } .transcript-segment { grid-template-columns: 45px 1fr; } .segment-text { grid-column: 2; } .form-row { grid-template-columns: 1fr; } .idea-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .idea-filters label { min-width:0; } .idea-lifecycle-selector { display:grid!important; } .idea-board { display:block; } .idea-column { display:none; } .idea-column.is-narrow-active { display:block; } .idea-score-grid { grid-template-columns:1fr; } }
@media (max-width: 600px) { .task-drawer { width:100vw; } .task-drawer > div { padding:20px 16px; } .task-properties div { grid-template-columns:78px minmax(0,1fr); } .task-row { grid-template-columns:22px minmax(0,1fr); } .task-due { grid-column:2; } .triage-row { grid-template-columns:minmax(0,1fr); gap:12px; padding:14px 12px; } .triage-actions { grid-template-columns:minmax(0,1fr); } .triage-actions label { grid-column:auto; } .triage-actions button { width:100%; } .triage-recovery { align-items:stretch; flex-direction:column; } }
@media (max-width: 420px) { #schedule-drawer { width:100vw; max-width:100vw; } #schedule-drawer>div { padding:16px; } .schedule-review { padding:16px; } .schedule-review menu,.capture-dialog form>menu { display:grid; grid-template-columns:1fr; } .schedule-review menu button,.capture-dialog form>menu button { width:100%; min-height:44px; } }
@media (max-width: 640px) { .voice-runner-heading,.voice-schedule-heading,.voice-schedule-controls { align-items:stretch; flex-direction:column; } .voice-runner-heading button,.voice-schedule button,.voice-schedule select { width:100%; min-height:44px; } .voice-runner-times,.voice-runner-stages { grid-template-columns:1fr; } .voice-drawer { width:100vw; max-width:100vw; } .voice-drawer .dialog-heading,.voice-detail-body { padding-left:16px; padding-right:16px; } .voice-action-bar { display:grid; grid-template-columns:1fr 1fr; padding-left:16px; padding-right:16px; } .voice-action-bar button:last-child { grid-column:1 / -1; } .voice-card-top,.voice-receipt header,.alias-row { align-items:stretch; flex-direction:column; } .voice-command-list li { grid-template-columns:32px minmax(0,1fr); } .voice-command-list li>a,.voice-command-list li>button { grid-column:2; width:100%; min-height:44px; } .voice-diagnostics { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
@media (max-width:760px) { .calendar-grid { display:none; } .calendar-linear { display:block; } .calendar-toolbar { align-items:stretch; flex-direction:column; } .calendar-toolbar div { display:grid; grid-template-columns:repeat(3,1fr); } .notification-center { top:8px; right:8px; width:calc(100vw - 16px); max-height:calc(100vh - 16px); } }
.project-reminders .reminder-list,.legacy-followups{display:grid;gap:12px}.legacy-followups{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.first-class-reminder{justify-content:space-between}.reminder-open{display:grid;gap:4px;min-width:0;text-align:left;background:transparent;border:0;color:inherit;cursor:pointer}.reminder-open:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:3px}.legacy-reminder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.legacy-badge{padding:4px 8px;border:1px solid var(--border);border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}@media(max-width:420px){.legacy-reminder{grid-template-columns:1fr}.first-class-reminder{align-items:flex-start;gap:10px}.project-reminders .section-heading{align-items:flex-start}}
@media(max-width:760px){.topbar{grid-template-columns:28px minmax(0,1fr) 44px 39px}.topbar .icon-button{display:block;width:44px;height:44px}}

/* Calendar planner: an editorial worksheet rather than a generic settings form. */
#schedule-drawer{width:min(620px,100vw);max-width:100vw;margin:0 0 0 auto;padding:0;border:0;box-sizing:border-box;background:#f5f1e8}
#schedule-drawer>div{padding:0}
#schedule-drawer *,#schedule-drawer *::before,#schedule-drawer *::after{box-sizing:border-box;max-width:100%}
.schedule-planner,.schedule-editor,.schedule-detail{min-height:100%;color:var(--ink-900)}
.planner-header{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:start;padding:28px 30px 22px;overflow:hidden;border-bottom:1px solid #d9d1c3;background:#fffdf8}
.planner-header::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 31px,rgba(32,78,116,.045) 31px 32px);pointer-events:none}
.planner-mark{position:relative;z-index:1;display:grid;width:48px;height:48px;place-content:center;border-radius:14px;background:var(--ink-900);color:#fff;font:800 15px Manrope;letter-spacing:.06em}
.planner-header>div,.planner-header>button{position:relative;z-index:1}.planner-header h2{margin:3px 0 6px;font:750 27px/1.1 Manrope;letter-spacing:-.035em}.planner-header p{margin:0;color:var(--ink-500);font-size:11px;line-height:1.55}
.planner-progress{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:11px 30px;border-bottom:1px solid #ded7ca;background:#ece6db}.planner-progress span{display:flex;gap:8px;align-items:center;color:var(--ink-500);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.planner-progress span::before{content:"";width:7px;height:7px;border:2px solid currentColor;border-radius:50%}.planner-progress .is-active{color:#1d5c82}.planner-progress .is-active::before{background:currentColor}
.planner-body{display:grid;gap:16px;padding:20px 30px 112px}.planner-section,.schedule-editor form{padding:20px;border:1px solid #ded7ca;border-radius:16px;background:#fffdf8;box-shadow:0 7px 22px rgba(43,36,25,.045)}
.planner-section-title{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:16px}.planner-section-title>span{display:grid;width:30px;height:30px;place-content:center;border:1px solid #c4b9a7;border-radius:50%;color:#806c4b;font:800 9px Manrope}.planner-section-title h3{margin:0 0 3px;font:750 15px Manrope}.planner-section-title p{margin:0;color:var(--ink-500);font-size:9px}
.type-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 16px;padding:0;border:0}.type-tile{position:relative;display:block;min-width:0}.type-tile input{position:absolute;opacity:0;pointer-events:none}.type-tile span{display:grid;gap:3px;min-height:68px;padding:13px;border:1px solid #d7cdbc;border-radius:12px;background:#faf7f0;cursor:pointer}.type-tile strong{font-size:11px}.type-tile small{color:var(--ink-500);font-size:8px;line-height:1.4}.type-tile input:checked+span{border-color:#2e719a;background:#eaf3f7;box-shadow:inset 0 0 0 1px #2e719a}.type-tile input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--blue) 42%,transparent);outline-offset:2px}
.planner-field{display:grid;gap:6px;margin-top:12px;color:var(--ink-700);font-size:9px;font-weight:800;letter-spacing:.03em}.planner-field>span small{font-weight:500;color:var(--ink-500)}.planner-field input,.planner-field select,.planner-field textarea,.planner-datetime input,.planner-datetime select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #cfc3b1;border-radius:9px;background:white;color:var(--ink-900);font:600 11px Manrope}.planner-field textarea{min-height:104px;resize:vertical}
.planner-datetime{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;min-width:0}.planner-datetime>span{grid-column:1/-1;color:var(--ink-700);font-size:9px;font-weight:800}.planner-range{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.planner-range .duration-row{grid-column:1/-1}
.duration-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.duration-row>span{margin-right:auto;color:var(--ink-500);font-size:9px;font-weight:800;text-transform:uppercase}.duration-row button{min-width:48px;min-height:38px;padding:0 10px;border:1px solid #cfc3b1;border-radius:999px;background:white;color:var(--ink-700);cursor:pointer}.duration-row button:hover,.duration-row button.is-selected{border-color:#2e719a;background:#eaf3f7;color:#174f71}
.reserve-card,.channel-card{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:13px;padding:14px;border:1px solid #d7cdbc;border-radius:12px;background:#faf7f0}.reserve-card input,.channel-card input{width:18px;height:18px;accent-color:#276b91}.reserve-card span,.channel-card span{display:grid;gap:3px}.reserve-card strong,.channel-card strong{font-size:10px}.reserve-card small,.channel-card small{color:var(--ink-500);font-size:8px}.channel-card select{min-height:38px;max-width:150px}.channel-card.is-disabled{opacity:.58}.context-chip,.schedule-readonly-note{margin-top:12px;padding:13px;border-left:3px solid #d29439;border-radius:0 9px 9px 0;background:#fff4de}.context-chip span,.context-chip strong,.context-chip small{display:block}.context-chip span{color:#80602e;font-size:8px;font-weight:800;text-transform:uppercase}.context-chip small{margin-top:3px;color:var(--ink-500)}
.planner-actions{position:sticky;z-index:4;bottom:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:0;padding:15px 30px max(15px,env(safe-area-inset-bottom));border-top:1px solid #d8cfbf;background:rgba(255,253,248,.94);backdrop-filter:blur(14px)}.planner-actions button{min-height:44px}.planner-summary{display:grid;min-width:0}.planner-summary span{color:var(--ink-500);font-size:8px;font-weight:800;text-transform:uppercase}.planner-summary strong{overflow:hidden;text-overflow:ellipsis;font-size:10px;white-space:nowrap}.schedule-live,.schedule-planner>.form-error{margin:0;padding:0 30px}
.schedule-detail,.schedule-editor{padding:28px 30px}.schedule-detail-description{color:var(--ink-700);line-height:1.65;white-space:pre-wrap}.schedule-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.schedule-facts div{padding:14px;border:1px solid #ded7ca;border-radius:12px;background:#fffdf8}.schedule-facts dt{color:var(--ink-500);font-size:8px;font-weight:800;text-transform:uppercase}.schedule-facts dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:10px}.schedule-detail-actions{display:flex;gap:9px;flex-wrap:wrap}.danger-button{border-color:#d9a39b!important;color:#923b30!important;background:#fff4f1!important}.schedule-editor{display:grid;gap:15px}.schedule-editor form{display:grid;gap:12px}.schedule-editor form .planner-section-title{margin-bottom:0}.schedule-editor>button{justify-self:start}
@media(max-width:520px){.planner-header{grid-template-columns:42px minmax(0,1fr) auto;padding:22px 16px 18px}.planner-mark{width:42px;height:42px}.planner-header h2{font-size:22px}.planner-progress{padding:10px 16px}.planner-body{padding:14px 12px 116px}.planner-section,.schedule-editor form{padding:16px}.planner-range,.schedule-facts{grid-template-columns:1fr}.planner-actions{grid-template-columns:1fr 1fr;padding:12px}.planner-summary{grid-column:1/-1;grid-row:1}.planner-actions button{width:100%}.schedule-detail,.schedule-editor{padding:22px 16px}.channel-card{grid-template-columns:22px minmax(0,1fr)}.channel-card select{grid-column:2;width:100%;max-width:none}.type-tiles{grid-template-columns:1fr 1fr}.schedule-detail-actions{display:grid}.schedule-detail-actions button{width:100%;min-height:44px}}
.planner-header p,.planner-section-title p,.type-tile small,.reserve-card small,.channel-card small,.schedule-facts dd,.planner-summary strong{font-size:12px}.planner-field,.planner-datetime>span,.duration-row>span,.schedule-facts dt,.planner-summary span,.context-chip span{font-size:11px}.type-tile strong,.reserve-card strong,.channel-card strong{font-size:13px}
