/* =========================================================
   NevaAgent — Panel bileşenleri
   Onay merkezi, ajan sayfası, canlı izleme, sihirbazlar, takvim,
   analitik, hedefler, dokümanlar, entegrasyonlar, rutinler,
   komut paleti, bildirimler ve açık tema.
   ========================================================= */

/* ---------------- Genel ---------------- */
.nav { overflow-y: auto; min-height: 0; margin: 0 -6px; padding: 0 6px; scrollbar-width: none; }
.nav::-webkit-scrollbar { display: none; }
.nav-label { padding-top: 14px; }
.nav-item { padding-top: 8px; padding-bottom: 8px; }
.nav-item .badge[hidden] { display: none; }
.nav-live { width: 7px; height: 7px; border-radius: 50%; background: var(--green); animation: pulse 2.4s infinite; }
[hidden] { display: none !important; }

.p-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 20px; background: color-mix(in srgb, var(--c) 14%, transparent); color: var(--c); white-space: nowrap; vertical-align: middle; }
.p-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 46px 20px; color: var(--muted); font-size: 13px; text-align: center; }
.p-empty .ic { width: 28px; height: 28px; color: var(--faint); }
.p-quiet { color: var(--muted); font-size: 13px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 26px; }
.p-quiet-s { color: var(--muted); font-size: 12px; display: inline-flex; align-items: center; gap: 6px; }
.p-quiet-s .ic { width: 14px; height: 14px; }
.link-btn { color: var(--text); font-weight: 600; text-align: left; font-size: inherit; }
.link-btn:hover { color: var(--primary); }
.sec-h { font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--faint); font-weight: 800; margin-top: 6px; }
.btn.danger, .btn-ghost.danger { color: #ec8a7f; }
.btn.danger:hover { border-color: rgba(229, 103, 90, .5); color: #f2a097; }
.btn.danger-solid { background: linear-gradient(180deg, #e8796d, #d65a4d); color: #fff; }
.btn[disabled] { opacity: .5; pointer-events: none; }
.icon-btn.sm { width: 32px; height: 32px; border-radius: 8px; }
.icon-btn.sm .ic { width: 15px; height: 15px; }
.spin { width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: pSpin .7s linear infinite; display: inline-block; }
@keyframes pSpin { to { transform: rotate(360deg); } }
.live-pill { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 700; color: #7fd3a4; background: rgba(92, 194, 138, .1); border: 1px solid rgba(92, 194, 138, .22); padding: 4px 10px; border-radius: 20px; letter-spacing: .4px; }
.live-pill b { width: 7px; height: 7px; border-radius: 50%; background: var(--green); animation: pulse 2s infinite; }
.card-head.flush { padding: 0 0 12px; border: 0; }
.toggle.disabled { opacity: .35; cursor: not-allowed; }
.task-row { cursor: pointer; transition: background .12s; }
.task-row:hover { background: var(--surface-2); }
.stat-trend.bad { color: #ec8a7f; background: rgba(229, 103, 90, .1); }
.range-wrap { display: flex; align-items: center; gap: 10px; }
.range-wrap b { font-size: 12px; min-width: 96px; text-align: right; color: var(--text-2); }
input[type='range'] { accent-color: var(--primary); width: 160px; }
.field input[type='range'] { width: 100%; padding: 0; border: 0; background: none; box-shadow: none; }
.modal { max-height: calc(100vh - 40px); display: flex; flex-direction: column; }
.modal-body { overflow-y: auto; min-height: 0; }
.modal-wide { width: 860px; }

/* Üst çubuk */
.command .cmd-mic { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--muted); transition: .15s; }
.command .cmd-mic:hover { color: var(--text); background: var(--surface-3); }
.command .cmd-mic .ic { color: inherit; width: 16px; height: 16px; }
.command kbd { cursor: pointer; }
.listening { color: #fff !important; background: var(--red) !important; animation: pListen 1.2s ease-in-out infinite; }
@keyframes pListen { 0%, 100% { box-shadow: 0 0 0 0 rgba(229, 103, 90, .5); } 50% { box-shadow: 0 0 0 7px rgba(229, 103, 90, 0); } }
.notif-count { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--red); color: #fff; font: 700 10px/18px 'Inter', sans-serif; font-style: normal; text-align: center; border: 2px solid var(--bg); }
#notifBtn .notif-count:not([hidden]) ~ .notif-dot, #notifBtn:has(.notif-count:not([hidden])) .notif-dot { display: none; }

/* ---------------- Grafikler ---------------- */
.p-chart { width: 100%; height: auto; display: block; overflow: visible; }
.p-grid { stroke: var(--border); stroke-width: 1; vector-effect: non-scaling-stroke; }
.p-axis { fill: var(--muted); font-size: 10.5px; font-family: 'Inter', sans-serif; }
.p-dot { opacity: 0; transition: opacity .15s; }
.p-chart:hover .p-dot { opacity: 1; }
.p-chart rect { transition: opacity .15s; }
.p-chart g:hover rect { opacity: .78; }
.p-track { stroke: var(--surface-3); }
.p-donut, .p-ring { display: block; flex-shrink: 0; }
.p-donut-val { fill: var(--text); font: 700 17px var(--display); }
.p-donut-sub { fill: var(--muted); font: 500 10.5px 'Inter', sans-serif; }
.p-ring-val { fill: var(--text); font: 700 12.5px var(--display); }
.p-spark { display: block; width: 100%; }

/* ---------------- Sekmeler ---------------- */
.p-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border); margin: 20px 0 18px; overflow-x: auto; }
.p-tabs button { display: flex; align-items: center; gap: 7px; padding: 10px 14px; font-size: 13px; font-weight: 600; color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.p-tabs button .ic { width: 15px; height: 15px; }
.p-tabs button:hover { color: var(--text); }
.p-tabs button.on { color: var(--text); border-bottom-color: var(--primary); }
.p-tabs button.on .ic { color: var(--primary); }

/* ---------------- Onay merkezi ---------------- */
.ap-layout { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.ap-list { overflow: hidden; }
.ap-row { width: 100%; display: flex; align-items: center; gap: 12px; padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--border); position: relative; transition: background .12s; }
.ap-row:last-child { border-bottom: 0; }
.ap-row:hover { background: var(--surface-2); }
.ap-row.on { background: var(--surface-2); }
.ap-row.on::before { content: ''; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--primary); }
.ap-main { flex: 1; min-width: 0; }
.ap-main b { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-main small { font-size: 11.5px; color: var(--muted); }
.ap-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.ap-side em { font-style: normal; font-size: 11.5px; color: var(--text-2); font-weight: 600; }
.ap-detail { padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.ap-d-head { display: flex; align-items: center; gap: 14px; }
.ap-d-head h3 { font-size: 18px; letter-spacing: -.3px; }
.ap-d-head span { font-size: 12.5px; color: var(--muted); }
.ap-d-text { font-size: 13.5px; line-height: 1.6; color: var(--text-2); }
.ap-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.ap-facts > div { background: var(--bg-2); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; min-width: 0; }
.ap-facts small { display: block; font-size: 11px; color: var(--muted); margin-bottom: 3px; }
.ap-facts b { font-size: 13px; display: flex; align-items: center; gap: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-facts b .ic { width: 15px; height: 15px; color: var(--primary); }
.ap-impact { display: flex; gap: 12px; padding: 14px; border-radius: 12px; background: linear-gradient(135deg, rgba(226, 173, 79, .09), transparent 75%); border: 1px solid rgba(226, 173, 79, .2); }
.ap-impact > .ic { color: var(--gold); margin-top: 2px; }
.ap-impact b { font-size: 12.5px; display: block; margin-bottom: 3px; }
.ap-impact p { font-size: 13px; color: var(--text-2); line-height: 1.55; }
.ap-chain small { display: block; font-size: 11px; color: var(--muted); margin-bottom: 8px; }
.ap-chain > div { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12.5px; }
.ap-chain > div > span { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 4px; border-radius: 20px; background: var(--surface-2); border: 1px solid var(--border); }
.ap-chain > div > span.me { padding: 4px 12px; background: var(--primary-soft); color: var(--primary); border-color: rgba(226, 173, 79, .3); font-weight: 700; }
.ap-chain > div > .ic { width: 13px; height: 13px; color: var(--muted); }
.ap-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ap-decided { display: flex; gap: 12px; padding: 14px; border-radius: 12px; border: 1px solid var(--border); }
.ap-decided.approved { background: rgba(92, 194, 138, .08); border-color: rgba(92, 194, 138, .25); }
.ap-decided.approved > .ic { color: var(--green); }
.ap-decided.rejected { background: rgba(229, 103, 90, .08); border-color: rgba(229, 103, 90, .25); }
.ap-decided.rejected > .ic { color: var(--red); }
.ap-decided b { font-size: 13px; }
.ap-decided p { font-size: 12.5px; color: var(--text-2); margin-top: 3px; }
.ap-aside { display: flex; flex-direction: column; gap: 16px; }
.ap-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 14px; }
.ap-stats div, .live-kpis div { text-align: center; padding: 10px 4px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--border); }
.ap-stats b, .live-kpis b { display: block; font: 700 18px var(--display); }
.ap-stats span, .live-kpis span { font-size: 10.5px; color: var(--muted); }
.ap-more { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px; font-size: 12.5px; font-weight: 600; color: var(--primary); border-top: 1px solid var(--border); }
.ap-more .ic { width: 14px; height: 14px; }
.ap-more:hover { background: var(--surface-2); }
.approval-body strong .p-chip { margin-left: 4px; }

/* ---------------- Ana sayfa: brifing ve öneriler ---------------- */
.neva-brief > div { flex: 1; min-width: 0; }
.brief-actions { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.suggestions-card { margin-top: 18px; }
.sug { display: flex; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.sug:last-child { border-bottom: 0; }
.sug > div { flex: 1; min-width: 0; }
.sug p { font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.sug-actions { display: flex; gap: 8px; margin-top: 9px; flex-wrap: wrap; }
.brief-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.brief-sec { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; }
.brief-sec h4 { font-size: 13px; display: flex; align-items: center; gap: 7px; margin-bottom: 10px; }
.brief-sec h4 .ic { width: 15px; height: 15px; color: var(--primary); }
.brief-sec ul, .brief-sec ol { padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.brief-sec b { color: var(--text); }
.brief-sec small { color: var(--muted); }

/* ---------------- Günlük ---------------- */
.log-list { display: flex; flex-direction: column; max-height: 420px; overflow-y: auto; }
.log-list.tall { max-height: calc(100vh - 230px); min-height: 420px; }
.log-row { display: flex; align-items: center; gap: 10px; padding: 9px 18px; border-bottom: 1px solid var(--border); font-size: 12.5px; }
.log-row:last-child { border-bottom: 0; }
.log-row.fresh { animation: logIn .5s ease-out; }
@keyframes logIn { from { background: rgba(226, 173, 79, .12); transform: translateY(-4px); opacity: 0; } to { background: transparent; transform: none; opacity: 1; } }
.log-ic { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: var(--surface-2); color: var(--accent); flex-shrink: 0; }
.log-ic .ic { width: 14px; height: 14px; }
.log-t { flex: 1; min-width: 0; color: var(--text-2); line-height: 1.45; }
.log-t b { color: var(--text); font-weight: 600; }
.log-row time { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }

/* ---------------- Ajan sayfası ---------------- */
.ag-hero { display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 18px 24px; background: linear-gradient(120deg, color-mix(in srgb, var(--c) 12%, var(--surface)), var(--surface) 55%); }
.ag-scene { width: 220px; }
.ag-scene .ch { width: 100%; display: block; }
.ag-crumbs { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.ag-crumbs a:hover { color: var(--text); }
.ag-crumbs .ic { width: 12px; height: 12px; }
.ag-crumbs span { color: var(--text-2); }
.ag-id h2 { font-size: 26px; letter-spacing: -.6px; display: flex; align-items: center; gap: 8px; }
.ag-id > p { color: var(--muted); font-size: 13px; margin: 2px 0 10px; }
.ag-id .pills { display: flex; gap: 6px; flex-wrap: wrap; }
.ag-actions { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.ag-kpis { display: grid; grid-template-columns: repeat(5, minmax(84px, 1fr)); gap: 10px; }
.ag-kpis div { background: var(--bg-2); border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; }
.ag-kpis b { display: block; font: 700 19px var(--display); letter-spacing: -.4px; white-space: nowrap; }
.ag-kpis span { font-size: 11px; color: var(--muted); }
.ag-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ag-skills { margin-top: 18px; display: flex; flex-direction: column; gap: 9px; }
.ag-skills h4 { font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--faint); font-weight: 800; }
.sk { display: grid; grid-template-columns: 120px 1fr 28px; gap: 10px; align-items: center; font-size: 12.5px; color: var(--text-2); }
.sk b { font-size: 12px; text-align: right; }
.tool-name { display: flex; align-items: center; gap: 12px; }
.int-ic { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; flex-shrink: 0; background: color-mix(in srgb, var(--c) 14%, transparent); color: var(--c); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 24%, transparent); }
.int-ic .ic { width: 16px; height: 16px; }
.int-ic.big { width: 44px; height: 44px; border-radius: 12px; }
.int-ic.big .ic { width: 21px; height: 21px; }

/* ---------------- Canlı izleme ---------------- */
.live-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.live-agents { padding: 6px; display: flex; flex-direction: column; max-height: calc(100vh - 170px); overflow-y: auto; }
.live-agent { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 10px; position: relative; }
.live-agent:hover { background: var(--surface-2); }
.live-agent > span:not(.av) { flex: 1; min-width: 0; }
.live-agent b { font-size: 12.5px; display: block; }
.live-agent small { font-size: 11px; color: var(--muted); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.live-agent > i { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.live-side { display: flex; flex-direction: column; gap: 16px; }
.live-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px 14px 0; }
.live-warn { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; }
.live-warn a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 9px; font-size: 12.5px; color: var(--text-2); }
.live-warn a:hover { background: var(--surface-2); }
.live-warn b { color: var(--text); }

/* ---------------- Sihirbazlar ---------------- */
.wiz-steps { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.wiz-steps span { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--muted); padding: 5px 12px 5px 5px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); }
.wiz-steps b { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 10.5px; background: var(--surface-3); color: var(--text-2); }
.wiz-steps span.on { color: var(--text); border-color: rgba(226, 173, 79, .45); }
.wiz-steps span.on b { background: var(--grad); color: var(--primary-ink); }
.wiz-steps span.done b { background: rgba(92, 194, 138, .18); color: var(--green); }
.wiz-lead { font-size: 13.5px; color: var(--text-2); line-height: 1.55; }
.wiz-note { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.wiz-note .ic { width: 15px; height: 15px; color: var(--primary); }
.wiz-note b { color: var(--text-2); }
.chip-row { display: flex; flex-wrap: wrap; gap: 7px; }
.chip-opt { font-size: 12.5px; font-weight: 500; padding: 7px 12px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); color: var(--text-2); transition: .12s; }
.chip-opt:hover { border-color: var(--border-2); color: var(--text); }
.chip-opt.on { background: var(--primary-soft); border-color: rgba(226, 173, 79, .5); color: var(--primary); font-weight: 600; }
.onb-hero { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 14px; background: linear-gradient(135deg, rgba(226, 173, 79, .1), transparent 70%); border: 1px solid rgba(226, 173, 79, .2); }
.onb-hero h4 { font-size: 17px; margin-bottom: 4px; }
.onb-hero p { font-size: 13px; color: var(--text-2); line-height: 1.5; }
.onb-team { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.onb-team div { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 14px 6px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); text-align: center; }
.onb-team b { font-size: 13px; }
.onb-team small { font-size: 11px; color: var(--muted); }
.theme-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.theme-card { padding: 12px; border-radius: 14px; border: 1.5px solid var(--border); background: var(--surface); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; font-size: 13px; }
.theme-card.on { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.tc-prev { width: 100%; height: 86px; border-radius: 9px; display: grid; grid-template-columns: 26% 1fr; grid-template-rows: 22% 1fr; gap: 5px; padding: 6px; }
.tc-prev i:first-child { grid-row: span 2; border-radius: 5px; }
.tc-prev i { border-radius: 5px; }
.theme-card.dark .tc-prev { background: #0c0f0e; } .theme-card.dark .tc-prev i { background: #19201c; } .theme-card.dark .tc-prev i:last-child { background: #e2ad4f55; }
.theme-card.light .tc-prev { background: #f3f1ea; } .theme-card.light .tc-prev i { background: #fff; box-shadow: 0 0 0 1px #e1ddd0; } .theme-card.light .tc-prev i:last-child { background: #c98d2a44; }

.tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.tpl-card { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px; border-radius: 13px; background: var(--surface); border: 1.5px solid var(--border); text-align: left; transition: .12s; }
.tpl-card:hover { border-color: var(--border-2); transform: translateY(-1px); }
.tpl-card.on { border-color: var(--c); background: color-mix(in srgb, var(--c) 8%, var(--surface)); }
.tpl-card b { font-size: 13.5px; }
.tpl-card small { font-size: 11.5px; color: var(--muted); line-height: 1.4; }
.tpl-ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--c) 15%, transparent); color: var(--c); margin-bottom: 2px; }
.tpl-ic .ic { width: 17px; height: 17px; }
.tool-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.tool-opt { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 11px; background: var(--surface); border: 1.5px solid var(--border); font-size: 12.5px; font-weight: 600; text-align: left; flex-wrap: wrap; }
.tool-opt .int-ic { width: 26px; height: 26px; border-radius: 7px; }
.tool-opt .int-ic .ic { width: 13px; height: 13px; }
.tool-opt small { width: 100%; font-size: 10.5px; color: var(--muted); font-weight: 500; margin-top: -4px; padding-left: 36px; }
.tool-opt.on { border-color: rgba(226, 173, 79, .55); background: var(--primary-soft); }
.tool-opt.off { opacity: .6; }
.perm-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed var(--border); font-size: 13px; }
.perm-row:last-child { border-bottom: 0; }
.model-pick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.model-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px; border-radius: 13px; background: var(--surface); border: 1.5px solid var(--border); text-align: left; }
.model-card b { font-size: 14px; }
.model-card small { font-size: 12px; color: var(--muted); }
.model-card em { font-style: normal; font-weight: 800; color: var(--primary); margin-top: 6px; letter-spacing: 1px; }
.model-card.on { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.look-layout { display: grid; grid-template-columns: 220px 1fr; gap: 22px; }
.look-preview { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 20px 10px; border-radius: 16px; background: radial-gradient(circle at 50% 30%, var(--surface-3), var(--surface) 70%); border: 1px solid var(--border); align-self: start; text-align: center; }
.look-preview .av { margin-bottom: 10px; }
.look-preview b { font-size: 15px; }
.look-preview small { font-size: 12px; color: var(--muted); }
.look-opts { display: flex; flex-direction: column; gap: 8px; }
.look-opts > label { font-size: 11px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; margin-top: 4px; }
.swatches { display: flex; gap: 8px; flex-wrap: wrap; }
.sw { width: 28px; height: 28px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25); transition: transform .12s; }
.sw:hover { transform: scale(1.1); }
.sw.on { box-shadow: 0 0 0 2px var(--bg-2), 0 0 0 4px var(--primary); }
.hire-sum { display: grid; grid-template-columns: 180px 1fr; gap: 20px; align-items: start; }
.hire-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.hire-facts div { padding: 10px 12px; border-radius: 10px; background: var(--surface); border: 1px solid var(--border); }
.hire-facts small { display: block; font-size: 11px; color: var(--muted); margin-bottom: 3px; }
.hire-facts b { font-size: 13px; line-height: 1.45; }
.pw-steps { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.pw-steps div { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-bottom: 1px solid var(--border); font-size: 12.5px; background: var(--surface); }
.pw-steps div:last-child { border-bottom: 0; }
.pw-steps div > span:not(.av) { flex: 1; }
.pw-steps small { color: var(--muted); }

/* ---------------- Görev paneli ---------------- */
.td-head { position: relative; padding: 22px 22px 18px; border-bottom: 1px solid var(--border); background: linear-gradient(180deg, color-mix(in srgb, var(--c) 12%, transparent), transparent); }
.td-head h2 { font-size: 19px; line-height: 1.35; margin: 8px 40px 16px 0; letter-spacing: -.3px; }
.td-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.td-meta label { display: flex; flex-direction: column; gap: 5px; font-size: 11px; color: var(--muted); font-weight: 600; }
.td-meta select, .td-meta label > span { height: 34px; padding: 0 10px; border-radius: 9px; background: var(--surface); border: 1px solid var(--border); font-size: 12.5px; color: var(--text); display: flex; align-items: center; gap: 6px; outline: none; }
.td-meta label > span .ic { width: 14px; height: 14px; color: var(--muted); }
.td-chain { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.td-node { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 10px; border-radius: 11px; background: var(--surface); border: 1px solid var(--border); min-width: 82px; }
.td-node:hover { border-color: var(--border-2); }
.td-node b { font-size: 12px; }
.td-node small { font-size: 10px; color: var(--muted); }
.td-arrow .ic { width: 14px; height: 14px; color: var(--muted); }
.subs { display: flex; flex-direction: column; gap: 2px; }
.sub { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; font-size: 13px; cursor: pointer; }
.sub:hover { background: var(--surface); }
.sub input { accent-color: var(--primary); width: 16px; height: 16px; }
.sub.done span { color: var(--muted); text-decoration: line-through; }
.sub-add input { width: 100%; margin-top: 8px; height: 36px; padding: 0 12px; border-radius: 9px; background: var(--surface); border: 1px dashed var(--border-2); font-size: 12.5px; outline: none; }
.sub-add input:focus { border-style: solid; border-color: rgba(226, 173, 79, .55); }
.comments { display: flex; flex-direction: column; gap: 12px; }
.cm { display: flex; gap: 10px; }
.cm > div { flex: 1; min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 4px 12px 12px 12px; padding: 9px 12px; }
.cm b { font-size: 12.5px; }
.cm time { font-size: 10.5px; color: var(--muted); margin-left: 6px; }
.cm p { font-size: 12.5px; color: var(--text-2); margin-top: 3px; line-height: 1.5; }
.user-avatar.sm { width: 28px; height: 28px; border-radius: 50%; font-size: 10px; flex-shrink: 0; }
.doc-mini { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; text-align: left; font-size: 12.5px; transition: background .12s; }
.doc-mini:hover { background: var(--surface-2); }
.doc-mini > span { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: color-mix(in srgb, var(--c) 15%, transparent); color: var(--c); flex-shrink: 0; }
.doc-mini > span .ic { width: 15px; height: 15px; }
.doc-mini b { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.doc-mini small { color: var(--muted); font-size: 11px; white-space: nowrap; }
.td-log { display: flex; flex-direction: column; gap: 8px; }
.td-log div { display: flex; align-items: center; gap: 9px; font-size: 12px; color: var(--text-2); }
.td-log .ic { width: 14px; height: 14px; color: var(--muted); }
.td-log span { flex: 1; }
.td-log time { color: var(--muted); font-size: 11px; }
.task.dragging { opacity: .45; transform: rotate(1.5deg); }
.col { transition: border-color .15s, background .15s; }
.col.drop { border-color: rgba(226, 173, 79, .6); background: color-mix(in srgb, var(--primary) 5%, var(--bg-2)); }
.col-empty { border: 1.5px dashed var(--border-2); border-radius: 12px; padding: 22px; text-align: center; font-size: 12px; color: var(--faint); }

/* ---------------- Gantt ---------------- */
.gantt { --g-label: 240px; position: relative; overflow-x: auto; }
.g-row { display: grid; grid-template-columns: var(--g-label) minmax(480px, 1fr); align-items: center; min-height: 40px; border-bottom: 1px solid var(--border); }
.g-row:last-of-type { border-bottom: 0; }
.g-row[data-act], .g-row[data-task] { cursor: pointer; }
.g-row[data-act]:hover, .g-row[data-task]:hover { background: var(--surface-2); }
.g-head { min-height: 26px; border-bottom-color: var(--border-2); }
.g-label { display: flex; align-items: center; gap: 8px; font-size: 12.5px; padding: 6px 12px 6px 4px; min-width: 0; }
.g-label b, .g-label span:not(.av) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-track { position: relative; height: 100%; min-height: 26px; }
.g-head em { position: absolute; top: 4px; font-style: normal; font-size: 10.5px; color: var(--muted); transform: translateX(-50%); white-space: nowrap; }
.g-bar { position: absolute; top: 50%; height: 22px; margin-top: -11px; border-radius: 7px; background: color-mix(in srgb, var(--c) 24%, transparent); border: 1px solid color-mix(in srgb, var(--c) 50%, transparent); overflow: hidden; }
.g-bar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--c); opacity: .7; }
.g-bar b { position: relative; font-size: 10.5px; font-weight: 700; padding: 0 8px; line-height: 20px; color: var(--text); text-shadow: 0 1px 2px rgba(0, 0, 0, .4); }
.g-today { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1.5px dashed var(--red); pointer-events: none; }
.g-today span { position: absolute; top: -2px; left: -22px; font-size: 9.5px; font-weight: 700; color: #fff; background: var(--red); padding: 1px 6px; border-radius: 5px; }

/* ---------------- Proje sayfası ---------------- */
.pj-hero { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 22px 24px; background: linear-gradient(120deg, color-mix(in srgb, var(--c) 12%, var(--surface)), var(--surface) 55%); }
.pj-ring .p-ring-val { font-size: 18px; }
.pj-id h2 { font-size: 24px; letter-spacing: -.5px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pj-id h2 .proj-status { margin-left: 0; }
.pj-id > p { color: var(--text-2); font-size: 13px; margin: 6px 0 12px; max-width: 640px; line-height: 1.5; }
.pj-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12.5px; color: var(--muted); }
.pj-meta span { display: flex; align-items: center; gap: 6px; }
.pj-meta b { color: var(--text); }
.pj-meta .ic { width: 14px; height: 14px; }
.pj-actions { display: flex; flex-direction: column; gap: 8px; }
.pj-ms { margin-top: 16px; }
.ms-line { display: grid; grid-template-columns: repeat(4, 1fr); padding: 22px 24px 18px; position: relative; }
.ms-line::before { content: ''; position: absolute; left: calc(12.5% + 10px); right: calc(12.5% + 10px); top: 32px; border-top: 2px dashed var(--border-2); }
.ms { display: flex; flex-direction: column; align-items: center; gap: 4px; position: relative; text-align: center; }
.ms i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-3); border: 2px solid var(--border-2); margin-bottom: 4px; }
.ms.ok i { background: var(--green); border-color: var(--green); color: #0c1f14; }
.ms i .ic { width: 12px; height: 12px; }
.ms b { font-size: 12.5px; }
.ms small { font-size: 11px; color: var(--muted); }
.pj-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 16px; align-items: start; }
.pj-team { display: flex; flex-direction: column; padding: 6px; }
.pj-team a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; }
.pj-team a:hover { background: var(--surface-2); }
.pj-team a > span:not(.av) { flex: 1; min-width: 0; }
.pj-team b { display: block; font-size: 13px; }
.pj-team small { font-size: 11.5px; color: var(--muted); }
.pj-team em { font-style: normal; font-size: 11px; color: var(--text-2); background: var(--surface-3); padding: 2px 8px; border-radius: 20px; }
.pj-grid .card > .doc-mini { padding-left: 16px; padding-right: 16px; border-radius: 0; }
.pj-grid .p-donut { margin: 0 auto; }

/* ---------------- Takvim ---------------- */
.cal-title { font-family: var(--display); font-size: 16px; }
.cal-legend { display: flex; gap: 12px; font-size: 11.5px; color: var(--muted); }
.cal-legend span { display: flex; align-items: center; gap: 5px; }
.cal-legend i { width: 9px; height: 9px; border-radius: 3px; }
.cal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.cal { overflow: hidden; }
.cal-head, .cal-allday, .cal-body { display: grid; grid-template-columns: 58px repeat(7, minmax(90px, 1fr)); }
.cal-head { border-bottom: 1px solid var(--border); }
.cal-head > div { text-align: center; padding: 10px 4px; border-left: 1px solid var(--border); }
.cal-head small { display: block; font-size: 11px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .8px; }
.cal-head b { font: 700 18px var(--display); }
.cal-head .today b { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--grad); color: var(--primary-ink); }
.cal-allday { border-bottom: 1px solid var(--border-2); min-height: 36px; }
.cal-allday > span { font-size: 10.5px; color: var(--muted); padding: 10px 6px; text-align: right; }
.cal-allday > div { border-left: 1px solid var(--border); padding: 4px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cal-dl { display: flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 600; padding: 3px 6px; border-radius: 6px; background: rgba(229, 103, 90, .14); color: #f09a90; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-dl .ic { width: 11px; height: 11px; flex-shrink: 0; }
.cal-body { max-height: calc(100vh - 290px); overflow-y: auto; }
.cal-hours span { display: block; height: var(--hp); font-size: 10.5px; color: var(--muted); text-align: right; padding: 0 8px; transform: translateY(-6px); }
.cal-hours span:first-child { transform: none; }
.cal-day { position: relative; border-left: 1px solid var(--border); background-image: repeating-linear-gradient(to bottom, var(--border) 0 1px, transparent 1px var(--hp)); min-height: calc(var(--hp) * 11); }
.cal-day.today { background-color: color-mix(in srgb, var(--primary) 4%, transparent); }
.cal-ev { position: absolute; left: 3px; right: 3px; padding: 4px 6px; border-radius: 7px; text-align: left; overflow: hidden; display: flex; flex-direction: column; gap: 1px; background: color-mix(in srgb, var(--c) 18%, var(--surface)); border-left: 3px solid var(--c); transition: filter .12s; }
.cal-ev:hover { filter: brightness(1.15); z-index: 2; }
.cal-ev b { font-size: 11px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-ev small { font-size: 10px; color: var(--text-2); }
.cal-ev .av-stack { margin-top: auto; }
.cal-ev .av-stack .av { box-shadow: 0 0 0 1.5px var(--surface); margin-left: -5px; }
.cal-ev .av-stack .av:first-child { margin-left: 0; }
.cal-ev.short { flex-direction: row; align-items: center; gap: 6px; padding: 0 6px; }
.cal-ev.short small, .cal-ev.short .av-stack { display: none; }
.cal-ev.short b { font-size: 10.5px; }
.cal-now { position: absolute; left: 0; right: 0; height: 0; border-top: 2px solid var(--red); z-index: 3; pointer-events: none; }
.cal-now::before { content: ''; position: absolute; left: -5px; top: -6px; width: 10px; height: 10px; border-radius: 50%; background: var(--red); }
.cal-side { display: flex; flex-direction: column; gap: 16px; }
.cal-people { display: flex; flex-direction: column; gap: 4px; }
.cal-people a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 10px; }
.cal-people a:hover { background: var(--surface); }
.cal-people b { display: block; font-size: 13px; }
.cal-people small { font-size: 11.5px; color: var(--muted); }

/* ---------------- Analitik ---------------- */
.an-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.an-wide { grid-column: span 2; }
.an-donut { display: flex; align-items: center; gap: 18px; }
.an-legend { display: flex; flex-direction: column; gap: 7px; flex: 1; min-width: 0; }
.an-legend span { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text-2); }
.an-legend i { width: 9px; height: 9px; border-radius: 3px; flex-shrink: 0; }
.an-legend b { margin-left: auto; color: var(--text); font-variant-numeric: tabular-nums; }
.an-alert { display: flex; gap: 10px; margin-top: 14px; padding: 11px 12px; border-radius: 10px; background: rgba(224, 164, 67, .1); border: 1px solid rgba(224, 164, 67, .25); font-size: 12.5px; color: var(--text-2); line-height: 1.45; }
.an-alert .ic { color: var(--amber); width: 16px; height: 16px; margin-top: 1px; }
.an-agents { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 26px; }
.an-agent { display: grid; grid-template-columns: 26px 70px 1fr 54px; gap: 10px; align-items: center; font-size: 12.5px; padding: 4px 6px; border-radius: 8px; }
.an-agent:hover { background: var(--surface-2); }
.an-agent b { text-align: right; font-variant-numeric: tabular-nums; }
.heat { display: grid; grid-template-columns: 130px repeat(7, minmax(0, 1fr)); gap: 3px; align-items: center; }
.heat > em { font-style: normal; font-size: 10.5px; color: var(--muted); text-align: center; padding-bottom: 4px; }
.heat > span { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--text-2); white-space: nowrap; }
.heat > i { height: 20px; border-radius: 4px; background: color-mix(in srgb, var(--primary) calc(var(--v) * 100%), var(--surface-2)); }

/* ---------------- Hedefler ---------------- */
.goal-sum { display: flex; align-items: center; gap: 12px; }
.goal-sum b { display: block; font-size: 14px; }
.goal-sum span { font-size: 12px; color: var(--muted); }
.goals { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }
.goal { padding: 20px; display: flex; flex-direction: column; gap: 16px; position: relative; overflow: hidden; }
.goal::before { content: ''; position: absolute; top: 0; left: 20px; width: 40px; height: 3px; border-radius: 0 0 3px 3px; background: var(--c); }
.goal-head { display: flex; align-items: center; gap: 14px; }
.goal-head h3 { font-size: 15.5px; line-height: 1.35; margin-bottom: 5px; }
.goal-head div > span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.goal-head span .ic { width: 13px; height: 13px; }
.krs { display: flex; flex-direction: column; gap: 12px; }
.kr > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; margin-bottom: 6px; color: var(--text-2); }
.kr b { color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.goal-foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--border); }
.goal-foot .proj-tag { color: var(--text-2); background: var(--surface-2); padding: 3px 9px; border-radius: 20px; }

/* ---------------- Dokümanlar ---------------- */
.doc-search { width: 280px; }
.docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.doc { display: flex; flex-direction: column; gap: 8px; padding: 18px; text-align: left; transition: .15s; position: relative; overflow: hidden; }
.doc::before { content: ''; position: absolute; top: 0; left: 18px; width: 30px; height: 3px; border-radius: 0 0 3px 3px; background: var(--c); }
.doc:hover { transform: translateY(-2px); border-color: var(--border-2); box-shadow: var(--shadow); }
.doc-type { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: var(--c); text-transform: uppercase; letter-spacing: .8px; }
.doc-type .ic { width: 14px; height: 14px; }
.doc-type em { font-style: normal; color: var(--muted); text-transform: none; letter-spacing: 0; animation: pBlink 1.4s ease-in-out infinite; }
@keyframes pBlink { 50% { opacity: .4; } }
.doc h3 { font-size: 15px; line-height: 1.35; }
.doc p { font-size: 12.5px; color: var(--muted); line-height: 1.5; flex: 1; }
.doc-foot { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--muted); padding-top: 10px; border-top: 1px solid var(--border); margin-top: 4px; }
.doc-foot .proj-tag { font-style: normal; max-width: 140px; }
.doc-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }
.doc-meta b { color: var(--text); margin-left: -4px; }
.doc-body { padding: 18px 20px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; line-height: 1.65; color: var(--text-2); }
.doc-body b { color: var(--text); }
.doc-versions h4 { font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--faint); font-weight: 800; margin-bottom: 8px; }
.doc-versions > div { display: grid; grid-template-columns: 40px 1fr 1fr auto; gap: 10px; align-items: center; padding: 8px 4px; border-bottom: 1px solid var(--border); font-size: 12.5px; color: var(--text-2); }
.doc-versions > div:last-child { border-bottom: 0; }

