
:root{--tracker-shell:min(1420px,calc(100% - 42px))}
.tracker-page{background:linear-gradient(180deg,#fff6df 0,#e8f7ed 45%,#fff6e6 100%);color:#174353}
.shell-wide{width:var(--tracker-shell);margin-inline:auto}
.tracker-hero{position:relative;min-height:430px;overflow:hidden;background:#0a6176}.tracker-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.tracker-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,58,73,.96) 0,rgba(3,63,78,.85) 38%,rgba(3,63,78,.24) 74%),linear-gradient(0deg,rgba(2,48,61,.55),transparent 55%)}.tracker-hero__content{position:relative;z-index:2;padding:64px 0 92px;color:#fff}.tracker-hero h1{font:800 clamp(52px,6vw,84px)/.96 Georgia,serif;margin:8px 0 20px;text-shadow:0 4px 20px rgba(0,0,0,.35)}.tracker-hero h1 span{color:#ffd3af;font-style:italic}.tracker-hero__content>p:not(.eyebrow){max-width:650px;font-size:19px;line-height:1.6;font-weight:650}.hero-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.hero-chips span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.36);padding:8px 12px;border-radius:999px;font-weight:850;font-size:13px}
.tracker-shell{display:grid;grid-template-columns:280px 1fr;gap:18px;margin-top:-45px;position:relative;z-index:3;padding-bottom:58px}.tracker-summary,.tracker-workspace{background:#fffdf6;border:1px solid #d7d1b7;border-radius:22px;box-shadow:0 18px 42px rgba(44,77,66,.13)}.tracker-summary{padding:24px;align-self:start;position:sticky;top:94px;text-align:center}.progress-ring{--progress:0;width:164px;height:164px;border-radius:50%;margin:0 auto 18px;background:conic-gradient(#ee7770 calc(var(--progress)*1%),#e4eee7 0);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(30,70,69,.08)}.progress-ring:before{content:"";width:126px;height:126px;border-radius:50%;background:#fffdf6;position:absolute}.progress-ring>div{position:relative;z-index:1}.progress-ring strong{display:block;font:800 36px Georgia,serif;color:#0e697c}.progress-ring span{font-size:12px;text-transform:uppercase;font-weight:900;color:#6d7f7c}.tracker-summary h2{font:800 27px Georgia,serif;margin:0}.tracker-summary>p{color:#607671}.summary-actions{display:grid;gap:8px;margin-top:18px}.summary-actions button,.import-label{border:1px solid #bcd3cf;background:#edf7f2;color:#20515b;border-radius:10px;padding:10px 12px;font-weight:900;cursor:pointer;font-size:13px}.summary-actions button:hover,.import-label:hover{background:#dff1e8}.import-label input{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0)}.local-note{font-size:12px!important;background:#fff1d7;padding:9px;border-radius:9px;margin:14px 0 0!important}
.tracker-workspace{padding:20px}.tracker-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end}.search-control{display:grid;gap:5px}.search-control span,.custom-goal-card label span{font-size:12px;font-weight:900;text-transform:uppercase;color:#6c7b76}.search-control input,.custom-goal-card input{border:1px solid #c8d4cc;border-radius:10px;padding:12px 13px;background:#fff;font:inherit}.toggle-control{display:flex;align-items:center;gap:8px;padding:11px 12px;background:#eff7f1;border-radius:10px;font-weight:800;font-size:14px}.toggle-control input{width:18px;height:18px;accent-color:#ef7370}.tracker-toolbar button{border:0;background:#174f62;color:#fff;border-radius:10px;padding:12px 14px;font-weight:900;cursor:pointer}
.category-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0}.category-tabs button{border:1px solid #d4d5c7;background:#fff8e9;color:#2e5961;border-radius:13px;padding:11px 8px;cursor:pointer;font-weight:900;font-size:13px}.category-tabs button span{display:block;font-size:22px;margin-bottom:3px}.category-tabs button.is-active{background:#0f7088;color:#fff;border-color:#0f7088;box-shadow:0 8px 18px rgba(15,112,136,.22)}
.category-panel{background:linear-gradient(180deg,#f5fbf5,#fffaf0);border:1px solid #d8d5c3;border-radius:18px;padding:20px}.category-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.category-heading p{margin:0;color:#d75761;font-size:12px;font-weight:900;letter-spacing:.1em}.category-heading h2{font:800 35px Georgia,serif;margin:2px 0}.category-meter{min-width:190px}.category-meter>span{display:block;text-align:right;font-weight:900;font-size:13px}.category-meter>div{height:9px;background:#e0e8df;border-radius:999px;overflow:hidden;margin-top:6px}.category-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#4ba282,#f07a70);border-radius:inherit;transition:.2s}
.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.goal-card{background:#fff;border:1px solid #d7d8c9;border-radius:14px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;transition:.16s}.goal-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(45,70,60,.09)}.goal-card.is-done{background:#eaf4e9;opacity:.75}.goal-card input{width:21px;height:21px;accent-color:#4d9f76;margin-top:2px}.goal-card h3{font-size:16px;margin:0 0 4px}.goal-card p{font-size:13px;color:#647772;margin:0;line-height:1.45}.goal-card button{border:0;background:#f5dfe1;color:#9e4050;border-radius:8px;padding:5px 8px;cursor:pointer}.goal-card.is-done h3{text-decoration:line-through}.empty-state{text-align:center;padding:42px}.empty-state span{font-size:44px}.empty-state h3{font:800 25px Georgia,serif;margin:8px 0}.empty-state p{color:#637772}
.custom-goal-card{display:grid;grid-template-columns:1fr 1.2fr;gap:25px;align-items:center;background:#fff2d8;border:1px solid #e6cfaa;border-radius:17px;padding:19px;margin-top:14px}.custom-goal-card h2{font:800 27px Georgia,serif;margin:3px 0}.custom-goal-card p{margin:0;color:#6b756b}.custom-goal-card form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.custom-goal-card label{display:grid;gap:5px}.custom-goal-card button{border:0;background:#ed706d;color:#fff;padding:13px 16px;border-radius:10px;font-weight:900;cursor:pointer}.danger-button{display:block;margin:14px 0 0 auto;border:1px solid #e0b7b5;background:#fff6f4;color:#a44444;padding:9px 12px;border-radius:9px;font-weight:850;cursor:pointer}
.tracker-help{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:62px}.tracker-help article{background:#fffdf5;border:1px solid #d9d4bd;border-radius:17px;padding:21px}.tracker-help article>span{font-size:33px}.tracker-help h2{font:800 25px Georgia,serif;margin:7px 0}.tracker-help p{color:#61746e;line-height:1.58}.tracker-toast{position:fixed;right:20px;bottom:20px;background:#073f51;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:70}.tracker-toast.show{opacity:1;transform:none}
@media(max-width:1050px){.tracker-shell{grid-template-columns:1fr}.tracker-summary{position:static;display:grid;grid-template-columns:auto 1fr;gap:15px;text-align:left}.progress-ring{grid-row:1/5;margin:0}.summary-actions{grid-template-columns:repeat(3,1fr)}.category-tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){:root{--tracker-shell:calc(100% - 24px)}.tracker-hero{min-height:520px}.tracker-hero__content{padding:50px 0 80px}.tracker-hero h1{font-size:49px}.tracker-shell{margin-top:-32px}.tracker-summary{display:block;text-align:center}.tracker-toolbar{grid-template-columns:1fr}.category-tabs{grid-template-columns:repeat(2,1fr)}.goal-grid{grid-template-columns:1fr}.custom-goal-card{grid-template-columns:1fr}.custom-goal-card form{grid-template-columns:1fr}.tracker-help{grid-template-columns:1fr}.category-heading{display:block}.category-meter{margin-top:12px}.summary-actions{grid-template-columns:1fr}}
@media print{.topbar,.tracker-hero,.summary-actions,.tracker-toolbar,.category-tabs,.custom-goal-card,.danger-button,.tracker-help,footer{display:none!important}.tracker-shell{display:block;margin:0;width:100%}.tracker-summary{box-shadow:none;border:0}.tracker-workspace{box-shadow:none;border:0}.goal-card{break-inside:avoid}.goal-card button{display:none}}
