/* JARVIS Design V2 — calme intelligent, données fictives, aucun effet externe. */
:root{
  --bg:#071019;
  --bg-soft:#0b1722;
  --ink:#edf5f7;
  --muted:#91a4b2;
  --navy:#07131d;
  --blue:#67aaff;
  --cyan:#65e1d1;
  --paper:#071019;
  --surface:rgba(17,31,43,.84);
  --surface-strong:#142432;
  --line:rgba(224,244,248,.105);
  --pro:#67aaff;
  --perso:#aa98ff;
  --danger:#ff928a;
  --warn:#efc56c;
  --ok:#6fe0b1;
  --radius:20px;
  --shadow:0 24px 70px rgba(0,0,0,.24);
  color-scheme:dark;
}

html{background:var(--bg)}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 82% 3%,rgba(37,91,126,.25),transparent 34%),
    radial-gradient(circle at 12% 86%,rgba(91,74,173,.12),transparent 30%),
    var(--bg);
  color:var(--ink);
  letter-spacing:-.01em;
}
body:before,body:after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(110px);pointer-events:none}
body:before{width:360px;height:360px;right:5%;top:8%;background:rgba(74,218,201,.08)}
body:after{width:300px;height:300px;left:18%;bottom:4%;background:rgba(138,116,255,.08)}

