:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172f38;background:#f4f7f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{max-width:850px;margin:auto;padding:0 18px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid #dce6e7}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:18px}.brand small{display:block;color:#657c84;margin-top:3px}.logo{width:42px;height:42px;border-radius:13px;background:#123642;color:white;display:grid;place-items:center;font-weight:800;font-size:24px}main{padding:26px 0 40px}h1{font-size:27px;letter-spacing:-.7px;margin:0 0 10px}h2{font-size:20px;margin:0 0 20px}h3{font-size:16px;margin:26px 0 12px}p{line-height:1.55;color:#526a72}.intro{margin-bottom:22px}.intro p{margin:0}.panel{background:white;border:1px solid #e1e9ea;border-radius:18px;padding:24px;margin-bottom:18px;box-shadow:0 5px 20px #19394308}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stat{background:#123642;color:white;border-radius:17px;padding:20px}.stat span,.stat small{display:block;color:#bcd0d4;font-size:12px}.stat strong{display:block;font-size:29px;margin:8px 0 2px;font-variant-numeric:tabular-nums}.notice{border-left:4px solid #c39b4d;background:#fff9ed;border-radius:9px;padding:15px 18px;margin:18px 0}.notice p{margin:6px 0 0;font-size:13px}.notice.subtle{border-color:#8cb8ba;background:#eef7f7}.tabs{display:flex;gap:7px;margin:22px 0 12px}.tabs button{flex:1;background:transparent;color:#4b646b;border:1px solid #d3e0e2}.tabs button.active{background:#123642;color:white}form{display:grid;gap:15px}label{display:grid;gap:7px;font-weight:600;font-size:13px}input,select{width:100%;border:1px solid #cad9dc;border-radius:10px;padding:12px;font:inherit;background:#fff;color:#172f38;min-width:0}input:focus,select:focus{outline:2px solid #65a7aa;outline-offset:1px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{font:inherit;font-weight:650;border:0;border-radius:10px;padding:12px 16px;background:#176b72;color:white;cursor:pointer}button:hover{filter:brightness(.95)}button.secondary{background:#e5f0f0;color:#17545a}button.ghost,button.textbutton{background:transparent;color:#176b72}button.textbutton{padding:0;text-decoration:underline}.hint{font-size:13px}.preview{background:#edf5f5;padding:12px;border-radius:9px;font-weight:600}.record{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e6eded}.record small{display:block;color:#657a82;margin-top:4px}.record button{background:#fce9e7;color:#8e3029;padding:8px 11px;font-size:12px}.week{margin:14px 0}.weekhead{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.bar{height:10px;background:#e6eff0;border-radius:9px;overflow:hidden}.bar div{height:100%;background:#23888c;max-width:100%}#message{font-size:14px;color:#176b72;min-height:20px}footer{text-align:center;font-size:12px;color:#71878e;padding:20px}.hidden{display:none!important}@media(max-width:550px){.shell{padding:0 13px}header{padding:17px 0}.stats{gap:7px}.stat{padding:13px 10px;border-radius:12px}.stat strong{font-size:23px}.stat span{min-height:30px}.panel{padding:17px}.two{gap:9px}h1{font-size:25px}}

/* Mobile form layout: prevent date/select fields from colliding */
@media (max-width: 650px) {
  .two { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .two > * { min-width: 0; }
  input, select { max-width: 100%; }
}
