/* Перенесённые стили из index.html */
.zoom-slider {
  width: 120px;
}
.hidden {
  display: none;
}
:root{
  --bg:#0b0f17; --panel:#0f1624; --panel-2:#111a2a; --text:#e6edf3; --muted:#9db1c9;
  --accent:#56ccf2; --warn:#f2c94c; --danger:#ff6b6b; --ok:#19c37d; --link:#7f9cf5;
  --home:#2dd4bf; --dacha:#f59e0b;
  --gradient-1:#10162a; --gradient-2:#0c1322; --gradient-3:#0b0f17;
}
/* Light theme overrides */
[data-theme="light"]{
  --bg:#f7fafc; --panel:#ffffff; --panel-2:#f2f6fb; --text:#0b1220; --muted:#6b7a90;
  --accent:#2563eb; --warn:#b7791f; --danger:#d14343; --ok:#059669; --link:#3b82f6;
  --gradient-1:#f7fafc; --gradient-2:#f2f6fb; --gradient-3:#e2e8f0;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Arial;overflow:hidden;min-width:600px;min-height:100vh}
.app{display:grid;grid-template-rows:56px 1fr 56px; height:100%}
header{display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--panel);border-bottom:1px solid var(--panel-2);min-height:48px}
header .brand{font-weight:700;letter-spacing:.3px;background:linear-gradient(45deg, #ff6b6b, #4ecdc4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:#ff6b6b}
header .chip{padding:4px 8px;border-radius:8px;background:var(--panel-2);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}
header .chip.active{background:var(--panel-2);color:var(--text);border:1px solid var(--accent)}
header .spacer{flex:1}
header .toggle{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
header label{display:flex;gap:6px;align-items:center;color:var(--muted);cursor:pointer}
main{display:grid;grid-template-columns:minmax(200px, 250px) 1fr minmax(250px, 300px);gap:0;min-height:0}
aside.left{background:var(--panel);border-right:1px solid var(--panel-2);display:flex;flex-direction:column;overflow:auto}
aside.right{background:var(--panel);border-left:1px solid var(--panel-2);display:flex;flex-direction:column}
.section{padding:12px 12px 6px 12px;border-bottom:1px solid var(--panel-2)}
.section h3{margin:0 0 6px 0;font-size:13px;color:var(--muted);font-weight:600;letter-spacing:.4px;text-transform:uppercase}
.domains, .filters {padding:8px 12px;display:flex;flex-direction:column;gap:6px}
.row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:transparent;cursor:pointer}
.row:hover{background:var(--panel-2)}
.dot{width:10px;height:10px;border-radius:999px}
.dot.home{background:var(--home)}
.dot.dacha{background:var(--dacha)}
.tag{font-size:12px;border:1px solid var(--panel-2);padding:3px 8px;border-radius:999px;color:var(--muted)}
.tag.active{border-color:var(--accent);color:var(--text)}
#canvasWrap{position:relative;background:radial-gradient(1200px 600px at 60% -100px, var(--gradient-1), var(--gradient-2) 60%, var(--gradient-3) 100%);height:100%}
canvas{display:block;width:100%;height:100%}
.tooltip{position:absolute;pointer-events:none;background:var(--panel);border:1px solid var(--panel-2);padding:6px 8px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.35);color:var(--text);font-size:12px;opacity:0;transform:translate(-50%,-130%);white-space:nowrap}
.inspector{padding:12px;overflow:auto;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}
.inspector h2{margin:0 0 6px 0;font-size:16px;word-wrap:break-word;word-break:break-word}
.kv{color:var(--muted);font-size:12px;margin:4px 0;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}
.btns{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.inspector-form{display:grid;gap:6px;margin:12px 0;padding:10px;border:1px solid var(--panel-2);border-radius:10px;background:color-mix(in srgb,var(--panel-2) 70%,transparent)}
.inspector-form label{font-size:11px;color:var(--muted)}
.inspector-form input{width:100%;box-sizing:border-box;background:var(--panel);border:1px solid var(--panel-2);border-radius:8px;color:var(--text);padding:7px 8px;outline:none}
.inspector-form input:focus{border-color:var(--accent)}
.inspector-card-button{display:block;width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.inspector-card-button:hover,.inspector-card-button:focus-visible{border-color:var(--accent);outline:none}
.btn{font:inherit;font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid var(--panel-2);background:var(--panel-2);color:var(--text);cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.btn.warn{background:var(--warn);border-color:var(--warn);color:var(--bg)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:var(--bg)}
.btn-ics{font:inherit;font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid var(--panel-2);background:var(--panel-2);color:var(--text);cursor:pointer}
/* Ensure all header buttons use theme colors */
header button, header .btn, header .btn-ics{background:var(--panel-2);color:var(--text);border:1px solid var(--panel-2)}
header button:hover, header .btn:hover, header .btn-ics:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.card{padding:8px 10px;border:1px solid var(--panel-2);border-radius:10px;background:var(--panel-2)}
.card .meta{font-size:12px;color:var(--muted)}
.status-pill{display:inline-flex;padding:2px 8px;border-radius:999px;border:1px solid var(--panel-2);color:var(--muted);font-size:11px;margin-right:6px}
.status-pill.today{border-color:var(--warn);color:var(--warn)}
.status-pill.doing{border-color:var(--accent);color:var(--accent)}
.status-pill.done{border-color:var(--ok);color:var(--ok)}
/* legend */
.legend{display:flex;gap:6px;align-items:center;margin-right:8px}
.pill{display:inline-flex;padding:2px 6px;border-radius:999px;border:1px solid var(--panel-2);color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;transition:all 0.2s ease;white-space:nowrap}
.pill-backlog{border-color:var(--muted);color:var(--muted);background:rgba(157,177,201,0.1)}
.pill-today{border-color:var(--warn);color:var(--warn);background:rgba(242,201,76,0.15);box-shadow:0 0 8px rgba(242,201,76,0.3)}
.pill-doing{border-color:var(--accent);color:var(--accent);background:rgba(86,204,242,0.15);box-shadow:0 0 8px rgba(86,204,242,0.3)}
.pill-done{border-color:var(--ok);color:var(--ok);background:rgba(25,195,125,0.15);box-shadow:0 0 8px rgba(25,195,125,0.3)}
footer{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-top:1px solid var(--panel-2);min-height:56px;flex-shrink:0;position:relative;z-index:10}
.input{flex:1;display:flex;align-items:center;gap:8px;background:var(--panel-2);border:2px solid var(--accent);border-radius:12px;padding:10px 12px;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(86,204,242,0.1)}
.input:focus-within{border-color:var(--ok);box-shadow:0 0 12px rgba(25,195,125,0.3);transform:translateY(-1px)}
.input input{flex:1;background:transparent;border:0;outline:none;color:var(--text);font-size:14px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip-mini{font-size:11px;border:1px dashed var(--panel-2);color:var(--muted);border-radius:999px;padding:2px 6px}
.wip{margin-left:auto;font-size:12px;color:var(--muted)}
.wip.over{color:var(--danger)}
.viewToday{padding:12px;overflow:auto}
.todo{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--panel-2);border-radius:10px;background:var(--panel-2);margin-bottom:8px}
.todo input[type="checkbox"]{width:16px;height:16px}
.todo .title{flex:1}
.todo .handle{opacity:.5;cursor:grab}
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel-2);border:1px solid var(--panel-2);padding:1px 6px;border-radius:6px;font-size:12px;color:var(--text)}
.hint{color:var(--muted);font-size:12px}
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:50}
.modal .backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.modal .box{position:relative;z-index:1;min-width:300px;max-width:90vw;background:var(--panel);border:1px solid var(--panel-2);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);padding:12px}
.modal .title{font-weight:600;margin-bottom:8px}
.modal .body{color:var(--text);margin-bottom:8px}
.modal .body a{color:var(--link);text-decoration:underline}
.modal .body a:hover{color:var(--accent)}
.modal .buttons{display:flex;gap:8px;justify-content:flex-end}
.modal input,.modal select{background:var(--panel-2);border:1px solid var(--panel-2);border-radius:8px;color:var(--text);padding:6px 8px}
.domenu{position:relative;margin:6px 12px;padding:8px;border:1px solid var(--panel-2);border-radius:8px;background:var(--panel-2);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.domenu .item{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px;cursor:pointer;color:var(--text)}
.domenu .item:hover{background:var(--panel-2)}
.domenu .sep{height:1px;background:var(--panel-2);margin:6px 0}
.domenu .palette{display:flex;gap:6px;align-items:center;padding:4px 0}
.domenu .dot{width:14px;height:14px;border:1px solid var(--panel-2);border-radius:999px;cursor:pointer}

/* toast */
.toast{display:none; position:fixed; right:16px; top:16px; z-index:60; min-width:220px; max-width:60vw; 
  background:var(--panel); border:1px solid var(--panel-2); border-radius:10px; padding:10px 12px; 
  color:var(--text); box-shadow:0 10px 30px rgba(0,0,0,.4); font-size:13px; backdrop-filter: blur(10px);}
.toast.ok{border-left:3px solid var(--ok); background:var(--panel);}
.toast.warn{border-left:3px solid var(--warn); background:var(--panel);}
.toast.error{border-left:3px solid var(--danger); background:var(--panel);}
.toast.attach{border-left:3px solid var(--accent); background:var(--panel);}
.toast.detach{border-left:3px solid var(--warn); background:var(--panel);}
.toast button{margin-left:8px; padding:4px 8px; border:1px solid var(--panel-2); background:var(--panel-2); color:var(--text); border-radius:6px; cursor:pointer; font-size:12px;}
.toast button:hover{background:var(--accent); color:var(--bg); border-color:var(--accent);}
.toast button:first-of-type{margin-left:12px;}

/* Inbox MVP */
.inbox-header-button{display:inline-flex;align-items:center;gap:6px}
.inbox-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--warn);color:#111827;font-size:10px;font-weight:800}
.inbox-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}
.inbox-overlay[hidden]{display:none}
.inbox-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.76);backdrop-filter:blur(7px)}
.inbox-dialog{position:relative;width:min(720px,96vw);max-height:min(760px,90vh);overflow:auto;border:1px solid rgba(86,204,242,.35);border-radius:18px;background:linear-gradient(160deg,rgba(18,28,48,.98),rgba(10,16,30,.98));box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 40px rgba(86,204,242,.08);padding:20px}
.inbox-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.inbox-dialog-header h2{margin:2px 0 0;font-size:24px;color:var(--text)}
.inbox-kicker{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.inbox-icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--panel-2);border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.inbox-icon-button:hover{border-color:var(--accent);color:var(--text)}
.inbox-help{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.inbox-capture{box-sizing:border-box;width:100%;margin:14px 0 16px;resize:vertical;border:1px solid var(--panel-2);border-radius:14px;outline:none;background:rgba(5,10,22,.7);color:var(--text);padding:14px;font:inherit;line-height:1.5}
.inbox-capture:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(86,204,242,.12)}
.inbox-actions,.inbox-toolbar,.inbox-row-actions{display:flex;align-items:center;gap:8px}
.inbox-actions{justify-content:flex-end}
.inbox-toolbar{justify-content:space-between;margin-bottom:14px}

