:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#23342f;background:#f6f7f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.55}.shell{max-width:840px;margin:auto;padding:0 20px}.site-header{background:#fff;border-bottom:1px solid #e3e8df}.header-row{display:flex;justify-content:space-between;align-items:center;min-height:78px}.brand{font-size:22px;font-weight:700;letter-spacing:.08em;color:#285d45}.brand-sub{font-size:13px;color:#73877a}.page-heading{padding:36px 0 18px}h1{font-size:clamp(27px,5vw,38px);line-height:1.25;margin:6px 0 10px}h2{font-size:22px;margin:0 0 16px}.eyebrow{color:#5c866b;letter-spacing:.12em;font-size:13px;font-weight:700;margin:0}.muted,.hint{color:#64766b}.muted{margin:6px 0}.hint{font-size:14px;margin:14px 0 0}.card{background:#fff;border:1px solid #e2e8df;border-radius:18px;box-shadow:0 7px 24px rgba(30,65,43,.05);padding:24px;margin:16px 0 24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin:0}.pill{display:inline-block;border-radius:999px;background:#e8f2e9;color:#34734c;padding:3px 10px;font-size:13px;white-space:nowrap}.pill.paused,.pill.pending{background:#f3eee3;color:#906b2c}.task-list{border-top:1px solid #edf0e9;margin-top:18px}.task-row{display:flex;align-items:center;gap:17px;padding:18px 0;border-bottom:1px solid #edf0e9}.check-button{width:42px;height:42px;min-width:42px;border:2px solid #89ac91;border-radius:12px;background:#fff;color:#fff;padding:0;font-size:25px;line-height:1;cursor:pointer}.check-button.is-checked{background:#4f8b61;border-color:#4f8b61}.task-content{display:flex;flex-wrap:wrap;gap:7px 10px;align-items:baseline}.task-time{color:#4f8b61;font-weight:700}.task-title{font-size:19px;font-weight:600}.update-label{width:100%;font-size:13px;color:#a76526}.empty{color:#78867b;padding:12px 0}.message-list{margin:18px 0}.message{background:#f4f8f2;border-radius:13px;padding:12px 16px;margin:10px 0}.message time{font-size:13px;color:#718577}.message p{font-size:18px;margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.message .reply{font-size:15px;color:#326b43;border-top:1px solid #dfeadd;padding-top:9px;margin-top:10px}.message .reply.urgent{color:#a14528}.stack{display:grid;gap:12px;margin-top:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:14px}.wide{grid-column:1/-1}label{display:grid;gap:6px;font-weight:600;font-size:15px}input,select,textarea{width:100%;font:inherit;font-weight:400;padding:11px 13px;border:1px solid #cbd8cc;border-radius:9px;background:#fff;color:#23342f}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #cce6d3;border-color:#5b9a6c}button{font:inherit;font-weight:700;background:#3e8054;color:#fff;border:1px solid #3e8054;border-radius:10px;padding:11px 19px;cursor:pointer;min-height:44px}button:hover{background:#316e45}.secondary{background:#fff;color:#39784e}.secondary:hover{background:#eef6ef}.text-button{border:0;background:transparent;color:#4e765c;padding:6px}.text-button:hover{background:#eef6ef}.checkbox-label{display:flex;align-items:center;font-weight:400}.checkbox-label input{width:20px;height:20px}.notice{margin:18px 0;padding:12px 15px;border-radius:10px;background:#e8f2e9;color:#2d6943}.notice.error{background:#fff0e9;color:#a14528}.login-wrap{max-width:440px;margin:9vh auto}.admin-item{padding:16px 0;border-top:1px solid #e9eee7}.admin-item summary{cursor:pointer}.admin-item summary .pill{margin:0 8px}.admin-item .compact{margin:12px 0}.original{font-size:17px;white-space:pre-wrap;overflow-wrap:anywhere}.review{color:#39734a;background:#f1f8f1;border-radius:8px;padding:10px}.history{padding-left:20px;color:#53695a}.history li{padding:5px 0}.button-row{display:flex;gap:9px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.shell{padding:0 16px}.card{padding:20px 17px;border-radius:15px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.page-heading{padding-top:28px}.task-title{font-size:18px}}
:root .page-heading .wish{font-size:clamp(19px,4.3vw,23px);line-height:1.5;color:#476b54;margin:10px 0 0}
.admin-nav{display:flex;gap:16px;flex-wrap:wrap;padding-top:12px;padding-bottom:2px;font-size:14px}
.admin-nav a,a{color:#2e7047}.admin-nav a{text-decoration:none;padding:6px 0}.admin-nav a:hover,a:hover{text-decoration:underline}
.message-list{display:grid;gap:10px;margin:20px 0}.chat-row{display:flex}.mom-row{justify-content:flex-end}.assistant-row{justify-content:flex-start;margin-bottom:8px}.chat-bubble{max-width:82%;padding:10px 14px;border-radius:16px}.mom-bubble{background:#dff0e2;border-bottom-right-radius:4px}.assistant-bubble{background:#f0f3ef;border-bottom-left-radius:4px}.assistant-bubble.urgent{background:#fff0e9;color:#9b4429}.chat-name{font-size:12px;color:#61796b}.chat-bubble p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px}
.task-actions{align-items:stretch;margin-top:12px}.task-actions>button,.task-actions>form{flex:1;min-width:150px}.task-actions>form button{width:100%}.danger{color:#a14528;border-color:#bb7660}.danger:hover{background:#fff0e9}.minor-action{margin-top:10px}.day-list{list-style:none;padding:0;margin:14px 0}.day-list li{border-top:1px solid #e9eee7;padding:12px 0;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.day-list span{color:#64766b}
@media(max-width:600px){.chat-bubble{max-width:88%}.task-actions>button,.task-actions>form{min-width:0}}
.operation-day{border-top:1px solid #e9eee7;padding:12px 0}.operation-day>summary{cursor:pointer;font-weight:700;color:#2b6443}.operation-list{padding:6px 0 0 14px}.operation-item{border-left:3px solid #d8e8db;padding:8px 0 9px 14px;margin:8px 0}.operation-item time{font-size:13px;color:#64766b;margin-left:10px}.operation-item ul{margin:6px 0 0;padding-left:20px;color:#526a58}.operation-item li{padding:2px 0}.change-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.change-compare>div{background:#f5f8f4;padding:13px;border-radius:10px;min-width:0}.change-compare p{white-space:pre-wrap;overflow-wrap:anywhere}.proposal-field{border-top:1px solid #e9eee7;padding-top:16px}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f5f8f4;padding:16px;border-radius:10px}.field-updates{margin-top:22px;color:#526a58}.field-updates h3{font-size:17px}.field-updates ul{padding-left:20px}
@media(max-width:600px){.change-compare{grid-template-columns:1fr}}
.profile-group{display:grid;gap:12px;border:1px solid #e2e8df;border-radius:12px;padding:16px;margin:2px 0}.profile-group h3{margin:0 0 2px;color:#285d45}.profile-group label{min-width:0}
.assistant-bubble.is-typing{color:#506c59}.assistant-bubble.is-typing p::after{content:' ●';color:#4f8b61;animation:chat-pulse 1s ease-in-out infinite}.assistant-bubble.chat-error{background:#fff0e9;color:#9b4429}.chat-retry{display:block;margin-top:10px;padding:6px 12px;min-height:36px;font-size:14px}button:disabled{opacity:.65;cursor:wait}@keyframes chat-pulse{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.assistant-bubble.is-typing p::after{animation:none}}
.archive-chat-scroll{max-height:440px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #dbe7db;border-radius:14px;background:#fbfcfa;padding:16px;margin-top:18px}.archive-chat-scroll:focus{outline:3px solid #cce6d3}.archive-chat-turn{padding:12px 0;border-bottom:1px solid #e5ece4}.archive-chat-turn:first-child{padding-top:0}.archive-chat-turn:last-child{border-bottom:0;padding-bottom:0}.archive-chat-turn .chat-bubble{max-width:85%}.archive-chat-turn .assistant-row{margin-top:8px;margin-bottom:0}.archive-chat-turn .minor-action{text-align:right}.archive-chat-turn .minor-action button{font-size:13px;min-height:32px;padding:4px 10px}.archive-chat-scroll .chat-bubble p{font-size:16px}@media(max-width:600px){.archive-chat-scroll{max-height:360px;padding:12px}.archive-chat-turn .chat-bubble{max-width:92%}.section-heading>form button{font-size:13px;padding:7px 10px}}
.profile-change{border-top:1px solid #e9eee7;padding:10px 0}.profile-change:first-of-type{border-top:0}.profile-change>p{margin:10px 0 0;color:#526a58}.profile-save-dialog{border:1px solid #cbd8cc;border-radius:16px;padding:24px;max-width:min(440px,calc(100vw - 32px));width:100%;box-shadow:0 18px 55px rgba(25,48,34,.18);color:#23342f}.profile-save-dialog::backdrop{background:rgba(22,42,31,.35)}.profile-save-dialog p{margin:0 0 18px;font-size:18px}.profile-save-dialog button{width:100%}
.measurement-forms{border-top:1px solid #edf0e9;margin-top:22px;padding-top:12px}.measurement-forms h3{margin:4px 0}.measurement-forms form{border-top:1px solid #edf0e9;padding:10px 0 18px}.measurement-forms p{margin:0}.trend-controls{margin-bottom:16px}.trend-chart{margin:18px 0;border-top:1px solid #edf0e9;padding-top:12px}.trend-chart h3{margin:0 0 8px}.trend-chart svg{display:block;width:100%;height:auto}.chart-legend{font-size:14px;color:#53695a}.measurement-table{width:100%;border-collapse:collapse;font-size:14px}.measurement-table th,.measurement-table td{text-align:left;border-bottom:1px solid #e3e9e2;padding:8px 5px}
#trend-data-table{overflow-x:auto}.measurement-table{min-width:540px}
.measurement-form{display:grid;gap:12px;margin-top:14px}.measurement-fields{display:grid;gap:12px;align-items:end}.pressure-fields{grid-template-columns:repeat(2,minmax(0,150px)) max-content}.weight-fields{grid-template-columns:minmax(0,160px) max-content}.measurement-fields label{min-width:0}.measurement-fields input,.measurement-fields button{height:46px}.measurement-fields button{width:max-content;padding:8px 14px;white-space:nowrap}
#message-list.has-messages{max-height:420px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #dbe7db;border-radius:14px;background:#fbfcfa;padding:14px}#message-list:focus-visible{outline:3px solid #cce6d3}
@media(max-width:600px){.pressure-fields{grid-template-columns:repeat(2,minmax(0,1fr)) max-content;gap:8px}.measurement-fields button{padding:8px 10px}#message-list.has-messages{max-height:340px;padding:10px}}
.mom-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:1000;max-width:calc(100vw - 32px);width:max-content;margin:0;box-shadow:0 12px 32px rgba(25,48,34,.18);animation:mom-toast-exit 4.2s forwards}@keyframes mom-toast-exit{0%,85%{opacity:1}100%{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.mom-toast{animation:none}}
.flash-toast-stack{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:1000;display:grid;gap:8px;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.flash-toast-stack .flash-toast{margin:0;box-shadow:0 12px 32px rgba(25,48,34,.18);overflow-wrap:anywhere}
.trend-chart{position:relative}.chart-tooltip{position:absolute;z-index:2;transform:translate(-50%,-100%);background:#23342f;color:#fff;border-radius:8px;padding:7px 10px;font-size:13px;width:max-content;max-width:calc(100% - 16px);pointer-events:none;box-shadow:0 5px 16px rgba(0,0,0,.15)}.chart-tooltip[hidden]{display:none}.measure-records{border:1px solid #dbe7db;border-radius:10px;padding:12px 15px;margin:18px 0;background:#fbfcfa}.measure-records+ .measure-records{margin-top:22px}.measure-records summary{cursor:pointer;font-weight:700;color:#285d45}.measure-records .measurement-table{margin-top:12px}
.reset-button{background:#a14528;border-color:#a14528}.reset-button:hover{background:#84371f}
