:root {
  --p-bg: var(--sv-color-canvas);
  --p-surface: var(--sv-color-surface);
  --p-surface-raised: var(--sv-color-surface-strong);
  --p-line: var(--sv-color-border);
  --p-line-strong: var(--sv-color-border-strong);
  --p-text: var(--sv-color-text);
  --p-muted: var(--sv-color-text-muted);
  --p-faint: var(--sv-color-text-faint);
  --p-accent: var(--sv-color-brand);
  --p-cyan: var(--sv-color-info);
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 1040px; background: var(--p-bg); color: var(--p-text); }
button, input, textarea, select { font: inherit; }
.planner-shell { min-height: 100vh; padding: 34px 42px 52px 102px; background: var(--p-bg); }
.planner-hero, .planner-stats, .planner-tabs, .plans-panel, .agent-schedule-board { width: min(1540px, 100%); margin-inline: auto; }
.planner-hero { margin-bottom: 24px; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.eyebrow, .panel-head p, .planner-dialog header p { margin: 0 0 7px; color: var(--p-accent); font: 700 10px/1.2 var(--sv-font-mono); letter-spacing: .13em; text-transform: uppercase; }
.planner-hero h1 { margin: 0; font-size: var(--sv-font-size-title); font-weight: 600; line-height: 1.28; letter-spacing: -0.01em; }
.planner-hero > div > p:last-child { margin: 8px 0 0; color: var(--p-muted); font-size: 13px; }
.primary-action, .secondary-action, .panel-head button {
  min-height: 40px;
  border: 1px solid var(--p-line-strong);
  border-radius: 11px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 12px;
  text-decoration: none;
  background: var(--sv-color-surface-strong);
  color: var(--p-text);
  cursor: pointer;
}
.primary-action { border-color: var(--p-accent); background: var(--p-accent); color: var(--sv-color-on-brand); font-weight: 750; }
.primary-action span { margin-right: 6px; font-size: 18px; font-weight: 400; }
.hero-actions { display: flex; align-items: center; gap: 9px; }
.collaboration-button { display:flex;align-items:center;gap:8px; }.collaboration-button b{font-size:11px}.collaboration-button em{color:var(--p-faint);font:700 9px var(--sv-font-mono);font-style:normal}.presence-dot{width:7px;height:7px;border-radius:50%;background:var(--p-accent);box-shadow:0 0 0 4px rgba(var(--sv-brand-rgb), .08)}
.notification-button{position:relative}.notification-button i{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:var(--p-accent);color: var(--sv-color-on-brand);font:800 9px var(--sv-font-mono);font-style:normal}
.primary-action:hover, .secondary-action:hover, .panel-head button:hover { transform: translateY(-1px); border-color: rgba(var(--sv-brand-rgb), .55); }

.planner-stats { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.planner-stats article { min-height: 105px; padding: 18px 20px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 7px 14px; border: 1px solid var(--p-line); border-radius: 15px; background: var(--sv-color-surface); }
.planner-stats span { color: var(--p-muted); font-size: 12px; }
.planner-stats strong { grid-row: span 2; align-self: center; color: var(--p-text); font: 500 31px/1 var(--sv-font-mono); }
.planner-stats small { color: var(--p-faint); font-size: 10px; }

.planner-tabs { min-height: 54px; margin-bottom: 14px; padding: 7px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--p-line); border-radius: 14px; background: rgba(16,18,16,.82); }
.planner-type-tabs { min-width: 0; display: flex; align-items: center; gap: 4px; }
.planner-tabs button { height: 38px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: var(--p-muted); font-size: 12px; cursor: pointer; }
.planner-tabs button:hover { color: var(--p-text); }
.planner-tabs button.active { background: rgba(245,242,234,.08); color: var(--p-text); }
.planner-tabs label { width: min(300px, 24vw); height: 38px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--p-line); border-radius: 9px; background: var(--sv-color-surface-subtle); }
.planner-tabs .scope-filter { width: 150px; margin-left: auto; }
.scope-filter span { color: var(--p-faint); font-size: 9px; white-space: nowrap; }
.scope-filter select { width: 100%; border: 0; outline: 0; background: transparent; color: var(--p-muted); font-size: 11px; color-scheme: dark; }
.scope-filter option { background: var(--sv-color-surface-strong); color: var(--p-text); }
.planner-tabs svg { width: 16px; fill: none; stroke: var(--p-faint); stroke-width: 1.7; }
.planner-tabs input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--p-text); font-size: 12px; }

