:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17201c;background:#f4f6f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(37,122,94,.12),transparent 310px),#f4f6f4}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(47,103,176,.25);outline-offset:2px}h1,h2,p{margin:0}h1{font-size:clamp(2.1rem,5vw,4.6rem);line-height:.94;letter-spacing:0}h2{font-size:1.15rem;line-height:1.2;letter-spacing:0}input,select{min-height:42px;width:100%;border:1px solid #d9e0dd;border-radius:8px;padding:0 11px;color:#17201c;background:#fff}.app-shell{width:min(1460px,calc(100vw - 32px));margin:0 auto;padding:28px 0 48px}.app-header,.header-actions,.panel-heading,.panel-heading span,.metric-panel,.unlock-row,.checkin-form,.primary-button,.tool-button,.user-chip,.alert-banner,.loading-screen{display:flex;align-items:center}.app-header{justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 5px;color:#257a5e;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.header-actions{gap:8px}.primary-button,.tool-button{min-height:42px;justify-content:center;gap:8px;border-radius:8px;padding:0 14px;font-weight:900}.primary-button{color:#fff;background:#17201c}.tool-button{color:#17201c;background:#fff;border:1px solid #d9e0dd}.user-chip{min-height:42px;gap:7px;padding:0 12px;border-radius:8px;color:#257a5e;background:#eef6f2;border:1px solid rgba(37,122,94,.18);font-weight:900}.login-main{min-height:430px;display:grid;place-items:center}.login-panel{width:min(520px,100%)}.login-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.login-tabs button{min-height:40px;border-radius:8px;color:#17201c;background:#f8faf8;border:1px solid #d9e0dd;font-weight:900}.login-tabs button.active{color:#fff;background:#17201c;border-color:#17201c}.login-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.55fr) auto;gap:9px}.login-form.leader>input{grid-column:1 / 3}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:14px}.metric-panel,.panel,.member-card{background:#fffffff0;border:1px solid #d9e0dd;border-radius:8px;box-shadow:0 18px 42px #17201c12}.metric-panel{gap:12px;min-height:92px;padding:18px}.metric-panel svg,.panel-heading svg{color:#257a5e;flex:0 0 auto}.metric-panel span,.member-card-header p,.subtle,.goal-main span,.checkin-form span,.total-progress span,.accountability-item span,.week-cell small{color:#69756f;font-size:.84rem}.metric-panel strong{display:block;margin-top:3px;font-size:1.7rem;line-height:1}.panel,.member-card{padding:18px}.panel{margin-bottom:14px}.panel-heading{gap:8px;margin-bottom:14px}.panel-heading.split{justify-content:space-between;align-items:flex-start;gap:12px}.panel-heading.split span{gap:8px}.accountability-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.accountability-item{display:grid;gap:12px;padding:12px;border-radius:8px;background:#f8faf8;border:1px solid #e4e9e6}.accountability-item>div:first-child{display:grid;gap:2px}.mini-bars{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-bars>div{display:grid;gap:5px}.mini-bars strong{font-size:.95rem}.bar{height:9px;overflow:hidden;border-radius:999px;background:#e4e9e6}.bar i{display:block;height:100%;border-radius:inherit;background:#257a5e}.add-member-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1fr) minmax(130px,.7fr) 98px auto;gap:9px}.members-stack{display:grid;gap:14px}.member-card-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.member-card.is-mine{border-color:#257a5e47;box-shadow:0 22px 52px #257a5e1f}.member-score{min-width:94px;display:grid;place-items:center;align-content:center;border-radius:8px;background:#eef6f2;color:#257a5e}.member-score strong{font-size:1.6rem;line-height:1}.member-score span{font-size:.78rem;font-weight:900}.unlock-row{gap:8px;max-width:420px;margin-bottom:14px}.admin-unlock-row{display:flex;align-items:center;gap:8px;max-width:440px;margin-bottom:14px}.admin-unlock-row input{max-width:160px}.unlock-row input{max-width:130px}.weeks-header,.goal-row{display:grid;grid-template-columns:minmax(260px,1.15fr) repeat(5,minmax(82px,.42fr));gap:8px;align-items:stretch}.weeks-header{margin-bottom:8px;color:#69756f;font-size:.78rem;font-weight:900;text-transform:uppercase}.weeks-header span:not(:first-child){text-align:center}.goals-list{display:grid;gap:10px}.goal-row{padding:12px;border:1px solid #e1e6e3;border-radius:8px;background:#fff}.goal-main{min-width:0;display:grid;gap:10px}.goal-main strong,.goal-main span{display:block;overflow-wrap:anywhere}.goal-context{display:grid;gap:4px}.total-progress{display:grid;gap:5px}.week-cells{display:contents}.week-cell{min-height:72px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:8px;border:1px solid #e1e6e3;background:#f8faf8}.week-cell.pass{color:#257a5e;background:#eef6f2;border-color:#257a5e38}.week-cell.miss{color:#c4493d;background:#fff1ef;border-color:#c4493d38}.week-cell.blank{color:#8a948f}.week-cell strong{font-size:.88rem}.checkin-form{grid-column:1 / -1;gap:8px;margin-top:2px;padding-top:12px;border-top:1px solid #e7ece9}.checkin-form>div{min-width:124px;display:grid}.checkin-form input:nth-of-type(1){max-width:190px}.goal-form{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) 140px minmax(180px,1.1fr) minmax(180px,1.1fr) 150px 150px auto;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e7ece9}.admin-member-list{display:grid;gap:8px;margin-top:14px}.admin-member-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(190px,1.2fr) minmax(110px,.7fr) 98px auto;gap:8px;align-items:center;padding:10px;border:1px solid #e1e6e3;border-radius:8px;background:#fff}.check-label{min-height:42px;display:flex;align-items:center;gap:8px;color:#17201c;font-weight:900}.check-label input{width:18px;min-height:18px}.form-title{grid-column:1 / -1;color:#69756f;font-size:.82rem;font-weight:900;text-transform:uppercase}.empty-line{padding:16px;border:1px dashed #cbd5d0;border-radius:8px;color:#69756f}.alert-banner{gap:8px;margin-bottom:14px;padding:12px 14px;border-radius:8px;color:#7a261f;background:#fff1ef;border:1px solid rgba(196,73,61,.22)}.loading-screen{min-height:100vh;justify-content:center;gap:10px;color:#257a5e;font-weight:900}.spin{animation:spin 1s linear infinite}.toast{position:fixed;right:18px;bottom:18px;z-index:20;padding:12px 14px;border-radius:8px;color:#fff;background:#17201c;box-shadow:0 16px 34px #17201c33;font-weight:900}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.summary-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.goal-form,.add-member-form,.admin-member-row,.login-form{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-form .primary-button,.add-member-form .primary-button,.admin-member-row .primary-button,.login-form .primary-button{grid-column:1 / -1}}@media(max-width:820px){.app-shell{width:min(100vw - 20px,760px);padding-top:18px}.app-header,.member-card-header,.checkin-form{align-items:flex-start;flex-direction:column}.summary-grid,.goal-form,.add-member-form,.admin-member-row,.login-form{grid-template-columns:1fr}.header-actions{width:100%;flex-wrap:wrap}.header-actions .tool-button,.user-chip{flex:1 1 130px}.login-form.leader>input{grid-column:auto}.weeks-header{display:none}.goal-row{grid-template-columns:1fr}.week-cells{display:grid;grid-template-columns:repeat(5,minmax(58px,1fr));gap:6px}.week-cell{min-height:62px}.checkin-form{grid-column:auto}.checkin-form input,.checkin-form input:nth-of-type(1),.checkin-form button{width:100%;max-width:none}}
