:root{font-family:Microsoft YaHei,PingFang SC,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0}a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}aside{width:220px;position:fixed;inset:0 auto 0 0;background:var(--paper);border-right:1px solid var(--line);padding:28px}aside a{display:block;padding:12px}h1{font-size:21px}main{margin-left:220px;padding:40px;max-width:1500px}@media(max-width:760px){aside{display:none}main{margin:0;padding:22px 18px calc(32px + env(safe-area-inset-bottom))}}:root{--ink: #243b30;--green: #287554;--green-hover: #206144;--accent: #3d9f78;--canvas: #f5f8f6;--paper: #fff;--line: #e0e7e2;--muted: #64776d;--rose: #f8e7e9;--mint: #e8f4ec;--selected: linear-gradient(110deg, #53b78d, #3b9c74);--danger: #a2354b;--radius: 16px;--page-nav-gap: 24px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-family:PingFang SC,Microsoft YaHei,sans-serif;font-weight:700;letter-spacing:0;font-size:28px;margin:0 0 10px}h1 span{display:block;font:14px Microsoft YaHei,sans-serif;letter-spacing:.2em;margin-top:10px}h2{font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:30px;line-height:1.4;margin:20px 0}h3{font-size:18px;margin:0 0 16px}small{color:var(--muted);font-size:12px}p{line-height:1.7}aside>p{font-size:12px;margin-bottom:32px}aside a{border-radius:12px;color:var(--muted);margin-bottom:5px}@media(hover:hover){aside a:hover{background:var(--canvas);color:var(--green)}}aside a.active{background:var(--selected);color:#fff;font-weight:700}.subnav{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.subnav a{font-size:13px;padding:9px 12px}main>header{display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:20px}header select{max-width:60%;width:auto;padding:8px 12px}button,.button{display:inline-block;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:10px;padding:10px 16px;cursor:pointer;line-height:1.5;font-size:14px}@media(hover:hover){button:hover,.button:hover{background:var(--green-hover)}}button:disabled{opacity:.5;cursor:wait}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:11px 12px;min-width:0}textarea{min-height:120px;resize:vertical}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted);margin-bottom:16px}input[type=file]{padding:12px;font-size:13px}form{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin:20px 0}article form{padding:0;border:0;background:transparent;margin:14px 0}article form:has(>button:only-child){display:inline-block;margin-right:8px}article,section:not(.pregnancy){background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin:18px 0}article h3 span{float:right;font-family:Consolas,monospace}article small{display:block}.page-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-title h2{margin:22px 0}.page-create{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.page-create>span{font-size:20px;line-height:1}@media(max-width:760px){.page-title-list{position:relative;margin:0}.page-title-list .page-create{display:none}.page-title-list h2,.page-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.page-title-new h2,.page-title-detail h2{margin:0 0 18px;font-size:22px}}.tabs,.links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.tabs button{background:#fff;color:var(--ink);border-color:var(--line)}.tabs button[aria-pressed=true]{background:var(--green);color:#fff}@media(hover:hover){.tabs button:not([aria-pressed=true]):hover,.pagination button:not(:disabled):hover{background:var(--mint);color:var(--green)}}.tabs>a,.tabs>span,.links a{background:var(--mint);padding:9px 14px;border-radius:7px}.summary{display:flex;gap:12px;flex-wrap:wrap;background:var(--mint);border-radius:12px;padding:20px;margin:18px 0}.summary>div{flex:1;min-width:95px}.summary small,.summary strong{display:block}.summary strong{font-family:Consolas,Microsoft YaHei,monospace;font-size:23px;margin-top:8px}.pregnancy{padding:30px 32px;background:var(--mint);border:1px solid #d5e9dd;border-radius:20px;margin:24px 0 20px;position:relative;overflow:hidden}.pregnancy:after{content:"";width:110px;height:110px;border:1px solid #b5d9c4;border-radius:50%;position:absolute;right:-25px;top:-30px;pointer-events:none}.pregnancy h2{margin:4px 0 22px}.pregnancy-line{display:flex;justify-content:space-between;gap:18px;align-items:baseline;border-bottom:3px solid #b5d9c4;padding-bottom:18px}.pregnancy-line strong{font:700 36px PingFang SC,Microsoft YaHei,sans-serif;color:var(--green)}.pregnancy p{font-size:13px;margin-bottom:8px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-grid section{margin:0}.dashboard-grid section h3{display:flex;justify-content:space-between;gap:10px}.dashboard-grid h3 a{font-size:12px;font-weight:400}.dashboard-grid strong{font-family:Consolas,Microsoft YaHei,monospace;font-size:24px}.dashboard-grid .recent{background:var(--mint)}.quick-entry-ball,.quick-entry-menu{display:none}.row-link{display:block;border-top:1px solid var(--line);padding:12px 0}.empty{color:var(--muted);padding:16px 0}.error{background:var(--rose);color:#8c263d;padding:16px;border-radius:8px;overflow-wrap:anywhere}.error button{margin-left:10px}.skeleton{display:grid;gap:18px;margin:24px 0}.skeleton div{height:95px;border-radius:12px;background:linear-gradient(100deg,#e5ede7,#fafcfb,#e5ede7);background-size:200% 100%;animation:load 1.4s ease infinite}@keyframes load{to{background-position:200% 0}}.pagination{display:flex;gap:16px;align-items:center;margin:24px 0}.pagination button{background:#fff;color:var(--green);border-color:var(--line)}.pagination button:disabled{cursor:default}dl{background:#fff;border-radius:12px;padding:22px}dl>div{display:grid;grid-template-columns:150px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}dt{font-size:13px;color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}figure{margin:20px 0;padding:24px;background:#fff;border-radius:12px;border:1px solid var(--line)}figure svg{width:100%;height:auto}figure text{fill:var(--muted);font-size:12px}figcaption{font-size:13px;color:var(--muted);margin-bottom:12px}.preserve{white-space:pre-wrap}.qr{display:block;width:240px;max-width:100%;border-radius:12px}.attachment-preview{display:block;max-width:100%;max-height:70vh;margin:14px 0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #72b89a;outline-offset:3px}@media(min-width:1100px){form:not(article form){display:grid;grid-template-columns:1fr 1fr;gap:0 20px}form>button,form>.error{grid-column:1/-1;justify-self:start}form>label:has(textarea){grid-column:1/-1}}@media(max-width:760px){.dashboard-grid .desktop-quick-entry{display:none}.quick-entry-ball{display:flex;position:fixed;right:18px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;width:68px;height:68px;padding:6px;border-radius:50%;flex-direction:column;align-items:center;justify-content:center;font-size:12px;box-shadow:0 5px 18px #3d9f7840}.quick-entry-ball span{font-size:26px;line-height:1}.quick-entry-menu:popover-open{display:grid;position:fixed;inset:auto 18px calc(104px + env(safe-area-inset-bottom)) auto;margin:0;width:190px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 122px - env(safe-area-inset-bottom));overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 8px 30px #243b3026}.quick-entry-menu a{padding:12px 16px;min-height:44px;border-radius:8px}@media(hover:hover){.quick-entry-menu a:hover{background:var(--mint)}}h2{font-size:26px}.pregnancy{padding:24px 20px}.pregnancy-line strong{font-size:30px}.pregnancy-line{align-items:start;flex-direction:column;gap:10px}.dashboard-grid{display:flex;flex-direction:column;gap:16px}article,section:not(.pregnancy){padding:20px}form{padding:20px}.summary{padding:16px;gap:16px}.summary strong{font-size:21px}.page-title .button{padding:8px 12px}dl>div{grid-template-columns:100px 1fr}article h3 span{float:none;margin-left:10px}.links a{flex:1;text-align:center;min-width:90px}main>header{font-size:12px}.pagination{gap:12px}}.mobile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar-module{display:none}.toolbar-create{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border-radius:10px}.toolbar-create svg{width:22px;height:22px}.mobile-drawer{--drawer-green: var(--accent);--drawer-muted: var(--muted);width:min(80vw,340px);max-width:none;height:100dvh;max-height:none;inset:0 auto 0 0;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden}.mobile-drawer[open]{display:flex;flex-direction:column;animation:drawer-in .18s ease-out}.mobile-drawer::backdrop{background:#18231f66}.mobile-drawer svg,.drawer-toggle svg{width:24px;height:24px;flex-shrink:0}.drawer-brand{display:flex;align-items:center;gap:12px;padding:max(48px,env(safe-area-inset-top)) 18px 26px;border-bottom:1px solid #f0f3f1;position:relative}.drawer-brand h2{font:700 19px/1.5 PingFang SC,Microsoft YaHei,sans-serif;margin:0}.drawer-brand p{color:var(--drawer-muted);font-size:12px;margin:5px 0 0}.drawer-logo{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#49ae87,#9bbaa1 55%,#e4a4b2);box-shadow:0 5px 15px #4eae8424}.drawer-logo svg{width:25px;height:25px}.drawer-close{position:absolute;right:8px;top:7px;padding:8px;color:var(--drawer-muted);background:transparent;border:0}@media(hover:hover){.drawer-close:hover{color:var(--ink);background:var(--canvas)}}.drawer-links{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 12px}.drawer-links a{display:flex;align-items:center;gap:18px;min-height:55px;padding:14px 18px;margin-bottom:5px;border-radius:15px;font-size:18px;color:var(--drawer-muted)}.drawer-links a.active{color:#fff;background:var(--selected);box-shadow:0 6px 14px #42aa7c26}@media(hover:hover){.drawer-links a:not(.active):hover{background:var(--canvas);color:var(--drawer-green)}}.drawer-footer{display:flex;flex-shrink:0;gap:10px;border-top:1px solid #f0f3f1;padding:16px 18px calc(16px + env(safe-area-inset-bottom))}.drawer-footer a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;background:var(--canvas);color:var(--drawer-muted);border-radius:10px;font-size:15px}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(max-width:760px){.toolbar-module{display:flex;align-items:center;gap:4px;flex-shrink:0;max-width:calc(100% - 64px)}.mobile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:30;margin:-22px -18px 0;padding:12px 18px;background:#fff;border-bottom:1px solid #eaf0ec;color:var(--ink);font-size:15px;font-weight:600}.drawer-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;background:#fff;color:var(--ink);border:1px solid #e0e7e2;border-radius:10px}@media(hover:hover){.drawer-toggle:hover{background:var(--canvas)}}.quick-entry-ball{background:var(--green);box-shadow:0 5px 18px #3d9f7840}}.record-search{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px 20px}.record-search label{flex:1;min-width:120px;margin-bottom:0}.record-search input{height:44px}.record-search button{height:44px;flex-shrink:0;white-space:nowrap}.record-count,.list-load-more{color:var(--muted);font-size:14px}.list-load-more{text-align:center;padding:16px 0;min-height:48px}@media(prefers-reduced-motion:reduce){.mobile-drawer[open],.skeleton div{animation:none}}:root[data-input=pointer] :is(button,a):focus{outline:none}.toolbar-family{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;margin-left:auto}.current-family{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:14px}.family-toggle{flex-shrink:0;padding:8px;font-size:13px}.family-menu{position:fixed;inset:76px 18px auto auto;margin:0;width:min(300px,calc(100vw - 36px));padding:18px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--paper);box-shadow:0 8px 24px #243b301a}.family-menu label{margin:0}@media(min-width:761px){.mobile-toolbar{padding-bottom:18px;margin-bottom:0;border-bottom:1px solid var(--line);font-size:15px;font-weight:600}.drawer-toggle{display:none}.family-menu{top:94px;right:40px}}.page-content{display:flow-root;padding-top:var(--page-nav-gap)}.page-content>:first-child,.page-content>.page-title:first-child h2{margin-top:0}@media(max-width:760px){.page-content>.page-title-list+*,.page-content>.page-heading+*{margin-top:0}}@media(max-width:760px){.mobile-toolbar:has(.toolbar-family) .toolbar-brand{display:none}.toolbar-family{flex:1}.drawer-toggle{min-width:0;flex-shrink:1}.drawer-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}aside{overflow-y:auto;padding:28px 20px}aside nav a{display:flex;align-items:center;gap:12px;min-height:48px}aside nav svg{width:22px;height:22px;flex-shrink:0}button,.button{min-height:44px}.button-secondary{color:var(--green);background:var(--paper);border-color:var(--line)}@media(hover:hover){.button-secondary:hover{color:var(--green-hover);background:var(--mint);border-color:#b5d9c4}}.button-danger{color:var(--danger);background:#fff7f8;border-color:#ecc6cf}@media(hover:hover){.button-danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}}.button-quiet{background:transparent;border-color:transparent;color:var(--green)}@media(hover:hover){.button-quiet:hover{background:var(--mint);color:var(--green-hover)}}button:disabled{cursor:default}input,select,textarea{accent-color:var(--green)}input[type=file]::file-selector-button{background:var(--mint);color:var(--green);border:0;border-radius:8px;padding:8px 12px;margin-right:12px;font:inherit;cursor:pointer}.dashboard-grid .dashboard-priority{border-top:3px solid var(--accent)}.dashboard-grid .dashboard-priority>p{color:var(--muted)}.dashboard-grid .recent{background:var(--paper)}.recent-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.recent-item p{margin:0 0 5px;font-size:14px}.type-badge{display:inline-block;padding:4px 9px;border-radius:8px;background:var(--mint);color:var(--green);font-size:12px;white-space:nowrap}.record-card{padding:18px 22px;margin:12px 0}.record-card h3{margin:0 0 8px;font-size:17px;line-height:1.6}.record-card p{margin:6px 0;font-size:14px;color:var(--muted)}.record-card small{margin-top:9px}.record-card h3 .record-amount{float:none;display:inline-block;margin-left:10px;font-size:14px;color:var(--muted);font-weight:400}.category-filters button{display:flex;align-items:center;gap:10px;min-height:44px;border-radius:22px;padding:9px 14px;color:var(--muted);border-color:var(--line);background:var(--paper)}.category-filters small{color:var(--muted);font-weight:400}.category-filters button[aria-pressed=true]{background:var(--mint);color:var(--green);border-color:var(--accent)}.category-filters button[aria-pressed=true] small{color:var(--green)}.tabs button[aria-pressed=true]{border-color:var(--green);font-weight:700}.empty{padding:18px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--canvas);font-size:14px}.form-section{min-width:0;padding:18px 0 4px;border:0;border-top:1px solid var(--line);margin:16px 0;grid-column:1/-1}.form-section legend{font-size:16px;font-weight:700;color:var(--ink);padding-right:12px}.form-hint{margin:0 0 16px;color:var(--muted);font-size:13px}.field-requirement{display:inline;margin-left:5px;font-size:11px}.form-fields label:has(textarea){grid-column:1/-1}.attachments article{padding:14px 18px}.attachments article>span{display:block;overflow-wrap:anywhere;margin-bottom:8px}.processing-status{background:var(--mint);color:var(--green);padding:14px 18px;border-radius:12px;font-size:14px}.feedback{position:fixed;z-index:50;top:20px;left:50%;transform:translate(-50%);max-width:min(480px,calc(100vw - 36px));pointer-events:none}.feedback>div{display:flex;align-items:center;gap:10px;border:1px solid #b5d9c4;padding:6px 8px 6px 16px;border-radius:12px;box-shadow:0 6px 24px #243b301a;background:var(--paper);color:var(--green);font-size:14px;pointer-events:auto}.feedback button{padding:6px 10px;flex-shrink:0}.import-history{display:flex;gap:10px;flex-wrap:wrap}.import-history button[aria-pressed=true]{background:var(--mint);border-color:var(--accent)}.weight-chart figcaption span{display:block;margin-top:8px}.weight-chart figcaption b{color:var(--green);font-size:18px}.weight-chart text{font-size:15px}details summary{cursor:pointer;color:var(--green);font-size:13px;padding:12px 0}summary:focus-visible{outline:3px solid #72b89a;outline-offset:3px}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}@media(min-width:1100px){.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}}@media(max-width:760px){main:has(.quick-entry-ball){padding-bottom:calc(116px + env(safe-area-inset-bottom))}.record-card{padding:16px 18px}.record-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px}.record-search label{min-width:0}.record-search .search-clear{grid-column:1/-1;justify-self:start;padding:0 4px}.feedback{top:auto;bottom:calc(108px + env(safe-area-inset-bottom));width:calc(100vw - 36px)}.feedback>div{justify-content:space-between}.weight-chart{padding:18px 12px}.weight-chart text{font-size:20px}}
