/* CapabilityOS 8.0 — couche de composants consolidée.
   Les styles historiques restent dans app.css; toute nouvelle interface passe ici. */
:root{--cos-gap:clamp(14px,2vw,24px);--cos-radius:18px;--cos-border:#dce6ee;--cos-ink:#102a43;--cos-muted:#61758a;--cos-soft:#f5f9fc;--cos-teal:#0b8f80;--cos-teal-dark:#076b62;--cos-blue:#1769aa;--cos-danger:#b42318;--cos-warn:#b54708}
*,*::before,*::after{box-sizing:border-box}.main,.content,.page-content{min-width:0}.portfolio-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:var(--cos-gap);align-items:start}.portfolio-split>*,.comparison-grid>*,.template-grid>*{min-width:0}.card.pad{padding:clamp(18px,2.2vw,30px)}
.integration-status{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;margin-bottom:var(--cos-gap);border:1px solid var(--cos-border);border-radius:var(--cos-radius);background:#fff}.integration-status>span{width:12px;height:12px;border-radius:50%;background:#9aa9b7}.integration-status.ready>span{background:#16a085;box-shadow:0 0 0 6px #dff7f1}.integration-status.blocked>span{background:#e07a2f;box-shadow:0 0 0 6px #fff0e5}.integration-status h2{margin:0 0 3px;font-size:1.06rem}.integration-status p{margin:0;color:var(--cos-muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .span-2{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-weight:750;color:var(--cos-ink)}.field small{line-height:1.45;color:var(--cos-muted)}.field input,.field select,.field textarea{width:100%;min-width:0}.check-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--cos-border);border-radius:14px;background:var(--cos-soft)}.check-row input{margin-top:4px}.check-row span{min-width:0}.check-row strong,.check-row small{display:block}.check-row small{margin-top:4px;color:var(--cos-muted);line-height:1.42}
.collaborator-page{min-height:100vh;background:linear-gradient(145deg,#edf7f6,#f5f8fc 48%,#edf3f8);padding:clamp(18px,4vw,48px)}.collaborator-shell{width:min(900px,100%);margin:auto}.collaborator-intro{padding:clamp(22px,4vw,42px);border-radius:24px;background:#09283a;color:white;margin-bottom:20px}.collaborator-intro h1{font-size:clamp(1.8rem,4vw,3rem);margin:.2em 0}.collaborator-intro p{font-size:1.05rem;line-height:1.6;color:#d6e8ef}.collaborator-form{display:grid;gap:18px}.skill-picker{border:1px solid var(--cos-border);border-radius:16px;background:#fff;padding:18px}.skill-picker header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.skill-picker header>*{min-width:0}.skill-picker h3{margin:0}.skill-picker p{color:var(--cos-muted)}.collaborator-finish{text-align:center;padding:48px 24px}.consent-box{padding:18px;border:2px solid #bfe5dd;background:#f1fbf8;border-radius:16px}.plain-checks{display:grid;gap:9px}.plain-checks label{display:flex;gap:10px;align-items:flex-start}
.governance-map{display:grid;gap:14px}.governance-map article{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px;border:1px solid var(--cos-border);border-radius:15px;background:#fff}.governance-map h3,.governance-map p{margin:0}.governance-map p{color:var(--cos-muted)}.one-time-secret{margin-top:18px}.copy-field{display:flex;gap:10px}.copy-field input{flex:1;min-width:0;font-family:ui-monospace,monospace}
.provenance-list{display:grid;gap:12px}.provenance-list article{display:grid;grid-template-columns:minmax(130px,.25fr) minmax(0,1fr) auto;gap:16px;align-items:start;padding:16px;border:1px solid var(--cos-border);border-radius:15px;background:#fff}.provenance-list h3{margin:0 0 5px}.provenance-list p{margin:0;color:var(--cos-muted)}.entity-chip{display:inline-flex;align-items:center;max-width:100%;padding:6px 10px;border-radius:999px;background:#e9f6f3;color:var(--cos-teal-dark);font-size:.82rem;font-weight:800;overflow-wrap:anywhere}
.compare-picker,.filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:var(--cos-gap)}.compare-picker .field,.filter-bar .field{flex:1 1 220px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cos-gap)}.comparison-head{padding:20px;border-radius:18px;background:#0e2d42;color:#fff}.comparison-head h2{margin:0}.comparison-grid .metric-table{width:100%;border-collapse:collapse}.comparison-grid .metric-table td{padding:12px;border-bottom:1px solid var(--cos-border)}
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cos-gap)}.template-grid article{display:flex;flex-direction:column;gap:12px}.template-grid h2,.template-grid p{margin:0}.template-grid p{color:var(--cos-muted);line-height:1.55}.template-grid form{margin-top:auto}.template-warning,.privacy-note{padding:14px 16px;border-radius:14px;background:#fff7ed;color:#8a3e0b;line-height:1.5}
.action-selector{display:grid;gap:8px;position:sticky;top:18px}.action-selector a{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:12px;text-decoration:none;color:var(--cos-ink);border:1px solid transparent}.action-selector a:hover,.action-selector a.active{background:#e9f6f3;border-color:#bde3da}.action-selector small{color:var(--cos-muted)}.impact-action-head{padding:22px;border-radius:18px;background:linear-gradient(140deg,#0b2d42,#13536a);color:#fff;margin-bottom:18px}.impact-action-head h2{margin:6px 0}.impact-action-head p{margin:0;color:#d9eaf0}.metric-card{padding:20px;border:1px solid var(--cos-border);border-radius:18px;background:#fff;margin-bottom:16px}.metric-card header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.metric-card h3{margin:2px 0}.metric-card header>b{font-size:1.7rem}.metric-scale{height:10px;border-radius:999px;background:#e9eff4;overflow:hidden;margin:18px 0 10px}.metric-scale span{display:block;height:100%;background:linear-gradient(90deg,#17a58f,#2d79b8)}.metric-values{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;color:var(--cos-muted);font-size:.9rem}.metric-values span:last-child{text-align:right}.measurement-list{display:grid;gap:8px;margin:12px 0}.measurement-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--cos-border)}
.table-wrap{max-width:100%;overflow:auto}.table{min-width:760px}.manual-sync{margin-top:16px}.badge.xl{font-size:1rem;padding:8px 12px}.guided-empty{padding:38px;text-align:center;border:1px dashed #b8c8d5;border-radius:18px;background:var(--cos-soft)}
@media(max-width:1024px){.portfolio-split{grid-template-columns:1fr}.action-selector{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-grid,.template-grid{grid-template-columns:1fr}.governance-map article,.provenance-list article{grid-template-columns:1fr}.governance-map article form{justify-self:start}}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.integration-status{grid-template-columns:12px minmax(0,1fr)}.integration-status .button{grid-column:1/-1;width:100%}.action-selector{grid-template-columns:1fr}.copy-field,.metric-card header,.measurement-list>div{flex-direction:column}.metric-values{grid-template-columns:1fr}.metric-values span:last-child{text-align:left}.skill-picker header{flex-direction:column}.portfolio-split{gap:16px}.card.pad{padding:17px}.collaborator-page{padding:12px}.collaborator-intro{border-radius:18px}.button{max-width:100%;white-space:normal;text-align:center}}

/* Savoir-faire : lecture non BA, décision d'abord */
.capability-decision{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px;align-items:stretch;margin-bottom:18px;border-color:#b9deda;background:linear-gradient(135deg,#f6fffd,#f4f8fb)}
.capability-decision h2{margin:4px 0 8px}
.capability-decision p{margin:0;line-height:1.55}
.capability-decision-main{min-width:0}
.capability-decision-main .assistant-form-actions{margin-top:16px}
.capability-decision-side{padding:16px;border:1px solid var(--cos-border);border-radius:14px;background:#fff}
.capability-decision-side strong{display:block;margin-bottom:10px;color:var(--cos-ink)}
.capability-decision-side ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.capability-decision-side li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#f6fafb;color:var(--cos-muted);font-size:13px}
.capability-decision-side li span{display:grid;place-items:center;min-width:30px;height:28px;border-radius:9px;background:#dff7f2;color:#07766d;font-weight:900}
.capability-plain-language{margin:0 0 18px}
.plain-language-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.plain-language-grid article{padding:14px;border:1px solid var(--cos-border);border-radius:12px;background:#fff}
.plain-language-grid strong{display:block;margin-bottom:6px;color:var(--cos-ink)}
.plain-language-grid p{margin:0;color:var(--cos-muted);line-height:1.45;font-size:13px}
.capability-focus{margin-bottom:18px}
.capability-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.capability-focus-grid article{display:grid;gap:8px;padding:14px;border:1px solid #b9deda;border-radius:14px;background:#f7fffd}
.capability-focus-grid article>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#08786e;font-weight:850}
.capability-focus-grid strong{font-size:16px;color:var(--cos-ink)}
.capability-focus-grid p{margin:0;color:var(--cos-muted);line-height:1.45}
.capability-focus-grid small{color:var(--cos-muted);line-height:1.35}
.capability-focus-grid article>div{display:flex;gap:8px;flex-wrap:wrap}
details.sticky-card>summary{cursor:pointer;padding:16px 18px;font-weight:850;color:var(--cos-ink)}
details.sticky-card[open]>summary{border-bottom:1px solid var(--cos-border)}
@media(max-width:1100px){.capability-decision{grid-template-columns:1fr}.plain-language-grid,.capability-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.plain-language-grid,.capability-focus-grid{grid-template-columns:1fr}.capability-decision-side li{align-items:flex-start;flex-direction:column}.capability-focus-grid article>div .button{width:100%;justify-content:center}}
