@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#17221f;background:#f7f8f4}a{color:inherit;text-decoration:none}.brand{font-size:14px;font-weight:700;letter-spacing:.15em;display:flex;align-items:center;gap:12px}.logo{width:36px;height:36px;display:grid;place-items:center;background:#bcf359;color:#1b2c1e;border-radius:10px;font-weight:800;letter-spacing:0;font-size:20px}.badge{font-size:9px;letter-spacing:.14em;color:#a6b9ae;border-left:1px solid #496052;padding-left:15px;margin-left:6px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.intro{position:relative;overflow:hidden;background:#183b2c;color:#fff;padding:48px 7%;display:flex;flex-direction:column}.intro-content{margin:auto 0;position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:#779a83}.intro .eyebrow{color:#b7e880}.intro h1,.dash-top h1{font-size:clamp(38px,4vw,64px);line-height:1.22;letter-spacing:-.04em;margin:25px 0}.intro h1 span{color:#bbf25e}.sub{color:#b7cbbf;font-size:15px;line-height:2}.line{width:48px;height:2px;background:#baf35d;margin:40px 0 22px}.footnote{color:#9db4a5;font-size:12px}.decor{position:absolute;right:-90px;bottom:-200px;font-size:580px;line-height:1;color:#ffffff08}.login-side{display:flex;align-items:center;justify-content:center;position:relative;padding:70px 32px}.login-box{width:100%;max-width:370px}.small-icon{width:44px;height:44px;border-radius:12px;background:#e5f5d3;display:grid;place-items:center;color:#447334;font-size:23px;margin-bottom:38px}.login-box h2{font-size:32px;letter-spacing:-.04em;margin:12px 0}.muted{color:#85928a;font-size:14px;line-height:1.7}.login-box form{margin-top:38px}label{display:block;font-size:13px;font-weight:700;margin-bottom:22px}input{display:block;width:100%;border:1px solid #dce3dc;border-radius:9px;padding:15px;margin-top:10px;background:#fff;font:inherit;outline:none}input:focus{border-color:#7cae61;box-shadow:0 0 0 3px #ddefce}input::placeholder{color:#b0bab1;font-weight:400}button{cursor:pointer;font:inherit}.login-box button{width:100%;border:0;border-radius:9px;background:#1d4933;color:white;padding:16px 18px;font-weight:700;text-align:left}.login-box button span,.card-bottom span{float:right}.error{color:#b13939;font-size:13px}.help,.side-footer{font-size:12px;color:#a0aaa2}.help{text-align:center;margin-top:24px}.side-footer{position:absolute;bottom:30px;letter-spacing:.1em;font-size:9px}header{height:82px;border-bottom:1px solid #e4e9e2;display:flex;justify-content:space-between;align-items:center;padding:0 7%}.header-right{display:flex;gap:26px;align-items:center}.user{font-size:12px;color:#5a7962}.logout{border:0;background:none;color:#7c8980;font-size:12px}.dash-main{max-width:1200px;margin:auto;padding:100px 32px 120px}.dash-top{display:flex;justify-content:space-between;align-items:center}.dash-top h1{font-size:clamp(36px,4vw,52px);margin:20px 0 8px}.dash-top h1 span{color:#679a53}.dash-mark{font-size:90px;color:#cceaa7}.section-title{border-top:1px solid #dfe7dc;margin-top:85px;padding-top:32px;display:flex;justify-content:space-between;align-items:end}.section-title h2{font-size:22px;margin:10px 0 25px}.section-title h2 span{font-size:11px;background:#e6eee2;color:#71926a;padding:5px 8px;border-radius:20px;margin-left:8px}.section-title>p{color:#a0aaa1;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.card{min-height:260px;background:#fff;border:1px solid #e5ebe3;border-radius:14px;padding:24px;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 35px #1a3e2810}.card-top{display:flex;justify-content:space-between}.card-icon,.plus{width:42px;height:42px;display:grid;place-items:center;background:#e7f5d8;border-radius:12px;color:#528341;font-size:22px}.arrow{color:#aab7aa}.tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.1em;color:#739267;margin-top:25px}.card h3{margin:10px 0;font-size:17px}.card p{color:#99a59b;font-size:12px}.card-bottom{border-top:1px solid #edf1eb;margin-top:25px;padding-top:17px;font-size:12px;color:#598047;font-weight:700}.placeholder{border:1px dashed #d7e1d5;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.placeholder .plus{background:#edf2ea;color:#a2b49d}.placeholder h3{color:#9dab9e;font-size:14px;margin-top:20px}.placeholder:hover{transform:none;box-shadow:none}footer{border-top:1px solid #e4e9e2;padding:25px 7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#a2afa4}@media(max-width:700px){.login-layout{display:block}.intro{min-height:300px;padding:28px}.intro-content{margin:48px 0}.intro h1{font-size:36px}.decor{font-size:260px;bottom:-80px}.line,.footnote{display:none}.login-side{padding:55px 25px 85px}.small-icon{margin-bottom:25px}.dash-main{padding:60px 24px}.dash-mark{display:none}.section-title{margin-top:55px}.header-right{gap:10px}.user{max-width:100px;overflow:hidden;text-overflow:ellipsis}}
.success{color:#397044;font-size:13px}.login-box ul{padding-left:20px;color:#5a7962;font-size:14px;line-height:2}
select{font:inherit;border:1px solid #dce3dc;border-radius:9px;background:#fff;padding:11px;color:#263b30}label select{display:block;margin-top:10px;width:100%}.profile-details{background:#fff;border:1px solid #e5ebe3;border-radius:12px;padding:8px 18px;margin:28px 0;color:#7c8980;font-size:14px}.profile-details strong{float:right;color:#263b30}.member-row{padding:12px 0;border-bottom:1px solid #e4e9e2;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.login-box .member-row form{margin:0;display:flex;gap:6px}.login-box .member-row button{width:auto;padding:8px 12px;text-align:center;font-size:12px}
.family-login{background:#f8f4ec;color:#3b4136}.family-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr)}.family-welcome{position:relative;overflow:hidden;background:#e9e7d4;padding:42px clamp(35px,6vw,90px);min-height:700px}.family-brand{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.13em;color:#465746}.family-brand span:last-child{font-size:11px;font-weight:500;letter-spacing:0;color:#788777}.family-brand-icon{display:grid;place-items:center;width:34px;height:34px;background:#49674f;color:#fff;border-radius:11px;font-size:22px}.family-copy{position:relative;z-index:2;margin-top:clamp(70px,12vh,150px)}.family-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;color:#a27b58}.family-kicker span{color:#dfaa72;margin-left:10px}.family-copy h1{font-family:Georgia,'Songti SC',serif;font-size:clamp(42px,4.7vw,70px);line-height:1.3;letter-spacing:.02em;font-weight:600;margin:22px 0;color:#425844}.family-copy h1 em{font-style:normal;color:#b67650}.family-copy>p:not(.family-kicker){line-height:2;color:#788574;font-size:15px}.family-note{display:inline-flex;gap:10px;align-items:center;margin-top:22px;border:1px solid #d5d9c1;border-radius:30px;padding:9px 15px;color:#778471;font-size:12px;background:#f5f4e6aa}.family-note span{font-size:19px;color:#c3896d}.family-caption{position:absolute;bottom:30px;left:clamp(35px,6vw,90px);font-size:9px;letter-spacing:.16em;color:#879781;z-index:3}.family-caption span{color:#c68b6a}.home-illustration{position:absolute;right:-20px;bottom:0;width:470px;height:380px;opacity:.92}.hill{position:absolute;bottom:-115px;right:-90px;width:640px;height:240px;border-radius:50%;background:#c9d4b5}.house{position:absolute;right:105px;bottom:76px;width:175px;height:145px;background:#f8f0df;border-radius:5px 5px 8px 8px;z-index:2;box-shadow:0 12px 0 #b3c3a530}.roof{position:absolute;left:-25px;top:-92px;width:0;height:0;border-left:112px solid transparent;border-right:112px solid transparent;border-bottom:100px solid #c99075}.chimney{position:absolute;right:19px;top:-77px;width:23px;height:48px;background:#a87964;z-index:-1}.window{position:absolute;top:38px;width:36px;height:39px;background:#bed1bd;border:5px solid #fffaf0;border-radius:4px}.window.left{left:23px}.window.right{right:23px}.door{position:absolute;bottom:0;left:70px;width:39px;height:69px;background:#91a68c;border-radius:20px 20px 0 0}.door i{position:absolute;right:7px;top:36px;width:4px;height:4px;background:#f8edda;border-radius:50%}.sun{position:absolute;top:20px;right:75px;width:55px;height:55px;border-radius:50%;background:#f1c18d}.cloud{position:absolute;background:#f9f5e7;border-radius:30px;width:74px;height:16px;opacity:.8}.cloud-one{top:79px;right:185px}.cloud-two{top:42px;right:286px;width:45px}.tree{position:absolute;z-index:3;color:#91aa8b;font-size:80px;bottom:58px}.tree-one{right:286px}.tree-two{right:35px;font-size:65px}.family-signin{position:relative;display:flex;align-items:center;justify-content:center;padding:64px 42px 100px}.family-form{width:100%;max-width:370px}.welcome-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#f1e2d4;color:#bc8065;font-size:27px;margin-bottom:36px}.family-form h2{font-family:Georgia,'Songti SC',serif;font-size:38px;margin:12px 0;color:#384d3c}.family-form h2 span{color:#c4896c}.family-subtitle{color:#8b9585;font-size:14px}.family-form form{margin-top:38px}.family-form label{color:#596858}.family-form input{background:#fffdf8;border-color:#e5e6d9;padding:16px;border-radius:10px}.family-form input:focus{border-color:#91aa8b;box-shadow:0 0 0 3px #e4ebdb}.family-form button{width:100%;border:0;border-radius:10px;padding:17px 19px;text-align:left;background:#506e55;color:#fff;font-weight:700}.family-form button span{float:right}.family-help{font-size:12px;color:#9aa391;text-align:center;margin-top:28px}.family-help span{color:#c39370}.family-bottom{position:absolute;bottom:32px;font-size:11px;color:#a8b0a0;letter-spacing:.05em}.family-bottom span{color:#c9957a;margin-left:5px}@media(max-width:800px){.family-layout{display:block}.family-welcome{min-height:360px;padding:28px}.family-copy{margin-top:55px}.family-copy h1{font-size:38px;margin:14px 0}.family-copy>p:not(.family-kicker){font-size:13px}.family-note,.family-caption{display:none}.home-illustration{transform:scale(.56);transform-origin:bottom right;right:-30px}.family-signin{padding:55px 28px 90px}.welcome-icon{margin-bottom:25px}}
.permission-card{border:1px solid #e5ebe3;border-radius:12px;padding:18px;margin:14px 0;background:#fff}.login-box .permission-card form{margin:0;display:flex;gap:8px}.login-box .permission-card button{width:auto;padding:10px 18px}.member-row{flex-wrap:wrap}.member-row a{color:#598047}
.management{max-width:760px}.management-list{list-style:none;margin:18px 0;padding:0}.management-list>li{margin:10px 0}.management-list>li[hidden]{display:none}.management-link,.management-item{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e5ebe3;background:#fff;border-radius:12px;padding:18px}.management-link span,.member-info span{color:#849286;font-size:13px}.member-info{display:flex;flex-direction:column;gap:6px}.member-edit{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.member-edit button{border:0;border-radius:8px;background:#1d4933;color:#fff;padding:11px 16px}.member-actions{display:flex;gap:14px;align-items:center;font-size:13px}.member-action,.member-actions a{color:#598047}.member-actions .danger-link{color:#a43d38}.login-box .danger-button{background:#a43d38}.permission-card{list-style:none}.permission-card .member-edit{margin:0}@media(max-width:700px){.management-item{align-items:flex-start;flex-direction:column}.management-link{align-items:flex-start;flex-direction:column}}
.service-list{list-style:none;padding:0}.service-list>li[hidden]{display:none}.service-list>li>a.card{display:block;height:100%}
