/* Shared visual language with Weekly / Veckoplan. */
html body{--ink:#263037;--muted:#586168;--paper:#c9cbcc;--card:#e3e4e4;--yellow:#68887c;--blue:#5b7ba1;--mint:#68887c;--line:#bec4c3;background:#c9cbcc;color:#263037;font-family:Geist,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body button,body input,body select{font-family:inherit}
body .app{max-width:1020px;padding:48px 32px 100px}
body .top{margin-bottom:32px;align-items:center}
body .eyebrow{color:#586168;font-size:.875rem;font-weight:450;letter-spacing:0;text-transform:none;margin-bottom:8px}
body h1{font-size:2rem;font-weight:550;letter-spacing:-1px;line-height:1.2}
body .add{width:46px;height:46px;border-radius:50%;background:#eef0efb0;color:#34433e;font-size:1.7rem;font-weight:400;border:1px solid #ffffff55}
body .goal-card{position:relative;background:#e3e4e4;color:#263037;border:1px solid #ffffff45;box-shadow:none;border-radius:22px;padding:26px 28px;margin-bottom:28px}
body .goal-title{color:#586168;font-size:.875rem;font-weight:450}
body .big{font-size:2.6rem;font-weight:500;letter-spacing:-1.7px;margin:10px 0 18px;font-variant-numeric:tabular-nums}
body .goal-row{color:#586168;font-size:.875rem;gap:12px}
body .track{background:#26303712;height:5px;margin-top:18px}
body .fill{background:#68887c}
body .tabs{display:inline-flex;background:#eef0ef70;padding:4px;border-radius:30px;gap:3px;margin-bottom:22px}
body .tab{font-size:.875rem;font-weight:500;border-radius:24px;padding:10px 23px;color:#586168}
body .tab.active{background:#f2f3f2;color:#263037;box-shadow:0 1px 4px #26303709}
body .section-head{margin:0 0 17px;padding:0 2px}
body .section-head h2{font-size:.95rem;font-weight:550;letter-spacing:-.2px}
body #todayText{font-size:.875rem;color:#586168}
body .cards{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
body .exercise{--accent:#68887c;background:#e3e4e4;border:1px solid #ffffff40;border-radius:19px;box-shadow:none;padding:23px 21px;min-width:0}
body .exercise:nth-child(3n+2){--accent:#ad715f}
body .exercise:nth-child(3n){--accent:#5b7ba1}
body .exercise .fill{background:var(--accent)}
body .exercise-top{gap:12px;flex-wrap:wrap;align-items:center}
body .name{font-weight:550;font-size:1rem;letter-spacing:-.25px}
body .meta{font-size:.875rem;margin-top:8px;color:#586168;font-variant-numeric:tabular-nums}
body .badge{background:transparent;color:#586168;font-size:.8125rem;font-weight:400;padding:0;border-radius:0}
body .controls{margin-top:22px;gap:8px}
body .quick{background:#eef0ef90;border:1px solid #ffffff40;color:#34433e;border-radius:11px;padding:12px 5px;min-height:46px;font-size:.95rem;font-weight:500;transition:background .15s,transform .15s}
body .quick.primary{background:var(--accent);border-color:transparent;color:white}
body button{cursor:pointer}
body button:active{transform:translateY(1px)}
body button:focus-visible{outline:2px solid #34433e;outline-offset:3px}
body .quick:hover{filter:brightness(.97)}
body .bottom{display:none}
body .chart-card{background:#e3e4e4;border-color:#ffffff40;border-radius:20px;box-shadow:none;padding:26px}
body .chart-card h3{font-weight:550}
body .bar{background:#68887c;border-radius:5px 5px 0 0}
body .chart{gap:12px;border-color:#bec4c3}
body .chart-note{font-size:.875rem}
body dialog{font-family:Geist,Arial,Helvetica,sans-serif;background:#e3e4e4;color:#263037;border-radius:22px;padding:28px}
body dialog h2{font-size:1.35rem;font-weight:550;letter-spacing:-.5px}
body dialog label{font-size:.875rem;font-weight:500}
body input,body select{background:#f2f3f2;border-color:#bec4c3;border-radius:10px}
body .modal-actions button{font-weight:500}
body .save{background:#34433e}
body .cancel{background:#c9cbcc}
@media(max-width:620px){body .app{padding:28px 18px 40px}body .cards{grid-template-columns:1fr}body h1{font-size:1.75rem}body .top{margin-bottom:25px}body .goal-card{padding:23px}body .exercise{padding:21px}body .chart{gap:6px}body .chart-card{padding:19px}body .section-head{gap:10px}body #statExercise{max-width:65%}}
/* Compact, table-like overview with a fixed readable row height. */
body .app{max-width:760px;padding:16px 14px}
body .top{margin-bottom:12px}
body h1{font-size:1.2rem;letter-spacing:-.5px}
body .eyebrow{font-size:.8rem;margin-bottom:3px}
body .add{width:42px;height:42px}
body .tabs{margin-bottom:12px;padding:3px}
body .tab{padding:8px 20px}
body .section-head{margin-bottom:8px}
body .cards{display:block;border-radius:12px;overflow:hidden;background:#e3e4e4}
body .exercise,body .list-head{display:grid;grid-template-columns:minmax(0,1fr) 95px 52px;align-items:center;gap:8px}
body .exercise{height:49px;padding:3px 9px;border:0;border-top:1px solid #bec4c380;border-radius:0;background:transparent}
body .list-head{padding:7px 9px;font-size:12px;color:#586168}
body .list-head span:nth-child(2){text-align:right}
body .list-head span:last-child{text-align:center}
body .row-name{min-width:0;font-size:14px;line-height:1.3}
body .row-name>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .row-name small{display:block;font-size:11px;margin-top:2px}
body .behind{color:#8b5142}body .ahead{color:#3f6353}
body .row-total{text-align:right;font-size:14px;font-variant-numeric:tabular-nums}
body .row-total small{display:block;font-size:11px;color:#586168}
body .exercise .quick{padding:0;min-height:42px;border-radius:8px;font-size:14px}
body #pager{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:5px;font-size:13px}
body #pager[hidden]{display:none}
body #pager button{width:42px;height:32px;border:0;border-radius:8px;background:#e3e4e4;color:#263037}
body #pager button:disabled{opacity:.35}
body .chart{height:min(38dvh,240px);gap:5px;padding-top:22px}
body .bar-number{position:absolute;top:-17px;font-size:10px;color:#586168}
body .chart .bar-wrap small{font-size:10px}
body .chart-card{padding:18px}
body .exercise,body .list-head{grid-template-columns:minmax(0,1fr) 78px 86px;gap:6px}
body .edit-row{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:none;padding:0;color:inherit;text-align:left;font-size:14px;line-height:1.5}
body .edit-row span{color:#586168}
body .row-actions{display:flex;gap:4px}
body .row-actions .subtract{flex:0 0 32px}
body .row-actions .primary{min-width:50px}
body button:disabled{opacity:.35;cursor:default}
body #deleteExercise{margin-top:18px;padding:10px 0;color:#8b5142;background:none;border:0;font-size:14px;text-decoration:underline}
body dialog{max-height:90dvh;overflow:auto}
body .exercise .quick{background:#5b7ba1;border-color:transparent;color:white}
body .save{background:#5b7ba1}
body .bar{background:#5b7ba1}
body #stats .section-head{flex-wrap:wrap;gap:8px}
body .list-tools{display:flex;align-items:center;gap:10px}
body #toggleEdit{border:1px solid #ffffff60;border-radius:999px;padding:6px 12px;min-height:32px;background:#eef0ef90;color:#34433e;font-size:13px;font-weight:500}
body #toggleEdit[aria-pressed="true"]{background:#5b7ba1;color:#fff;border-color:transparent}
body #today .exercise,body #today .list-head{grid-template-columns:minmax(0,1fr) 78px 64px}
body #today.editing .exercise,body #today.editing .list-head{grid-template-columns:minmax(0,1fr) 78px 100px}
body #today:not(.editing) .subtract{display:none}
body .exercise .quick{border-radius:999px;min-height:36px;height:36px;box-shadow:0 0 0 3px #5b7ba11a;font-weight:500}
body .row-actions{gap:6px;align-items:center;padding:3px}
body .row-actions .primary{min-width:52px}
body .row-actions .subtract{flex-basis:32px;background:#eef0ef;color:#5b7ba1;box-shadow:none}
