:root{
  --ink:#102f3e;
  --ink-soft:#385967;
  --muted:#526a79;
  --canvas:#f3f7f6;
  --surface:#ffffff;
  --line:#dce6e7;
  --line-strong:#c8d7d9;
  --navy:#0b2b42;
  --navy-deep:#061d2d;
  --green:#087e5c;
  --green-soft:#e5f5ef;
  --blue:#276f99;
  --blue-soft:#eaf3f8;
  --purple:#7156b8;
  --purple-soft:#f0ecfa;
  --orange:#c76b21;
  --orange-soft:#fff0e5;
  --gold:#b57a00;
  --gold-soft:#fff4d7;
  --red:#c64553;
  --red-soft:#fdecef;
  --shadow:0 14px 45px rgba(11,43,66,.08);
  --radius:18px;
  --wrap:1420px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.5}
button,input,select{font:inherit}
button,a,select,input{outline-offset:3px}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(13,139,99,.35)}
a{color:inherit}
.hidden{display:none!important}
.anchor-target{scroll-margin-top:94px}
.dashboard-wrap{width:min(calc(100% - 44px),var(--wrap));margin-inline:auto}
.eyebrow{margin:0 0 7px;color:var(--green);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.empty-state{margin:26px;color:var(--muted);font-size:.8rem;text-align:center}

.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}
.brand-mark{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:var(--navy);color:#fff;font:800 .86rem Georgia,serif;box-shadow:0 7px 18px rgba(5,29,45,.16)}
.brand-mark span{color:#e6b33a}
.brand>span:last-child{display:grid}
.brand strong{font:700 1rem Georgia,serif}
.brand small{color:var(--muted);font-size:.64rem;font-weight:750}
.brand-light{color:#fff}
.brand-light .brand-mark{background:rgba(255,255,255,.13);box-shadow:none}
.brand-light small{color:#a9c0ca}

.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:11px;padding:10px 15px;text-decoration:none;font-size:.76rem;font-weight:850;cursor:pointer;transition:transform .16s,background .16s,border-color .16s,color .16s}
.button:hover{transform:translateY(-1px)}
.button:disabled{cursor:wait;opacity:.62;transform:none}
.button.primary{background:var(--green);color:#fff;box-shadow:0 8px 22px rgba(8,126,92,.18)}
.button.primary:hover{background:#066f51}
.button.quiet{border-color:var(--line-strong);background:#fff;color:var(--ink-soft)}
.button.quiet:hover{border-color:#9fb9bd;background:#f7faf9}
.button.ghost{border-color:rgba(255,255,255,.16);background:transparent;color:#dce8ec}
.button.ghost:hover{background:rgba(255,255,255,.08)}
.button.compact{min-height:36px;padding:7px 11px;font-size:.69rem}
.button.wide{width:100%}

/* Accès protégé */
.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:
  radial-gradient(circle at 14% 9%,rgba(8,126,92,.11),transparent 31%),
  radial-gradient(circle at 90% 84%,rgba(39,111,153,.09),transparent 29%),
  #eef4f2}
.login-frame{width:min(100%,1040px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);overflow:hidden;border:1px solid rgba(16,47,62,.12);border-radius:26px;background:#fff;box-shadow:0 28px 85px rgba(11,43,66,.14)}
.login-intro{min-height:440px;display:flex;flex-direction:column;padding:38px 42px;background:
  radial-gradient(circle at 95% 4%,rgba(65,193,154,.2),transparent 35%),
  linear-gradient(145deg,#0a3148,var(--navy-deep));color:#fff}
.login-intro .brand{color:#fff}
.login-intro .brand-mark{background:rgba(255,255,255,.13);box-shadow:none}
.login-intro .brand small{color:#a9c0ca}
.login-copy{max-width:560px;margin:auto 0 34px}
.login-copy .eyebrow{color:#86dfbf}
.login-copy h1{max-width:550px;margin:0;font:700 clamp(2.15rem,4vw,3.45rem)/1 Georgia,serif;letter-spacing:-.035em}
.login-copy>p:last-child{max-width:540px;margin:20px 0 0;color:#c2d2d8;font-size:.9rem;line-height:1.68}
.login-features{display:flex;flex-wrap:wrap;gap:8px}
.login-features span{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.06);color:#bad0d8;font-size:.63rem;font-weight:800}
.privacy-promise{grid-column:1/-1;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:15px 22px;background:#f8fbfa}
.privacy-promise>span{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green);font-size:1rem}
.privacy-promise p{margin:0;color:var(--muted);font-size:.7rem}
.privacy-promise strong{display:inline;margin-right:7px;color:var(--ink);font-size:.73rem}
.login-panel{display:grid;place-items:center;padding:38px;background:#fff}
.login-card{width:100%;padding:6px;background:#fff}
.login-card h2{margin:0;font:700 1.8rem/1.12 Georgia,serif}
.login-help{margin:11px 0 23px;color:var(--muted);font-size:.76rem}
.auth-form{display:grid;gap:8px;margin-bottom:12px}
.auth-form label{font-size:.72rem;font-weight:850}
.auth-form input{height:50px;border:1px solid var(--line-strong);border-radius:11px;padding:0 14px;background:#fbfdfc;color:var(--ink)}
.auth-form input:focus{border-color:var(--green)}
.field-help{margin:-2px 0 5px;color:var(--muted);font-size:.7rem;line-height:1.45}
.form-error{min-height:22px;margin:0;color:var(--red);font-size:.72rem;font-weight:750}

/* Page unifiée */
.dashboard{min-height:100vh}
.topbar{position:sticky;z-index:30;top:0;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(6,29,45,.97);color:#fff;box-shadow:0 8px 28px rgba(5,28,43,.12);backdrop-filter:blur(16px)}
.topbar-inner{width:min(calc(100% - 36px),var(--wrap));min-height:76px;display:flex;align-items:center;gap:28px;margin-inline:auto}
.topbar .brand{color:#fff}
.topbar .brand-mark{width:40px;height:40px;background:#117a60;box-shadow:none}
.topbar .brand small{color:#9fb5bf}
.jump-nav{display:flex;align-items:center;gap:5px;margin:auto}
.jump-nav a{border-radius:9px;padding:8px 11px;color:#b9cbd2;text-decoration:none;font-size:.72rem;font-weight:800}
.jump-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.top-actions{display:flex;align-items:center;gap:8px}
.topbar .button.quiet{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff}
.topbar .button.quiet:hover{background:rgba(255,255,255,.12)}

.dashboard-hero{padding:44px 0 25px;background:
  radial-gradient(circle at 92% 5%,rgba(35,174,133,.16),transparent 28%),
  linear-gradient(180deg,#e8f3f0 0,#f3f7f6 100%)}
.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.hero-heading h1{margin:0;font:700 clamp(2.25rem,4vw,4rem)/1 Georgia,serif;letter-spacing:-.035em}
.hero-heading>div>p:last-child{max-width:720px;margin:13px 0 0;color:var(--ink-soft);font-size:.88rem}
.status-strip{min-height:54px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:27px;border:1px solid var(--line);border-radius:14px;padding:11px 14px;background:#fff;box-shadow:0 7px 24px rgba(11,43,66,.05);font-size:.74rem}
.status-strip .status-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--gold-soft)}
.status-strip>span:not(.status-dot){color:var(--muted)}
.status-strip small{color:#526a79}
.status-strip.success .status-dot{background:var(--green);box-shadow:0 0 0 5px var(--green-soft)}
.status-strip.danger .status-dot{background:var(--red);box-shadow:0 0 0 5px var(--red-soft)}
.dashboard-period-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:13px;border:1px solid #cfe0de;border-radius:15px;padding:13px 15px;background:rgba(255,255,255,.82);box-shadow:0 7px 24px rgba(11,43,66,.035)}
.dashboard-period-bar>div:first-child{display:grid;gap:2px}
.dashboard-period-bar .eyebrow{margin:0;font-size:.58rem}
.dashboard-period-bar strong{font:700 1rem Georgia,serif}
.dashboard-period-bar small{color:var(--muted);font-size:.65rem}
.period-segments{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:12px;padding:4px;background:#f4f8f7}
.period-segments button{min-width:64px;border:0;border-radius:8px;padding:8px 10px;background:transparent;color:var(--muted);font-size:.68rem;font-weight:900;cursor:pointer}
.period-segments button:hover{background:#eaf2f0;color:var(--ink)}
.period-segments button[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:0 5px 14px rgba(6,29,45,.16)}

.filter-bar{display:grid;grid-template-columns:165px 170px 180px minmax(220px,1fr) 170px;gap:12px;margin-top:15px;border:1px solid var(--line);border-radius:15px;padding:14px;background:rgba(255,255,255,.86);box-shadow:0 8px 28px rgba(11,43,66,.045)}
.filter-bar label{display:grid;gap:5px;color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.02em}
.filter-bar select,.filter-bar input{width:100%;height:43px;border:1px solid var(--line-strong);border-radius:9px;padding:0 11px;background:#fff;color:var(--ink);font-size:.75rem;font-weight:750}
.filter-bar input::placeholder{color:#5d717a;font-weight:600}
.filter-bar select:focus,.filter-bar input:focus{border-color:var(--green)}

.dashboard-content{padding-bottom:70px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:6px}
.metric-card{--progress:0;position:relative;min-height:154px;display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:14px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);padding:17px;background:#fff;box-shadow:0 8px 28px rgba(11,43,66,.045)}
.metric-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}
.metric-card.green{--accent:var(--green)}
.metric-card.blue{--accent:var(--blue)}
.metric-card.gold{--accent:var(--gold)}
.metric-card.teal{--accent:#248d91}
.metric-card p{margin:0;color:var(--muted);font-size:.74rem;font-weight:850}
.metric-card strong{display:block;margin:7px 0 6px;font:700 1.12rem/1.1 Georgia,serif}
.metric-card small{display:block;color:#526a79;font-size:.68rem}
.metric-ring{position:relative;width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--progress) * 1%),#e8efef 0)}
.metric-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(16,47,62,.05)}
.metric-ring span{position:relative;z-index:1;color:var(--ink);font:800 1.12rem/1 Georgia,serif;font-variant-numeric:tabular-nums}
.metric-card-ratio{--progress:100}
.ratio-ring{background:radial-gradient(circle at 34% 27%,#fff 0 7%,transparent 8%),linear-gradient(145deg,#dff2ef,#dceaf0);box-shadow:inset 0 0 0 7px rgba(36,141,145,.14)}
.ratio-ring::before{display:none}
.ratio-ring span{font-size:1.45rem}
.metric-help{margin:10px 3px 0;color:var(--muted);font-size:.7rem;line-height:1.5}
.metric-help strong{color:var(--ink)}
.signal-strip{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:12px 0 0;border:1px solid var(--line);border-radius:13px;padding:10px 13px;background:rgba(255,255,255,.7);color:var(--muted);font-size:.68rem}
.signal-strip>span{border-left:1px solid var(--line);padding:3px 13px}
.signal-strip>span:first-child{border-left:0;padding-left:0}
.signal-strip strong{color:var(--ink);font-size:.78rem;font-variant-numeric:tabular-nums}
.signal-strip small{color:#5d717a;font-size:.62rem}
.data-confidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.data-confidence>div{min-width:0;display:grid;grid-template-columns:31px minmax(0,1fr);align-items:start;gap:10px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}
.data-confidence>div>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:.68rem;font-weight:950}
.data-confidence p{margin:0}
.data-confidence strong{display:block;color:var(--ink);font-size:.68rem}
.data-confidence small{display:block;margin-top:3px;color:var(--muted);font-size:.62rem;line-height:1.45}

.content-summary{margin-top:37px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:56px 0 20px}
.section-heading.compact-heading{margin:0 0 16px}
.section-heading h2{margin:0;font:700 clamp(1.55rem,2.2vw,2.15rem)/1.1 Georgia,serif;letter-spacing:-.018em}
.section-heading>div>p:last-child{max-width:790px;margin:9px 0 0;color:var(--muted);font-size:.8rem;line-height:1.6}
.data-badge,.result-count{flex:none;border:1px solid #b9ded1;border-radius:999px;padding:7px 11px;background:var(--green-soft);color:var(--green);font-size:.67rem;font-weight:900}
.result-count{border-color:var(--line);background:#fff;color:var(--ink-soft)}
.event-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.event-grid article{min-height:112px;display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff;box-shadow:0 7px 24px rgba(11,43,66,.035)}
.event-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;font-size:.76rem;font-weight:950}
.event-icon.blue{background:var(--blue-soft);color:var(--blue)}
.event-icon.green{background:var(--green-soft);color:var(--green)}
.event-icon.purple{background:var(--purple-soft);color:var(--purple)}
.event-icon.orange{background:var(--orange-soft);color:var(--orange)}
.event-icon.red{background:var(--red-soft);color:var(--red)}
.event-grid p{margin:0;color:var(--muted);font-size:.67rem;font-weight:850}
.event-grid strong{display:block;margin:3px 0;font:700 1.65rem Georgia,serif}
.event-grid small{display:block;color:#5d717a;font-size:.62rem}
.lot-activity{margin-top:26px}
.lot-activity-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}
.lot-activity-card{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;border:1px solid #b9ded1;border-radius:13px;padding:12px;background:linear-gradient(145deg,#fff,#f5fbf8)}
.lot-activity-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--green);color:#fff;font-size:.66rem;font-weight:950}
.lot-activity-card strong{display:block;font-size:.7rem}
.lot-activity-card small{display:block;margin-top:2px;color:var(--muted);font-size:.58rem;line-height:1.35}
.lot-activity-card.muted{border-color:var(--line);background:#f8faf9}
.lot-activity-card.muted>span{background:#dfe8e7;color:#526a79}

.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 30px rgba(11,43,66,.045)}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 21px 12px}
.panel-head h2,.panel-head h3{margin:0;font:700 1.18rem/1.2 Georgia,serif}
.panel-head>small{max-width:310px;color:var(--muted);font-size:.66rem;text-align:right}
.visual-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.72fr);gap:14px;margin-top:14px}
.activity-panel,.spotlight-panel{min-height:350px}
.chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:var(--muted);font-size:.62rem;font-weight:850}
.chart-legend span{display:flex;align-items:center;gap:5px}
.chart-legend span::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--legend)}
.chart-legend .views{--legend:var(--blue)}
.chart-legend .browsers{--legend:var(--gold)}
.chart-legend .interactions{--legend:var(--green)}
.activity-chart{height:280px;display:flex;align-items:stretch;gap:clamp(2px,.45vw,7px);padding:13px 20px 19px}
.activity-column{min-width:0;flex:1;display:grid;grid-template-rows:1fr 23px;align-items:end}
.activity-bars{height:220px;display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid #dfe7e9}
.activity-bar{width:28%;min-height:2px;border-radius:5px 5px 1px 1px;transform-origin:bottom;animation:grow .55s ease both}
.activity-bar[data-level="0"]{height:2%}.activity-bar[data-level="1"]{height:7%}.activity-bar[data-level="2"]{height:10%}.activity-bar[data-level="3"]{height:15%}.activity-bar[data-level="4"]{height:20%}.activity-bar[data-level="5"]{height:25%}.activity-bar[data-level="6"]{height:30%}.activity-bar[data-level="7"]{height:35%}.activity-bar[data-level="8"]{height:40%}.activity-bar[data-level="9"]{height:45%}.activity-bar[data-level="10"]{height:50%}.activity-bar[data-level="11"]{height:55%}.activity-bar[data-level="12"]{height:60%}.activity-bar[data-level="13"]{height:65%}.activity-bar[data-level="14"]{height:70%}.activity-bar[data-level="15"]{height:75%}.activity-bar[data-level="16"]{height:80%}.activity-bar[data-level="17"]{height:85%}.activity-bar[data-level="18"]{height:90%}.activity-bar[data-level="19"]{height:95%}.activity-bar[data-level="20"]{height:100%}
.activity-bar.views{background:linear-gradient(180deg,#55a0c7,var(--blue))}
.activity-bar.browsers{background:linear-gradient(180deg,#eabc48,var(--gold))}
.activity-bar.interactions{background:linear-gradient(180deg,#34bc91,var(--green))}
.activity-bar.masked{min-height:10px!important;height:10px!important;border:1px dashed #93a7ad;background:repeating-linear-gradient(135deg,#e7eeee 0 4px,#f8fbfb 4px 8px);opacity:.95}
.activity-column small{overflow:hidden;padding-top:7px;color:#526a79;font-size:.55rem;font-weight:800;text-align:center;white-space:nowrap}
@keyframes grow{from{transform:scaleY(0);opacity:.2}to{transform:scaleY(1);opacity:1}}
.spotlight-list{display:grid;padding:0 20px 18px}
.spotlight-row{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid #edf1f2;padding:13px 0;isolation:isolate}
.spotlight-row:first-child{border-top:0}
.spotlight-meter{position:absolute;z-index:-1;inset:7px auto 7px 0;width:calc(var(--bar,0) * 1%);max-width:100%;border-radius:9px;background:linear-gradient(90deg,rgba(8,126,92,.1),rgba(8,126,92,.025));transition:width .24s ease}
.spotlight-row>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:.66rem;font-weight:950}
.spotlight-row strong{display:block;overflow:hidden;color:var(--ink-soft);font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}
.spotlight-row small{display:block;margin-top:2px;color:#5d717a;font-size:.6rem}
.spotlight-row b{border-radius:8px;padding:4px 7px;background:#f1f5f5;color:var(--ink);font-size:.7rem}

/* Lecture graphique du comportement */
.behavior-dashboard{margin-top:32px}
.behavior-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.5fr);gap:14px}
.behavior-panel{min-width:0;overflow:hidden}
.behavior-donut-panel,.behavior-lot-panel{min-height:350px}
.donut-chart-shell{min-height:260px;display:grid;grid-template-columns:minmax(150px,.85fr) minmax(180px,1fr);align-items:center;gap:24px;padding:10px 24px 24px}
.donut-figure{display:grid;place-items:center}
.donut-chart{position:relative;width:min(210px,100%);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;filter:drop-shadow(0 11px 18px rgba(11,43,66,.1));animation:donut-enter .55s ease both}
.donut-chart::before{content:"";position:absolute;inset:25%;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(16,47,62,.06),0 6px 18px rgba(11,43,66,.08)}
.donut-chart>span{position:relative;z-index:1;display:grid;gap:2px;text-align:center}
.donut-chart strong{font:800 clamp(1.15rem,2.2vw,1.7rem)/1 Georgia,serif;font-variant-numeric:tabular-nums}
.donut-chart small{color:var(--muted);font-size:.62rem;font-weight:850}
.donut-legend{display:grid;gap:4px}
.donut-legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f2;padding:8px 0}
.donut-legend-row:last-child{border-bottom:0}
.donut-legend-row>span{min-width:0;display:flex;align-items:center;gap:8px}
.donut-legend-row i{width:10px;height:10px;flex:none;border-radius:3px}
.donut-legend-row b{overflow:hidden;color:var(--ink-soft);font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}
.donut-legend-row strong{color:var(--ink);font-size:.7rem;font-variant-numeric:tabular-nums}
@keyframes donut-enter{from{transform:scale(.82) rotate(-18deg);opacity:.15}to{transform:scale(1) rotate(0);opacity:1}}
.horizontal-chart{display:grid;gap:12px;padding:8px 22px 24px}
.horizontal-row{min-width:0;display:grid;gap:5px}
.horizontal-row>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:12px}
.horizontal-row>div:first-child strong{overflow:hidden;color:var(--ink-soft);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.horizontal-row>div:first-child span{flex:none;color:var(--muted);font-size:.62rem;font-variant-numeric:tabular-nums}
.horizontal-track{position:relative;height:14px;border-radius:999px;background:#edf2f2;overflow:hidden}
.horizontal-track>i{display:block;width:calc(var(--bar,0) * 1%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--chart-color,#078b63),color-mix(in srgb,var(--chart-color,#078b63) 68%,#fff));transform-origin:left;animation:bar-enter .55s ease both}
.horizontal-row.masked .horizontal-track{border:1px dashed #9db0b4;background:repeating-linear-gradient(135deg,#e7eeee 0 5px,#f9fbfb 5px 10px)}
.horizontal-row.masked .horizontal-track>i{display:none}
.horizontal-track small{position:absolute;inset:0 7px;display:flex;align-items:center;overflow:hidden;color:#385666;font-size:.55rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap;mix-blend-mode:multiply}
@keyframes bar-enter{from{transform:scaleX(0);opacity:.2}to{transform:scaleX(1);opacity:1}}
.visual-empty-state{grid-column:1/-1;align-self:center;min-height:150px;display:grid;place-items:center;text-align:center}
.analysis-visuals{margin-top:18px;border:1px solid #cfe0de;border-radius:18px;padding:18px;background:linear-gradient(145deg,#f6fbf9,#eef5f5)}
.analysis-visual-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 3px 14px}
.analysis-visual-heading h3,.analysis-table-intro h3{margin:0;font:700 1.35rem/1.2 Georgia,serif}
.analysis-visual-heading>small{max-width:480px;color:var(--muted);font-size:.67rem;text-align:right}
.analysis-visual-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px}
.analysis-ranking-panel{grid-row:span 2}
.analysis-ranking-panel .horizontal-chart{padding-top:4px}
.analysis-ranking-panel .horizontal-row>div:first-child strong{max-width:80%}
.analysis-donut-panel .donut-chart-shell{min-height:245px;grid-template-columns:145px minmax(150px,1fr);gap:16px;padding-inline:18px}
.analysis-lot-panel{grid-column:2}
.compact-horizontal-chart{gap:8px}
.compact-horizontal-chart .horizontal-track{height:11px}
.analysis-table-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:34px 3px 4px}
.analysis-table-intro>p{max-width:680px;margin:0;color:var(--muted);font-size:.72rem;line-height:1.55;text-align:right}

/* Tableaux détaillés */
.detailed-analysis{padding-top:1px}
.data-panel{margin-top:14px;overflow:hidden}
.data-panel[hidden]{display:none}
.table-heading{align-items:center;padding-bottom:16px}
.table-kicker{display:inline-block;margin-bottom:6px;border-radius:999px;padding:4px 8px;font-size:.59rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.table-kicker.blue{background:var(--blue-soft);color:var(--blue)}
.table-kicker.purple{background:var(--purple-soft);color:var(--purple)}
.table-kicker.green{background:var(--green-soft);color:var(--green)}
.table-kicker.orange{background:var(--orange-soft);color:var(--orange)}
.table-kicker.red{background:var(--red-soft);color:var(--red)}
.table-scroll{overflow-x:auto;border-top:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:.73rem}
th,td{padding:13px 15px;text-align:left;vertical-align:middle}
th{background:#f8fbfa;color:#526a79;font-size:.6rem;font-weight:950;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
tbody tr{border-top:1px solid #edf1f2}
tbody tr:first-child{border-top:0}
tbody tr:hover{background:#fbfdfc}
td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}
td.number-cell{width:64px;color:var(--blue);font-weight:950}
td.title-cell{min-width:250px}
td.title-cell strong{display:block;color:var(--ink);font-size:.75rem}
td.title-cell small{display:block;max-width:460px;margin-top:2px;overflow:hidden;color:#526a79;font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}
td.meta-cell{color:var(--ink-soft);font-weight:700}
td.date-cell{min-width:155px;color:var(--muted);font-size:.67rem;white-space:nowrap}
.empty-cell{height:86px;color:var(--muted);text-align:center}

/* Historique et provenance agrégée */
.analytics-disclosure{margin-top:14px}
.privacy-note{margin:0 0 17px;border-left:3px solid var(--green);padding:9px 12px;background:#f2f8f6;color:var(--muted);font-size:.7rem}
.privacy-note strong{color:var(--ink)}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.audience-grid>article{min-width:0;border:1px solid var(--line);border-radius:13px;padding:15px;background:#fbfdfc}
.audience-grid h3{margin:0 0 9px;font:700 .92rem Georgia,serif}
.breakdown-list{display:grid;gap:8px}
.breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.breakdown-row>div{min-width:0}
.breakdown-row span{display:block;overflow:hidden;color:var(--ink-soft);font-size:.68rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.breakdown-row i{display:block;height:5px;margin-top:4px;border-radius:999px;background:#e7efef;overflow:hidden}
.breakdown-row i::after{content:"";display:block;width:calc(var(--bar,0) * 1%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#4cb996)}
.breakdown-row strong{color:var(--ink);font-size:.69rem;font-variant-numeric:tabular-nums}
.history-table-wrap{border:1px solid var(--line);border-radius:12px}
.history-table-wrap td:last-child{color:var(--muted);font-size:.66rem}
.history-table-wrap tr.suppressed td:not(:first-child):not(:last-child){color:#5d717a}

/* Grilles d’évaluation */
.rubric-section{padding-top:1px}
.rubric-shell{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 34px rgba(11,43,66,.055)}
.rubric-toolbar{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:15px 18px;background:#f8fbfa}
.rubric-tabs{display:flex;align-items:stretch;gap:8px}
.rubric-tab{min-width:132px;display:grid;gap:2px;border:1px solid var(--line-strong);border-radius:11px;padding:9px 14px;background:#fff;color:var(--ink-soft);text-align:left;cursor:pointer;transition:border-color .16s,background .16s,color .16s,transform .16s}
.rubric-tab:hover{transform:translateY(-1px);border-color:#9fb9bd}
.rubric-tab[aria-selected="true"]{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 8px 22px rgba(8,126,92,.17)}
.rubric-tab strong{font-size:.86rem}
.rubric-tab small{color:inherit;font-size:.72rem;opacity:.82}
.rubric-actions{display:flex;align-items:center;gap:8px}
.rubric-use-note{margin:0;border-bottom:1px solid var(--line);padding:13px 20px;background:#fff8e5;color:var(--ink-soft);font-size:.84rem;line-height:1.55}
.rubric-use-note strong{color:var(--ink)}
.rubric-viewer{min-height:360px;padding:22px}
.rubric-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:10px 14px;border-radius:15px;padding:20px;background:linear-gradient(135deg,#0b2b42,#124b5e);color:#fff}
.rubric-header>div{min-width:0}
.rubric-kind{margin:0 0 5px;color:#8be0c1;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.rubric-header h2{margin:0;font:700 clamp(1.5rem,2.4vw,2.15rem)/1.1 Georgia,serif;letter-spacing:-.018em}
.rubric-summary{max-width:850px;margin:10px 0 0;color:#c9d9df;font-size:.9rem;line-height:1.55}
.rubric-count,.rubric-total{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.08);color:#fff;font-size:.75rem;font-weight:900;white-space:nowrap}
.rubric-total{border-color:rgba(139,224,193,.32);background:rgba(139,224,193,.12);color:#bdf0dc}
.rubric-criteria{display:grid;gap:14px;margin-top:14px}
.rubric-criterion{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(11,43,66,.035)}
.rubric-criterion-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:13px;border-bottom:1px solid var(--line);padding:16px 17px;background:#f8fbfa}
.criterion-number{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--navy);color:#fff;font-size:.73rem;font-weight:950;font-variant-numeric:tabular-nums}
.rubric-criterion-head h3{margin:0;font:700 1.05rem/1.25 Georgia,serif}
.rubric-criterion-head p{max-width:920px;margin:6px 0 0;color:var(--muted);font-size:.86rem;line-height:1.55}
.criterion-weight{border-radius:999px;padding:6px 9px;background:var(--gold-soft);color:#7c5700;font-size:.74rem;white-space:nowrap}
.rubric-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.rubric-level{min-width:0;border-left:1px solid var(--line);border-top:4px solid var(--level-color);padding:15px 16px 18px;background:var(--level-surface)}
.rubric-level:first-child{border-left:0}
.rubric-level.level-4{--level-color:#087e5c;--level-surface:#f0f8f5}
.rubric-level.level-3{--level-color:#276f99;--level-surface:#f2f7fa}
.rubric-level.level-2{--level-color:#b57a00;--level-surface:#fffaf0}
.rubric-level.level-1{--level-color:#c64553;--level-surface:#fff6f7}
.rubric-level h4{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);font-size:.83rem}
.rubric-level h4 span{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--level-color);color:#fff;font-size:.78rem}
.rubric-level h4 strong{line-height:1.2}
.rubric-level p{margin:11px 0 0;color:var(--ink-soft);font-size:.84rem;line-height:1.55}
.rubric-footer-note{display:grid;grid-template-columns:175px minmax(0,1fr);gap:16px;margin-top:14px;border:1px solid #ead9a8;border-radius:13px;padding:15px 17px;background:#fff8e5}
.rubric-footer-note strong{font-size:.82rem}
.rubric-footer-note p{margin:0;color:var(--ink-soft);font-size:.82rem;line-height:1.5}
.rubric-error{margin:0;border:1px solid #f2c8ce;border-radius:12px;padding:18px;background:var(--red-soft);color:#7d2c37;font-size:.86rem}

/* Blocs secondaires */
.teacher-tools{padding-top:1px}
.disclosure-card{margin-top:10px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 6px 22px rgba(11,43,66,.035)}
.disclosure-card summary{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;cursor:pointer;list-style:none}
.disclosure-card summary::-webkit-details-marker{display:none}
.disclosure-card summary>span{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center}
.disclosure-card summary i{grid-row:1/3;width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#edf5f3;color:var(--green);font-size:.68rem;font-style:normal;font-weight:950}
.disclosure-card summary b{font:700 .96rem Georgia,serif}
.disclosure-card summary small{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}
.disclosure-card summary em{flex:none;color:var(--green);font-size:.66rem;font-style:normal;font-weight:900}
.disclosure-card summary em::after{content:"  +"}
.disclosure-card[open] summary em::after{content:"  −"}
.disclosure-card[open] summary{border-bottom:1px solid var(--line)}
.disclosure-body{padding:20px}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.team-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}
.team-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f5f9f8}
.team-card-head h3{margin:0;font:700 1rem Georgia,serif}
.team-card-head span{color:var(--muted);font-size:.63rem;font-weight:850}
.lot-roster{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:8px;border-top:1px solid var(--line);padding:11px 15px}
.lot-roster>strong{padding-top:4px;color:var(--muted);font-size:.66rem}
.lot-roster>div{display:flex;flex-wrap:wrap;gap:5px}
.lot-person{min-height:26px;display:inline-flex;align-items:center;border-radius:8px;padding:3px 8px;background:#eaf2f3;color:#294b59;font-size:.68rem;font-weight:750}
.lot-person.pending{border:1px dashed #d3a43a;background:var(--gold-soft);color:#805b08;font-style:italic}
.feedback-card{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:20px;max-width:820px}
.feedback-mark{width:68px;height:68px;display:grid;place-items:center;border-radius:18px;background:var(--green-soft);color:var(--green);font:800 1.3rem Georgia,serif}
.feedback-card h3{margin:0;font:700 1.25rem Georgia,serif}
.feedback-card p{margin:7px 0 14px;color:var(--muted);font-size:.76rem}
.timeline{display:grid;gap:11px}
.timeline-entry{display:grid;grid-template-columns:130px minmax(0,1fr);gap:15px;border-bottom:1px solid #edf1f2;padding:0 0 12px}
.timeline-entry:last-child{border-bottom:0}
.timeline-entry time{color:var(--muted);font-size:.66rem;font-weight:850}
.timeline-entry h3{margin:0;font-size:.78rem}
.timeline-entry p{margin:4px 0 0;color:var(--muted);font-size:.69rem}
.inline-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}
.inline-actions p{margin:0;color:var(--muted);font-size:.72rem}
.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.check-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdfc}
.check-card>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green);font-weight:950}
.check-card.bad>span{background:var(--red-soft);color:var(--red)}
.check-card strong{display:block;font-size:.71rem}
.check-card small{display:block;margin-top:2px;color:var(--muted);font-size:.59rem}
.check-card a{color:var(--green);font-size:.64rem;font-weight:850;text-decoration:none}
.inventory-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.inventory-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfdfc}
.inventory-card span{display:block;color:var(--muted);font-size:.63rem;font-weight:850}
.inventory-card strong{display:block;margin-top:5px;font:700 1.6rem Georgia,serif}
.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.privacy-grid article{border-radius:12px;padding:16px;background:#f4f9f7}
.privacy-grid strong{font-size:.75rem}
.privacy-grid p{margin:6px 0 0;color:var(--muted);font-size:.69rem;line-height:1.55}
.privacy-control{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 18px}
.privacy-control strong,.privacy-control p{grid-column:1}
.privacy-control .button{grid-column:2;grid-row:1/3}
.privacy-control>small{grid-column:1/-1;color:var(--green);font-size:.65rem;font-weight:850}

.dashboard-footer{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(22px,calc((100% - var(--wrap))/2));background:var(--navy-deep);color:#9fb5bf;font-size:.69rem}
.dashboard-footer a{color:#dbe8eb;text-decoration:none;font-weight:850}
.toast{position:fixed;z-index:60;right:22px;bottom:22px;max-width:360px;transform:translateY(30px);border-radius:12px;padding:13px 16px;background:var(--navy);color:#fff;box-shadow:0 16px 45px rgba(4,25,39,.24);font-size:.73rem;font-weight:750;opacity:0;pointer-events:none;transition:.22s}
.toast.show{transform:translateY(0);opacity:1}

@media(max-width:1180px){
  .filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lot-activity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .visual-grid{grid-template-columns:1fr}
  .analysis-visual-grid{grid-template-columns:1fr}
  .analysis-ranking-panel{grid-row:auto}
  .analysis-lot-panel{grid-column:auto}
  .inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rubric-toolbar{align-items:flex-start;flex-direction:column}
  .rubric-actions{width:100%}
  .rubric-levels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rubric-level:nth-child(3){border-left:0}
}

@media(max-width:900px){
  html{scroll-padding-top:76px}
  .anchor-target{scroll-margin-top:76px}
  .login-shell{padding:22px}
  .login-frame{grid-template-columns:1fr}
  .login-intro{min-height:330px;padding:30px}
  .login-copy{margin:48px 0 28px}
  .login-copy h1{font-size:clamp(2.15rem,8vw,3.3rem)}
  .login-panel{padding:30px}
  .topbar-inner{min-height:68px}
  .jump-nav{display:none}
  .top-actions{margin-left:auto}
  .topbar .brand small{display:none}
  .dashboard-hero{padding-top:32px}
  .team-grid,.check-list,.audience-grid{grid-template-columns:1fr}
  .data-confidence{grid-template-columns:1fr}
  .behavior-grid{grid-template-columns:1fr}
}

@media(max-width:660px){
  .dashboard-wrap{width:min(calc(100% - 26px),var(--wrap))}
  .topbar-inner{width:calc(100% - 22px);gap:10px}
  .topbar .brand>span:last-child{display:none}
  .topbar .button.quiet{display:none}
  .button.compact{font-size:.63rem}
  .hero-heading{align-items:flex-start;flex-direction:column}
  .hero-heading .button{width:100%}
  .status-strip{grid-template-columns:auto 1fr;align-items:start}
  .status-strip>span:not(.status-dot),.status-strip small{grid-column:2}
  .dashboard-period-bar{align-items:stretch;flex-direction:column}
  .period-segments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .period-segments button{min-width:0;padding-inline:5px}
  .filter-bar{grid-template-columns:1fr}
  .metric-grid,.event-grid{grid-template-columns:1fr}
  .lot-activity-grid{grid-template-columns:1fr}
  .metric-card{min-height:125px}
  .signal-strip{align-items:flex-start;flex-direction:column}
  .signal-strip>span,.signal-strip>span:first-child{width:100%;border-top:1px solid var(--line);border-left:0;padding:7px 0}
  .signal-strip>span:first-child{border-top:0}
  .section-heading{align-items:flex-start;flex-direction:column;margin-top:44px}
  .panel-head{align-items:flex-start;flex-direction:column}
  .panel-head>small{text-align:left}
  .donut-chart-shell{grid-template-columns:1fr;gap:12px}
  .donut-chart{width:175px}
  .analysis-visuals{padding:12px}
  .analysis-visual-heading,.analysis-table-intro{align-items:flex-start;flex-direction:column}
  .analysis-visual-heading>small,.analysis-table-intro>p{text-align:left}
  .horizontal-chart{padding-inline:14px}
  .horizontal-row>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}
  .horizontal-row>div:first-child strong{max-width:100%;white-space:normal}
  .chart-legend{justify-content:flex-start}
  .activity-chart{padding-inline:10px}
  .activity-column small{font-size:.48rem}
  th,td{padding:11px 12px}
  .disclosure-card summary{align-items:flex-start}
  .disclosure-card summary em{font-size:0}
  .disclosure-card summary em::after{font-size:.9rem}
  .feedback-card{grid-template-columns:1fr}
  .timeline-entry{grid-template-columns:1fr;gap:4px}
  .inline-actions{align-items:flex-start;flex-direction:column}
  .inventory-grid,.privacy-grid{grid-template-columns:1fr}
  .privacy-control{display:block}
  .privacy-control .button{width:100%;margin-top:12px}
  .privacy-control>small{display:block;margin-top:8px}
  .rubric-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .rubric-tab{min-width:0;padding:9px 8px;text-align:center}
  .rubric-tab small{font-size:.66rem}
  .rubric-actions{align-items:stretch;flex-direction:column}
  .rubric-actions .button{width:100%}
  .rubric-viewer{padding:12px}
  .rubric-header{grid-template-columns:1fr}
  .rubric-count,.rubric-total{width:max-content}
  .rubric-criterion-head{grid-template-columns:38px minmax(0,1fr)}
  .criterion-weight{grid-column:2;width:max-content}
  .rubric-levels{grid-template-columns:1fr}
  .rubric-level,.rubric-level:nth-child(3){border-left:0}
  .rubric-footer-note{grid-template-columns:1fr;gap:5px}
  .dashboard-footer{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media print{
  @page{size:landscape;margin:10mm}
  body.rubric-print-mode{background:#fff;color:#111}
  body.rubric-print-mode #loginView,
  body.rubric-print-mode .topbar,
  body.rubric-print-mode .dashboard-hero,
  body.rubric-print-mode .dashboard-content>section:not(#grilles-evaluation),
  body.rubric-print-mode .dashboard-content>.metric-help,
  body.rubric-print-mode .dashboard-content>.signal-strip,
  body.rubric-print-mode .dashboard-content>.visual-grid,
  body.rubric-print-mode .dashboard-content>details,
  body.rubric-print-mode .dashboard-footer,
  body.rubric-print-mode .toast,
  body.rubric-print-mode #grilles-evaluation>.section-heading,
  body.rubric-print-mode .rubric-toolbar,
  body.rubric-print-mode .rubric-use-note{display:none!important}
  body.rubric-print-mode .dashboard-wrap{width:100%;max-width:none}
  body.rubric-print-mode .dashboard-content{padding:0}
  body.rubric-print-mode #grilles-evaluation{padding:0}
  body.rubric-print-mode .rubric-shell{border:0;box-shadow:none}
  body.rubric-print-mode .rubric-viewer{padding:0}
  body.rubric-print-mode .rubric-header{padding:12px 14px;background:#17365d!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body.rubric-print-mode .rubric-summary{font-size:10pt}
  body.rubric-print-mode .rubric-criteria{gap:7px;margin-top:7px}
  body.rubric-print-mode .rubric-criterion{break-inside:avoid;box-shadow:none}
  body.rubric-print-mode .rubric-criterion-head{padding:9px 11px}
  body.rubric-print-mode .rubric-criterion-head p{font-size:8.5pt}
  body.rubric-print-mode .rubric-levels{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.rubric-print-mode .rubric-level,
  body.rubric-print-mode .rubric-level:nth-child(3){border-left:1px solid #dce6e7;padding:8px 9px 10px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body.rubric-print-mode .rubric-level:first-child{border-left:0}
  body.rubric-print-mode .rubric-level h4{font-size:8pt}
  body.rubric-print-mode .rubric-level p{margin-top:6px;font-size:7.7pt;line-height:1.35}
  body.rubric-print-mode .rubric-footer-note{margin-top:7px;padding:9px 11px;break-inside:avoid}
}
