*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f4f9ff;--card:#fff;--ink:#102033;--muted:#536b80;--muted2:#8aa1b4;--line:rgba(20,60,100,.11);--blue:#0ea5e9;--blue2:#2563eb;--green:#22c55e;--red:#e11d48;--orange:#f59e0b;--grey:#94a3b8;--shadow:0 8px 28px rgba(20,60,100,.08);--r:22px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',Inter,Arial,sans-serif}
body{background:radial-gradient(900px 480px at 80% -10%,rgba(56,189,248,.22),transparent 60%),linear-gradient(#f4fbff,#fff);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.45}
button,.import{font-family:inherit;border:1px solid var(--line);background:#fff;color:#16415f;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer;box-shadow:0 2px 8px rgba(20,60,100,.05)}
button:hover,.import:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.import input{display:none}.primary{background:linear-gradient(135deg,#38bdf8,#2563eb)!important;color:#fff!important;border-color:transparent!important}.small{padding:8px 12px}
.topbar{height:70px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px}
.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#38bdf8,#2563eb);display:grid;place-items:center;font-size:24px;box-shadow:0 8px 20px rgba(14,165,233,.25)}.brand-title{font-size:20px;font-weight:950;letter-spacing:-.04em}.brand-sub{font-size:11px;color:var(--muted);font-weight:700}
main{width:min(1120px,calc(100% - 28px));margin:auto;padding:22px 0 70px}.hero{background:linear-gradient(135deg,#fff,#eaf7ff);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.35fr .8fr;gap:18px}.label{display:inline-block;background:#e0f2fe;color:#075985;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900}h1{font-size:clamp(42px,7vw,82px);line-height:.88;letter-spacing:-.08em;margin:16px 0;color:#082f49}h1 span{color:var(--blue)}.hero p{font-size:17px;color:var(--muted);max-width:720px}.hero-card{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:20px;padding:15px}.hero-card div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:11px 0}.hero-card div:last-child{border-bottom:0}.hero-card small{color:var(--muted);font-weight:700}.hero-card strong{text-align:right}
.actions{position:sticky;top:82px;z-index:40;background:rgba(248,252,255,.9);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:22px;margin:14px 0;padding:12px;display:flex;flex-wrap:wrap;gap:9px;align-items:center}.actions span{color:var(--muted);font-weight:800}.actions span.ok{color:#166534}
.grid{display:grid;gap:12px}.stats{grid-template-columns:1.1fr .7fr .7fr 1.4fr}.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);margin:14px 0}.stat{margin:0;min-height:94px}.stat small{display:block;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.04em;margin-bottom:6px}.stat strong{font-size:26px;letter-spacing:-.05em}.stat em{display:block;color:var(--muted);font-style:normal;font-size:12px;margin-top:5px}.bar{height:9px;background:#e0f2fe;border-radius:999px;margin-top:12px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#38bdf8,#2563eb);border-radius:inherit}
h2{font-size:26px;letter-spacing:-.04em;margin-bottom:14px}.summary-grid,.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-grid div,.type-grid div,.block-item{background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:14px}.summary-grid h3{font-size:16px;margin-bottom:8px}.summary-grid ul{padding-left:18px;color:var(--muted)}.type-grid div b{display:block;color:#075985;margin-bottom:5px}.type-grid span{color:var(--muted);font-size:13px}.block-list{display:grid;gap:10px}.block-item strong{display:block;font-size:16px}.block-item span{color:var(--muted);font-size:12px;font-weight:800}.block-item p{color:var(--ink);margin-top:6px}.block-item em{color:var(--muted);font-style:normal;font-size:12px}.weeks-title{margin:24px 0 10px}.weeks-title p{color:var(--muted)}
.week{background:#fff;border:1px solid var(--line);border-left:7px solid var(--grey);border-radius:22px;margin:11px 0;box-shadow:var(--shadow);overflow:hidden}.week.done{border-left-color:var(--green)}.week.missed{border-left-color:var(--red)}.week.current{border-left-color:var(--blue);box-shadow:0 0 0 3px rgba(14,165,233,.12),var(--shadow)}.week.closed.done{background:linear-gradient(90deg,rgba(34,197,94,.09),#fff 32%)}.week.closed.missed{background:linear-gradient(90deg,rgba(225,29,72,.08),#fff 32%)}.week.closed.current{background:linear-gradient(90deg,rgba(14,165,233,.11),#fff 34%)}
.week-head{width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;display:flex;justify-content:space-between;align-items:flex-start;text-align:left;padding:15px}.week-head:hover{transform:none;box-shadow:none}.week-head small{color:#0369a1;text-transform:uppercase;font-size:10px;font-weight:950;letter-spacing:.07em}.week-head h3{font-size:22px;letter-spacing:-.04em;color:#082f49}.week-head p{color:var(--muted);font-size:12px;font-weight:800}.week-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.week-badges span,.week-badges b{background:#eff6ff;color:#16415f;border:1px solid var(--line);padding:5px 8px;border-radius:999px;font-size:10.5px;font-weight:950;white-space:nowrap}.week.done .status{background:#dcfce7;color:#166534}.week.missed .status{background:#ffe4e6;color:#be123c}.week.current .status{background:#e0f2fe;color:#075985}.week-body{padding:0 15px 15px}.week-note{background:#f0f9ff;border:1px solid rgba(14,165,233,.14);border-radius:16px;padding:10px 12px;color:var(--muted);font-size:12.5px;margin-bottom:10px}.week-note b{color:var(--ink)}
.sessions{display:grid;gap:8px}.session{display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:9px}.session.checked{background:#f0fdf4;border-color:rgba(34,197,94,.28);opacity:.85}.tick{padding-top:4px}.tick input{display:none}.tick i{display:block;width:18px;height:18px;border-radius:6px;border:1px solid rgba(37,99,235,.22);background:#eff6ff}.tick input:checked+i{background:linear-gradient(135deg,#38bdf8,#22c55e);border:0}.tick input:checked+i:after{content:'✓';display:grid;place-items:center;color:#fff;font-size:12px;font-weight:1000}.session-main{flex:1}.session-line{display:flex;gap:5px;flex-wrap:wrap}.session-line span{background:#eff6ff;border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900}.session h4{font-size:15px;margin:5px 0;color:#0f2a44}.chips{display:flex;gap:5px;flex-wrap:wrap}.chips span{font-size:10.5px;background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:4px 7px;color:var(--muted)}.chips b{color:var(--ink)}.chips .easy{background:#dcfce7;color:#166534}.chips .moderate{background:#dbeafe;color:#1d4ed8}.chips .hard{background:#fef3c7;color:#92400e}.chips .peak{background:#ffe4e6;color:#be123c}details{margin-top:6px}summary{cursor:pointer;color:#1d4ed8;font-size:12px;font-weight:900}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);margin-top:8px;padding-top:10px}h5{font-size:12.5px;color:#075985;margin:6px 0}details p,details li{font-size:12.5px;color:var(--muted);line-height:1.5}details ul{padding-left:17px}textarea{width:100%;min-height:54px;border:1px solid var(--line);border-radius:12px;padding:9px;margin-top:8px;font-family:inherit}.footer{text-align:center;color:var(--muted2);font-size:12px;margin:24px 0}
@media(max-width:850px){main{width:min(100% - 18px,1120px)}.topbar{padding:10px 12px;height:auto}.hero{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat:first-child,.stat:last-child{grid-column:span 2}.summary-grid,.type-grid,.detail-grid{grid-template-columns:1fr}.actions{position:static}.week-head{flex-direction:column;gap:9px}.week-badges{justify-content:flex-start}.brand-title{font-size:17px}}
@media(max-width:520px){.stats{grid-template-columns:1fr}.stat:first-child,.stat:last-child{grid-column:auto}h1{font-size:48px}.actions button,.import{flex:1 1 calc(50% - 6px)}.actions span{flex-basis:100%;text-align:center}.brand-sub{display:none}}
@media print{.topbar,.actions,.footer{display:none}.card,.week,.session,.hero{box-shadow:none}.week-body{display:block!important}details{display:block}body{background:#fff}}

/* Mise à jour COCO */
.summary-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.summary-grid{grid-template-columns:1fr}}

/* Réorganisation COCO finale */
.summary-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.summary-grid{grid-template-columns:1fr}}
