:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#23342d;background:#f5f7f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #287b5d;--green-deep: #195c45;--muted: #7d8b83;--line: #e8ede9}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:#fff;background:#287b5d;font-size:22px;font-weight:700}.brand-mark.small{width:36px;height:36px;border-radius:12px;font-size:18px}.login-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);min-height:100vh}.login-intro{display:flex;flex-direction:column;justify-content:center;padding:9vw;color:#f6fbf7;background:radial-gradient(circle at 20% 18%,rgba(130,187,146,.25),transparent 34%),linear-gradient(145deg,#173f32,#246248 72%,#317451)}.login-intro .brand-mark{color:#24583e;background:#e0f1de}.eyebrow{margin:0 0 12px;color:#a8c3b2;font-size:11px;letter-spacing:2px;font-weight:700}.login-intro .eyebrow{margin-top:54px}.login-intro h1{margin:0;font-size:clamp(44px,5vw,70px);line-height:1.25;font-weight:600;letter-spacing:1px}.intro-copy{max-width:420px;margin-top:22px;color:#d2e1d6;line-height:1.9;font-size:16px}.intro-note{margin-top:58px;color:#d5e7da;font-size:13px}.intro-note span{margin-right:8px;color:#c4e0bb}.login-card{align-self:center;width:min(410px,calc(100% - 56px));margin:48px auto;padding:48px 42px;border:1px solid #edf0ed;border-radius:24px;background:#fff;box-shadow:0 18px 55px #29403014}.card-mark{display:inline-flex;padding:7px 12px;border-radius:99px;color:#347254;background:#edf6ef;font-size:12px}.login-card h2{margin:24px 0 8px;font-size:28px}.muted,.login-help{color:var(--muted);font-size:13px}.login-card label{display:block;margin:26px 0 8px;font-size:13px;font-weight:600}.login-card input{width:100%;height:48px;padding:0 14px;border:1px solid #e1e8e2;border-radius:10px;outline:0;background:#fbfcfb;transition:border .2s,box-shadow .2s}.login-card input:focus{border-color:#68a485;box-shadow:0 0 0 3px #287b5d1a}.primary-button{width:100%;height:48px;margin-top:28px;border:0;border-radius:10px;color:#fff;background:var(--green);font-weight:600;transition:background .2s}.primary-button:hover{background:var(--green-deep)}.primary-button:disabled{cursor:wait;opacity:.7}.login-help{margin:20px 0 0;text-align:center;line-height:1.7}.form-error,.inline-error{color:#b54845;font-size:13px}.form-error{margin:14px 0 -12px}.topbar{display:flex;height:70px;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:#fff}.brand-link,.topbar-right{display:flex;align-items:center}.brand-link{gap:10px;color:#294237;text-decoration:none;font-weight:700}.topbar-right{gap:22px;color:#54635b;font-size:13px}.text-button{padding:8px 0;border:0;color:#748078;background:transparent}.text-button:hover{color:var(--green)}.page-content{width:min(1120px,calc(100% - 48px));margin:38px auto 0}.welcome-panel{position:relative;display:flex;min-height:190px;align-items:center;justify-content:space-between;overflow:hidden;padding:34px 42px;border-radius:20px;color:#f6fbf7;background:linear-gradient(112deg,#235f46,#3c8661)}.welcome-panel .eyebrow{color:#c1dfc8}.welcome-panel h1{position:relative;z-index:1;margin:0;font-size:clamp(24px,3vw,34px);font-weight:600}.welcome-panel p:not(.eyebrow){position:relative;z-index:1;margin:12px 0 0;color:#d7e9dd;font-size:14px}.welcome-decoration{position:absolute;right:8%;top:-95px;color:#e2f4e41a;font-size:300px;line-height:1}.elder-picker{position:relative;z-index:2;display:flex;align-items:center;gap:10px;color:#e2efe5;font-size:12px}.elder-picker select{max-width:160px;padding:10px 30px 10px 12px;border:1px solid rgba(255,255,255,.3);border-radius:9px;color:#fff;background:#ffffff1f}.elder-picker option{color:#243b30;background:#fff}.tabs{display:flex;gap:8px;margin:24px 0 20px;padding:7px;overflow-x:auto;border:1px solid var(--line);border-radius:13px;background:#fff}.tabs button{display:inline-flex;min-width:max-content;align-items:center;gap:8px;padding:11px 17px;border:0;border-radius:9px;color:#738078;background:transparent;font-size:13px}.tabs button span{font-size:16px}.tabs button.active{color:var(--green-deep);background:#edf6ef;font-weight:600}.content-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.panel{padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 4px 18px #243f2d06}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading .eyebrow{color:#7eaa8c}.panel-heading h2,.today-card h2{margin:0;font-size:21px;font-weight:600}.profile-avatar{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;color:#347254;background:#eaf4eb;font-size:20px;font-weight:600}.profile-details{display:grid;gap:0;margin:22px 0 0}.profile-details div{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #f0f3f0;font-size:13px}.profile-details dt,.record-fields dt{color:#89948d}.profile-details dd,.record-fields dd{margin:0;color:#33463b;text-align:right;font-weight:500}.privacy-note{margin:18px 0 0;color:#99a39d;font-size:12px;line-height:1.7}.today-card>p:not(.eyebrow){margin:8px 0 22px;color:var(--muted);font-size:13px}.summary-list{border-top:1px solid #eff2ef}.summary-list button{display:flex;width:100%;align-items:center;gap:12px;padding:15px 0;border:0;border-bottom:1px solid #eff2ef;text-align:left;background:transparent}.summary-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;font-size:17px}.summary-icon.care{color:#54856a;background:#edf5ed}.summary-icon.meal{color:#c28e45;background:#fbf4e9}.summary-icon.fee{color:#7186a9;background:#eef2f8}.summary-list button>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px}.summary-list strong{color:#36483d;font-size:13px}.summary-list small{color:#909b93;font-size:11px}.summary-list b{color:#829087;font-size:11px;font-weight:500}.summary-list button:hover b{color:var(--green)}.detail-panel,.list-panel{min-height:260px}.profile-details.wide{grid-template-columns:1fr 1fr;column-gap:48px;margin-top:28px}.list-title{margin:26px 0 12px;color:#64756b;font-size:14px}.list-title.spaced{margin-top:34px}.record-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record-card{display:flex;gap:13px;padding:17px;border:1px solid #edf1ed;border-radius:12px;background:#fcfdfc}.record-indicator{width:3px;flex:0 0 3px;border-radius:9px;background:#81b091}.record-fields{display:grid;width:100%;gap:10px;margin:0}.record-fields div{display:grid;grid-template-columns:minmax(70px,.55fr) 1fr;gap:10px;font-size:12px;line-height:1.5}.record-fields dd{overflow-wrap:anywhere}.list-empty{margin:0;padding:24px;border-radius:10px;color:#929d95;text-align:center;background:#fafcfa;font-size:13px}.empty-card{max-width:510px;margin:80px auto;padding:48px;border:1px solid var(--line);border-radius:18px;text-align:center;background:#fff}.empty-icon{display:grid;width:58px;height:58px;place-items:center;margin:auto auto 18px;border-radius:50%;color:#43805e;background:#edf6ef;font-size:28px}.empty-card h2{margin:0;font-size:20px}.empty-card p{margin:12px 0 22px;color:var(--muted);font-size:13px;line-height:1.8}.outline-button{padding:10px 20px;border:1px solid #b7d0bf;border-radius:9px;color:var(--green);background:#fff}.center-state{display:flex;min-height:300px;flex-direction:column;align-items:center;justify-content:center;color:#89968e;font-size:13px}.center-state.compact{min-height:160px}.spinner{width:26px;height:26px;border:2px solid #deebe1;border-top-color:#46815d;border-radius:50%;animation:spin .8s linear infinite}.page-footer{padding:34px 0 22px;color:#9aa49d;text-align:center;font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.login-page{grid-template-columns:1fr;grid-template-rows:minmax(220px,33vh) 1fr}.login-intro{padding:30px 28px}.login-intro .brand-mark{width:40px;height:40px;border-radius:13px;font-size:18px}.login-intro .eyebrow{margin-top:24px;margin-bottom:6px;font-size:9px}.login-intro h1{font-size:35px}.intro-copy{display:none}.intro-note{margin-top:13px;font-size:11px}.login-card{width:min(430px,calc(100% - 36px));margin:22px auto 32px;padding:32px 26px}.login-card h2{margin-top:18px}.login-card label{margin-top:20px}.topbar{height:60px;padding:0 18px}.page-content{width:calc(100% - 28px);margin-top:20px}.welcome-panel{min-height:170px;align-items:flex-start;flex-direction:column;gap:16px;padding:25px 22px}.welcome-panel h1{font-size:24px}.welcome-panel p:not(.eyebrow){font-size:12px}.welcome-decoration{right:-15px;top:-25px;font-size:160px}.elder-picker{margin-top:3px}.tabs{gap:0;margin:16px 0 14px}.tabs button{padding:10px 12px;font-size:12px}.content-grid{grid-template-columns:1fr;gap:12px}.panel{padding:21px 18px}.panel-heading h2,.today-card h2{font-size:18px}.record-list,.profile-details.wide{grid-template-columns:1fr}.welcome-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-card{margin:45px auto;padding:32px 24px}}