/* ---------------- Entegrasyonlar ---------------- */
.ints { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.int { padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.int.on { border-color: color-mix(in srgb, var(--green) 25%, var(--border)); }
.int-head { display: flex; align-items: flex-start; gap: 12px; }
.int-head > div { flex: 1; min-width: 0; }
.int-head h3 { font-size: 15px; }
.int-head span { font-size: 12px; color: var(--muted); line-height: 1.45; }
.int-body { display: flex; align-items: center; gap: 10px; min-height: 28px; }
.int-body small { font-size: 11.5px; color: var(--muted); }
.int-foot { display: flex; gap: 8px; padding-top: 14px; border-top: 1px solid var(--border); }

/* ---------------- Rutinler ---------------- */
.routine { display: grid; grid-template-columns: 44px minmax(0, 1.4fr) 150px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.routine:last-child { border-bottom: 0; }
.routine.off .ro-main, .routine.off .ro-who { opacity: .5; }
.ro-main b { display: block; font-size: 13.5px; }
.ro-main span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); margin-top: 2px; }
.ro-main .ic { width: 13px; height: 13px; }
.ro-who { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--text-2); }
.ro-last { font-size: 12.5px; color: var(--text-2); }
.ro-last.warn { color: var(--amber); }
.ro-last small { display: block; font-size: 11px; color: var(--muted); }
.ro-act { display: flex; align-items: center; gap: 8px; }

