@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
*{box-sizing:border-box}.page{min-height:100vh;display:flex;justify-content:center;padding:38px 18px}.card{width:min(850px,100%);background:#fff;border:1px solid #deded9;border-radius:28px;padding:42px 52px;box-shadow:0 18px 60px rgba(0,0,0,.07)}.brand{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600;letter-spacing:.02em;margin-bottom:60px}.star{font-size:20px}.eyebrow{font-size:11px;letter-spacing:.18em;color:#777;margin:0 0 16px}h1{font-size:clamp(42px,7vw,70px);line-height:.98;letter-spacing:-.045em;margin:0 0 24px;font-weight:600}h1 em{font-family:'Playfair Display',serif;font-weight:500}h2{font-size:18px;margin:0 0 9px}.intro{font-size:17px;line-height:1.65;color:#666;max-width:650px;margin-bottom:38px}.form{display:grid;gap:19px}label{display:grid;gap:8px;font-size:13px;font-weight:600}input,textarea{width:100%;border:1px solid #d7d7d2;background:#fafaf8;border-radius:12px;padding:14px 15px;font:inherit;font-size:15px;color:#171717;outline:none;transition:.15s}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus{border-color:#222;background:#fff;box-shadow:0 0 0 3px #eee}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.button{border:0;background:#171717;color:#fff;border-radius:12px;padding:15px 18px;font:600 14px inherit;cursor:pointer;display:flex;justify-content:center;gap:18px;align-items:center;margin-top:5px}.button:hover{background:#333}.button.secondary{background:#e9e9e5;color:#171717;display:inline-flex;margin:0}.family-box,.family-list{background:#f6f6f3;border:1px solid #e2e2dd;border-radius:16px;padding:20px;margin:5px 0 2px}.family-box p,.hint{color:#777;font-size:13px;line-height:1.55}.inline{display:flex;gap:10px}.inline input{flex:1}.family-list ul{margin:14px 0 0;padding-left:18px;color:#555}.family-list li{padding:4px}.alert{border-radius:12px;padding:13px 15px;margin-bottom:25px;font-size:14px}.alert.success{background:#eeeeea}.alert.error{background:#f0eeee;color:#6a2222}.logout{display:block;text-align:center;margin-top:22px;color:#777;font-size:13px}.hint{margin:-8px 0 2px}.family-box a{text-decoration:none}@media(max-width:650px){.page{padding:12px}.card{padding:28px 20px;border-radius:20px}.brand{margin-bottom:42px}.grid{grid-template-columns:1fr}.inline{flex-direction:column}.inline .button{width:100%}h1{font-size:45px}.intro{font-size:15px}}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.mini-link{color:#222;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.mini-link:hover{text-decoration:underline}.family-inputs{display:grid;gap:10px;margin-top:14px}.family-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;margin:0;padding:9px 0;border-bottom:1px solid #e1e1dc}.family-list li:last-child{border-bottom:0}.family-list ul{list-style:none;padding:0;margin:14px 0 0}.family-list li form{margin:0}.delete{width:30px;height:30px;border:1px solid #d5d5d0;border-radius:50%;background:#fff;color:#555;font-size:20px;line-height:1;cursor:pointer}.delete:hover{background:#eee}.family-title{margin-top:28px!important}.actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:22px}.actions .logout{margin-top:0}.family-list a{color:#333}@media(max-width:650px){.section-head{align-items:flex-start}.family-list li{font-size:14px}.family-inputs{gap:8px}}