.planner-panel { overflow: hidden; border: 1px solid var(--p-line); border-radius: 16px; background: var(--sv-color-surface); }
.plans-panel { min-height: 440px; }
.agent-schedule-board { margin-bottom: 14px; overflow: hidden; border: 1px solid var(--p-line); border-radius: 16px; background: var(--sv-color-surface); }
.plan-list { padding: 10px 20px 22px; }
.planner-list-footer { display: flex; justify-content: center; padding: 0 20px 18px; }
.planner-list-footer button { min-height: 30px; padding: 0 13px; border: 1px solid var(--p-line-strong); border-radius: 8px; background: var(--sv-color-surface-strong); color: var(--p-muted); font-size: 10px; cursor: pointer; }
.planner-list-footer button:hover:not(:disabled) { border-color: var(--p-accent); color: var(--p-accent); }
.goal-card { min-height: 240px; padding: 18px; border: 1px solid var(--p-line); border-radius: 14px; background: linear-gradient(145deg, var(--sv-color-surface-elevated), var(--sv-color-surface-subtle)); }
.plan-goal-card { margin: 10px 0; }
.goal-card.status-submitted { border-color: rgba(var(--sv-brand-rgb), .3); }
.goal-card header, .goal-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.goal-card header span { color: var(--p-accent); font: 700 9px/1 var(--sv-font-mono); letter-spacing: .1em; text-transform: uppercase; }
.goal-card header span b { margin-right: 9px; padding: 4px 6px; border: 1px solid rgba(var(--sv-brand-rgb), .24); border-radius: 6px; background: rgba(var(--sv-brand-rgb), .06); color: var(--p-accent); font-weight: 750; }
.goal-card time, .goal-card small { color: var(--p-faint); font-size: 10px; }
.goal-card h3 { margin: 24px 0 8px; font-size: 18px; letter-spacing: -.02em; }
.goal-card > p { min-height: 35px; margin: 0; color: var(--p-muted); font-size: 11px; line-height: 1.6; }
.goal-progress { height: 3px; margin: 18px 0; overflow: hidden; border-radius: 5px; background: rgba(245,242,234,.08); }
.goal-progress i { height: 100%; display: block; background: var(--p-accent); }
.goal-contract { min-height: 52px; padding: 11px 12px; display: grid; grid-template-columns: 64px 1fr; gap: 8px; border: 1px solid rgba(245,242,234,.07); border-radius: 10px; background: rgba(0,0,0,.18); }
.goal-contract b { color: var(--p-cyan); font: 700 9px/1.5 var(--sv-font-mono); }
.goal-contract span { color: var(--p-muted); font-size: 10px; line-height: 1.5; }
.goal-actions-preview { margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.goal-action-row { min-height: 38px; padding: 0 4px; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 8px; border-bottom: 1px solid rgba(245,242,234,.06); }
.goal-action-row > button:not(.task-check) { min-width: 0; padding: 0; overflow: hidden; border: 0; background: transparent; color: var(--p-muted); font-size: 10px; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.goal-action-row > small { font-size: 8px; }
.goal-action-row.done > button:not(.task-check) { color: var(--p-faint); text-decoration: line-through; }
.goal-action-row.done .task-check { border-color: var(--p-accent); background: var(--p-accent); color: var(--sv-color-on-brand); }
.goal-card footer { margin-top: 16px; }
.goal-card footer div { display: flex; gap: 6px; }
.goal-card footer button, .agent-job-actions button { height: 30px; padding: 0 9px; border: 1px solid var(--p-line); border-radius: 8px; background: var(--sv-color-surface-strong); color: var(--p-muted); font-size: 9px; cursor: pointer; }
.agent-job-actions button:disabled { opacity: .35; cursor: not-allowed; }
.goal-card footer .goal-accept { border-color: rgba(var(--sv-brand-rgb), .45); color: var(--p-accent); }
.panel-head { min-height: 72px; padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--p-line); }
.panel-head h2 { margin: 0; font-size: 17px; letter-spacing: -.02em; }
.panel-head > span { color: var(--p-faint); font-size: 11px; }
.panel-head .head-actions > span { max-width: 420px; overflow: hidden; color: var(--p-faint); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.panel-head button { min-height: 34px; padding: 0 12px; border-radius: 9px; color: var(--sv-color-text); font-size: 11px; }
.head-actions { display: flex; gap: 7px; }
.task-row { min-height: 68px; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto 28px; gap: 10px; align-items: start; border-bottom: 1px solid rgba(245,242,234,.065); }
.plan-item-row { min-height: 78px; }
.plan-item-row > .plan-row-marker { position: relative; z-index: 2; display: flex; align-items: flex-start; padding-top: 3px; }
.plan-item-row > .plan-row-marker .task-check,
.plan-item-row > .plan-row-marker .plan-kind-mark { margin-top: 0; }
.plan-title-line { min-width: 0; display: flex; align-items: center; gap: 8px; }
.plan-title-line strong { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--sv-color-text); font-size: 13px; font-weight: 620; }
.plan-row-tags { min-height: 16px; display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.plan-row-tags .plan-kind-label { margin-right: 0; }
.plan-kind-mark.kind-meeting { border-color: rgba(96,205,232,.25); color: var(--p-cyan); }
.plan-kind-mark.kind-archived { border-color: var(--sv-color-border-soft); color: var(--p-faint); }
.plan-kind-label { margin-right: 7px; color: var(--p-accent); font: 700 8px var(--sv-font-mono); }
.task-check { width: 19px; height: 19px; display: grid; place-items: center; border: 1px solid rgba(245,242,234,.3); border-radius: 6px; background: transparent; color: transparent; cursor: pointer; }
.task-check:hover { border-color: var(--p-accent); }
.task-check:disabled { opacity: .45; cursor: default; }
.task-row.done .task-check { border-color: var(--p-accent); background: var(--p-accent); color: var(--sv-color-on-brand); }
.task-row.done .task-copy .plan-title-line strong { color: var(--p-faint); text-decoration: line-through; }
.task-main { min-width: 0; display: grid; gap: 8px; }
.task-copy { min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.task-copy:hover strong { color: var(--sv-color-text); }
.task-copy strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-copy .plan-title-line strong { display: block; }
.task-copy strong { color: var(--sv-color-text); font-size: 13px; font-weight: 620; }
.plan-kind-mark { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--p-line-strong); border-radius: 7px; color: var(--p-muted); font: 750 9px var(--sv-font-mono); }
.archived-chip { padding: 2px 6px; border: 1px solid rgba(245,242,234,.12); border-radius: 999px; color: var(--p-faint); font: 700 8px var(--sv-font-mono); }
.plan-meta { margin-top: 8px; display: grid; grid-template-columns: repeat(4, minmax(0, max-content)); gap: 7px 20px; color: var(--p-muted); font-size: 10px; }
.plan-meta span { min-width: 0; display: flex; gap: 6px; white-space: nowrap; }
.plan-meta b { color: var(--p-faint); font-weight: 500; }
.plan-item-row.archived { opacity: .72; }
.plan-item-row.archived:hover { opacity: 1; }
.planner-dialog.is-readonly .field input,
.planner-dialog.is-readonly .field textarea,
.planner-dialog.is-readonly .field select { opacity: .92; cursor: default; }
.edit-item { font-size: 10px; letter-spacing: .02em; }
.team-chip{margin-right:5px;padding:2px 5px;border:1px solid rgba(96,205,232,.25);border-radius:5px;color:var(--p-cyan);font:700 8px var(--sv-font-mono)}
.priority { padding: 4px 7px; border: 1px solid var(--p-line); border-radius: 7px; color: var(--p-muted); font: 700 9px/1 var(--sv-font-mono); }
.priority.high { border-color: rgba(var(--sv-brand-rgb), .32); color: var(--p-accent); }
.edit-item { width: 28px; height: 28px; border: 0; border-radius: 8px; background: transparent; color: var(--p-faint); cursor: pointer; }
.edit-item:hover { background: rgba(245,242,234,.07); color: var(--p-text); }
.empty-state { min-height: 260px; padding: 32px; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--p-muted); text-align: center; }
.empty-state--compact { min-height: 120px; padding: 24px 32px; }
.empty-state strong { color: var(--p-text); font-size: 14px; }
.empty-state span { font-size: 11px; }

.planner-dialog { width: min(640px, calc(100vw - 40px)); max-height: calc(100dvh - 44px); padding: 0; overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none; border: 1px solid var(--p-line-strong); border-radius: 18px; background: var(--sv-color-surface); color: var(--p-text); box-shadow: 0 30px 90px rgba(0,0,0,.62); }
.planner-dialog::-webkit-scrollbar { display: none; width: 0; height: 0; }
.goal-dialog { width: min(1180px, calc(100vw - 48px)); height: min(760px, calc(100vh - 48px)); padding: 0; overflow: hidden; border: 1px solid var(--p-line-strong); border-radius: 20px; background: var(--sv-color-surface); color: var(--p-text); box-shadow: 0 36px 100px rgba(0,0,0,.7); }
.goal-dialog::backdrop, .goal-action-dialog::backdrop, .agent-schedule-dialog::backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(8px); }
.goal-dialog-shell { height: 100%; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(400px, .9fr); }
.goal-conversation { min-width: 0; padding: 24px; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto auto; border-right: 1px solid var(--p-line); }
.goal-conversation > header, .goal-action-dialog header, .agent-schedule-dialog header { display: flex; justify-content: space-between; gap: 16px; }
.goal-conversation h2 { margin: 0; font-size: 22px; }
.goal-dialog-intro { margin-top: 18px; padding: 13px 14px; display: grid; gap: 4px; border-left: 2px solid var(--p-accent); background: rgba(var(--sv-brand-rgb), .035); }
.goal-dialog-intro b { font-size: 12px; }.goal-dialog-intro span { color: var(--p-muted); font-size: 10px; }
.goal-chat { padding: 24px 0; overflow: auto; display: flex; flex-direction: column; gap: 10px; }
.goal-bubble { max-width: 78%; padding: 12px 14px; border: 1px solid var(--p-line); border-radius: 13px 13px 13px 4px; background: var(--sv-color-surface-strong); color: var(--p-muted); font-size: 11px; line-height: 1.7; }
.goal-bubble.user { align-self: flex-end; border-radius: 13px 13px 4px 13px; background: rgba(var(--sv-brand-rgb), .1); color: var(--p-text); }.goal-bubble.error { color: #df7b75; }
.goal-composer { padding: 8px; display: grid; grid-template-columns: 1fr auto; gap: 8px; border: 1px solid var(--p-line-strong); border-radius: 14px; background: var(--sv-color-canvas-raised); }
.goal-composer textarea { min-height: 70px; padding: 9px; resize: none; border: 0; outline: 0; background: transparent; color: var(--p-text); font-size: 11px; line-height: 1.6; }.goal-composer button { align-self: end; }
.text-action { justify-self: start; margin-top: 8px; border: 0; background: transparent; color: var(--p-faint); font-size: 10px; cursor: pointer; }
.goal-proposal { min-width: 0; padding: 26px; overflow: auto; background: radial-gradient(circle at 100% 0, rgba(96,205,232,.07), transparent 34%), var(--sv-color-surface-strong); }
.proposal-empty { height: 100%; display: grid; place-content: center; gap: 10px; text-align: center; }.proposal-empty span { color: var(--p-accent); font: 500 26px/1 var(--sv-font-mono); }.proposal-empty p { max-width: 290px; margin: 0; color: var(--p-faint); font-size: 10px; line-height: 1.7; }
.proposal-sheet h3 { margin: 22px 0; font-size: 25px; letter-spacing: -.04em; }.proposal-sheet dl { margin: 0; display: grid; gap: 8px; }.proposal-sheet dl div { padding: 12px; border: 1px solid var(--p-line); border-radius: 10px; }.proposal-sheet dt { margin-bottom: 7px; color: var(--p-faint); font-size: 9px; }.proposal-sheet dd { margin: 0; color: var(--p-text); font-size: 11px; line-height: 1.6; }
.proposal-tasks { margin: 18px 0; }.proposal-tasks > span { color: var(--p-muted); font-size: 10px; }.proposal-tasks p { margin: 6px 0 0; padding: 9px 0; display: grid; grid-template-columns: 30px 1fr; border-bottom: 1px solid var(--p-line); color: var(--p-muted); font-size: 10px; }.proposal-tasks b { color: var(--p-cyan); font-family: var(--sv-font-mono); }
.proposal-check { display: flex; gap: 8px; color: var(--p-muted); font-size: 10px; }.proposal-confirm { width: 100%; margin-top: 14px; }.proposal-sheet > small { margin-top: 8px; display: block; color: var(--p-faint); font-size: 9px; text-align: center; }
.proposal-sharing{display:grid;grid-template-columns:1fr 1fr;gap:8px}.proposal-sharing .field{margin-bottom:10px}
.goal-action-dialog, .agent-schedule-dialog { width: min(680px, calc(100vw - 40px)); padding: 0; border: 1px solid var(--p-line-strong); border-radius: 18px; background: var(--sv-color-surface); color: var(--p-text); }.goal-action-dialog form, .agent-schedule-dialog form { padding: 24px; }.goal-action-dialog h2, .agent-schedule-dialog h2 { margin: 0; }.goal-action-dialog footer, .agent-schedule-dialog footer { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; }
.agent-schedule-list { padding: 14px; display: grid; gap: 9px; }.agent-job { min-height: 92px; padding: 14px; display: grid; grid-template-columns: 48px 1fr auto; gap: 14px; align-items: center; border: 1px solid var(--p-line); border-radius: 13px; background: var(--sv-color-surface-strong); }.agent-job.disabled { opacity: .55; }.agent-job-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(96,205,232,.09); color: var(--p-cyan); font: 700 10px var(--sv-font-mono); }.agent-job header { display: flex; gap: 8px; }.agent-job header span { color: var(--p-accent); font: 700 9px var(--sv-font-mono); }.agent-job header small { color: var(--p-faint); }.agent-job h3 { margin: 7px 0 5px; font-size: 13px; }.agent-job p { margin: 0; color: var(--p-muted); font-size: 10px; }.agent-job-actions { display: flex; gap: 7px; }.agent-schedule-grid { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }.span-2 { grid-column: 1 / -1; }.risk-confirm { margin-bottom: 15px; padding: 11px; border: 1px solid rgba(223,123,117,.25); border-radius: 10px; color: #dfa39e; font-size: 10px; }
.agent-job-mark.runtime-codex { color: var(--p-accent); background: rgba(var(--sv-brand-rgb), .08); border: 1px solid rgba(var(--sv-brand-rgb), .18); }
.planner-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(7px); }
.planner-dialog form { padding: 20px; }
.planner-dialog header { margin-bottom: 13px; display: flex; justify-content: space-between; align-items: flex-start; }
.planner-dialog h2 { margin: 0; font-size: 22px; }
.dialog-close { width: 36px; height: 36px; border: 1px solid var(--p-line); border-radius: 10px; background: var(--sv-color-surface-elevated); color: var(--p-muted); cursor: pointer; }
.kind-picker { margin-bottom: 12px; padding: 4px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; border: 1px solid var(--p-line); border-radius: 11px; background: var(--sv-color-canvas-raised); }
.kind-picker button { height: 36px; border: 0; border-radius: 8px; background: transparent; color: var(--p-muted); cursor: pointer; }
.kind-picker button.active { background: rgba(245,242,234,.09); color: var(--p-text); }
.sharing-picker{margin:0 0 11px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.sharing-picker label{position:relative;padding:11px;display:flex;gap:10px;border:1px solid var(--p-line);border-radius:11px;background:var(--sv-color-surface-subtle);cursor:pointer}.sharing-picker label:has(input:checked){border-color:rgba(var(--sv-brand-rgb), .45);background:rgba(var(--sv-brand-rgb), .035)}.sharing-picker label:has(input:disabled){opacity:.46;cursor:not-allowed}.sharing-picker input{accent-color:var(--p-accent)}.sharing-picker span{display:grid;gap:4px}.sharing-picker b{font-size:11px}.sharing-picker small{color:var(--p-faint);font-size:9px}
.mention-chip { margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: rgba(var(--sv-brand-rgb), .12); color: var(--p-accent); font-size: 9px; }
.mention-box { display: grid; gap: 8px; }
.mention-chips { display: flex; flex-wrap: wrap; gap: 6px; min-height: 8px; }
.mention-chip-btn { height: 28px; padding: 0 10px; border: 1px solid rgba(var(--sv-brand-rgb), .28); border-radius: 999px; background: rgba(var(--sv-brand-rgb), .08); color: var(--p-text); cursor: pointer; font-size: 11px; }
.field[hidden] { display: none !important; }
.field span { color: var(--p-muted); font-size: 11px; }
.field-hint { min-height: 14px; color: var(--p-faint); font-size: 9px; line-height: 1.45; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid var(--p-line); border-radius: 10px; outline: 0; background: var(--sv-color-surface-subtle); color: var(--p-text); }
.field input, .field select { height: 42px; padding: 0 12px; }
.field select { color-scheme: dark; }
.field select option { background: var(--sv-color-surface-strong); color: var(--sv-color-text); }
#agentScheduleRuntime {
  color: var(--sv-color-text) !important;
  -webkit-text-fill-color: var(--sv-color-text);
  font-weight: 620;
  opacity: 1;
}
#agentScheduleRuntime option {
  color: var(--sv-color-text);
  -webkit-text-fill-color: var(--sv-color-text);
  background-color: var(--sv-color-surface-strong);
}
.planner-dialog .field textarea { max-height: 178px; padding: 11px 12px; resize: vertical; line-height: 1.6; }
.attachment-composer{margin:-3px 0 15px;padding:0;border-radius:13px;transition:background .18s,box-shadow .18s}.attachment-composer.is-dragging{background:rgba(var(--sv-brand-rgb), .045);box-shadow:0 0 0 2px rgba(var(--sv-brand-rgb), .42)}.attachment-drop{width:100%;min-height:72px;padding:12px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px dashed rgba(245,242,234,.2);border-radius:12px;background:rgba(8,10,8,.72);color:var(--p-text);text-align:left;cursor:pointer;transition:border-color .18s,background .18s}.attachment-drop:hover{border-color:rgba(var(--sv-brand-rgb), .45);background:rgba(var(--sv-brand-rgb), .025)}.attachment-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(var(--sv-brand-rgb), .08);color:var(--p-accent)}.attachment-icon svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.5}.attachment-drop>span:nth-child(2){display:grid;gap:5px}.attachment-drop b{font-size:11px}.attachment-drop small,.attachment-drop em{color:var(--p-faint);font-size:9px;font-style:normal}.attachment-drop em{font-family:var(--sv-font-mono);letter-spacing:.04em}.attachment-preview{margin-top:9px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.attachment-preview figure{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid var(--p-line);border-radius:10px;background:var(--sv-color-canvas-raised)}.attachment-preview img{width:100%;aspect-ratio:1;display:block;object-fit:cover}.attachment-preview figcaption{padding:6px 7px;overflow:hidden;color:var(--p-faint);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.attachment-preview button{position:absolute;right:5px;top:5px;width:21px;height:21px;padding:0;border:1px solid var(--sv-color-border-strong);border-radius:7px;background:rgba(0,0,0,.72);color: var(--sv-color-text);cursor:pointer}.task-attachments{margin-top:8px;display:flex;gap:5px}.task-attachments button{width:38px;height:38px;padding:0;overflow:hidden;border:1px solid var(--p-line);border-radius:8px;background:var(--sv-color-canvas-raised);cursor:pointer}.task-attachments img{width:100%;height:100%;display:block;object-fit:cover}.task-attachments>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--p-line);border-radius:8px;color:var(--p-muted);font:700 9px var(--sv-font-mono)}
.planner-dialog .attachment-composer { margin-bottom: 10px; }
.planner-dialog .attachment-drop { min-height: 60px; padding: 9px 12px; }
.planner-dialog .attachment-icon { width: 34px; height: 34px; }
.planner-dialog .attachment-preview { grid-template-columns: repeat(6, minmax(0, 72px)); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: rgba(var(--sv-brand-rgb), .55); box-shadow: 0 0 0 3px rgba(var(--sv-brand-rgb), .055); }
.form-row { display: grid; grid-template-columns: 1fr 1fr 120px; gap: 10px; }
.form-row.notes-timing { grid-template-columns: 120px; justify-content: end; }
.form-message { min-height: 14px; margin: 0; color: #df7b75; font-size: 11px; }
.planner-dialog footer { position: sticky; bottom: -20px; z-index: 3; margin: 3px -20px -20px; padding: 12px 20px 16px; display: grid; grid-template-columns: auto auto auto 1fr auto auto; gap: 9px; border-top: 1px solid var(--p-line); background: linear-gradient(180deg, var(--sv-color-surface), var(--sv-color-surface) 28%); }
.planner-dialog footer .danger-action { border-color: rgba(239, 75, 55, .35); color: #ef7b6d; }
.planner-dialog footer .danger-action:hover { border-color: rgba(239, 75, 55, .55); color: #ff9588; }
.item-status-actions { display: flex; gap: 8px; }
.item-content-split { display: block; }
.planner-dialog.is-readonly .item-content-split.has-media {
  display: grid;
  grid-template-columns: minmax(160px, 34%) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.planner-dialog.is-readonly .item-content-split.has-media .item-body-field { margin-bottom: 0; }
.planner-dialog.is-readonly .item-content-split.has-media .attachment-composer { margin: 0; order: -1; }
.planner-dialog.is-readonly .attachment-drop { display: none; }
.planner-dialog.is-readonly .attachment-preview {
  margin-top: 0;
  grid-template-columns: 1fr;
  max-height: 360px;
  overflow-y: auto;
}
.planner-dialog.is-readonly .attachment-preview img { aspect-ratio: 4/3; cursor: zoom-in; }
.planner-dialog.is-readonly .attachment-preview button { display: none; }
.planner-dialog.is-readonly .attachment-preview figcaption { display: none; }
.kind-picker button[hidden] { display: none; }
.planner-dialog footer .primary-action, .planner-dialog footer .secondary-action { min-height: 40px; }
.planner-toast { position: fixed; right: 24px; bottom: 24px; z-index: 80; padding: 12px 16px; border: 1px solid var(--p-line-strong); border-radius: 11px; background: var(--sv-color-surface-elevated); opacity: 0; transform: translateY(12px); transition: .2s; }
.planner-toast.show { opacity: 1; transform: translateY(0); }
.collaboration-dialog{width:min(760px,calc(100vw - 40px));padding:0;border:1px solid var(--p-line-strong);border-radius:20px;background:var(--sv-color-surface);color:var(--p-text);box-shadow:0 35px 100px rgba(0,0,0,.72)}.collaboration-dialog::backdrop,.notification-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(8px)}.collaboration-shell{padding:25px}.collaboration-shell>header,.notification-dialog>header{display:flex;justify-content:space-between}.collaboration-shell header p,.notification-dialog header p,.member-form>div p{margin:0 0 7px;color:var(--p-accent);font:700 9px var(--sv-font-mono);letter-spacing:.12em;text-transform:uppercase}.collaboration-shell h2,.notification-dialog h2{margin:0;font-size:24px}.collaboration-shell header span{display:block;margin-top:7px;color:var(--p-muted);font-size:10px}.space-identity{margin:22px 0 14px;padding:15px;display:grid;grid-template-columns:48px 1fr auto;align-items:end;gap:13px;border:1px solid var(--p-line);border-radius:14px;background:var(--sv-color-surface-strong)}.space-identity .field{margin:0}.space-monogram{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--p-accent);color: var(--sv-color-on-brand);font:800 12px var(--sv-font-mono)}.member-list{display:grid;gap:7px}.member-row{padding:11px 13px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;border:1px solid var(--p-line);border-radius:11px;background:var(--sv-color-surface-strong)}.member-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(96,205,232,.1);color:var(--p-cyan);font-weight:750}.member-row strong,.member-row small{display:block}.member-row strong{font-size:11px}.member-row small{margin-top:4px;color:var(--p-faint);font-size:9px}.member-row em{color:var(--p-faint);font-size:9px;font-style:normal}.member-row button{border:0;background:transparent;color:#c9847e;font-size:9px;cursor:pointer}.member-form{margin-top:16px;padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:0 10px;border:1px dashed rgba(var(--sv-brand-rgb), .22);border-radius:14px;background:rgba(var(--sv-brand-rgb), .025)}.member-form>div{grid-column:1/-1;margin-bottom:13px}.member-form h3{margin:0;font-size:14px}.member-form>div>small{display:block;margin-top:7px;color:var(--p-muted);font:700 9px var(--sv-font-mono)}.member-form .form-message{align-self:center}.member-form>.primary-action{align-self:end;margin-bottom:14px}.member-form>.primary-action:disabled{opacity:.45;cursor:not-allowed}.notification-dialog{width:min(480px,calc(100vw - 40px));padding:22px;border:1px solid var(--p-line-strong);border-radius:18px;background:var(--sv-color-surface);color:var(--p-text)}.notification-list{margin-top:18px;display:grid;gap:7px}.notification-item{padding:13px;display:grid;grid-template-columns:7px 1fr;gap:11px;border:1px solid var(--p-line);border-radius:11px;background:var(--sv-color-surface-strong)}.notification-item>i{width:6px;height:6px;margin-top:5px;border-radius:50%;background:var(--p-faint)}.notification-item.unread>i{background:var(--p-accent);box-shadow:0 0 0 4px rgba(var(--sv-brand-rgb), .07)}.notification-item strong{font-size:11px}.notification-item p{margin:5px 0;color:var(--p-muted);font-size:10px}.notification-item time{color:var(--p-faint);font-size:8px}
@media (max-width: 1280px) { .planner-shell { padding-right: 24px; } .planner-tabs button { padding-inline: 11px; } .planner-tabs label { width: 220px; } .planner-tabs .scope-filter { width: 132px; } }
@media (max-width: 1180px) { .planner-stats { grid-template-columns: repeat(2, 1fr); } .goal-actions-preview { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .plan-meta { grid-template-columns: repeat(2, minmax(0, max-content)); } }
.collaboration-manage-hint{margin:16px 0 10px;color:var(--p-muted);font-size:11px;line-height:1.6}
.planner-workspace-tabs{display:flex;gap:4px;margin-right:8px;padding-right:8px;border-right:1px solid var(--p-line)}
.planner-workspace-tabs button{position:relative}
.planner-workspace-tabs i{position:absolute;right:-2px;top:4px;min-width:14px;height:14px;padding:0 4px;border-radius:8px;background:var(--p-accent);color: var(--sv-color-on-brand);font:800 8px/14px var(--sv-font-mono);font-style:normal}
.planner-shell.rooms-mode .planner-hero{padding-bottom:12px}
.planner-shell.rooms-mode .planner-hero h1{font-size:28px}
.rooms-panel{min-height:auto;display:block;border:0;border-radius:0;overflow:visible;background:transparent;height:auto;width:min(1540px,100%);margin-inline:auto}
.rooms-panel[hidden],.plans-panel[hidden],.planner-stats[hidden]{display:none!important}
.planner-shell.rooms-mode .planner-tabs{justify-content:flex-start}
.rooms-board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.rooms-board-head p{margin:0 0 4px;color:var(--p-faint);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.rooms-board-head h2{margin:0;font-size:22px}
.rooms-board-head small{display:block;margin-top:6px;color:var(--p-muted);font-size:12px;line-height:1.5;max-width:42rem}
.room-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;align-content:start}
.room-card{all:unset;cursor:pointer;display:grid;gap:10px;padding:18px;border:1px solid var(--p-line);border-radius:16px;background:var(--sv-color-surface-subtle);color:var(--p-text);min-height:148px;transition:border-color .15s ease, transform .15s ease;box-sizing:border-box}
.room-card:hover,.room-card.active{border-color:rgba(var(--sv-brand-rgb), .45);transform:translateY(-1px)}
.room-card strong{font-size:16px}
.room-card small{color:var(--p-muted);font-size:12px;line-height:1.5}
.room-card .room-card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--p-faint);font-size:10px}
.room-card i{min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-grid;place-items:center;background:var(--p-accent);color: var(--sv-color-on-brand);font:800 9px var(--sv-font-mono);font-style:normal}
.room-chat-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:1px solid var(--p-line);border-radius:18px;background:var(--sv-color-canvas);color:var(--p-text)}
.room-chat-dialog::backdrop{background:rgba(0,0,0,.72)}
.room-chat-shell{display:flex;flex-direction:column;min-height:min(740px,calc(100vh - 80px));max-height:calc(100vh - 80px)}
.room-chat-body{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr) 220px;background:var(--sv-color-canvas)}
.room-nav-pane,.room-people-pane{background:var(--sv-color-canvas-raised);min-height:0;display:flex;flex-direction:column;border-color:var(--p-line)}
.room-nav-pane{border-right:1px solid var(--p-line)}
.room-people-pane{border-left:1px solid var(--p-line)}
.room-nav-pane header,.room-people-pane header{padding:14px 14px 8px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;flex-shrink:0}
.room-nav-pane h2,.room-people-pane h2{margin:0;font-size:15px}
.room-nav-pane header p,.room-people-pane header p{margin:0 0 4px;color:var(--p-faint);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.room-nav-list{display:grid;gap:6px;padding:8px 10px 14px;overflow:auto;flex:1;align-content:start}
.room-nav-item{width:100%;padding:10px 11px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--p-text);text-align:left;cursor:pointer;display:grid;gap:3px}
.room-nav-item strong{font-size:12px}
.room-nav-item small{color:var(--p-faint);font-size:10px}
.room-nav-item.active,.room-nav-item:hover{border-color:var(--p-line);background:var(--sv-color-surface)}
.room-nav-item i{justify-self:start;min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:inline-grid;place-items:center;background:var(--p-accent);color: var(--sv-color-on-brand);font:800 8px var(--sv-font-mono);font-style:normal}
.room-people-section{padding:4px 12px 14px;overflow:auto}
.room-people-section h3{margin:0 0 8px;color:var(--p-muted);font-size:11px;font-weight:700;display:flex;gap:6px;align-items:center}
.room-people-section h3 span{color:var(--p-faint);font-weight:600}
.room-people-list{display:grid;gap:6px}
.room-person{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border-radius:10px;border:1px solid transparent}
.room-person:hover{border-color:var(--p-line);background:var(--sv-color-surface)}
.room-person-avatar{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--sv-color-surface-strong);color:var(--p-accent);font:800 11px var(--sv-font-mono)}
.room-person.butler .room-person-avatar{background:rgba(160,160,160,.12);color:var(--sv-color-text)}
.room-person strong{display:block;font-size:12px;line-height:1.2}
.room-person small{color:var(--p-faint);font-size:10px}
.room-person button{all:unset;cursor:pointer;display:contents}
.room-people-hint{margin:8px 2px 0;color:var(--p-faint);font-size:10px;line-height:1.5}
.room-thread-head{padding:14px 16px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--p-line);flex-shrink:0;background:var(--sv-color-canvas-raised)}
.room-thread-head p{margin:0 0 4px;color:var(--p-faint);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.room-thread-head h2{margin:0;font-size:18px}
.room-thread-head small{color:var(--p-muted);font-size:11px}
.room-thread-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.room-invite{display:flex;align-items:center;gap:6px;color:var(--p-muted);font-size:11px}
.room-invite select{min-height:34px;border:1px solid var(--p-line);border-radius:9px;background:var(--sv-color-surface-subtle);color:var(--p-text);padding:0 8px}
.room-message.butler > div,.room-message.system > div{border:1px solid var(--p-line);border-radius:12px;padding:8px 10px;background:var(--sv-color-surface-subtle)}
.room-message.butler > div{background:var(--sv-color-surface-subtle)}
.room-message.system p{color:var(--p-muted);font-size:12px}
.room-image-preview{margin:10px 0 0;max-width:min(360px,100%)}
.room-image-preview img{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:10px;background:var(--sv-color-canvas);border:1px solid var(--p-line)}
.room-image-preview figcaption{margin-top:6px;color:var(--p-faint);font-size:10px}
.room-image-preview a{color:var(--p-cyan);text-decoration:none}
.room-image-preview a:hover{text-decoration:underline}
.room-ai-dialog{width:min(680px,calc(100vw - 40px))}
.room-preview-card{margin-top:10px;padding:10px;border:1px dashed var(--sv-color-border-strong);border-radius:10px;background:rgba(255,255,255,.03)}
.room-preview-card strong{display:block;margin-bottom:6px;font-size:13px}
.room-preview-card pre{margin:0 0 10px;white-space:pre-wrap;font:12px/1.55 var(--sv-font-mono);color:var(--p-muted);max-height:160px;overflow:auto}
.room-messages{flex:1;min-height:0;overflow:auto;padding:16px 18px;display:grid;align-content:start;gap:10px;background:var(--sv-color-canvas)}
.room-empty{margin:24px 8px;color:var(--p-muted);font-size:12px;line-height:1.6}
.room-message{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.room-chat-dialog.pick-mode .room-message{grid-template-columns:22px minmax(0,1fr)}
.room-chat-dialog:not(.pick-mode) .room-pick{display:none}
.room-message.mine > div{background:var(--sv-color-surface-strong);border:1px solid var(--p-line);border-radius:12px;padding:8px 10px}
.room-message header{display:flex;gap:8px;align-items:baseline}
.room-message b{font-size:11px}
.room-message time{color:var(--p-faint);font-size:9px}
.room-message p{margin:6px 0 0;font-size:13px;line-height:1.55;white-space:pre-wrap}
.room-pick{display:grid;place-items:start;padding-top:4px}
.room-composer{padding:12px 16px 14px;display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--p-line);flex-shrink:0;position:relative;background:var(--sv-color-canvas-raised)}
.room-composer-field{position:relative;min-width:0}
.room-composer textarea{width:100%;min-height:72px;border:1px solid var(--p-line);border-radius:10px;background:var(--sv-color-canvas);color:var(--p-text);padding:10px 12px;resize:vertical}
.room-composer .form-message{grid-column:1/-1;margin:0;color:var(--p-muted);font-size:11px}
.room-mention-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:20;max-height:240px;overflow:auto;border:1px solid var(--p-line);border-radius:12px;background:var(--sv-color-surface-subtle);box-shadow:0 12px 32px rgba(0,0,0,.55);padding:6px}
.room-mention-menu button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--p-text);text-align:left;cursor:pointer}
.room-mention-menu button.active,.room-mention-menu button:hover{background:var(--sv-color-surface-strong)}
.room-mention-menu i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--sv-color-surface-strong);font:800 10px var(--sv-font-mono);font-style:normal;color:var(--p-accent)}
.room-mention-menu button[data-kind="butler"] i{color:var(--sv-color-text);background:rgba(160,160,160,.12)}
.room-mention-menu b{display:block;font-size:12px}
.room-mention-menu small{color:var(--p-faint);font-size:10px}
@media (max-width: 980px){
  .room-chat-body{grid-template-columns:180px minmax(0,1fr)}
  .room-people-pane{display:none}
}
@media (max-width: 720px){
  .room-chat-body{grid-template-columns:1fr}
  .room-nav-pane{display:none}
}


/* Light-mode semantic adapter. */
html[data-theme="light"] .planner-tabs { background:var(--sv-color-canvas-raised); }
html[data-theme="light"] .planner-tabs button.active { background:var(--sv-color-surface); color:var(--sv-color-text); box-shadow:var(--sv-shadow-card); }
html[data-theme="light"] .scope-filter select { color-scheme:light; }
