:root{color-scheme:light;--green:#1d4135;--gold:#b29a59;--paper:#f8f7f0;--line:#d9dfd1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--green);font-family:'IBM Plex Sans Arabic',Tahoma,Arial,sans-serif;font-size:18px;line-height:1.7}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,.button{min-height:48px;border:1px solid var(--line);border-radius:12px;background:white;padding:9px 18px;cursor:pointer;text-decoration:none;text-align:center}button:hover,.button:hover{border-color:var(--green)}button:disabled{opacity:.6;cursor:wait}button.primary{background:var(--green);color:white;border-color:var(--green)}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b68f30;outline-offset:3px}[hidden]{display:none!important}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px max(24px,calc((100vw - 1100px)/2));background:#fffdf8;border-bottom:1px solid var(--line)}header img{display:block;width:240px;max-width:100%;height:auto}main{max-width:1100px;margin:auto;padding:32px 24px 80px}h1,h2,h3,p{margin:0 0 14px}h1{font-size:clamp(30px,5vw,44px)}h2{font-size:27px}.intro{max-width:780px;margin-bottom:24px}.eyebrow{color:#796a3f;font-size:16px}.card{background:#fffdf9;border:1px solid var(--line);border-radius:20px;padding:24px;margin:20px 0}.narrow{max-width:560px;margin:24px auto}.actions,.account-bar,.member-nav,.section-heading,.dialog-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.account-bar,.section-heading,.dialog-head{justify-content:space-between}.member-nav{padding:20px 0}.member-nav button[aria-pressed=true]{background:var(--green);color:white}.account-bar{border-block:1px solid var(--line);padding:16px 0}.wide{width:100%}label{display:block;font-weight:600;margin:16px 0 6px}input,select,textarea{width:100%;min-height:48px;background:white;border:1px solid #afbcae;border-radius:10px;padding:10px 12px;font-size:16px;max-width:100%}textarea{resize:vertical}form>button{margin-top:18px}.actions{margin-top:18px}.search-box{margin-block:18px}.names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.names button{text-align:right;overflow-wrap:anywhere}#search-count{font-size:15px;margin-top:8px}#notice{padding:12px 16px;border-radius:12px;background:#e9eee5;overflow-wrap:anywhere}#notice.error,#edit-error:not(:empty),#decision-error:not(:empty){background:#faeae3;color:#813c26;padding:12px;border-radius:10px}#notice:empty{display:none}.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.groups button{padding:18px 10px}.groups strong{display:block;font-size:32px}.person-head h2{font-size:32px}.muted,small{color:#5a6c60}.badge{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:3px 12px;margin:5px;font-size:14px}.lineage{display:flex;align-items:center;flex-direction:column;gap:12px;padding:24px 0}.lineage button{max-width:100%}.lineage .current{background:#e9eee5;border-color:var(--gold)}.children{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:20px;width:100%}.record{border-block-end:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere}.request h3{font-size:23px}.request dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px;border-block:1px solid var(--line);padding:14px 0}.request dt,.request dd{margin:0;overflow-wrap:anywhere}.request pre{white-space:pre-wrap}.request .actions button{flex:1}.good{color:#205933}.danger{color:#8a3925}dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--green);overscroll-behavior:contain}dialog::backdrop{background:#152e29aa}body:has(dialog[open]){overflow:hidden}.dialog-head{position:sticky;top:-24px;background:var(--paper);padding:8px 0;z-index:1}.dialog-head h2{margin:0}.dialog-head button{font-size:26px;padding:2px 16px}footer{text-align:center;padding:24px;font-size:15px;border-top:1px solid var(--line)}.skip{position:fixed;top:-100px;background:white;padding:12px}.skip:focus{top:0;z-index:10}@media(max-width:600px){header{padding:12px 18px;flex-direction:column;gap:4px}header img{width:210px}main{padding:24px 16px 50px}.card{padding:20px 16px}.names{grid-template-columns:1fr}.member-nav{gap:8px}.member-nav button{padding:8px 12px;flex:1}.member-nav #refresh{flex:0 1 auto}.actions>*{flex:1}.account-bar span{max-width:100%;overflow-wrap:anywhere}.groups{gap:10px}.groups button{font-size:16px}.person-head h2{font-size:28px}dialog{padding:20px 16px}.dialog-head{top:-20px}.request dl{grid-template-columns:1fr}.request dd{padding-bottom:8px}h2{font-size:24px}}@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,border-color .15s}} 

#signup-person{border:1px solid var(--line);border-radius:14px;margin:20px 0;padding:16px;min-width:0}#signup-person legend{font-weight:600;padding:0 8px}#signup-person .names,#link-section .names{grid-template-columns:1fr;max-height:330px;overflow:auto;overscroll-behavior:contain}.name-result strong,.name-result small{display:block}.name-result{width:100%;text-align:right}#signup-name-selected:not(:empty),#link-name-selected:not(:empty),.linked-person{padding:12px;border-radius:10px;background:#e9eee5;overflow-wrap:anywhere}#signup-name-error:not(:empty),#link-name-error:not(:empty){color:#813c26;padding:10px;background:#faeae3;border-radius:10px}

.auth-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;background:#e9eee5;border-radius:14px;margin-bottom:24px}.auth-switch button{background:transparent;border-color:transparent;padding:10px 6px;font-size:16px;min-width:0}.auth-switch button[aria-pressed="true"]{background:var(--green);color:white}.auth-recover{display:block;background:transparent;border:0;padding:8px 0;margin-top:4px;text-decoration:underline;text-underline-offset:4px;font-size:16px}.auth-access-note{font-size:14px;margin:16px 0 0}#password-hint{font-size:14px;margin-top:6px}#auth-description{font-size:16px}

.family-add-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}.family-add-bar p{margin:0;font-size:15px}#relative-add-error:not(:empty){color:#813c26;padding:10px;background:#faeae3;border-radius:10px}#relative-add-preview:empty{display:none}

