:root{color:#1f2328;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{min-height:42px;border:0;border-radius:6px;padding:0 16px;color:#fff;background:#174c4f;cursor:pointer}button.ghost-button{color:#174c4f;background:transparent;border:1px solid #174c4f}button.primary-button{color:#fff;background:#174c4f}button.full-width{width:100%}input,select,textarea{width:100%;border:1px solid #c8c0b1;border-radius:6px;padding:11px 12px;color:#1f2328;background:#fff}textarea{resize:vertical}label{display:grid;gap:7px;color:#4f463b;font-size:.92rem;font-weight:650}.app-shell{width:min(1060px,calc(100% - 32px));margin:0 auto;padding:32px 0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{margin:0 0 5px;color:#8a5b2f;font-size:.78rem;font-weight:800;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,6vw,4.4rem);line-height:.98}h2{margin-bottom:10px;font-size:1.25rem}.panel{border:1px solid #d8d0c1;border-radius:8px;padding:22px;background:#fffdf8;box-shadow:0 10px 30px #362b1e14}.auth-panel{max-width:400px;margin:40px auto}.field-grid{display:grid;gap:16px;margin-top:18px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.dashboard{display:grid;gap:24px}.current-goal{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:linear-gradient(135deg,#174c4f,#1a5a5e);color:#fff;border-radius:8px}.current-goal h2{color:#fff;margin-bottom:4px}.current-goal p{color:#dfeceb;margin-bottom:0}.week-meta{padding:8px 16px;background:#ffffff26;border-radius:20px;font-weight:600;font-size:.9rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.calendar{display:grid;gap:16px}.calendar-week{border:1px solid #e1dacd;border-radius:6px;overflow:hidden}.week-label{padding:8px 12px;background:#e8e3d8;font-weight:650;font-size:.85rem;color:#4f463b}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e1dacd}.calendar-day{padding:12px 8px;background:#fff;text-align:center;cursor:pointer;transition:background .2s}.calendar-day:hover{background:#f8f6f1}.calendar-day.today{background:#dfeceb;font-weight:650}.calendar-day .day-name{display:block;font-size:.85rem;color:#756b5f;margin-bottom:4px}.calendar-day .status-text{display:block;font-size:.75rem;font-weight:600}.calendar-day.unrecorded .status-text{color:#c8c0b1}.calendar-day.nothing .status-text{color:#8a5b2f}.calendar-day.failed .status-text{color:#c44}.calendar-day.passed .status-text{color:#2a7}.editor-panel{padding:24px}.note-field{margin-bottom:20px}.note-field textarea{min-height:120px}.status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-button{padding:12px;font-weight:600;transition:transform .1s}.status-button:hover{transform:translateY(-2px)}.status-button.neutral{background:#8a5b2f}.status-button.failed{background:#c44}.status-button.passed{background:#2a7}.state-pill{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:650}.state-pill.unrecorded{background:#e8e3d8;color:#756b5f}.state-pill.nothing{background:#f5e6d3;color:#8a5b2f}.state-pill.failed{background:#fdd;color:#c44}.state-pill.passed{background:#d4ebf7;color:#2a7}.message-area{position:fixed;bottom:20px;right:20px;padding:12px 20px;background:#174c4f;color:#fff;border-radius:6px;font-weight:600;opacity:0;transition:opacity .3s;pointer-events:none}.message-area:not(:empty){opacity:1}@media(max-width:760px){.app-header,.current-goal,.panel-head{align-items:stretch;flex-direction:column}.week-days{grid-template-columns:repeat(4,1fr)}.status-actions,.field-grid{grid-template-columns:1fr}}
