@charset "UTF-8";
:root{color-scheme:light;--ink:#242c28;--muted:#79817b;--line:#e5eae6;--sage:#64856e;--soft:#f0f5f1;--paper:#fff;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:15px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:#43654e;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sage);border-radius:9px;padding:11px 19px;background:var(--sage);color:#fff;font-weight:600;cursor:pointer;text-decoration:none;gap:8px}.button:hover,button:hover{filter:brightness(.96);text-decoration:none}.secondary{background:white;color:var(--ink);border-color:#d7dfd9}.danger{color:#814741;background:#fff;border-color:#c9aaa6}.text-button{padding:5px 0;background:none;border:0;color:var(--ink)}input,select{width:100%;min-height:46px;border:1px solid #dce3de;border-radius:8px;background:#fff;color:var(--ink);padding:11px 12px;outline:none}input:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 3px #64856e18}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}h1{font-size:clamp(27px,3vw,35px);letter-spacing:-1.1px;font-weight:620;line-height:1.2;margin:20px 0 10px}h2{font-size:20px;font-weight:620;letter-spacing:-.35px;margin:0 0 10px}h3{font-size:18px}p{line-height:1.65}strong{font-weight:600}.muted{color:var(--muted)}.small,small{font-size:12px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:#819286;margin:0 0 13px}.mark{width:37px;height:37px;border-radius:11px;background:var(--soft);color:#587c63;display:inline-flex;align-items:center;justify-content:center;font:600 27px Georgia,serif;flex-shrink:0}.brand{font-weight:650;color:var(--ink);display:flex;align-items:center;gap:10px;margin-bottom:58px;font-size:15px}.login{max-width:420px;padding:38px 26px;margin:9vh auto}.login>.mark{margin-bottom:28px}.login form{display:grid;gap:20px;margin:30px 0}.login h1{font-size:33px}aside{position:fixed;inset:0 auto 0 0;width:242px;border-right:1px solid var(--line);padding:34px 24px;display:flex;flex-direction:column}aside>.eyebrow{padding-left:12px}nav{display:grid;gap:7px}nav a{padding:14px 16px;color:#7b817d;border-radius:9px;font-weight:500}nav a.active{color:#42644d;background:var(--soft)}.aside-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:24px;display:grid;gap:5px}.workspace{margin-left:242px;padding:30px clamp(22px,4vw,70px);max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:35px}header .eyebrow{margin:0 0 6px}header .muted{font-size:12px}.badge{font-size:11px;font-weight:600;border-radius:20px;background:var(--soft);color:#52705c;padding:6px 11px;white-space:nowrap}.badge.neutral{background:#f4f4f4;color:#747a77}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.heading p{margin:8px 0 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;padding:24px 8px;margin:26px 0 38px;gap:0}.metrics>div{padding:8px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.metrics>div:last-child{border:0}.metrics .muted{font-size:12px}.metrics strong{font-size:31px;letter-spacing:-1px}.section{padding:28px 0;border-top:1px solid var(--line);margin-top:25px}.habit-row{display:grid;grid-template-columns:160px minmax(100px,1fr) 45px;gap:24px;align-items:center;padding:19px 0;border-bottom:1px solid #f1f3f1;font-size:13px}progress{width:100%;height:7px;border:0;border-radius:10px;background:#edf0ee;overflow:hidden}progress::-webkit-progress-bar{background:#edf0ee;border-radius:10px}progress::-webkit-progress-value{background:#71907a;border-radius:10px}progress::-moz-progress-bar{background:#71907a}.empty{padding:50px 20px;text-align:center;color:var(--muted);font-size:14px}.empty h2,.empty h3{color:#5d6f62}.notice{padding:15px 18px;border:1px solid #d9e7dd;background:#f5f9f6;border-radius:8px;margin:18px 0;color:#42684d;font-size:14px}.error{background:#fff9f8;border-color:#ebd4d1;color:#854b44}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:24px 0}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#fafcfb;color:#8b948e;font-size:10px;letter-spacing:.8px;text-transform:uppercase;font-weight:600}td,th{padding:19px 20px;border-bottom:1px solid var(--line);font-size:13px}th{font-size:10px}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);margin-top:4px}td a{font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;max-width:900px}.wide{grid-column:1/-1}.inline-form,.filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.inline-form label{flex:1;max-width:400px}.filters label{min-width:150px;flex:1}.search{display:flex;gap:12px;max-width:500px}.search input{flex:1;min-width:0}details{margin-top:25px}summary{padding:16px 0;cursor:pointer;color:#7c514b;font-size:13px}footer{border-top:1px solid var(--line);padding:28px 0;margin-top:60px;color:#8d978f;font-size:11px;display:flex;justify-content:space-between;gap:16px}@media(max-width:1000px){aside{width:195px;padding:28px 16px}.brand{font-size:13px;gap:7px}.workspace{margin-left:195px;padding:26px}.metrics{grid-template-columns:repeat(2,1fr);row-gap:20px}.metrics>div:nth-child(2){border:0}}@media(max-width:640px){aside{position:static;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 20px}aside>.eyebrow,.aside-bottom{display:none}nav{display:flex;gap:4px}nav a{flex:1;padding:11px 8px;text-align:center;font-size:12px}.workspace{margin:0;padding:22px 20px}header{margin-bottom:25px}header .badge{display:none}.heading{align-items:flex-start}.heading .button{padding:11px;font-size:12px;white-space:nowrap;margin-top:15px}.form-grid{grid-template-columns:1fr}.metrics{padding:16px 4px}.metrics>div{padding:7px 16px}.metrics strong{font-size:29px}.habit-row{grid-template-columns:90px 1fr 35px;gap:14px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters button{align-self:end}footer span{display:none}.inline-form{align-items:stretch;flex-direction:column}.table-wrap{border-radius:8px}td,th{padding:17px 15px}.section{padding-top:22px}.login{margin:5vh auto}}
.mobile-logout{display:none}@media(max-width:640px){.mobile-logout{display:block}.mobile-logout button{font-size:12px}}