/* ---------------- Sohbet ---------------- */
.plan-card.editing { border-color: rgba(226, 173, 79, .45); }
.plan-step.edit { gap: 8px; }
.plan-step.edit input { flex: 1; min-width: 0; height: 32px; padding: 0 10px; border-radius: 8px; background: var(--surface); border: 1px solid var(--border); font-size: 12.5px; outline: none; }
.plan-step.edit select { height: 32px; padding: 0 8px; border-radius: 8px; background: var(--surface); border: 1px solid var(--border); font-size: 12px; color: var(--text-2); outline: none; }
.plan-actions { align-items: center; }
.plan-actions .p-chip { margin-left: auto; }
.plan-head .p-chip { margin-left: auto; }
.msg time { display: flex; align-items: center; gap: 8px; }
.msg-act { display: inline-flex; align-items: center; gap: 3px; font-size: 10.5px; color: var(--muted); opacity: 0; transition: opacity .15s; padding: 1px 6px; border-radius: 6px; }
.msg-act .ic { width: 11px; height: 11px; }
.msg:hover .msg-act { opacity: 1; }
.msg-act:hover { color: var(--primary); background: var(--surface-2); }
.message-delivery{font-size:11px;color:var(--muted);line-height:1}.message-delivery.failed{color:var(--danger,#df8e88)}.message-retry{border:0;border-radius:6px;padding:2px 6px;background:var(--surface-2);color:var(--primary);font:inherit;cursor:pointer}.message-retry:hover{background:var(--surface-3,var(--surface-2))}.message-retry:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.msg.me.is-send-failed .bub{border-color:var(--danger,#df8e88)}
.attach-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.att { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; padding: 5px 6px 5px 10px; border-radius: 9px; background: var(--surface-2); border: 1px solid var(--border-2); color: var(--text-2); }
.att .ic { width: 13px; height: 13px; color: var(--primary); }
.att small { color: var(--muted); }
.att button { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; color: var(--muted); }
.att button:hover { background: var(--surface-3); color: var(--text); }
.att button .ic { color: inherit; width: 12px; height: 12px; }
.msg-files { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.msg-files .att { padding-right: 10px; background: rgba(0, 0, 0, .15); }

/* ---------------- Ekip ---------------- */
.node[draggable='true'] { cursor: grab; }
.node.dragging { opacity: .45; }
.node.drop { border-color: var(--primary); box-shadow: 0 0 0 4px var(--primary-soft); transform: scale(1.04); }
.team-row { cursor: pointer; }
.team-row:hover { background: var(--surface-2); }
.team-row .status-pill { min-width: 104px; }

/* ---------------- Ayarlar ---------------- */
.settings-wide { grid-column: 1 / -1; }
.audit { display: flex; flex-direction: column; max-height: 320px; overflow-y: auto; }
.audit div { display: grid; grid-template-columns: 120px 110px 1fr; gap: 14px; padding: 10px 18px; border-bottom: 1px solid var(--border); font-size: 12.5px; }
.audit div:last-child { border-bottom: 0; }
.audit time { color: var(--muted); font-variant-numeric: tabular-nums; }
.audit span { color: var(--text-2); }

/* ---------------- Komut paleti ---------------- */
.palette-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(4, 7, 6, .55); backdrop-filter: blur(3px); display: flex; justify-content: center; align-items: flex-start; padding-top: 12vh; animation: pFade .15s ease-out; }
@keyframes pFade { from { opacity: 0; } }
.palette { width: 620px; max-width: calc(100vw - 32px); background: var(--bg-2); border: 1px solid var(--border-2); border-radius: 16px; box-shadow: 0 30px 90px rgba(0, 0, 0, .6); overflow: hidden; animation: pPop .18s cubic-bezier(.2, .9, .3, 1.1); }
@keyframes pPop { from { transform: translateY(-8px) scale(.98); opacity: 0; } }
.palette-input { display: flex; align-items: center; gap: 10px; padding: 0 16px; height: 56px; border-bottom: 1px solid var(--border); }
.palette-input > .ic { color: var(--primary); }
.palette-input input { flex: 1; background: none; border: 0; outline: 0; font-size: 15px; }
.palette-list { max-height: 52vh; overflow-y: auto; padding: 6px; }
.palette-group { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.3px; color: var(--faint); padding: 10px 10px 5px; }
.palette-item { width: 100%; display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 9px; text-align: left; font-size: 13.5px; }
.palette-item.on, .palette-item:hover { background: var(--surface-2); }
.palette-item.on { box-shadow: inset 0 0 0 1px var(--border-2); }
.pi-ic { width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; background: var(--surface-3); color: var(--text-2); flex-shrink: 0; }
.pi-ic .ic { width: 14px; height: 14px; }
.palette-item.on .pi-ic { color: var(--primary); }
.pi-t { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pi-s { margin-left: auto; font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 45%; }
.palette-empty { padding: 30px; text-align: center; color: var(--muted); font-size: 13px; }
.palette-foot { display: flex; gap: 16px; padding: 10px 16px; border-top: 1px solid var(--border); font-size: 11.5px; color: var(--muted); }
.palette-foot span { display: flex; align-items: center; gap: 4px; }
.palette-foot kbd { padding: 1px 5px; font-size: 10.5px; }

/* ---------------- Bildirim paneli ---------------- */
.notif-panel { position: fixed; z-index: 80; width: 400px; max-width: calc(100vw - 24px); max-height: min(560px, calc(100vh - 100px)); display: flex; flex-direction: column; background: var(--bg-2); border: 1px solid var(--border-2); border-radius: 16px; box-shadow: 0 24px 70px rgba(0, 0, 0, .55); overflow: hidden; animation: pPop .16s ease-out; }
.notif-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 10px; }
.notif-head b { font: 700 15px var(--display); }
.notif-tabs { display: flex; gap: 4px; padding: 0 12px 10px; border-bottom: 1px solid var(--border); overflow-x: auto; }
.notif-tabs button { font-size: 12px; font-weight: 600; color: var(--muted); padding: 5px 10px; border-radius: 20px; white-space: nowrap; }
.notif-tabs button.on { background: var(--surface-3); color: var(--text); }
.notif-list { overflow-y: auto; flex: 1; padding: 4px; }
.notif-item { width: 100%; display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: 11px; text-align: left; position: relative; }
.notif-item:hover { background: var(--surface); }
.notif-item.unread { background: color-mix(in srgb, var(--primary) 5%, transparent); }
.notif-av { position: relative; flex-shrink: 0; }
.notif-av > i { position: absolute; right: -4px; bottom: -4px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; background: var(--c); color: #111; border: 2px solid var(--bg-2); }
.notif-av > i .ic { width: 10px; height: 10px; }
.notif-txt { flex: 1; min-width: 0; font-size: 12.5px; color: var(--text-2); line-height: 1.45; }
.notif-txt b { color: var(--text); }
.notif-txt small { display: block; font-size: 11px; color: var(--muted); margin-top: 3px; }
.notif-unread { width: 8px; height: 8px; border-radius: 50%; background: var(--primary); margin-top: 6px; flex-shrink: 0; }
.notif-foot { display: flex; align-items: center; gap: 7px; justify-content: center; padding: 11px; border-top: 1px solid var(--border); font-size: 12.5px; color: var(--muted); }
.notif-foot:hover { color: var(--text); background: var(--surface); }
.notif-foot .ic { width: 14px; height: 14px; }

/* ---------------- Kısayollar ---------------- */
.keys-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; }
.keys-grid > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--border); font-size: 13px; }
.keys-grid > div > span { display: flex; align-items: center; gap: 4px; }
.keys-grid em { font-style: normal; font-size: 10.5px; color: var(--muted); }
.keys-grid b { font-weight: 500; color: var(--text-2); }

