/* Structure et dimensions dérivées des layers de messagerie TrackerVue. */
:root[data-theme="dark"] { --tkrvue-layer-bg:#111827;--tkrvue-layer-surface-bg:#1e293b;--tkrvue-layer-section-bg:#1e293b;--tkrvue-header-bg:#1e293b; }
html, body.messaging-app { margin:0; min-height:100%; background:var(--tkrvue-layer-bg); color:var(--tkrvue-text); }
.messaging-app #app { width:100%; }
.messaging-app [hidden] { display:none !important; }
.messaging-app header.top { background:var(--tkrvue-header-bg); border-bottom:1px solid var(--tkrvue-border); display:flex; gap:12px; align-items:center; padding:12px 20px; flex-wrap:wrap; }
.messaging-app header.top img { width:38px;height:38px; }
.messaging-app h1 { font-size:var(--tkrvue-font-size-title);margin:0; }
.messaging-app .tools { margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap; }
.messaging-app .notice { padding:10px 20px; background:var(--tkrvue-status-warning-bg); color:var(--tkrvue-status-warning-text);border-bottom:1px solid var(--tkrvue-status-warning-border); }
.messaging-app .install-onboarding { margin:12px 20px 0;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border-left:4px solid var(--tkrvue-accent); }
.messaging-app .install-onboarding-icon { width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--tkrvue-accent);background:color-mix(in srgb,var(--tkrvue-accent) 12%,var(--tkrvue-layer-surface-bg)); }
.messaging-app .install-onboarding-icon svg { width:23px;height:23px; }
.messaging-app .install-onboarding-copy h2 { margin:0 0 4px; }
.messaging-app .install-onboarding-copy p { margin:0;color:var(--tkrvue-muted); }
.messaging-app .install-onboarding-copy .install-help { margin-top:9px;padding:9px 11px;border-radius:8px;background:color-mix(in srgb,var(--tkrvue-accent) 7%,var(--tkrvue-layer-surface-bg));color:var(--tkrvue-text); }
.messaging-app .install-onboarding-actions { display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap; }
.messaging-app .layout { display:grid; grid-template-columns:230px 320px minmax(0,1fr); gap:14px; padding:20px; min-height:70vh; }
.messaging-app .panel { border:1px solid var(--tkrvue-border); border-radius:9px; background:var(--tkrvue-layer-surface-bg);min-width:0; }
.messaging-app .filters { padding:14px;display:flex;flex-direction:column;gap:18px; }
.messaging-app label { display:flex;flex-direction:column;gap:6px; }
.messaging-app .filters label { white-space:normal;overflow-wrap:anywhere; }
.messaging-app .filters input,.messaging-app .filters select { width:100%;box-sizing:border-box; }
.messaging-app label.check { flex-direction:row;align-items:center; }
.messaging-app label.check input { width:auto; }
.messaging-app input,.messaging-app select,.messaging-app textarea { font:inherit; padding:8px;border:1px solid var(--tkrvue-border);border-radius:5px;color:var(--tkrvue-input-text);background:var(--tkrvue-input-bg);min-width:0; }
.messaging-app .panel-head { padding:12px;border-bottom:1px solid var(--tkrvue-border);display:flex;align-items:center;justify-content:space-between;gap:8px; }
.messaging-app h2 { font-size:1.05em;margin:0; }
.messaging-app .rows { max-height:65vh;overflow:auto; }
.messaging-app .conversation { display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:14px;border:0;border-bottom:1px solid var(--tkrvue-border);font:inherit;background:transparent;color:inherit;cursor:pointer; }
.messaging-app .conversation:hover,.messaging-app .conversation[aria-pressed=true] { background:var(--tkrvue-selection-bg); color:var(--tkrvue-selection-text); }
.messaging-app small,.messaging-app .muted { color:var(--tkrvue-muted); }
.messaging-app .badge { border-radius:999px;background:var(--tkrvue-accent);color:white;padding:2px 8px;font-size:.85em; }
.messaging-app .channel-badge { display:inline-block;border:1px solid var(--tkrvue-border);border-radius:5px;padding:2px 6px; }
.messaging-app .thread { display:flex;flex-direction:column; }
.messaging-app .stream { flex:1;min-height:250px;max-height:52vh;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px; }
.messaging-app .bubble { max-width:min(85%,620px);border:1px solid var(--tkrvue-border);border-radius:10px;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere;background:color-mix(in srgb,var(--tkrvue-accent) 6%,var(--tkrvue-layer-surface-bg)); }
.messaging-app .bubble.outgoing { align-self:flex-end;background:color-mix(in srgb,var(--tkrvue-accent) 16%,var(--tkrvue-layer-surface-bg)); }
.messaging-app .bubble small { display:block;margin-bottom:5px; }
.messaging-app .compose { display:flex;gap:8px;align-items:end;padding:12px;border-top:1px solid var(--tkrvue-border); }
.messaging-app .compose label { flex:1; }
.messaging-app textarea { width:100%;box-sizing:border-box;resize:vertical; }
.messaging-app svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }
.messaging-app button { font:inherit;align-self:start; }
.messaging-app button.primary-action,.messaging-app button.secondary-action { flex-shrink:0;width:auto;white-space:nowrap;min-height:34px; }
.messaging-app .thread .panel-head { flex-wrap:wrap; }
.messaging-app button:disabled { opacity:.6;cursor:default; }
.messaging-app :focus-visible { outline:2px solid var(--tkrvue-accent);outline-offset:3px; }
.messaging-app .empty { padding:24px; }
.messaging-app .welcome { max-width:640px;margin:60px auto;padding:24px; }
.messaging-app .status { padding:0 20px 14px; }
.messaging-app details label { margin-top:10px; }
.messaging-app .filters form { display:grid;gap:8px; }
@media(max-width:1100px) { .messaging-app .layout { grid-template-columns:210px minmax(230px,1fr) minmax(300px,1.3fr);padding:12px;gap:8px; } }
@media(max-width:850px) { .messaging-app .layout { grid-template-columns:1fr; } .messaging-app .filters { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); } .messaging-app .rows { max-height:28vh; } }
@media(max-width:720px) { .messaging-app .install-onboarding { margin-inline:12px;grid-template-columns:auto minmax(0,1fr); }.messaging-app .install-onboarding-actions { grid-column:1 / -1;justify-content:flex-end; } }
@media(max-width:450px) { .messaging-app .filters { grid-template-columns:1fr; } .messaging-app .compose { flex-direction:column;align-items:stretch; } .messaging-app .compose label { flex:0 0 auto; } .messaging-app .compose button { align-self:flex-end; } }
