.family-app{min-height:100dvh;background:#f4f8f5;color:#183c2b;font-family:Figtree,system-ui,sans-serif;font-size:16px;line-height:1.55}.family-header{height:88px;background:#fff;border-bottom:1px solid #dfebe3;display:flex;align-items:center;justify-content:space-between;padding:16px max(22px,calc((100% - 1080px)/2));gap:16px}.family-brand{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:700;text-decoration:none;color:#215d40}.family-brand small{display:block;font-size:11px;font-weight:500;color:#657c6e;letter-spacing:.04em}.family-logo{display:grid;place-items:center;background:#216447;color:#fff;width:46px;height:46px;border-radius:14px;font-weight:800}.family-welcome{font-size:14px;max-width:45%;text-align:right;overflow-wrap:anywhere}.family-main{max-width:1080px;margin:auto;padding:32px 22px 120px}.family-main h1{font-size:30px;line-height:1.2;font-weight:700;margin-bottom:24px}.family-main h2{font-size:21px;font-weight:650;margin-bottom:16px}.family-main h3{font-size:18px;font-weight:650}.family-muted{color:#60776a}.family-card{background:#fff;border:1px solid #dce7df;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 3px 14px #143c2505}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}.family-grid>.family-card{margin-bottom:0}.family-card p{margin:10px 0}.family-btn{display:inline-flex;justify-content:center;align-items:center;background:#216447;color:#fff;border-radius:12px;padding:12px 20px;border:1px solid #216447;font-weight:650;min-height:46px;cursor:pointer;text-decoration:none}.family-btn.secondary{background:#fff;color:#216447;border-color:#b9d0c1}.family-btn:disabled{opacity:.5;cursor:wait}.family-btn:focus-visible,.family-nav a:focus-visible{outline:3px solid #d0982c;outline-offset:3px}.family-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.family-field{display:block;margin:16px 0;font-weight:600}.family-field input,.family-field select,.family-field textarea{display:block;width:100%;border:1px solid #afc5b6;border-radius:10px;background:#fff;color:#183c2b;padding:12px;margin-top:6px;font:inherit;font-weight:400}.family-field input:focus{outline:2px solid #569a70;outline-offset:2px}.family-error{color:#9a2841;background:#fff1f2;padding:12px;border-radius:10px;margin:12px 0}.family-success{color:#174c32;background:#e2f2e7;padding:16px;border-radius:12px;margin-bottom:20px}.family-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fff;border-top:1px solid #dce7df;padding:8px 8px max(10px,env(safe-area-inset-bottom));z-index:20}.family-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;max-width:180px;text-decoration:none;font-size:12px;color:#65776b;padding:6px;border-radius:10px}.family-nav a.active{color:#216447;background:#edf6f0;font-weight:700}.family-auth{max-width:460px;margin:20px auto}.family-auth h1{margin-bottom:8px}.family-auth .family-btn{width:100%}.family-table-wrap{overflow:auto}.family-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.family-table td,.family-table th{padding:12px 14px;border-bottom:1px solid #e3ebe5}.family-table th{font-size:13px;color:#59715f;background:#f5f8f5}.family-badge{display:inline-block;font-size:12px;background:#e9f3ec;color:#215d40;padding:4px 10px;border-radius:20px}.family-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 24px;padding-bottom:4px}.family-tabs button{white-space:nowrap;padding:10px 16px;border-radius:25px;border:1px solid #c8dacc;background:#fff}.family-tabs button.active{background:#216447;color:#fff}.family-empty{padding:28px 8px;color:#60776a}.family-code{font-family:monospace;overflow-wrap:anywhere;letter-spacing:.04em;background:#e9f3ec;padding:18px;border-radius:12px}.family-app a:not(.family-btn,.family-brand,.family-nav a){text-underline-offset:3px}.family-app details summary{cursor:pointer;padding:10px 0;font-weight:600}@media(max-width:600px){.family-header{height:76px}.family-main{padding:24px 16px 110px}.family-main h1{font-size:26px}.family-card{padding:20px}.family-welcome{font-size:12px}.family-auth{margin-top:0}}.family-actions>.family-field{flex:1 1 220px;min-width:0;max-width:100%}.family-report-table{white-space:normal;table-layout:fixed}.family-report-table th:first-child{width:70%}.family-report-table td{overflow-wrap:anywhere}.family-app dialog.family-card{margin:auto}.family-app dialog::backdrop{background:#10291dcc}