/* ---------------- Duyarlı ---------------- */
@media (max-width: 1500px) {
  .ap-layout { grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); }
  .ap-aside { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .live-layout { grid-template-columns: 230px minmax(0, 1fr); }
  .live-side { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .ag-hero { grid-template-columns: 180px minmax(0, 1fr); }
  .ag-scene { width: 180px; }
  .ag-kpis { grid-column: 1 / -1; }
  .pj-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1180px) {
  .ap-layout, .live-layout, .cal-layout, .ag-grid, .an-grid, .pj-grid { grid-template-columns: 1fr; }
  .an-wide { grid-column: auto; }
  .ap-aside, .live-side { grid-template-columns: 1fr; }
  .nav-live { display: none; }
  .pj-hero { grid-template-columns: auto 1fr; }
  .pj-actions { grid-column: 1 / -1; flex-direction: row; }
  .routine { grid-template-columns: 44px 1fr auto; }
  .ro-who, .ro-last { display: none; }
  .an-agents, .brief-grid, .hire-facts { grid-template-columns: 1fr; }
  .look-layout, .hire-sum { grid-template-columns: 1fr; }
}

/* =========================================================
   AÇIK TEMA
   ========================================================= */
:root[data-theme='light'] {
  --bg: #f3f1ea;
  --bg-2: #faf9f5;
  --surface: #ffffff;
  --surface-2: #f6f4ee;
  --surface-3: #ebe8de;
  --border: #e4e0d4;
  --border-2: #d4cfbf;
  --text: #1d231f;
  --text-2: #49524c;
  --muted: #78817a;
  --faint: #a1a79f;
  --primary: #b98320;
  --primary-2: #2f8a5c;
  --primary-ink: #231803;
  --primary-soft: rgba(185, 131, 32, .12);
  --accent: #2f8a5c;
  --accent-soft: rgba(47, 138, 92, .1);
  --grad: linear-gradient(180deg, #ecbd62, #d9a245);
  --gold: #b98320;
  --green: #2f9a62;
  --red: #d24f42;
  --amber: #c98a1c;
  --focus: rgba(185, 131, 32, .4);
  --shadow: 0 14px 34px rgba(60, 50, 20, .12);
  color-scheme: light;
}
:root[data-theme='light'] ::-webkit-scrollbar-thumb { background-color: #d2cdbd; }
:root[data-theme='light'] .main { background: radial-gradient(1100px 520px at 78% -18%, rgba(226, 173, 79, .1), transparent 62%), var(--bg); }
:root[data-theme='light'] .topbar { background: rgba(250, 249, 245, .82); }
:root[data-theme='light'] .chat-head { background: rgba(255, 255, 255, .7); }
:root[data-theme='light'] .msg.me .bub { background: #e3f1e8; border-color: #c4e0cd; color: #173524; }
:root[data-theme='light'] .msg-files .att { background: rgba(255, 255, 255, .6); }
:root[data-theme='light'] .drawer-backdrop, :root[data-theme='light'] .modal-backdrop, :root[data-theme='light'] .palette-backdrop { background: rgba(40, 36, 24, .32); }
:root[data-theme='light'] .modal, :root[data-theme='light'] .palette, :root[data-theme='light'] .notif-panel { box-shadow: 0 30px 80px rgba(60, 50, 20, .22); }
:root[data-theme='light'] .drawer-close { background: rgba(0, 0, 0, .06); }
:root[data-theme='light'] .drawer-close:hover { background: rgba(0, 0, 0, .12); }
:root[data-theme='light'] .task:hover { box-shadow: 0 10px 24px rgba(60, 50, 20, .1); }
:root[data-theme='light'] .proj-status.active { color: #23784b; }
:root[data-theme='light'] .proj-status.planning { color: #9b6a12; }
:root[data-theme='light'] .live-pill { color: #23784b; }
:root[data-theme='light'] .cal-dl { color: #b2392d; }
:root[data-theme='light'] .btn.danger, :root[data-theme='light'] .btn-ghost.danger { color: #c0392b; }
:root[data-theme='light'] .stat-trend.bad { color: #c0392b; }
:root[data-theme='light'] .link:hover { color: #8f6312; }
:root[data-theme='light'] .g-bar b { color: #1d231f; text-shadow: none; }
:root[data-theme='light'] .notif-av > i { color: #fff; }
:root[data-theme='light'] .av-stack .av, :root[data-theme='light'] .av-more { box-shadow: 0 0 0 2px var(--surface); }
:root[data-theme='light'] .toggle::after { box-shadow: 0 1px 2px rgba(0, 0, 0, .2); }
:root[data-theme='light'] .bubble { box-shadow: 0 2px 6px rgba(0, 0, 0, .08); }

/* Avatarlar flex/grid içinde ezilmesin */
.av { flex: none; }

/* Authenticated central backend connection */
.neva-auth{position:fixed;inset:0;z-index:100000;background:#0b1018f5;display:grid;place-items:center;padding:24px;backdrop-filter:blur(15px);overflow:auto}.neva-auth-card{width:min(440px,100%);padding:32px;display:flex;flex-direction:column;gap:15px}.neva-auth-card h1{font-size:27px;margin:0}.neva-auth-card p{color:var(--muted);margin:0}.neva-auth-card label,.neva-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.neva-auth-card input,.neva-fields input,.neva-fields textarea{width:100%;background:var(--bg);border:1px solid var(--line,#303947);border-radius:8px;padding:11px;color:var(--text);font:inherit}.neva-auth-card .neva-auth-choice{flex-direction:row;align-items:center;font-weight:400}.neva-auth-choice input{width:auto}.neva-auth-mark{background:#e2ad4f;color:#1c160c;font-size:28px;font-weight:800;width:48px;height:48px;border-radius:13px;display:grid;place-items:center}.neva-auth-card small{color:var(--muted);font-size:11px;line-height:1.7}.neva-error{color:#e98c83!important;white-space:pre-wrap}.neva-fields{display:flex;flex-direction:column;gap:17px}.neva-fields textarea{min-height:160px;resize:vertical}.neva-run-controls{display:flex;gap:6px;flex-wrap:wrap}.neva-run-controls button{white-space:nowrap}@media(max-width:700px){.neva-auth-card{padding:22px}.neva-run-controls{justify-content:flex-end}.setting-row{gap:10px}}

/* Streaming updates keep the same message and editor DOM; only received text is revealed. */
.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.message-plan:empty,.message-files:empty,.message-text:empty{display:none}.message-plan:not(:empty){margin-top:8px}.chat-empty{margin:auto;text-align:center;color:var(--muted);font-size:13px}.chat-run-indicator{display:flex;align-items:center;gap:10px;align-self:flex-start;min-height:35px;margin-left:40px;padding:8px 12px;border:1px solid rgba(126,198,163,.16);border-radius:12px;background:rgba(116,191,151,.045);color:var(--muted);font-size:11.5px;animation:none}.chat-run-dots{display:inline-flex;gap:4px;align-items:center}.chat-run-dots i{width:4px;height:4px;border-radius:50%;background:#8fc8aa;opacity:.45;animation:nevaRunPulse 1.4s ease-in-out infinite}.chat-run-dots i:nth-child(2){animation-delay:.16s}.chat-run-dots i:nth-child(3){animation-delay:.32s}.msg.is-streaming .message-text::after{content:'';display:inline-block;width:2px;height:.95em;vertical-align:-.12em;background:#a4d7ba;border-radius:1px;margin-left:3px;animation:nevaStreamCaret 1s ease-in-out infinite}.message-interrupted{font-size:10px;color:var(--muted);padding-left:4px}.msg.is-interrupted .message-text::after{display:none}.messages .msg[data-message-key]{overflow-anchor:none}.message-text b{font-weight:650}.messages{overflow-anchor:none;scroll-behavior:auto}@keyframes nevaRunPulse{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:.9;transform:translateY(-2px)}}@keyframes nevaStreamCaret{0%,100%{opacity:.25}50%{opacity:.85}}@media(prefers-reduced-motion:reduce){.chat-run-dots i,.msg.is-streaming .message-text::after,.messages .msg{animation:none!important;transition:none!important}}


.group-menu-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;color:var(--muted);border-radius:7px;font-size:21px;line-height:1;letter-spacing:1px;background:transparent}.group-menu-trigger:hover,.group-menu-trigger:focus-visible{background:var(--surface-2);color:var(--text);outline:1px solid var(--border)}.group-contact .group-menu-trigger{opacity:.7}.group-contact:hover .group-menu-trigger,.group-contact:focus-within .group-menu-trigger{opacity:1}.chat-head>.group-menu-trigger{margin-left:auto}.side-profile[data-conversation-id]{position:relative}.side-profile>.group-menu-trigger{position:absolute;right:10px;top:10px}.group-context-menu{position:fixed;z-index:10020;min-width:206px;max-width:min(300px,calc(100vw - 16px));padding:6px;background:var(--surface,#161e27);border:1px solid var(--border,#303a46);border-radius:12px;box-shadow:0 14px 48px #0007;color:var(--text);animation:groupMenuIn .12s ease-out}.group-menu-caption{font-size:10.5px;color:var(--muted);font-weight:600;padding:7px 9px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--border);margin-bottom:4px}.group-context-menu>[role=menuitem]{display:block;width:100%;padding:9px 10px;text-align:left;border-radius:7px;background:none;border:0;color:var(--text);font-size:12px}.group-context-menu>[role=menuitem]:hover,.group-context-menu>[role=menuitem]:focus-visible{background:var(--surface-2);outline:none}.group-context-menu>[role=menuitem].danger{color:#ed958c}.group-contact:focus-visible,.chat-head[data-conversation-id]:focus-visible,.side-profile[data-conversation-id]:focus-visible{outline:1px solid var(--primary);outline-offset:-2px}@keyframes groupMenuIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.group-context-menu{animation:none}}

.chat-group-selection{align-self:flex-start;margin-left:40px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10.5px;padding:3px 0;max-width:calc(100% - 40px)}.chat-group-selection .link{font-size:inherit;color:var(--primary)}

/* Chat Markdown — restrained editorial typography inside the existing mint office. */
.messages > .msg:not(.me){max-width:min(82%,800px);min-width:0}
.messages > .msg .msg-body{min-width:0;max-width:100%}
.messages > .msg .bub{min-width:0;max-width:100%;overflow-wrap:anywhere}
.messages .message-text.chat-markdown{
  --md-accent:#9bd1b3;
  --md-rule:rgba(154,199,174,.17);
  --md-soft:rgba(132,187,155,.065);
  display:block;white-space:normal;overflow-wrap:anywhere;
  color:inherit;font-size:13.5px;line-height:1.72;letter-spacing:.005em;
}
.messages .chat-markdown > :first-child{margin-top:0!important}
.messages .chat-markdown > :last-child{margin-bottom:0!important}
.messages .chat-markdown p{margin:0 0 11px;line-height:inherit}
.messages .chat-markdown :is(h1,h2,h3,h4,h5,h6){
  color:var(--text);font-family:inherit;font-weight:650;line-height:1.4;
  letter-spacing:-.025em;margin:22px 0 10px;text-wrap:pretty;
}
.messages .chat-markdown h1{font-size:22px;font-weight:700;padding-bottom:12px;border-bottom:1px solid var(--md-rule)}
.messages .chat-markdown :is(h2,h3){position:relative;padding-left:13px}
.messages .chat-markdown :is(h2,h3)::before{content:'';position:absolute;left:0;top:.18em;bottom:.15em;width:3px;border-radius:3px;background:var(--md-accent)}
.messages .chat-markdown h2{font-size:18px;margin-top:25px}
.messages .chat-markdown h3{font-size:15px;margin-top:20px}
.messages .chat-markdown h3::before{width:2px;opacity:.7}
.messages .chat-markdown h4{font-size:13.5px;letter-spacing:0}
.messages .chat-markdown :is(h5,h6){font-size:12px;color:var(--muted);letter-spacing:.035em}
.messages .chat-markdown :is(strong,b){font-weight:650;color:var(--text)}
.messages .chat-markdown em{color:inherit}
.messages .chat-markdown del{opacity:.65;text-decoration-thickness:1px}
.messages .chat-markdown :is(ul,ol){margin:8px 0 14px;padding-left:23px}
.messages .chat-markdown li{padding-left:3px;margin:5px 0;line-height:1.65}
.messages .chat-markdown li::marker{color:var(--md-accent);font-size:.92em;font-weight:550}
.messages .chat-markdown li > p{margin-bottom:5px}
.messages .chat-markdown li > :is(ul,ol){margin:4px 0 6px}
.messages .chat-markdown .md-task-item,.messages .chat-markdown li:has(>input[type='checkbox']){list-style:none;position:relative;padding-left:0}
.messages .chat-markdown input[type='checkbox']{width:13px;height:13px;margin:0 7px 0 -20px;vertical-align:-2px;accent-color:var(--md-accent);opacity:.85;cursor:default}
.messages .chat-markdown blockquote{margin:15px 0;padding:10px 14px;border-left:2px solid rgba(154,199,174,.55);border-radius:0 9px 9px 0;background:var(--md-soft);color:var(--text-2,var(--text))}
.messages .chat-markdown blockquote p:last-child{margin-bottom:0}
.messages .chat-markdown blockquote blockquote{margin:9px 0 0;background:transparent}
.messages .chat-markdown hr{border:0;border-top:1px solid var(--md-rule);margin:21px 0}
.messages .chat-markdown a{color:var(--md-accent);text-decoration:underline;text-decoration-color:rgba(154,199,174,.35);text-underline-offset:3px;transition:text-decoration-color .15s ease}
.messages .chat-markdown a:hover{text-decoration-color:currentColor}
.messages .chat-markdown a:focus-visible,.messages .chat-markdown .md-copy-code:focus-visible,.messages .chat-markdown .md-table-wrap:focus-visible{outline:2px solid var(--md-accent);outline-offset:3px}
.messages .chat-markdown :not(pre)>code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.87em;letter-spacing:0;background:rgba(145,184,161,.09);border:1px solid rgba(145,184,161,.12);border-radius:5px;padding:2px 5px;color:#c4e7d1;box-decoration-break:clone;-webkit-box-decoration-break:clone;white-space:break-spaces;overflow-wrap:anywhere}
.messages .chat-markdown .md-table-wrap{display:block;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain;margin:15px 0 17px;border:1px solid var(--md-rule);border-radius:11px;background:rgba(5,13,9,.12);scrollbar-width:thin;scrollbar-color:rgba(155,209,179,.25) transparent}
.messages .chat-markdown table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;line-height:1.55;text-align:left;letter-spacing:0;margin:0}
.messages .chat-markdown :is(th,td){padding:10px 13px;min-width:100px;max-width:360px;vertical-align:top;border-right:1px solid var(--md-rule);border-bottom:1px solid var(--md-rule);overflow-wrap:normal;word-break:normal}
.messages .chat-markdown thead th{font-size:10.5px;line-height:1.45;font-weight:650;letter-spacing:.045em;color:#b7dbc6;background:rgba(134,189,156,.09);white-space:nowrap;border-bottom-color:rgba(154,199,174,.25)}
.messages .chat-markdown tbody tr:nth-child(even){background:rgba(144,187,161,.025)}
.messages .chat-markdown tbody tr:hover{background:rgba(144,187,161,.055)}
.messages .chat-markdown tr>:last-child{border-right:0}
.messages .chat-markdown tbody tr:last-child td{border-bottom:0}
.messages .chat-markdown td :is(p,ul,ol){margin:0}
.messages .chat-markdown td code{font-size:11px}
.messages .chat-markdown .md-align-left{text-align:left}
.messages .chat-markdown .md-align-center{text-align:center}
.messages .chat-markdown .md-align-right{text-align:right;font-variant-numeric:tabular-nums}
.messages .chat-markdown .md-code-block{max-width:100%;min-width:0;margin:14px 0 17px;overflow:hidden;border:1px solid var(--md-rule);border-radius:10px;background:#101713;color:#d5e4db}
.messages .chat-markdown .md-code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:6px 12px;background:rgba(145,184,161,.045);border-bottom:1px solid var(--md-rule)}
.messages .chat-markdown .md-code-language{font:500 10px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;color:#88a994}
.messages .chat-markdown .md-copy-code{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border:0;border-radius:5px;background:transparent;color:#a8bcae;font-family:inherit;font-size:10px;font-weight:500;line-height:1.5;cursor:pointer}
.messages .chat-markdown .md-copy-code:hover{background:rgba(145,184,161,.08);color:#d1eadb}
.messages .chat-markdown .md-copy-code .ic{width:12px;height:12px}
.messages .chat-markdown pre{margin:0;padding:13px 14px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;white-space:pre;tab-size:2;scrollbar-width:thin;scrollbar-color:rgba(155,209,179,.25) transparent}
.messages .chat-markdown pre code{display:block;min-width:min-content;color:inherit;background:none;border:0;padding:0;border-radius:0;white-space:pre;font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0;overflow-wrap:normal;word-break:normal}
.messages .msg.is-streaming .message-text:not(.chat-markdown){white-space:pre-wrap}
.messages .msg.is-streaming .message-text.chat-markdown{white-space:normal}
:root[data-theme='light'] .messages .message-text.chat-markdown{--md-accent:#357957;--md-rule:rgba(59,106,79,.18);--md-soft:rgba(75,128,95,.065)}
:root[data-theme='light'] .messages .chat-markdown :not(pre)>code{color:#2d6747;background:rgba(70,125,91,.06);border-color:rgba(70,125,91,.14)}
:root[data-theme='light'] .messages .chat-markdown .md-table-wrap{background:rgba(255,255,255,.4)}
:root[data-theme='light'] .messages .chat-markdown thead th{color:#35694c;background:rgba(75,128,95,.07)}
:root[data-theme='light'] .messages .chat-markdown .md-code-block{background:#f0f5f1;color:#294c36}
:root[data-theme='light'] .messages .chat-markdown .md-code-language{color:#668270}
:root[data-theme='light'] .messages .chat-markdown .md-copy-code{color:#557661}
:root[data-theme='light'] .messages .chat-markdown .md-copy-code:hover{color:#244d33}
@media(max-width:900px){.messages>.msg:not(.me){max-width:92%}.messages .chat-markdown :is(th,td){padding:9px 11px;min-width:95px}}
@media(max-width:600px){.messages>.msg:not(.me){max-width:100%}.messages .message-text.chat-markdown{font-size:13px}.messages .chat-markdown h1{font-size:20px}.messages .chat-markdown h2{font-size:17px}.messages .chat-markdown h3{font-size:14px}.messages .chat-markdown :is(th,td){padding:8px 10px;min-width:90px}.messages .chat-markdown table{font-size:11.5px}.messages .chat-markdown pre{padding:11px}.messages .chat-markdown pre code{font-size:11px}}

/* Keep owner Markdown readable on the existing tinted outgoing bubble in both themes. */
.messages .msg.me .message-text.chat-markdown{--md-accent:#a9d8ba;--md-rule:rgba(181,221,196,.2);--md-soft:rgba(180,220,194,.065)}
.messages .msg.me .chat-markdown :is(h1,h2,h3,h4,h5,h6,strong,b){color:inherit}
.messages .msg.me .chat-markdown thead th{color:#d0ead9;background:rgba(164,210,181,.08)}
.messages .msg.me .chat-markdown :not(pre)>code{color:#cfebda;background:rgba(10,26,17,.18);border-color:rgba(180,220,194,.15)}
.messages .msg.me .chat-markdown blockquote{color:inherit}
:root[data-theme='light'] .messages .msg.me .message-text.chat-markdown{--md-accent:#357957;--md-rule:rgba(59,106,79,.2);--md-soft:rgba(75,128,95,.065)}
:root[data-theme='light'] .messages .msg.me .chat-markdown thead th{color:#2c6445;background:rgba(75,128,95,.08)}
:root[data-theme='light'] .messages .msg.me .chat-markdown :not(pre)>code{color:#2d6747;background:rgba(70,125,91,.07);border-color:rgba(70,125,91,.16)}
/* Employee memory: an archive of sourced notes, kept compact beside the office UI. */
.memory-page{display:grid;gap:18px}.memory-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px;border-left:3px solid #99c9b0}.memory-eyebrow{font-size:10px;letter-spacing:.18em;color:#99c9b0;font-weight:700}.memory-intro h2{margin:10px 0;font-size:26px;letter-spacing:-.5px}.memory-intro p{max-width:640px;margin:0;color:var(--muted,#849389);line-height:1.7;font-size:13px}.memory-total{display:grid;gap:4px;text-align:right;white-space:nowrap}.memory-total b{font-size:38px;font-weight:500;font-variant-numeric:tabular-nums}.memory-total span{font-size:11px;color:var(--muted,#849389)}.memory-categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.memory-categories button{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--card,rgba(130,150,140,.04));color:inherit;border:1px solid var(--border,rgba(140,160,150,.15));padding:13px 14px;border-radius:8px;font:inherit;font-size:12px;cursor:pointer}.memory-categories button.on{border-color:#99c9b0;background:rgba(153,201,176,.08)}.memory-categories b{font-weight:500;color:#99c9b0;font-variant-numeric:tabular-nums}.memory-search{padding:16px;border-bottom:1px solid var(--border,rgba(140,160,150,.15));flex-wrap:wrap}.memory-search-label{display:flex;align-items:center;gap:10px;flex:1;min-width:220px}.memory-search input{width:100%;background:transparent;border:0;color:inherit;font:inherit;font-size:13px;padding:8px;outline-offset:2px}.memory-results{padding:0 22px}.memory-entry{padding:22px 0;border-bottom:1px solid var(--border,rgba(140,160,150,.12))}.memory-entry:last-child{border-bottom:0}.memory-entry-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted,#849389)}.memory-pinned{color:#d9b778}.memory-entry h3{margin:12px 0 6px;font-size:14px}.memory-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px;max-height:300px;overflow:auto}.memory-source{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:var(--muted,#849389);overflow-wrap:anywhere}.memory-source svg{width:13px;height:13px}.memory-source a{color:#99c9b0}.memory-actions{display:flex;gap:7px;margin-top:14px}.memory-page .toolbar:last-child{padding:14px 16px}.memory-categories button:focus-visible,.memory-search input:focus-visible{outline:2px solid #99c9b0;outline-offset:3px}@media(max-width:1100px){.memory-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-intro{padding:22px}}
/* Connection centre */
.connection-page{display:grid;gap:20px}.connection-intro{padding:26px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;border-left:3px solid #d5ae66}.connection-intro h2{font-size:25px;letter-spacing:-.5px;margin:10px 0}.connection-intro p{font-size:13px;line-height:1.8;color:var(--muted,#849389);max-width:580px}.connection-protocols{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-protocols span,.connection-kind{font-size:10px;letter-spacing:.04em;padding:6px 8px;border:1px solid var(--border,rgba(150,170,160,.15));border-radius:5px;color:var(--muted,#9da99f)}.connection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}.connection-card{padding:22px}.connection-card-top{display:flex;gap:10px;align-items:center;justify-content:space-between}.connection-kind{color:#d5ae66}.connection-card h3{font-size:17px;margin:18px 0 6px}.connection-address{font-family:monospace;font-size:11px;line-height:1.6;overflow-wrap:anywhere;color:var(--muted,#849389);min-height:20px}.connection-card dl{margin:20px 0;display:grid;gap:11px}.connection-card dl div{display:flex;justify-content:space-between;gap:15px;font-size:11px}.connection-card dt{color:var(--muted,#849389)}.connection-card dd{margin:0;max-width:65%;text-align:right;overflow-wrap:anywhere}.connection-actions{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid var(--border,rgba(150,170,160,.15));padding-top:16px}.connection-error{font-size:11px;color:#dd8b7f;line-height:1.7;overflow-wrap:anywhere}.connection-fingerprint{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7;padding:12px;background:rgba(150,170,160,.06);border-radius:6px}.connection-empty{grid-column:1/-1;display:grid;justify-items:center;text-align:center;padding:48px 20px;color:var(--muted,#849389)}.connection-empty h3{color:var(--text,#dfe7e1)}.connection-form{display:grid;gap:15px}.connection-form label{display:grid;gap:7px;font-size:12px}.connection-form input,.connection-form textarea,.connection-form select{width:100%}.connection-form [hidden]{display:none!important}.connection-check{display:flex!important;align-items:center}.connection-check input{width:auto}.connection-vault{display:grid;gap:13px;padding:18px;background:rgba(143,200,170,.04);border:1px solid var(--border,rgba(150,170,160,.15));border-radius:8px}.connection-vault h4{display:flex;align-items:center;gap:8px;margin:0}.connection-vault p,.connection-form small{font-size:11px;line-height:1.7;color:var(--muted,#849389)}.connection-form details{font-size:12px}.connection-form details summary{cursor:pointer;padding:8px 0}.connection-form details textarea{font-family:monospace;font-size:11px}@media(max-width:1100px){.connection-intro{grid-template-columns:1fr}.connection-protocols{justify-content:flex-start}}
.connection-form input,.connection-form textarea,.connection-form select{background:var(--bg,#101510);color:inherit;border:1px solid var(--border,rgba(150,170,160,.2));border-radius:6px;padding:10px 11px;font:inherit;outline-offset:3px}.connection-form input:focus-visible,.connection-form textarea:focus-visible,.connection-form select:focus-visible{outline:2px solid #d5ae66}.connection-form textarea{resize:vertical}.connection-form .connection-check input{width:auto;padding:0}