/* ── Button hierarchy ───────────────────────────────────────────── */
.inbox-button{border:1px solid var(--panel-2);border-radius:9px;background:var(--panel-2);color:var(--text);padding:7px 11px;font:inherit;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.inbox-button:hover{filter:brightness(1.15)}
/* Primary: accent blue — the main action */
.inbox-button.primary{border-color:rgba(86,204,242,.5);background:rgba(86,204,242,.18);color:#bcecff;font-weight:600}
.inbox-button.primary:hover{background:rgba(86,204,242,.28);border-color:rgba(86,204,242,.65)}
/* Secondary: ghost — supporting actions */
.inbox-button.secondary{background:transparent;border-color:rgba(157,177,201,.18);color:var(--muted)}
.inbox-button.secondary:hover{color:var(--text);border-color:rgba(157,177,201,.35);background:rgba(157,177,201,.06)}
/* Tertiary: minimal — low-priority actions like "Править" */
.inbox-button.tertiary{background:transparent;border-color:transparent;color:var(--muted);padding:7px 6px;font-size:11px}
.inbox-button.tertiary:hover{color:var(--text);border-color:rgba(157,177,201,.18)}
/* Destructive: muted red — delete, never the most prominent */
.inbox-button.destructive{background:transparent;border-color:rgba(255,107,107,.15);color:rgba(255,180,180,.65);font-size:11px;padding:7px 6px}
.inbox-button.destructive:hover{border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.08);color:#ffb4b4}
/* Legacy .danger kept for compatibility */
.inbox-button.danger{border-color:rgba(255,107,107,.28);background:rgba(255,107,107,.09);color:#ffb4b4}

.inbox-list{display:flex;flex-direction:column;gap:9px}

/* ── Card states ────────────────────────────────────────────────── */
/* Base row */
.inbox-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(157,177,201,.12);border-radius:13px;background:rgba(5,10,22,.35);padding:12px 13px;transition:border-color .15s,background .15s,box-shadow .15s}

/* Compact: quiet, minimal */
.inbox-row--compact{cursor:pointer;padding:10px 13px;min-height:42px;background:rgba(5,10,22,.25)}
.inbox-row--compact:hover{border-color:rgba(86,204,242,.3);background:rgba(5,10,22,.45)}
/* Processed compact: even quieter */
.inbox-row--compact.inbox-row--processed{opacity:.65;border-color:rgba(157,177,201,.08)}
.inbox-row--compact.inbox-row--processed:hover{opacity:.85;border-color:rgba(157,177,201,.2)}

/* Active processing: the main card — visually dominant */
.inbox-row--active{border-color:rgba(86,204,242,.3);background:rgba(5,10,22,.55);box-shadow:0 0 0 1px rgba(86,204,242,.08),0 4px 20px rgba(0,0,0,.2);padding:16px}

/* Edit mode */
.inbox-row--edit{flex-direction:column;align-items:stretch;gap:10px}

.inbox-row-text{min-width:0;color:var(--text);line-height:1.45;overflow-wrap:anywhere}
.inbox-row-actions{flex:none;flex-wrap:wrap;gap:6px}

.inbox-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;border:1px solid rgba(242,201,76,.3);border-radius:10px;background:rgba(242,201,76,.08);color:#ffe9a6;padding:9px 11px;font-size:12px}
.inbox-undo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-undo button{border:0;background:transparent;color:var(--warn);font:inherit;font-weight:700;cursor:pointer}

/* Processing Center card: body, meta, confirmed type, status bar, inline edit */
.inbox-row-body{flex:1;min-width:0}
.inbox-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12px;color:var(--muted)}
.inbox-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;opacity:.7}
.inbox-type-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap}
.inbox-type-chip.is-task{background:rgba(96,165,250,.14);border:1px solid rgba(96,165,250,.35);color:#93c5fd}
.inbox-type-chip.is-thought{background:rgba(167,139,250,.14);border:1px solid rgba(167,139,250,.35);color:#c4b5fd}
.inbox-type-chip.is-note{background:rgba(45,212,191,.14);border:1px solid rgba(45,212,191,.35);color:#5eead4}
.inbox-type-chip.is-none{background:rgba(157,177,201,.08);border:1px solid rgba(157,177,201,.25);color:var(--muted);font-weight:600}
.inbox-hint-marker{font-size:11px;color:var(--muted);opacity:.8;font-style:italic}
.inbox-type-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:8px}
.inbox-type-button{border:1px solid var(--panel-2);background:transparent;color:var(--muted);border-radius:8px;padding:3px 10px;font:inherit;font-size:11px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.inbox-type-button:hover{color:var(--text);border-color:var(--accent)}
.inbox-type-button.is-active.is-task{background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.35);color:#93c5fd}
.inbox-type-button.is-active.is-thought{background:rgba(167,139,250,.14);border-color:rgba(167,139,250,.35);color:#c4b5fd}
.inbox-type-button.is-active.is-note{background:rgba(45,212,191,.14);border-color:rgba(45,212,191,.35);color:#5eead4}
.inbox-type-button.is-active.is-none{background:rgba(157,177,201,.08);border-color:rgba(157,177,201,.25);color:var(--muted)}

/* ── Semantic priority buttons ──────────────────────────────────── */
.inbox-priority-button[data-priority="1"].is-active{background:rgba(157,177,201,.12);border-color:rgba(157,177,201,.35);color:var(--muted)}
.inbox-priority-button[data-priority="2"].is-active{background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.4);color:#93c5fd}
.inbox-priority-button[data-priority="3"].is-active{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.45);color:#fbbf24}
.inbox-priority-button[data-priority="4"].is-active{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.45);color:#fca5a5}
/* Non-active priority buttons get a subtle hint of their color on hover */
.inbox-priority-button[data-priority="1"]:hover{border-color:rgba(157,177,201,.3);color:var(--muted)}
.inbox-priority-button[data-priority="2"]:hover{border-color:rgba(96,165,250,.3);color:#93c5fd}
.inbox-priority-button[data-priority="3"]:hover{border-color:rgba(245,158,11,.3);color:#fbbf24}
.inbox-priority-button[data-priority="4"]:hover{border-color:rgba(239,68,68,.3);color:#fca5a5}

/* Priority chip in linked result */
.inbox-priority-chip{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.5;white-space:nowrap}
.inbox-priority-chip--p1{background:rgba(157,177,201,.1);border:1px solid rgba(157,177,201,.25);color:var(--muted)}
.inbox-priority-chip--p2{background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.3);color:#93c5fd}
.inbox-priority-chip--p3{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:#fbbf24}
.inbox-priority-chip--p4{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fca5a5}

.inbox-status-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:10px}
.inbox-status-button{border:1px solid var(--panel-2);background:transparent;color:var(--muted);border-radius:8px;padding:3px 10px;font:inherit;font-size:11px;cursor:pointer}
.inbox-status-button:hover{color:var(--text);border-color:var(--accent)}
.inbox-status-button.is-active.is-new{background:rgba(86,204,242,.16);border-color:rgba(86,204,242,.45);color:#bcecff}
.inbox-status-button.is-active.is-reviewed{background:rgba(242,201,76,.14);border-color:rgba(242,201,76,.4);color:#ffe9a6}
.inbox-status-button.is-active.is-processed{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.4);color:#a7f3d0}
.inbox-status-button.is-active.is-discarded{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.35);color:#ffb4b4}
.inbox-edit-area{box-sizing:border-box;width:100%;resize:vertical;border:1px solid var(--panel-2);border-radius:10px;outline:none;background:rgba(5,10,22,.7);color:var(--text);padding:10px;font:inherit;line-height:1.45}
.inbox-edit-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(86,204,242,.12)}

/* Processing queue filters */
.inbox-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.inbox-filter-button{border:1px solid var(--panel-2);background:transparent;color:var(--muted);border-radius:999px;padding:4px 12px;font:inherit;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.inbox-filter-button:hover{color:var(--text);border-color:var(--accent)}
.inbox-filter-button.is-active{border-color:rgba(86,204,242,.45);background:rgba(86,204,242,.16);color:#bcecff}

/* Task routing controls (inside the card) */
.inbox-route{display:flex;flex-direction:column;gap:7px;margin-top:12px;border:1px solid rgba(157,177,201,.12);border-radius:12px;background:rgba(5,10,22,.25);padding:12px}
.inbox-route-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inbox-route-row--due{align-items:flex-start}
.inbox-route-label{flex:none;width:74px;color:var(--muted);font-size:12px}
.inbox-select,.inbox-input{box-sizing:border-box;min-width:150px;border:1px solid var(--panel-2);border-radius:8px;background:rgba(5,10,22,.7);color:var(--text);padding:5px 8px;font:inherit;font-size:12px;transition:border-color .12s}
.inbox-select:focus,.inbox-input:focus{border-color:var(--accent);outline:none}
.inbox-empty-state{color:var(--muted);font-size:12px;font-style:italic}

/* ── Date / time controls ───────────────────────────────────────── */
.inbox-due-field{display:flex;flex-direction:column;gap:3px}
.inbox-due-label{font-size:10px;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.inbox-input--date,.inbox-input--time{width:130px;padding:6px 10px;border-radius:8px;font-size:12px;color-scheme:dark}
.inbox-input--date::-webkit-calendar-picker-indicator,.inbox-input--time::-webkit-calendar-picker-indicator{filter:invert(.7) brightness(1.2);cursor:pointer;opacity:.7;transition:opacity .12s}
.inbox-input--date::-webkit-calendar-picker-indicator:hover,.inbox-input--time::-webkit-calendar-picker-indicator:hover{opacity:1}
.inbox-input--date::-webkit-datetime-edit,.inbox-input--time::-webkit-datetime-edit{color:var(--text)}
.inbox-input--time:placeholder-shown{color:var(--muted);opacity:.6}

.inbox-priority-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
/* Override the generic priority-bar active rule — semantic buttons handle their own */
.inbox-priority-bar .inbox-type-button.is-active:not(.inbox-priority-button){border-color:rgba(86,204,242,.45);background:rgba(86,204,242,.16);color:#bcecff}

/* Linked result (routed Task) */
.inbox-result{display:flex;flex-direction:column;gap:6px;margin-top:12px;border:1px solid rgba(52,211,153,.22);border-radius:12px;background:rgba(52,211,153,.05);padding:12px}
.inbox-result-title{color:var(--text);font-weight:700;font-size:13px}
.inbox-result-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}
.inbox-result .inbox-row-actions{margin-top:4px}

/* B2 Processing Flow: steps, hints, compact queue, saved banner */
.inbox-step-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:10px 0 6px}
.inbox-route .inbox-step-label{margin-top:0}
.inbox-hint-line{color:var(--warn);font-size:12px;margin-top:8px;font-style:italic}
.inbox-route-extra{display:flex;flex-direction:column;gap:7px;margin-top:6px}
.inbox-extra-toggle{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;text-align:left;padding:4px 0;transition:color .12s}
.inbox-extra-toggle:hover{color:var(--text)}
.inbox-capture-hints-block{display:flex;flex-direction:column;gap:8px;margin:10px 0 12px;border:1px solid rgba(157,177,201,.14);border-radius:12px;background:rgba(5,10,22,.3);padding:11px}
.inbox-capture-hints-block .inbox-step-label{margin-top:0}
.inbox-saved-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid rgba(52,211,153,.3);border-radius:10px;background:rgba(52,211,153,.08);color:#a7f3d0;padding:9px 11px;font-size:13px}

/* B2 product pass: scrollbar, provenance, batch, search, keyboard hints */
.inbox-dialog{scrollbar-width:thin;scrollbar-color:rgba(86,204,242,.3) transparent}
.inbox-dialog::-webkit-scrollbar{width:8px}
.inbox-dialog::-webkit-scrollbar-track{background:transparent}
.inbox-dialog::-webkit-scrollbar-thumb{background:rgba(86,204,242,.25);border-radius:8px}
.inbox-dialog::-webkit-scrollbar-thumb:hover{background:rgba(86,204,242,.4)}
.inbox-route-extra[hidden],.inbox-provenance[hidden],.inbox-capture-hints-block[hidden],.inbox-saved-banner[hidden]{display:none}

/* ── Provenance accordion ───────────────────────────────────────── */
.inbox-provenance{display:flex;flex-direction:column;gap:6px;margin-top:6px;border:1px solid rgba(157,177,201,.1);border-radius:10px;background:rgba(5,10,22,.2);padding:10px 12px}
.inbox-provenance-line{display:flex;gap:8px;font-size:12px;overflow-wrap:anywhere;line-height:1.5}
.inbox-provenance-label{flex:none;min-width:90px;color:var(--muted);font-weight:600;font-size:11px;opacity:.7}
.inbox-provenance-value{color:var(--text);opacity:.85}
.inbox-provenance-value--raw{font-style:italic;opacity:.7}

.inbox-compact-chevron{flex:none;color:var(--muted);font-size:20px;line-height:1;opacity:.4;transition:color .12s,opacity .12s}
.inbox-row--compact:hover .inbox-compact-chevron{color:var(--accent);opacity:.9}
.inbox-search-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.inbox-search-input{flex:1;min-width:0;box-sizing:border-box;border:1px solid rgba(157,177,201,.15);border-radius:999px;background:rgba(5,10,22,.5);color:var(--text);padding:6px 14px;font:inherit;font-size:12px;transition:border-color .12s}
.inbox-search-input:focus{border-color:var(--accent);outline:none}
.inbox-search-input::placeholder{color:var(--muted);opacity:.5}

/* Keyboard hints — significantly less prominent */
.inbox-kbd-hint{margin:0 0 8px;color:var(--muted);font-size:10px;opacity:.35}
.inbox-kbd-hint kbd{border:1px solid rgba(157,177,201,.1);border-radius:4px;background:rgba(5,10,22,.4);padding:0 4px;font:inherit;font-size:9px;color:var(--muted)}

.inbox-empty-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border:1px dashed rgba(157,177,201,.18);border-radius:14px;padding:22px;color:var(--muted);font-size:13px;text-align:left}

/* ── Batch mode ─────────────────────────────────────────────────── */
.inbox-row--batch{display:flex;align-items:center;gap:10px;padding:8px 13px}
.inbox-row--batch input[type="checkbox"]{width:16px;height:16px;accent-color:rgba(86,204,242,.9);flex:none}
.inbox-row--batch:has(input:checked){background:rgba(86,204,242,.08);border-color:rgba(86,204,242,.2)}
.inbox-batch-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;border:1px solid rgba(86,204,242,.2);border-radius:12px;background:rgba(86,204,242,.04);padding:10px 12px}
.inbox-list-wrap--batch{border-top:1px solid rgba(86,204,242,.15);padding-top:12px}

/* Mode toggle — looks like a switch, not a regular button */
.inbox-mode-toggle{background:transparent;border-color:rgba(157,177,201,.18);color:var(--muted);font-size:11px;padding:5px 10px}
.inbox-mode-toggle:hover{border-color:rgba(86,204,242,.3);color:var(--text)}
.inbox-mode-toggle.is-active{background:rgba(86,204,242,.12);border-color:rgba(86,204,242,.35);color:#bcecff;font-weight:600}

/* ── B2 visual clarity refinements (post-review) ────────────────── */
.inbox-summary{color:var(--text);font-weight:600;font-size:13px}
.inbox-button--capture{border-color:rgba(86,204,242,.3);background:transparent;color:#9fd8f7;font-weight:600}
.inbox-button--capture:hover{background:rgba(86,204,242,.1);border-color:rgba(86,204,242,.45)}
.inbox-controls-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.inbox-controls-row .inbox-mode-toggle{margin-left:auto}
.inbox-controls-row .inbox-filters{margin-bottom:0}
.inbox-search-row{margin-bottom:10px}
.inbox-search-input{border-color:rgba(157,177,201,.12);background:rgba(5,10,22,.4)}
/* Active card is the one clear focus of the window */
.inbox-row--active{border-color:rgba(86,204,242,.4);border-left:3px solid rgba(86,204,242,.6);background:rgba(8,15,30,.6);box-shadow:0 6px 24px rgba(0,0,0,.28)}
/* Fewer nested frames inside the active card */
.inbox-route{border-color:transparent;background:rgba(5,10,22,.2)}
.inbox-provenance{border-color:transparent;background:rgba(5,10,22,.16)}
/* Priority reads at a glance even before it is active */
.inbox-priority-button[data-priority="1"]{border-color:rgba(157,177,201,.16);color:rgba(203,213,225,.55)}
.inbox-priority-button[data-priority="2"]{border-color:rgba(96,165,250,.2);color:rgba(147,197,253,.55)}
.inbox-priority-button[data-priority="3"]{border-color:rgba(245,158,11,.2);color:rgba(251,191,36,.55)}
.inbox-priority-button[data-priority="4"]{border-color:rgba(239,68,68,.2);color:rgba(252,165,165,.55)}
.inbox-priority-button.is-active[data-priority="1"]{background:rgba(157,177,201,.14);border-color:rgba(157,177,201,.4);color:#cbd5e1;font-weight:700}
.inbox-priority-button.is-active[data-priority="2"]{background:rgba(96,165,250,.16);border-color:rgba(96,165,250,.45);color:#93c5fd;font-weight:700}
.inbox-priority-button.is-active[data-priority="3"]{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.5);color:#fbbf24;font-weight:700}
.inbox-priority-button.is-active[data-priority="4"]{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.5);color:#fca5a5;font-weight:700}
/* Discarded final state reads as closed, not as "done with a task" */
.inbox-result--discarded{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.2)}
.inbox-result--discarded .inbox-result-title{color:#fca5a5}
/* Due field fine-tune */
.inbox-due-optional{font-weight:400;text-transform:none;opacity:.55;margin-left:3px}
.inbox-input--date::-webkit-calendar-picker-indicator,.inbox-input--time::-webkit-calendar-picker-indicator{opacity:.85}
/* Keyboard hints live at the bottom, quiet */
.inbox-kbd-hint{margin:10px 0 0;opacity:.45}
/* Selected batch rows clearly stand out */
.inbox-row--batch:has(input:checked){background:rgba(86,204,242,.1);border-color:rgba(86,204,242,.3)}
/* Compact priority marker: colored dot + label, quiet but always visible */
.inbox-priority-marker{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;border-radius:999px;padding:1px 7px;line-height:1.5;white-space:nowrap}
.inbox-priority-marker::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.inbox-priority-marker--p1{color:rgba(203,213,225,.7);background:rgba(157,177,201,.08);border:1px solid rgba(157,177,201,.2)}
.inbox-priority-marker--p2{color:rgba(147,197,253,.8);background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.22)}
.inbox-priority-marker--p3{color:rgba(251,191,36,.85);background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.24)}
.inbox-priority-marker--p4{color:rgba(252,165,165,.85);background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.24)}

/* Адаптивность для маленьких экранов */
@media (max-width: 1200px) {
  main{grid-template-columns:minmax(200px, 250px) 1fr minmax(250px, 300px);}
}

@media (max-width: 900px) {
  main{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;}
  aside.left{order:2;border-right:none;border-top:1px solid var(--panel-2);}
  aside.right{order:3;border-left:none;border-top:1px solid var(--panel-2);}
  #canvasWrap{order:1;}
}

@media (max-width: 600px) {
  header{flex-wrap:wrap;gap:8px;}
  header .chip{font-size:11px;padding:4px 8px;}
  .inspector{padding:8px;}
  .kv{font-size:11px;}
  .inbox-overlay{padding:10px}
  .inbox-dialog{max-height:94vh;padding:16px}
  .inbox-row{align-items:flex-start;flex-direction:column}
  .inbox-row-actions{width:100%;justify-content:flex-end}
  .inbox-row--active{padding:12px}
  .inbox-due-field{width:100%}
  .inbox-input--date,.inbox-input--time{width:100%}
  .inbox-route-row--due{flex-direction:column;align-items:stretch}
}

/* ===== Sync v1 (C1) ===== */
.atlas-sync-badge[data-state="ok"]{color:var(--ok);border:1px solid color-mix(in srgb, var(--ok) 45%, transparent)}
.atlas-sync-badge[data-state="pending"]{color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 45%, transparent)}
.atlas-sync-badge[data-state="syncing"]{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}
.atlas-sync-badge[data-state="error"]{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent)}
.atlas-sync-modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.atlas-sync-modal{width:min(520px,94vw);max-height:84vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--panel-2);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.atlas-sync-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--panel-2)}
.atlas-sync-modal-header h3{margin:0;font-size:15px}
.atlas-sync-modal-close{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px}
.atlas-sync-modal-close:hover{background:var(--panel-2);color:var(--text)}
.atlas-sync-modal-body{padding:14px 16px 18px;overflow-y:auto}
.atlas-sync-hint{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 12px}
.atlas-sync-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px;color:var(--muted)}
.atlas-sync-field input{background:var(--panel-2);border:1px solid var(--panel-2);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}
.atlas-sync-field input:focus{outline:none;border-color:var(--accent)}
.atlas-sync-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.atlas-sync-row{display:flex;justify-content:space-between;gap:12px;font-size:12px}
.atlas-sync-row-label{color:var(--muted)}
.atlas-sync-row-value{color:var(--text);text-align:right;word-break:break-all}
.atlas-sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.atlas-sync-btn{border:1px solid var(--panel-2);background:var(--panel-2);color:var(--text);border-radius:8px;padding:7px 12px;font-size:12px;cursor:pointer}
.atlas-sync-btn:hover{border-color:var(--accent)}
.atlas-sync-btn-primary{border-color:var(--accent);color:var(--accent)}
.atlas-sync-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}
.atlas-sync-btn:disabled{opacity:.55;cursor:default}
.atlas-sync-error{color:var(--danger);font-size:12px;margin:8px 0;line-height:1.4}
.atlas-sync-code{margin:10px 0 2px;padding:10px;border:1px dashed var(--accent);border-radius:10px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.atlas-sync-code-digits{font-size:26px;letter-spacing:8px;font-weight:700;color:var(--accent)}
.atlas-sync-code-expires{font-size:11px;color:var(--muted)}
.atlas-sync-conflicts{margin-top:14px;font-size:12px}
.atlas-sync-conflicts summary{cursor:pointer;color:var(--warn);margin-bottom:6px}
.atlas-sync-conflicts-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.6}

/* ===== Sync v1 C3: conflict resolution ===== */
.atlas-sync-conflict { display: flex; flex-direction: column; gap: 4px; padding: 6px 0; border-bottom: 1px solid var(--panel-2); }
.atlas-sync-conflict.is-resolved { opacity: .55; }
.atlas-sync-conflict-resolved { font-size: 11px; color: var(--ok); }
.atlas-sync-conflict-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.atlas-sync-conflict-actions .atlas-sync-btn { padding: 4px 8px; font-size: 11px; }

/* ===== Sync v1 C4: devices + diagnostics ===== */
.atlas-sync-devices { margin-top: 14px; font-size: 12px; }
.atlas-sync-devices summary { cursor: pointer; color: var(--muted); margin-bottom: 6px; }
.atlas-sync-devices-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.atlas-sync-device { display: flex; flex-direction: column; gap: 3px; padding: 8px 10px; border: 1px solid var(--panel-2); border-radius: 8px; }
.atlas-sync-device-name { color: var(--text); font-weight: 600; }
.atlas-sync-device-meta { color: var(--muted); font-size: 11px; }
.atlas-sync-device .atlas-sync-btn { align-self: flex-start; margin-top: 4px; }
.atlas-sync-devices-empty { color: var(--muted); font-size: 12px; }