.shell{grid-template-columns:258px minmax(0,1fr)}
.sidebar{
  background:rgba(5,14,22,.78);
  border-right:1px solid var(--line);
  backdrop-filter:blur(24px);
  padding:26px 18px;
}
.brand{color:var(--ink);margin-bottom:24px}.brand small{color:var(--muted)}
.brandmark{border-radius:50%;border-color:rgba(101,225,209,.4);color:#06201d;background:linear-gradient(145deg,var(--cyan),var(--blue));box-shadow:0 0 28px rgba(101,225,209,.12)}
.sidebar nav{gap:4px;overflow:auto}.nav-btn{color:#a9bbc6;border-radius:13px;padding:10px 12px;position:relative}
.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.06);color:#fff}.nav-btn.active{box-shadow:inset 2px 0 0 var(--cyan)}
.nav-btn.active span{color:var(--cyan)}.side-foot{border-color:var(--line);color:#bed0d9}.side-foot small{color:#748a98}

.workspace{min-width:0}.topbar{
  min-height:108px;
  background:rgba(7,16,25,.72);
  border-color:var(--line);
  backdrop-filter:blur(24px);
  padding:20px 34px;
}
.topbar h1{font-size:26px;letter-spacing:-.04em}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:.15em;font-weight:760}
.top-actions{gap:10px}.avatar{background:linear-gradient(145deg,#28465c,#172a39);border-color:var(--line);color:#ddfaf6}
.button,.avatar,.icon-button,.notification-bell,input,textarea,select{
  border-color:var(--line);
  background:rgba(255,255,255,.035);
  color:var(--ink);
}
.button:hover,.icon-button:hover,.notification-bell:hover{border-color:rgba(101,225,209,.34);background:rgba(101,225,209,.07)}
.primary{background:linear-gradient(135deg,var(--cyan),#74b7ff);border-color:transparent;color:#07191a;font-weight:760}
.secondary{background:rgba(101,225,209,.08);border-color:rgba(101,225,209,.19);color:#c9fff7}
.privacy{background:rgba(170,152,255,.09);border-color:rgba(170,152,255,.22);color:#e2dbff}
.notification-bell{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:14px;cursor:pointer;font-size:21px}
.notification-bell b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);color:#22100f;font-size:10px;border:2px solid var(--bg)}

.global-command{margin:18px 34px 0;background:rgba(17,31,43,.76);border-color:var(--line);border-radius:18px;box-shadow:var(--shadow)}
.global-command input{border-color:var(--line);background:rgba(3,12,19,.35)}
.prototype-banner{margin:12px 34px 0;background:rgba(239,197,108,.07);border-color:rgba(239,197,108,.18);color:#dccfae;border-radius:13px}
.status-banner{margin-left:34px;margin-right:34px;background:rgba(239,197,108,.08);border-color:rgba(239,197,108,.2)}
main{padding:25px 34px 110px;max-width:1480px}

.module-intro{background:rgba(255,255,255,.018);border-color:var(--line);border-radius:16px}.module-intro p{color:#c2d0d8}
.card,.task-card,.task-detail,.workflow-card,.connection-card,.email-card,.search-card{
  background:linear-gradient(145deg,rgba(20,35,48,.88),rgba(11,24,35,.76));
  border-color:var(--line);
  box-shadow:var(--shadow);
}
.card h2,.card h3,.task-card h3,.workflow-card h3{color:var(--ink)}
.meta,.source,.card small,.task-next,.task-card-foot{color:var(--muted)}
.kpi{transition:transform .18s ease,border-color .18s ease}.kpi:hover{transform:translateY(-2px);border-color:rgba(101,225,209,.22)}
.kpi strong{letter-spacing:-.04em}.kpi-open{color:var(--ink)}
.row,.option,.task-column,.workflow-column,.workflow-chain,.task-proof-facts,.task-version-compare,.task-plan-item>dl div,.task-decision-axes,.task-level-grid>*{
  background:rgba(255,255,255,.028);
  border-color:var(--line);
  color:var(--ink);
}
.row:hover,.option:hover{border-color:rgba(101,225,209,.24)}.row button.title{color:var(--ink)}
.row-action{background:rgba(255,255,255,.035);border-color:var(--line);color:#d9e8ee}.row-action:hover{background:rgba(101,225,209,.08);border-color:rgba(101,225,209,.25)}
.tag{background:rgba(163,188,202,.1);color:#c2d1da}.tag.pro{background:rgba(103,170,255,.12);color:#9fc9ff}.tag.perso{background:rgba(170,152,255,.13);color:#c8bcff}.tag.urgent{background:rgba(255,146,138,.11);color:#ffaaa4}.tag.wait{background:rgba(239,197,108,.11);color:#f2cf88}
.notice{background:rgba(103,170,255,.07);border-color:rgba(103,170,255,.17)}.warning{background:rgba(239,197,108,.07);border-color:rgba(239,197,108,.2)}
.question{border-left-color:var(--cyan)}.option.recommended,.task-business-link.active{background:rgba(101,225,209,.08);border-color:rgba(101,225,209,.27)}
.fresh{color:var(--ok)}.stale{color:var(--warn)}.danger{color:var(--danger)}
.skeleton{background:linear-gradient(90deg,#122331,#1a3040,#122331);background-size:200% 100%}
.maturity{background:rgba(103,170,255,.1);color:#a9d0ff}.state-card{background:rgba(17,31,43,.8)}
.settings-tabs{gap:7px}.settings-tabs .button{border-radius:999px}.settings-tabs .primary{color:#07191a}
.service-list span,.task-capacity>*,.task-grants span,.notification-category-list span{background:rgba(255,255,255,.04);border-color:var(--line);color:#c8d5dc}
.connection-masked,.workflow-masked{background:rgba(255,255,255,.025)}
.workflow-summary>div,.workflow-column,.task-column{background:rgba(255,255,255,.025);border:1px solid var(--line)}
.workflow-card,.task-card{box-shadow:none}.workflow-chain,.task-proof-facts,.task-version-compare{background:rgba(0,0,0,.13)}
.workflow-diff del{background:rgba(255,146,138,.1);color:#ffaaa4}.workflow-diff ins{background:rgba(111,224,177,.1);color:#9ceac8}
.task-quote,.task-completion,.task-lifecycle-sheet,.task-lifecycle-record{background:rgba(101,225,209,.06)!important;border-color:rgba(101,225,209,.28)!important;color:var(--ink)!important}
.task-business-link{background:rgba(255,255,255,.03);border-color:var(--line);color:var(--ink)}.task-business-link b{background:rgba(255,255,255,.06);color:var(--muted)}
.task-business-link.active b{background:var(--cyan);color:#06211e}.task-workflow-overview article,.task-action-card,.task-candidates article,.task-workflow{border-color:var(--line);background:rgba(255,255,255,.022)}
dialog{background:#10202d;color:var(--ink);border:1px solid var(--line)}dialog::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(5px)}.dialog-close{color:var(--ink)}
.toast{background:#152a39;color:#efffff;border:1px solid var(--line);box-shadow:var(--shadow)}

/* Centre d’attention persistant */
.attention-backdrop{position:fixed;inset:0;z-index:39;border:0;background:rgba(0,0,0,.5);backdrop-filter:blur(5px)}
.attention-panel{position:fixed;z-index:40;right:0;top:0;width:min(470px,100vw);height:100vh;margin:0;padding:26px;background:#0b1823;color:var(--ink);border:0;border-left:1px solid var(--line);box-shadow:-32px 0 90px rgba(0,0,0,.38);overflow:hidden}
.attention-panel[hidden],.attention-backdrop[hidden]{display:none}.attention-open{overflow:hidden}
.attention-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.attention-header h2{margin:6px 0 0;font-size:27px;letter-spacing:-.04em}.attention-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);color:var(--ink);font-size:25px;cursor:pointer}
.attention-tabs{display:flex;gap:5px;margin:25px 0 12px;padding:4px;border:1px solid var(--line);border-radius:14px}.attention-tabs button{flex:1;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.attention-tabs button[aria-pressed="true"]{background:rgba(255,255,255,.065);color:#fff}.attention-tabs b{color:var(--cyan)}
.attention-list{height:calc(100vh - 225px);overflow:auto;padding:2px 3px 30px 0}.attention-item{padding:18px 3px;border-bottom:1px solid var(--line)}.attention-item.attention-validation{padding:17px;border:1px solid rgba(255,146,138,.18);border-radius:17px;background:rgba(255,146,138,.035);margin-bottom:4px}
.attention-meta{display:flex;justify-content:space-between;gap:12px;color:#748997;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.attention-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.attention-item h3,.notification-card h3{margin:10px 0 6px;font-size:15px;letter-spacing:-.02em}.attention-item p,.notification-card p{margin:0;color:#9aadb9;font-size:13px;line-height:1.58}.attention-item>small,.notification-card>small{display:block;margin-top:11px;color:#647a88}.attention-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.attention-priority{margin-top:9px;color:var(--danger);font-size:10px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.attention-footer{position:absolute;left:26px;right:26px;bottom:0;padding:15px 0 18px;background:#0b1823;border-top:1px solid var(--line);display:grid;gap:7px;text-align:center}.attention-footer small{color:#617684}.attention-empty{display:grid;gap:6px;padding:45px 20px;text-align:center;color:var(--muted)}

.attention-page{display:grid;gap:18px}.attention-page-head{display:flex;justify-content:space-between;align-items:end;gap:24px}.attention-page-head h2{margin:7px 0;font-size:25px}.attention-page-head p{margin:0;color:var(--muted)}.attention-summary{min-width:110px;padding:15px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);display:grid}.attention-summary strong{font-size:29px;color:var(--cyan)}.attention-summary span{font-size:11px;color:var(--muted)}
.notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notification-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(20,35,48,.88),rgba(11,24,35,.76));box-shadow:var(--shadow)}.notification-card.attention-validation{border-color:rgba(255,146,138,.22)}.notification-card.attention-recommendation{border-color:rgba(170,152,255,.2)}.validation-summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px}.validation-summary h2{margin:5px 0}.validation-summary p{margin:0;color:var(--muted)}
.notification-settings{display:grid;gap:16px}.notification-settings-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.notification-settings-head h2{margin:6px 0}.notification-settings-head p{margin:0;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.settings-grid h3{margin:0 0 10px}.settings-grid p{min-height:42px;color:var(--muted)}.notification-category-list{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.notification-category-list span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px}
.mobile-alert-badge{position:absolute;right:12px;top:5px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--danger);color:#25110f;font-size:9px}

:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.skip:focus{background:#fff;color:#071019}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1180px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.validation-summary{grid-template-columns:1fr auto}.validation-summary .button:last-child{grid-column:2}}
@media(max-width:760px){
  body{padding-bottom:78px}.shell{display:block}.workspace{padding:0}.topbar{min-height:84px;padding:12px 14px}.topbar h1{font-size:21px}.top-actions{gap:7px}.top-actions .privacy{font-size:0;width:42px;height:42px;padding:0}.top-actions .privacy:before{content:"◉";font-size:18px}.top-actions .privacy:after{display:none}.notification-bell{width:42px;height:42px}.global-command{margin:12px 14px 0}.prototype-banner{margin:10px 14px 0}.status-banner{margin-left:14px;margin-right:14px}main{padding:18px 14px 94px}.card{border-radius:16px}.bottom-nav{left:8px;right:8px;bottom:8px;border:1px solid var(--line);border-radius:19px;background:rgba(9,21,31,.94);backdrop-filter:blur(20px);overflow:hidden;box-shadow:var(--shadow)}.bottom-nav .nav-btn{color:#738995;background:transparent}.bottom-nav .nav-btn.active{color:var(--cyan);box-shadow:none}.attention-panel{padding:20px}.attention-footer{left:20px;right:20px}.attention-list{height:calc(100vh - 216px)}.attention-page-head,.notification-settings-head{display:grid}.notification-grid,.settings-grid{grid-template-columns:1fr}.validation-summary{grid-template-columns:1fr}.validation-summary .button:last-child{grid-column:auto}.attention-summary{width:100%;grid-template-columns:auto 1fr;align-items:center;gap:8px}.attention-summary span{font-size:12px}.mobile-alert-badge{right:9px;top:4px}
}
@media(max-width:420px){.topbar>div:first-child .eyebrow{display:none}.topbar h1{margin-top:0}.attention-tabs button{font-size:12px}.attention-heading{display:grid}.attention-priority{margin-top:0}.global-command{border-radius:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.kpi:hover{transform:none}}
@media(forced-colors:active){.attention-panel,.notification-card,.attention-item,.notification-bell,.bottom-nav{border:1px solid CanvasText}.attention-tabs button[aria-pressed="true"]{outline:2px solid Highlight}}