#phone-code,#phone-link-code{text-align:center;letter-spacing:.35em;font-size:24px}#phone-error:not(:empty),#phone-link-error:not(:empty),#phone-password-error:not(:empty){color:#813c26;padding:12px;background:#faeae3;border-radius:10px;margin-top:12px}#phone-login .muted{font-size:15px}#phone-login .actions>*{flex:1}

/* Keep member forms and their close controls inside the visible phone viewport. */
@media(any-pointer:coarse),(max-width:760px){
 dialog{--member-dialog-pad:24px;--member-dialog-top:max(12px,env(safe-area-inset-top));--member-dialog-bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - max(12px,env(safe-area-inset-left)) - max(12px,env(safe-area-inset-right)));max-height:calc(var(--member-visible-height,100dvh) - var(--member-dialog-top) - var(--member-dialog-bottom));overflow-y:auto;scroll-padding-block:80px 24px;padding-bottom:max(var(--member-dialog-pad),env(safe-area-inset-bottom))}
 .member-viewport-keyboard dialog[open]{position:fixed;top:calc(var(--member-visible-top,0px) + var(--member-dialog-top));bottom:auto;margin-block:0}
 dialog .dialog-head{top:calc(-1 * var(--member-dialog-pad));flex-wrap:nowrap;gap:12px;isolation:isolate}
 dialog .dialog-head h2{flex:1;min-width:0;overflow-wrap:anywhere}
 dialog .dialog-head button{flex:0 0 auto;min-width:48px;min-height:48px}
 dialog :is(input,select,textarea,button,a){scroll-margin-block:12px}
}
@media(max-width:600px){dialog{--member-dialog-pad:20px}}

.otp-channels{border:0;padding:0;margin:16px 0 8px;min-width:0}.otp-channels legend{padding:0;margin-bottom:8px;font-weight:600}.otp-channel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.otp-channel-options label{position:relative;margin:0;cursor:pointer;min-width:0}.otp-channel-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;inset-inline-start:50%;top:50%}.otp-channel-options span{display:flex;align-items:center;justify-content:center;min-height:56px;padding:10px 8px;border:2px solid var(--line);border-radius:10px;background:white;font-size:17px}.otp-channel-options input:checked+span{background:var(--green);border-color:var(--green);color:white}.otp-channel-options input:focus-visible+span{outline:3px solid #b68f30;outline-offset:3px}.otp-channel-options label:hover span{border-color:var(--green)}
