:root{--ink:#243342;--muted:#718096;--green:#356b58;--green-dark:#285442;--cream:#f8f7f2;--line:#e8e8e1;--gold:#e3bb71;--white:#fff;--rose:#a64b4b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:15px/1.6 "DM Sans",Arial,sans-serif}.container{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{height:78px;padding:0 max(20px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--green);color:#fff;font-family:"Playfair Display",serif;font-size:23px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.04em}.site-header nav{display:flex;align-items:center;gap:25px}.site-header nav a{color:var(--ink);font-size:13px;text-decoration:none}.site-header nav .nav-admin{color:var(--green);font-weight:700}.hero{min-height:395px;margin:28px 0 54px;padding:55px 7%;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;border-radius:22px;background:linear-gradient(120deg,#315f50,#427b63);color:#fff}.hero-copy{position:relative;z-index:2}.eyebrow{display:block;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.hero .eyebrow{color:#e5ca91}.hero h1,.admin-card h1,.dashboard-head h1{font:600 clamp(36px,5vw,58px)/1.08 "Playfair Display",Georgia,serif;letter-spacing:-.025em;margin:12px 0 15px}.hero p{max-width:450px;color:#e5eee8;font-size:16px;margin:0 0 27px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:0 19px;border:0;border-radius:8px;background:var(--green);color:#fff;text-decoration:none;font:600 13px "DM Sans",Arial,sans-serif;cursor:pointer;transition:background .15s,transform .15s}.button:hover{background:var(--green-dark);transform:translateY(-1px)}.button-light{background:#fff;color:var(--green)}.button-light:hover{background:#f3ead9;color:var(--green-dark)}.button-outline{background:#fff;border:1px solid var(--line);color:var(--ink)}.button-outline:hover{background:var(--cream)}.button-small{min-height:33px;padding:0 12px;font-size:12px}.button-danger{background:#fff;color:var(--rose);border:1px solid #efd8d8}.button-danger:hover{background:#fff2f2}.hero-art{height:285px;position:relative}.sun{position:absolute;right:16%;top:2%;width:98px;height:98px;background:#d6ad68;border-radius:50%;opacity:.94}.tree-trunk{position:absolute;z-index:2;right:43%;bottom:0;width:35px;height:136px;background:#8d6748;border-radius:18px 18px 2px 2px;transform:rotate(-2deg)}.tree-crown{position:absolute;z-index:3;width:112px;height:112px;background:#65916d;border:4px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:inset -12px -10px 0 rgba(31,81,61,.16)}.crown-a{right:34%;top:26%}.crown-b{right:55%;top:42%;width:90px;height:90px;background:#7ca17b}.crown-c{right:15%;top:42%;width:94px;height:94px;background:#7b9f73}.crown-d{right:42%;top:9%;width:94px;height:94px;background:#83a47d}.crown-e{right:30%;top:54%;width:74px;height:74px;background:#90aa7a}.tree-caption{position:absolute;bottom:4px;right:1%;color:#dce9dd;font:italic 15px "Playfair Display",Georgia,serif}.section{padding:0 0 52px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:21px}.section-heading h2,.admin-section h2{font:600 30px/1.2 "Playfair Display",Georgia,serif;margin:5px 0 0}.section-heading>p{max-width:400px;color:var(--muted);font-size:13px;margin:0}.form-card{padding:28px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 34px rgba(39,54,45,.045)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 21px}.form-grid label,.stack-form label{display:flex;flex-direction:column;gap:7px;color:#354451;font-size:12px;font-weight:600}.form-grid input,.form-grid select,.stack-form input{height:44px;width:100%;padding:0 12px;border:1px solid #dfe3df;border-radius:7px;background:#fff;color:var(--ink);font:14px "DM Sans",Arial,sans-serif;outline:none}.form-grid input:focus,.form-grid select:focus,.stack-form input:focus{border-color:#629278;box-shadow:0 0 0 3px rgba(53,107,88,.1)}.form-grid input::placeholder{color:#a7b0b2}.optional{display:inline;color:#8d999b;font-weight:400}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}.form-footer p{margin:0;color:var(--muted);font-size:12px}.members-section{padding-top:4px}.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.member-card{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:11px;background:#fff}.avatar{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e8f0e8;color:var(--green);font:600 20px "Playfair Display",Georgia,serif}.member-family{color:var(--green);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.member-card h3{margin:2px 0 0;font-size:14px}.member-card p{margin:0;color:var(--muted);font-size:12px}.empty-state{padding:25px;border:1px dashed #d8ded8;border-radius:11px;color:var(--muted);text-align:center;font-size:13px}.notice{margin:18px 0;padding:13px 16px;border-radius:8px;font-size:13px}.success{background:#edf6ef;color:#346448;border:1px solid #d5e9da}.error{background:#fff1ef;color:#9b3f37;border:1px solid #f3d5d1}.site-footer{display:flex;justify-content:space-between;gap:16px;padding:22px max(20px,calc((100% - 1120px)/2));border-top:1px solid var(--line);color:var(--muted);font-size:11px}.site-footer a{color:var(--green);text-decoration:none}.admin-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:45px 0}.admin-card{width:min(460px,100%);padding:34px;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(39,54,45,.07)}.admin-card h1{font-size:38px}.admin-card>p,.dashboard-head p{color:var(--muted);font-size:13px}.stack-form{display:grid;gap:17px;margin-top:24px}.stack-form .button{margin-top:3px}.admin-card code{font-size:12px}.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:43px 0 29px}.dashboard-head h1{font-size:43px;margin:8px 0}.dashboard-head p{margin:0}.admin-section{padding:15px 0 35px}.count-pill{display:inline-grid;place-items:center;vertical-align:middle;min-width:25px;height:25px;padding:0 6px;border-radius:99px;background:#e9f1eb;color:var(--green);font:600 12px "DM Sans",Arial,sans-serif}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line)}th{background:#f8f9f6;color:#66736f;font-size:10px;letter-spacing:.06em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}td strong{display:block;font-size:13px}td small{display:block;color:var(--muted);font-size:11px}.actions{display:flex;gap:6px}.actions form{margin:0}
@media(max-width:760px){.container{width:min(100% - 28px,600px)}.site-header{height:68px;padding:0 15px}.site-header nav{gap:14px}.site-header nav a{font-size:12px}.hero{min-height:unset;margin:16px 0 39px;padding:35px 25px 27px;grid-template-columns:1fr}.hero h1{max-width:400px;font-size:43px}.hero p{font-size:14px}.hero-art{height:190px;margin-top:14px}.sun{width:70px;height:70px;right:20%;top:4%}.tree-trunk{height:100px;right:43%;width:27px}.tree-crown{width:84px;height:84px}.crown-a{right:34%;top:24%}.crown-b{right:54%;top:42%;width:68px;height:68px}.crown-c{right:13%;top:43%;width:72px;height:72px}.crown-d{right:42%;top:5%;width:75px;height:75px}.crown-e{right:29%;top:57%;width:58px;height:58px}.section{padding-bottom:38px}.section-heading{display:block}.section-heading>p{margin-top:9px}.section-heading h2,.admin-section h2{font-size:26px}.form-card{padding:19px}.form-grid{grid-template-columns:1fr;gap:14px}.form-footer{align-items:flex-start;flex-direction:column}.member-grid{grid-template-columns:1fr}.admin-wrap{min-height:calc(100vh - 130px)}.admin-card{padding:25px}.dashboard-head{align-items:flex-start;padding:30px 0 22px}.dashboard-head h1{font-size:35px}.dashboard-head .button{padding:0 12px}.site-footer{padding:18px 15px;flex-direction:column;gap:5px}}
