/* Family workspace */
:root{--family-accent:#76b900;--family-sage:#e9f0df}
.sidebar{width:242px}.main-shell{margin-left:242px}.sidebar nav{gap:4px}.sidebar nav a{padding:11px 13px}.sidebar-label{margin-top:24px}
.sidebar .brand-wordmark{width:195px}.principles .policy-tag{letter-spacing:0;font-size:12px;min-height:40px}
.family-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:48px;background:#e8eedf;border:1px solid #d9e2cd;border-radius:18px;padding:40px;margin-bottom:28px}
.hero-wordmark{width:210px;max-width:100%;border-radius:8px}.family-hero h2{font-size:35px;line-height:1.5;font-weight:560;margin:23px 0 15px}.family-hero p{font-size:14px;color:#627357;line-height:1.9}.family-quick{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.family-quick a{padding:12px 16px;border-radius:8px;background:#fff;border:1px solid #d3ddc7;font-size:13px}.family-quick a:hover{border-color:#78a34e}
.family-hero-aside{border-left:1px solid #cbd7bd;padding-left:38px;display:grid;gap:22px;align-content:center}.family-stat>span{display:block;font-size:12px;color:#67755c}.family-stat>strong{display:block;font-size:36px;font-weight:520;letter-spacing:-.03em;margin:4px 0}.family-stat>small{font-size:11px;color:#7a866f}
.family-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;margin:24px 0}.family-columns>.panel{min-width:0}.family-columns .section-title{margin:0 0 18px}.family-columns h2{font-size:20px}.family-columns form h3{margin-top:26px}.family-columns form label,.photo-upload form label,.photo-editor label{margin-top:16px}.family-columns form button,.photo-upload form button,.photo-editor button{margin-top:19px;min-height:44px}.family-columns form .form-grid{gap:0 14px}.family-columns .method{font-size:12px;line-height:1.8}
.family-empty{padding:30px 20px;text-align:center;color:#6d7c62;border:1px dashed #d2dcc9;background:#f8faf5;border-radius:10px}.family-empty>span{font-size:24px;color:#8fac7d}.family-empty h3{font-size:17px;color:#4f6241;margin:9px 0}.family-empty p{font-size:13px;line-height:1.8;margin:0 auto;max-width:350px}
.household-tasks{margin-bottom:14px}.household-task{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-bottom:1px solid #e4e9df;cursor:pointer}.household-task input{flex:0 0 18px;margin-top:4px}.household-task b{font-size:14px;font-weight:550;line-height:1.6}.household-task small{display:block;color:#859078;font-size:11px;margin-top:5px}.household-task.done b{text-decoration:line-through;color:#8b9582}.family-add{margin-top:20px}.family-add summary{font-size:14px;color:#52743c;cursor:pointer;padding:8px 0}.family-add form{padding-top:5px}
.family-assistant{background:#fbfcf9}.ai-badge{border:1px solid #c6d8b4;color:#638546;border-radius:20px;font-size:10px;padding:5px 9px}.family-assistant textarea{background:#fff;min-height:130px}.family-assistant .check-label{font-size:12px}.family-ai-answer:empty{display:none}.family-ai-answer{border-top:1px solid #dbe4d2;padding-top:20px;margin-top:25px}.family-ai-answer>span{font-size:11px;color:#738661}.family-ai-answer p,.report-answer{white-space:pre-wrap;line-height:1.95;font-size:14px}
.family-paths{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}.family-paths>a{border:1px solid var(--line);padding:26px;border-radius:12px;background:#fff}.family-paths>a>span{font-size:24px;color:#779e58}.family-paths h3{margin:11px 0 5px;font-size:18px}.family-paths p{font-size:13px;color:#76816b}.family-paths small{font-size:12px;color:#536e40}
.member-list>article{display:flex;gap:13px;align-items:center;border-bottom:1px solid #e3e8de;padding:18px 0}.member-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#e6eedb;color:#5d7848;display:grid;place-items:center;font-size:17px}.member-list h3{font-size:15px}.member-list p{font-size:12px;color:#839075;margin:5px 0}.member-list button{margin-left:auto;font-size:12px}.account-name{font-size:24px}.family-export{border-top:1px solid #e2e8dc;padding-top:24px;margin-top:32px}.invite-result{overflow-wrap:anywhere}.invite-result code{display:block;padding:15px;background:#eaf1e1;color:#395928;font-size:15px;border-radius:8px;user-select:all}.invite-result p{font-size:12px;color:#6a7b5c}
.finance-currencies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.finance-currencies>.family-empty{grid-column:1/-1}.finance-currencies .eyebrow{margin:0 0 15px;color:#64804e}.finance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.finance-stats strong{font-size:25px;overflow-wrap:anywhere}.finance-net{border-top:1px solid #e5eadf;padding-top:17px;margin-top:18px;display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#6a7b5c}.finance-net b{font-weight:550}.finance-ledger{max-height:740px;overflow:auto}.finance-ledger article{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #e4eade}.finance-ledger b{font-size:14px}.finance-ledger small{display:block;font-size:11px;color:#7d8a6f;margin-top:6px}.finance-ledger p{font-size:12px;white-space:pre-wrap;color:#728066;margin:7px 0 0}.finance-ledger article>div:last-child{text-align:right;flex-shrink:0}.finance-ledger strong{display:block;font-size:15px;font-weight:550}.finance-ledger button{font-size:11px;margin-top:8px;padding:6px 9px}
.health-filter{margin-bottom:18px;padding:16px 22px}.health-filter label{display:flex;gap:18px;align-items:center}.health-filter select{width:auto;flex:1;margin:0}.health-records{display:grid;gap:18px}.health-record{padding:24px}.record-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.record-top>span{font-size:11px;color:#74905b}.record-top button{font-size:11px;padding:6px 10px}.health-record time{display:block;font-size:11px;color:#89937d;margin-top:5px}.health-record>p,.record-note p{font-size:13px;white-space:pre-wrap;line-height:1.85}.record-note{padding:13px 16px;background:#f4f7ee;margin-top:12px;border-radius:6px}.record-note b{font-size:11px;color:#6e835b}.record-note p{margin:7px 0 0}.photo-input{border:1px dashed #ccdbbd;padding:12px;border-radius:8px;background:#f7faf3}.photo-input input{font-size:12px;border:0;padding:8px 0;background:transparent}.report-attachments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.report-attachments img{width:100%;height:125px;object-fit:contain;background:#f1f3ed;border-radius:5px}.report-attachments button{width:100%;font-size:10px;padding:8px 3px;margin-top:5px}.report-answer{margin:20px 0}#report-ai-result{margin-top:18px}
.backup-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;background:#edf3e5}.backup-panel h3{display:inline;font-size:16px}.backup-panel p{font-size:13px;color:#677d53;margin:10px 0}.backup-panel small{font-size:11px;color:#7b896b}.backup-dot{width:8px;height:8px;border-radius:50%;background:#b7b58a;display:inline-block;margin-right:9px}.backup-dot.ready{background:#76b900}.backup-panel button{white-space:nowrap;font-size:12px}
.photo-upload{margin-bottom:22px}.photo-upload>summary{font-weight:600;cursor:pointer}.photo-upload form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.photo-upload input[type=file]{font-size:12px}.photo-upload .method{font-size:12px}#photo-progress{margin-left:20px;color:#78965c;font-size:12px}.photo-filters{display:flex;gap:18px;align-items:end;margin:25px 0}.photo-filters label{font-size:12px;min-width:130px}.photo-filters>span{margin-left:auto;font-size:12px;color:#7b8a6b;margin-bottom:12px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-grid>.family-empty{grid-column:1/-1}.photo-card{background:white;border:1px solid #dce4d5;border-radius:11px;overflow:hidden;min-width:0}.photo-card>a{display:block}.photo-card img{display:block;width:100%;height:210px;object-fit:cover;background:#e7ecdf}.photo-card>div{padding:17px}.photo-card p{margin:0 0 6px;font-size:14px;overflow-wrap:anywhere}.photo-card small{font-size:10px;color:#7f8b73}.backup-status{display:block;font-size:10px;color:#989266;margin-top:12px}.backup-status.verified{color:#668b48}.photo-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.photo-actions button,.photo-actions a{font-size:11px;padding:7px 8px}.photo-actions a{margin-right:auto}.photo-editor{margin-top:24px;max-width:700px}
.security-reserved{text-align:center;padding:60px 36px}.security-reserved>span{display:block;font-size:60px;color:#8ca774}.security-reserved .eyebrow{color:#8a957d;font-size:11px}.security-reserved>p:not(.eyebrow){font-size:14px;max-width:580px;margin:20px auto;color:#6f7f61}.security-reserved h2{font-size:28px}.security-devices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:38px auto;max-width:800px}.security-devices>div{padding:24px 15px;background:#f4f7ef;border-radius:8px}.security-devices h3{font-size:15px}.security-devices small{display:block;font-size:11px;line-height:1.8;color:#8b9780;margin-top:12px}
.auth-switch{width:100%;border:0;background:transparent!important;color:#668a47;padding:6px;margin-top:15px!important;font-size:12px}.register-panel h2{font-size:24px;margin-top:24px}.register-panel label{margin-top:17px}.register-panel .method{font-size:11px}.member-space [data-record],.member-space [data-event],.member-space .principles .policy-tag{display:none}
@media(max-width:1200px){.family-hero{grid-template-columns:1fr 210px;gap:28px;padding:30px}.family-hero h2{font-size:29px}.family-hero-aside{padding-left:25px}.family-columns{grid-template-columns:1fr}.finance-currencies{grid-template-columns:1fr}.photo-upload form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.sidebar{width:195px}.main-shell{margin-left:195px}.sidebar .brand-wordmark{width:155px}.sidebar nav a{font-size:14px}.family-hero{gap:24px;grid-template-columns:1fr}.family-hero-aside{border-left:0;border-top:1px solid #cbd7bd;padding:25px 0 0;grid-template-columns:repeat(3,1fr)}.family-stat>strong{font-size:28px}.family-stat>small{font-size:10px}.security-devices{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{width:100%;padding:20px 15px 10px}.main-shell{margin-left:0}.sidebar .brand-wordmark{width:190px}.sidebar nav{display:flex;overflow-x:auto;gap:5px;scrollbar-width:none;margin-top:17px}.sidebar nav a{flex:1 0 49px;padding:12px 5px;font-size:13px}.sidebar nav a small{display:none}.family-hero{padding:24px;gap:21px;border-radius:13px}.hero-wordmark{width:178px}.family-hero h2{font-size:26px}.family-hero p{font-size:12px}.family-quick{gap:6px}.family-quick a{font-size:11px;padding:10px 11px}.family-hero-aside{gap:12px;padding-top:20px}.family-stat>span{font-size:10px}.family-stat>strong{font-size:25px}.family-stat>small{font-size:9px}.family-columns{gap:18px}.family-paths{grid-template-columns:1fr;gap:13px}.family-paths>a{padding:23px}.photo-grid{gap:12px}.photo-card img{height:155px}.photo-card>div{padding:12px}.photo-card p{font-size:12px}.photo-actions{flex-wrap:wrap;gap:3px}.photo-actions button,.photo-actions a{font-size:10px;min-height:34px;padding:6px}.photo-upload form .form-grid{grid-template-columns:1fr;gap:0}.photo-filters{flex-wrap:wrap;gap:12px}.photo-filters label{min-width:0;flex:1 1 30%}.photo-filters>span{flex:1 1 100%;margin:0}.backup-panel{align-items:flex-start;flex-direction:column;gap:14px}.backup-panel h3{font-size:15px}.health-record{padding:20px}.report-attachments img{height:110px}.finance-stats{gap:12px}.finance-stats strong{font-size:21px}.finance-net{gap:10px;font-size:10px}.security-reserved{padding:35px 20px}.page-head{margin-bottom:24px}.page-head p{line-height:1.9}.family-columns form .form-grid{grid-template-columns:1fr 1fr}.login-panel h1{font-size:26px}}
@media(max-width:380px){.photo-grid{grid-template-columns:1fr}.family-columns form .form-grid{grid-template-columns:1fr}.family-hero-aside{grid-template-columns:1fr 1fr 1fr}.family-quick a{padding:9px}.finance-stats strong{font-size:18px}}

#register-error{color:var(--red);font-size:13px}.login-panel>label{margin-top:18px}

.album-device-guide{margin-bottom:18px}.album-device-guide h2{font-size:20px;margin:0 0 10px}.album-device-guide p{font-size:13px;line-height:1.9;margin:0;color:#6d7a62}.health-originals{margin-top:24px}.health-originals>.method{font-size:12px;line-height:1.8;margin-bottom:20px}.health-original-card img{object-fit:contain}.health-original-status{display:block;margin-top:12px;font-size:11px;color:#668b48}.health-original-card .health-original-link{font-size:11px;color:#7f8b73;margin:8px 0 0;line-height:1.6}

.health-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;margin:12px 0}.health-upload-item{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--line,#dce3dc);border-radius:12px;min-width:0}.health-upload-item small{overflow-wrap:anywhere}.health-upload-thumb{padding:0;background:transparent;border:0;cursor:zoom-in}.health-upload-thumb img{width:100%;height:130px;object-fit:contain;border-radius:7px;background:#f2f4f0}.health-upload-status{font-size:12px;overflow-wrap:anywhere}.health-upload-preview{max-width:min(960px,95vw);max-height:92vh;padding:14px;border:0;border-radius:14px}.health-upload-preview::backdrop{background:#000a}.health-upload-preview img{display:block;max-width:100%;max-height:76vh;object-fit:contain}.health-upload-preview p{overflow-wrap:anywhere}.health-upload-preview>button{float:right}

.settings-link{font-size:13px;margin-right:12px;color:var(--green,#46782b)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}.settings-grid p{font-size:13px;color:var(--muted)}.family-admin-list article:has(.family-module-form){display:block}.family-module-form{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.family-module-options{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.family-module-options label{min-width:88px}.family-module-presets{display:flex;gap:8px}.sidebar nav a[hidden],#main a[hidden]{display:none!important}@media(max-width:650px){.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr))}.sidebar nav a{font-size:12px}.sidebar nav a small{display:none}.settings-link{font-size:12px;margin-right:10px}}
.learning-lessons{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:24px}.learning-lessons article>p{white-space:pre-wrap;font-size:13px}.learning-lessons small{color:var(--green,#46782b)}.learning-actions{display:flex;gap:8px;margin-top:16px}.learning-player-region{margin-bottom:24px}.learning-player-region video{display:block;width:100%;max-height:65vh;margin-top:16px;background:#101410;border-radius:8px}.learning-admin>summary{cursor:pointer;font-size:17px;font-weight:600}.learning-admin>button{margin-top:22px}.learning-student{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.learning-student p{display:flex;justify-content:space-between;gap:16px;font-size:13px}.learning-student small{white-space:nowrap;color:var(--muted)}

.security-plan{margin-top:20px}.security-plan li{margin:14px 0;line-height:1.8;font-size:14px}
.bill-import-panel{margin-bottom:24px}.bill-import-panel>summary{font-weight:600;cursor:pointer}.bill-selection-actions{display:flex;align-items:center;gap:12px;margin:14px 0;font-size:13px}.bill-table-scroll{overflow:auto;margin:14px 0}.bill-preview-table{width:100%;border-collapse:collapse;font-size:13px;min-width:650px}.bill-preview-table th,.bill-preview-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.bill-preview-table td:nth-child(2),.bill-preview-table td:nth-child(4){white-space:nowrap}.bill-preview-table p{margin:5px 0}.bill-preview-table small{font-size:10px;overflow-wrap:anywhere}.bill-preview-table input{width:18px;height:18px}.bill-skipped{margin-top:20px}.bill-skipped p{font-size:12px;line-height:1.6}

.security-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.security-observation,.security-preferences{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.security-snapshot{display:block;width:100%;max-height:60vh;object-fit:contain;border-radius:12px;background:#172014}.security-observation>p{line-height:1.8;white-space:pre-wrap}.security-preferences fieldset{border:0;padding:0;min-width:0}.security-check{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:14px}.security-check input{width:18px;height:18px;flex-shrink:0}.security-preferences [hidden]{display:none}
