/* infodeploy — exceptions to pk-components (04-identite-visuelle). Tokens only, no raw colours. */
:root[data-panel="infodeploy"] { --pk-brand: #ec4899; }  /* rose — déploiement (5,0 : 1 sur la barre) */

.idp-user { color: var(--pk-chrome-text); font-size: var(--pk-text-sm); margin-right: var(--pk-space-2); }
.idp-login { min-height: 100vh; display: grid; place-items: center; background: var(--pk-bg); }
.idp-login .pk-card { width: min(380px, calc(100vw - 32px)); }

.idp-row { display: flex; gap: var(--pk-space-3); align-items: center; flex-wrap: wrap; }
.idp-split { display: grid; grid-template-columns: 280px 1fr; gap: var(--pk-space-4); align-items: start; }
@media (max-width: 900px) { .idp-split { grid-template-columns: 1fr; } }
.idp-mono { font-family: var(--pk-mono); font-size: var(--pk-text-sm); }
.idp-muted { color: var(--pk-text-3); }
.idp-log { max-height: 60vh; overflow: auto; white-space: pre-wrap; }

/* Editor: textarea + line numbers, no dependency */
.idp-tree { max-height: 70vh; overflow: auto; font-family: var(--pk-mono); font-size: var(--pk-text-xs); }
.idp-tree button { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 2px var(--pk-space-2); color: var(--pk-text); cursor: pointer; border-radius: var(--pk-radius-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.idp-tree button:hover, .idp-tree button[aria-current="true"] { background: var(--pk-surface-2); }
.idp-tree .is-dir { color: var(--pk-text-2); font-weight: 600; cursor: default; }
.idp-tree .is-overlay::after { content: " ●"; color: var(--pk-brand); }
.idp-editor { display: grid; grid-template-columns: auto 1fr; border: 1px solid var(--pk-border); border-radius: var(--pk-radius-sm); background: var(--pk-surface); height: 62vh; overflow: hidden; }
.idp-editor__gutter { font-family: var(--pk-mono); font-size: var(--pk-text-xs); line-height: 1.6; padding: var(--pk-space-2); color: var(--pk-text-3); text-align: right; background: var(--pk-surface-2); white-space: pre; overflow: hidden; user-select: none; }
.idp-editor__text { font-family: var(--pk-mono); font-size: var(--pk-text-xs); line-height: 1.6; padding: var(--pk-space-2); border: 0; resize: none; outline: none; background: transparent; color: var(--pk-text); white-space: pre; overflow: auto; tab-size: 2; }

/* Console */
.idp-term { background: var(--pk-chrome); color: var(--pk-chrome-text); font-family: var(--pk-mono); font-size: var(--pk-text-xs); border-radius: var(--pk-radius); padding: var(--pk-space-3); height: 60vh; overflow: auto; white-space: pre-wrap; }
.idp-term__cmd { color: var(--pk-brand); }
.idp-term__err { color: var(--pk-critical); }
.idp-term-input { display: flex; gap: var(--pk-space-2); margin-top: var(--pk-space-2); }
.idp-term-input input { flex: 1; font-family: var(--pk-mono); }

/* Assistant */
.idp-chat { display: flex; flex-direction: column; gap: var(--pk-space-2); max-height: 62vh; overflow: auto; padding: var(--pk-space-2); }
.idp-msg { max-width: 80%; padding: var(--pk-space-2) var(--pk-space-3); border-radius: var(--pk-radius); white-space: pre-wrap; }
.idp-msg--user { align-self: flex-end; background: var(--pk-primary); color: var(--pk-on-primary, #fff); }
.idp-msg--assistant { align-self: flex-start; background: var(--pk-surface-2); border: 1px solid var(--pk-border); }
.idp-msg--tool { align-self: flex-start; font-family: var(--pk-mono); font-size: var(--pk-text-xs); color: var(--pk-text-2); }

/* Markdown (docs) */
.idp-md h1, .idp-md h2, .idp-md h3 { margin: var(--pk-space-4) 0 var(--pk-space-2); }
.idp-md p, .idp-md ul, .idp-md ol, .idp-md table { margin: 0 0 var(--pk-space-3); }
.idp-md code { font-family: var(--pk-mono); font-size: 0.92em; background: var(--pk-surface-2); padding: 0 4px; border-radius: 3px; }
.idp-md pre { font-family: var(--pk-mono); font-size: var(--pk-text-xs); background: var(--pk-surface-2); padding: var(--pk-space-3); border-radius: var(--pk-radius-sm); overflow: auto; }
.idp-md table { border-collapse: collapse; }
.idp-md th, .idp-md td { border: 1px solid var(--pk-border); padding: var(--pk-space-1) var(--pk-space-2); text-align: left; }

/* Sparkline (lib/chart.js) */
.idp-spark { width: 100%; height: 64px; }
.idp-spark path { fill: none; stroke: var(--pk-primary); stroke-width: 1.5; }
.idp-spark .area { fill: var(--pk-primary); opacity: 0.12; stroke: none; }
.idp-bar { height: 8px; background: var(--pk-surface-2); border-radius: var(--pk-radius-pill); overflow: hidden; }
.idp-bar > span { display: block; height: 100%; background: var(--pk-primary); }
.pk-dialog.idp-wide { width: min(860px, calc(100vw - 32px)); }
.pk-dialog.idp-wide .pk-dialog__body { max-height: 70vh; overflow: auto; }
