:root{color-scheme:light;--ink:#171e1a;--muted:#526059;--line:#e1e7df;--paper:#f5f7f2;--green:#d8fa85;--deep:#18281d;--forest:#314d32;--white:#fff;--business:#edf6dc;--training:#e7edf9;--recovery:#f5ede4;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5d8735;outline-offset:3px}button[hidden]{display:none!important}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}.symbols{position:absolute;width:0;height:0}.shell{display:grid;grid-template-columns:231px minmax(0,1fr);min-height:100vh}.sidebar{background:#fbfcf8;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:29px 19px 22px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:18px;letter-spacing:-.65px;white-space:nowrap}.brand-mark{height:38px;width:38px;border-radius:11px;display:grid;place-items:center;background:var(--deep);color:var(--green)}.brand-mark svg{height:26px;width:26px}.brand small,.sidebar-bottom small{display:block}.brand small{font-size:8.1px;letter-spacing:.8px;margin-top:4px;color:var(--muted);font-weight:750}.nav-group{margin-top:54px}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--muted)}.nav-label{margin:0 0 11px 10px}.nav{display:flex;align-items:center;gap:11px;width:100%;border:0;border-radius:9px;background:none;text-align:left;padding:11px 10px;margin-bottom:4px;color:var(--muted);font-weight:650}.nav:hover,.nav.active{background:#eaf1e3;color:#223c26}.nav.active{font-weight:750}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:17px 4px 0;font-size:12px}.sidebar-bottom small{color:var(--muted);font-size:10.5px;margin-top:4px}.local-dot{width:8px;height:8px;background:#6c9b46;border-radius:50%;box-shadow:0 0 0 4px #e9f2dd;margin:0 5px}.topbar{height:71px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 35px;background:#fbfcf9}.crumb{display:flex;gap:11px;align-items:center;color:var(--muted);font-size:13px}.crumb strong{color:var(--ink)}.slash{color:#728071}.top-actions{display:flex;gap:8px}.content,.footer{width:min(1200px,100%);margin:auto;padding:28px 35px}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding-top:17px;padding-bottom:20px}.footer span:first-child{font-weight:800;letter-spacing:1.5px}.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:end;justify-content:space-between;gap:20px;background:var(--deep);color:#fff;border-radius:18px;padding:29px 31px;min-height:177px}.hero .eyebrow{color:#d3ecac}.hero h1{font-size:clamp(32px,4.1vw,56px);margin:10px 0 8px;letter-spacing:-.068em;line-height:1}.hero p{margin:0;color:#e0e9de;line-height:1.5}.contours{position:absolute;inset:0 0 0 auto;width:min(59%,520px);height:100%;z-index:-1;color:#a3cf62;opacity:.34;stroke-width:1;pointer-events:none}.primary,.subtle,.icon-button,.danger{display:inline-flex;justify-content:center;align-items:center;gap:7px;border-radius:9px;font-weight:750;min-height:38px;white-space:nowrap;padding:0 12px}.primary{background:var(--green);border:1px solid var(--green);color:#1d2a15}.primary:hover{background:#c5ec6e}.subtle,.icon-button{background:#fff;border:1px solid var(--line)}.subtle:hover,.icon-button:hover{background:#edf3e9}.icon-button{width:37px;padding:0}.hero .primary{padding:0 14px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:25px 0 14px}.section-top h2,.panel h2{font-size:19px;margin:0;letter-spacing:-.55px}.section-top p,.panel p,.description{color:var(--muted);margin:5px 0 0;line-height:1.45}.date-control{display:flex;align-items:center;gap:6px}.date-control input{border:1px solid var(--line);background:white;border-radius:8px;padding:7px;min-height:37px;min-width:0;color:var(--ink)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:15px;min-width:0}.day-card{display:flex;flex-direction:column;min-height:220px}.card-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.card-head h3{margin:0;font-size:16px;letter-spacing:-.35px}.badge{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#27352a;flex:none}.business{background:var(--business)}.training{background:var(--training)}.recovery{background:var(--recovery)}.card-content{flex:1}.placeholder{border:1px dashed #dce5d8;background:#fafcf8;border-radius:9px;padding:11px;font-size:12px;min-height:65px;line-height:1.4}.placeholder strong{display:block;margin-bottom:3px}.placeholder span{color:var(--muted)}.add{width:100%;margin-top:11px;font-size:12px}.entry{display:flex;gap:7px;align-items:center;border-bottom:1px solid #edf1eb;padding:7px 0}.entry:last-child{border-bottom:0}.entry-main{flex:1;min-width:0;overflow-wrap:anywhere}.entry-main small{display:block;margin-top:3px;color:var(--muted)}.entry.done strong{text-decoration:line-through;color:var(--muted)}.entry .icon-button{height:30px;min-height:30px;width:30px}.entry .icon-button svg{width:15px;height:15px}.task-check{width:16px;height:16px;accent-color:#456b37;flex:none}.week-panel{margin-top:17px;padding:17px 18px}.week-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:13px}.stat{background:#f4f7f1;border-radius:9px;padding:10px 12px}.stat span{color:var(--muted);font-size:11px;display:block;margin-bottom:4px}.stat strong{font-size:22px;letter-spacing:-.8px}.week-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:16px}.bar-day{background:none;border:0;display:grid;gap:6px;justify-items:center;border-radius:8px;padding:5px 2px;color:var(--muted);font-size:11px}.bar-day:hover,.bar-day.current{background:#eff4e9;color:#263d26;font-weight:800}.bar-track{height:68px;width:min(24px,65%);background:#edf1eb;border-radius:5px;display:flex;align-items:end;overflow:hidden}.bar-fill{display:block;background:#729d50;width:100%;border-radius:5px}.journal-list{display:grid;gap:10px}.journal-row{display:flex;gap:10px;align-items:center;text-align:left;width:100%;padding:12px 14px}.journal-row span{flex:1}.journal-row small{display:block;color:var(--muted);margin-top:4px}.journal-empty{padding:22px}.fields{display:grid;gap:13px}.fields label{display:grid;gap:6px;font-weight:700}.fields input,.fields select,.fields textarea{width:100%;border:1px solid #ccd7ca;border-radius:8px;padding:9px;color:var(--ink);background:#fff}.fields textarea{resize:vertical;min-height:74px}.fields .inline{display:grid;grid-template-columns:1fr 1fr;gap:10px}dialog{width:min(455px,calc(100% - 25px));border:1px solid var(--line);border-radius:16px;padding:21px;color:var(--ink)}dialog::backdrop{background:#14261bb0}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:17px}.dialog-head h2{margin:5px 0 0}.close{font-size:20px}.form-actions{display:flex;gap:7px;margin-top:18px}.form-actions span{flex:1}.danger{border:1px solid #f1dad6;color:#8a3025;background:#fff}.danger:hover{background:#fff2ee}#toast{position:fixed;bottom:18px;right:18px;background:var(--deep);color:#fff;border-radius:9px;padding:11px 15px;z-index:2;max-width:calc(100% - 36px)}#toast:empty{display:none}
@media(max-width:1000px){.shell{grid-template-columns:188px minmax(0,1fr)}.sidebar{padding-inline:13px}.topbar,.content,.footer{padding-inline:20px}.card-grid{gap:8px}.panel{padding:12px}.card-head{gap:6px}}
@media(max-width:740px){.shell{display:block}.sidebar{position:static;height:auto;padding:12px 15px 6px;border-right:0;border-bottom:1px solid var(--line)}.brand-mark{width:31px;height:31px}.nav-group{margin-top:10px}.nav-group nav{display:flex;gap:5px}.nav{width:auto;flex:1;justify-content:center;padding:8px 5px;font-size:12px}.nav-label,.sidebar-bottom{display:none}.topbar{height:48px}.topbar,.content,.footer{padding-inline:14px}.content{padding-top:13px}.hero{padding:18px;min-height:150px}.card-grid{grid-template-columns:1fr}.day-card{min-height:0}.footer{font-size:10px}}
@media(max-width:440px){.nav svg{width:15px;height:15px}.hero{display:block}.hero .primary{margin-top:13px}.section-top{align-items:flex-start;flex-direction:column;gap:9px;margin-top:17px}.week-top{align-items:flex-start}.week-top .subtle{white-space:normal;text-align:center}.stats{gap:5px}.stat{padding:8px 5px}.stat strong{font-size:17px}.date-control .subtle{font-size:11px;padding:0 6px}.date-control{gap:4px}.date-control .icon-button{width:31px}.week-bars{gap:2px}}

/* Journal sportif */
:root{color-scheme:dark;--ink:#ecf3f5;--muted:#9fb2bd;--line:#2a3b46;--paper:#0c161e;--green:#d8fa85;--deep:#11212a;--forest:#c7e889;--white:#14232d;--business:#293928;--training:#233d51;--recovery:#453626}
.sidebar,.topbar{background:#0f1b24}.brand-mark{background:#23342e}.nav.active,.nav:hover{background:#1d303b;color:#e4f3ec}.slash{color:var(--muted)}.sidebar-bottom{color:var(--ink)}.local-dot{box-shadow:0 0 0 4px #273c2e}.hero{background:linear-gradient(110deg,#142729,#17312b 70%,#213d30);border:1px solid #355144}.hero .eyebrow{color:#dbf6a2}.hero p{color:#d7e5e0}.hero-actions,.tracking-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.hero .subtle{background:#203a34;color:var(--ink);border-color:#547260}.hero .subtle:hover{background:#2a483f}.panel,.subtle,.icon-button,.fields input,.fields select,.fields textarea,.date-control input{background:#14232d;color:var(--ink);border-color:var(--line)}.subtle:hover,.icon-button:hover,.bar-day:hover,.bar-day.current{background:#243843;color:var(--ink)}.date-control input,.fields input,.fields select,.fields textarea{border-color:#405664}.badge{color:var(--ink)}.placeholder{background:#101e28;border-color:#3a4e59}.entry{border-color:#293d49}.stat{background:#0f1d27}.bar-track{background:#2a414d}.bar-fill{background:#b1db6a}.danger{background:#2f2426;color:#ffc0b5;border-color:#674749}.danger:hover{background:#493033}dialog{background:#13222c}#toast{border:1px solid #50646c}.sync-status{color:#c7e889;font-size:11px}.tracker,.trend-panel,.review-panel{margin-top:17px}.tracker .eyebrow,.review-panel .eyebrow{color:#c7e889;margin-bottom:6px}.habit-score{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin:16px 0;padding:14px;background:#0f1d27;border-radius:9px}.habit-score>strong{font-size:clamp(28px,5vw,43px);letter-spacing:-.055em}.habit-score p{font-size:12px}.habit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.habit-group{background:#101e27;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}.habit-group h3{font-size:12px;text-transform:uppercase;letter-spacing:1.25px;margin:3px 0 5px;color:#dce8ec}.habit-row,.setting-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #2a3d47}.habit-row>span{overflow-wrap:anywhere}.score-options{display:flex;gap:4px;flex:none}.score-option{min-width:36px;min-height:38px;border:1px solid #405360;background:#172934;border-radius:7px;color:var(--ink);font-weight:750;padding:0 6px}.score-option:hover{background:#2a404c}.score-option[aria-pressed=true]{background:#d8fa85;color:#172715;border-color:#d8fa85}.score-option[data-score="0"][aria-pressed=true]{background:#f4a9a0;color:#371f23;border-color:#f4a9a0}.score-option[data-score="0.5"][aria-pressed=true]{background:#f5cd79;color:#312914;border-color:#f5cd79}progress{appearance:none;width:100%;height:7px;border:0;border-radius:10px;background:#2c414c;color:#c9ed84;overflow:hidden}progress::-webkit-progress-bar{background:#2c414c}progress::-webkit-progress-value{background:#c9ed84}progress::-moz-progress-bar{background:#c9ed84}.settings-list,.review-fields,.review-summary,.trend-details{margin-top:14px}.setting-row small{display:block;color:var(--muted);margin-top:3px}.habit-editor{margin-top:12px;padding:12px;background:#101e27;border-radius:10px}.habit-editor h3{margin:0 0 10px}.tracking-actions{margin-top:14px}.review-panel{max-width:780px}.review-panel h2{margin-top:11px}.review-follow:empty{display:none}.review-follow:not(:empty){padding:10px;background:#21342b;color:#d9edbb;border-radius:7px}.review-summary{display:grid;gap:1px}.review-summary>div{border-bottom:1px solid var(--line);padding:8px 0}.review-summary dt{font-weight:800;color:#d7ebae}.review-summary dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.slider-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:12px;background:#101e27;border:1px solid var(--line);border-radius:10px}.slider-card output{font-size:22px;font-weight:800;color:#e1f6af}.fields .slider-card input[type=range]{width:100%;grid-column:1/-1;height:40px;border:0;accent-color:#d8fa85;padding:0;margin:0;background:none;cursor:pointer}.slider-card input.unset{opacity:.55}.slider-help{display:flex;justify-content:space-between;align-items:center;grid-column:1/-1;color:var(--muted)}.text-button{border:0;background:none;color:#d1e8af;padding:5px;font-size:12px}.text-button:hover{text-decoration:underline}.trend-panel select{background:#101e27;color:var(--ink);border:1px solid #405664;border-radius:7px;padding:8px}.trend-chart{width:100%;height:auto;margin-top:12px;display:block}.trend-grid{stroke:#37505e}.trend-dot,.trend-bar{fill:#d8fa85;stroke:none}.trend-line{stroke:#a4c769;stroke-width:2}.trend-chart text{fill:#a9bdc7;stroke:none;font-size:9px}.trend-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:0 4%}.trend-empty{margin-top:13px}.trend-details summary{cursor:pointer;padding:5px}.trend-details .journal-row{margin-top:4px}
@media(max-width:740px){.nav-group nav{overflow-x:auto;justify-content:start}.nav{flex:none;white-space:nowrap;padding-inline:8px}.nav svg{width:16px;height:16px}.hero-actions{margin-top:10px}.hero .primary{margin-top:0}.topbar{padding-left:10px;padding-right:10px}.topbar .crumb>span{display:none}.top-actions{gap:4px}.sync-status{min-height:34px}.top-actions .export{min-height:34px}.score-option{min-height:43px}.habit-grid{grid-template-columns:1fr}.trend-panel .week-top{flex-wrap:wrap}.trend-panel select{max-width:100%}}
@media(max-width:390px){.top-actions .export span{display:none}.top-actions .export{padding-inline:8px}.brand small{font-size:7.5px}.habit-group{padding:8px}.hero-actions .primary,.hero-actions .subtle{padding-inline:8px}.nav{padding-inline:6px}.nav svg{width:14px;height:14px}}
.habit-stats{margin:0 0 12px}
@media(max-width:740px){.nav-group nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;overflow:visible}.nav{margin:0;white-space:normal;line-height:1.2;min-height:37px;text-align:center}.nav-group nav .nav{gap:5px}}
.login-page{min-height:100vh;display:grid;place-items:center;padding:18px}.login-panel{width:min(100%,410px);padding:25px}.login-panel h1{font-size:28px;margin:20px 0 8px;letter-spacing:-1px}.login-panel form{margin-top:17px}.login-panel #loginMessage:empty{display:none}.login-panel #loginMessage{color:#ffc0b5}
@media(max-width:490px){#backup span{display:none}.top-actions .export{padding-inline:7px}}

[data-counter] label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}[data-counter] input{width:92px;padding:8px;background:#0f1d27;border:1px solid #405664;border-radius:7px;color:var(--ink)}
