﻿:root{--control-h:42px;--control-radius:12px;--surface-hover:rgba(100,219,255,.055);--muted-strong:#a6bad5}
.rail-btn svg,.quick-icon svg,.kpi-icon svg,.round-btn svg{stroke-width:1.8;vector-effect:non-scaling-stroke}
.rail-btn,.quick-action,.primary-action,.ghost-action,.full-btn,.filter,.segment,.simple-table button,.document-grid button,.report-card button,.alert-row button,.timeline-list button,.task-item button{touch-action:manipulation}
.primary-action,.ghost-action,.full-btn,.simple-table button,.document-grid button,.report-card button,.alert-row button,.timeline-list button,.task-item button{min-height:var(--control-h);border-radius:var(--control-radius);transition:border-color .18s ease,background .18s ease,transform .18s ease,color .18s ease}
.primary-action:hover,.full-btn:hover,.simple-table button:hover,.document-grid button:hover,.report-card button:hover,.alert-row button:hover,.timeline-list button:hover,.task-item button:hover{border-color:rgba(100,219,255,.36);background:rgba(63,145,220,.14)}
.primary-action:active,.full-btn:active,.quick-action:active{transform:translateY(1px)}
.text-btn{min-height:36px;padding:6px 8px;border-radius:9px}.text-btn:hover{background:rgba(100,219,255,.06)}
.filter,.segment,.activity-chip{min-height:38px}.filter:focus-visible,.segment:focus-visible,.activity-chip:focus-visible,.rail-btn:focus-visible{outline:3px solid rgba(142,232,255,.34);outline-offset:2px}
.rail-btn[aria-current="page"]{color:var(--cyan);background:linear-gradient(145deg,rgba(75,140,255,.16),rgba(64,216,255,.10));box-shadow:inset 0 0 0 1px rgba(94,197,255,.16)}
.search-box,input,select,textarea{accent-color:var(--cyan)}.search-box:focus-within{border-color:rgba(100,219,255,.38);box-shadow:0 0 0 3px rgba(100,219,255,.06)}
.demo-field input,.search-box{min-height:44px}.module-head p,.setting-card p,.report-card p,.backend-need p,.empty-state p{color:var(--muted-strong)}
.simple-table .tr:not(.th),.expense-list article,.timeline-list article,.document-grid article,.alert-row,.audit-checklist article{transition:background .16s ease,border-color .16s ease}
.simple-table .tr:not(.th):hover,.expense-list article:hover,.timeline-list article:hover,.document-grid article:hover,.alert-row:hover,.audit-checklist article:hover{background:var(--surface-hover);border-color:rgba(100,219,255,.12)}
.toast{border-left:3px solid var(--cyan)}.toast[data-tone="success"]{border-left-color:var(--state-ok)}.toast[data-tone="warning"]{border-left-color:var(--state-late)}.toast[data-tone="error"]{border-left-color:var(--state-blocked)}.toast[data-tone="info"]{border-left-color:var(--state-verify)}
.modal-card:focus,.drawer:focus{outline:none}.modal-close,.drawer-head button{min-width:40px;min-height:40px}.ui-loader{will-change:transform}
@media(max-width:680px){.primary-action,.ghost-action,.full-btn,.simple-table button,.document-grid button,.report-card button,.alert-row button,.timeline-list button,.task-item button{min-height:44px}.rail-btn{min-width:64px}.module-head>.primary-action{width:100%}.filter{min-height:40px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.ui-loader{animation-duration:2s!important}}

/* Mission 2 / Iconographie définitive */
.icon-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.icon-sample{display:flex;align-items:center;gap:11px;min-width:0;padding:12px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:rgba(255,255,255,.016)}.icon-swatch{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;color:var(--cyan);background:rgba(100,219,255,.07);border:1px solid rgba(100,219,255,.14)}.icon-swatch svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.icon-sample strong,.icon-sample small{display:block}.icon-sample strong{font-size:.78rem;line-height:1.2}.icon-sample small{margin-top:3px;color:#7189aa;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em}.icon-sample:hover{background:rgba(100,219,255,.045);border-color:rgba(100,219,255,.14)}
@media(max-width:1100px){.icon-family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.icon-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.icon-sample{padding:10px}.icon-swatch{width:38px;height:38px;flex-basis:38px}}

/* Mission 2 / QA finale 4 */
.rail-nav{min-height:0;overflow-y:auto;scrollbar-width:none}.rail-nav::-webkit-scrollbar{display:none}
.control-preview-panel{margin-top:16px}.control-preview{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:16px;align-items:stretch}.paper-preview{min-height:360px;border-radius:18px;padding:28px;background:linear-gradient(180deg,#fff,#f4f7fb);color:#10223f;box-shadow:0 24px 60px rgba(0,0,0,.20);display:flex;flex-direction:column}.paper-brand{font-size:.64rem;letter-spacing:.15em;font-weight:900;color:#56708e}.paper-chip{align-self:flex-start;margin-top:34px;padding:5px 8px;border-radius:999px;background:#e8f6fb;color:#167d9f;font-size:.62rem;font-weight:900;letter-spacing:.08em}.paper-preview h3{font-size:1.65rem;letter-spacing:-.035em;margin:14px 0 5px}.paper-preview p{margin:0;color:#5a6f88}.paper-rule{height:1px;background:#d9e2ec;margin:24px 0 18px}.paper-preview dl{display:grid;gap:9px;margin:0}.paper-preview dl div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5ebf1;padding:8px 0}.paper-preview dt{font-size:.76rem;color:#64778c}.paper-preview dd{margin:0;font-weight:900}.paper-preview small{margin-top:auto;padding-top:24px;color:#7d8da0;line-height:1.45}.control-outline{display:grid;gap:10px}.control-outline article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.016);border-radius:14px}.control-outline article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(100,219,255,.07);color:var(--cyan);font-size:.66rem;font-weight:900}.control-outline strong,.control-outline small{display:block}.control-outline strong{font-size:.82rem}.control-outline small{margin-top:3px;color:var(--muted-strong);font-size:.68rem}
@media(max-width:980px){.control-preview{grid-template-columns:1fr 1fr}.paper-preview{min-height:320px}}
@media(max-width:680px){.control-preview{grid-template-columns:1fr}.control-outline article{grid-template-columns:auto minmax(0,1fr)}.control-outline .ui-status{grid-column:2;justify-self:start}.toast{bottom:92px}.rail-nav{overflow-y:hidden;overflow-x:auto}.paper-preview{min-height:300px;padding:22px}}
