/* Minimal workbench: shared layout and generous mobile controls. */
body.ai-family-tree-app{background:#f7f9fc;color:#253449;font-family:'Segoe UI',Arial,sans-serif}
.ai-family-tree-app [hidden]{display:none!important}
.ai-family-tree-app .topbar{height:72px;padding:0 max(24px,calc((100vw - 1180px)/2));gap:18px}
.ai-family-tree-app .brand{font-size:20px;white-space:nowrap}.ai-family-tree-app .brand strong{display:block;font-size:12px;font-weight:400;color:#67758a}
.ai-family-tree-app .top-actions{gap:20px}.ai-family-tree-app .ai-credit-status{font-size:14px}
.ai-family-tree-app button,.ai-family-tree-app select{min-height:44px}.ai-family-tree-app .btn{font-size:14px;border-radius:8px;padding:10px 16px}
.ai-family-tree-app .page{padding:22px 24px 48px}.ai-family-tree-app .app-tabs{margin-bottom:36px;box-shadow:0 4px 15px #17365d08}
.ai-family-tree-app .app-tab{font-size:14px;padding:10px 8px;font-weight:650}
.ai-family-tree-app #tabPanelFamily{max-width:780px;width:100%;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0}
.ai-family-tree-app .ai-workspace-head{padding:0;margin:0 0 26px;border:0}.ai-family-tree-app .ai-workspace-title{width:100%}
.ai-family-tree-app #editorTitle{font-size:30px;line-height:1.25;font-weight:650;letter-spacing:-.6px;margin:0 0 12px}
.ai-family-tree-app .ai-workspace-lead{font-size:16px;line-height:1.6;color:#67758a;margin:0}.ai-family-tree-app #aiKicker,.ai-family-tree-app #familyFreeLead{display:none}
.ai-family-tree-app .ai-main-input{background:white;border:1px solid #dce3eb;border-radius:12px;padding:0;overflow:hidden}
.ai-family-tree-app .ai-main-input label{font-size:14px;padding:18px 22px 0;display:block;font-weight:600}
.ai-family-tree-app #familyFreeTextInput{width:100%;min-height:230px!important;max-height:none!important;border:0!important;border-radius:0;padding:18px 22px;font-size:16px;line-height:1.7;box-shadow:none;background:white}
.ai-family-tree-app .ai-input-meta{padding:6px 20px;color:#67758a}.ai-family-tree-app .ai-question-actions{justify-content:flex-end;margin:0;padding:14px 18px;border-top:1px solid #dce3eb;background:white}
.ai-family-tree-app #parseFamilyFreeTextBtn{background:#17365d;box-shadow:none;font-size:14px;min-height:44px;padding:12px 22px}
.ai-family-tree-app #familyFreeWarning{background:transparent;border:0;padding:0;margin:16px 0;font-size:14px;line-height:1.6;color:#67758a;font-weight:400}
.ai-family-tree-app #tabPanelDesign{max-width:1180px;margin:auto}.ai-family-tree-app #aiTreeOutput{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.ai-family-tree-app .ai-output-heading h2{font-size:28px;font-weight:650;margin:0 0 10px}.ai-family-tree-app .ai-output-heading p{font-size:16px;color:#67758a}
.ai-family-tree-app .ai-output-controls{display:flex;gap:16px;margin:22px 0 12px}.ai-family-tree-app .ai-output-controls label{width:280px;font-size:14px}
.ai-family-tree-app .ai-output-controls select{font-size:15px;border:1px solid #dce3eb;border-radius:8px;padding:10px 12px;background:white}
.ai-family-tree-app #posterTarget{width:100%;height:calc(100vh - 345px);min-height:480px;border:1px solid #dce3eb;border-radius:12px;box-shadow:none}
.ai-family-tree-app .zoom-controls{top:12px;bottom:auto;right:14px;left:auto;border:1px solid #dce3eb;box-shadow:none;gap:8px}
.ai-family-tree-app .zoom-btn{width:44px;min-width:44px;font-size:20px}.ai-family-tree-app .zoom-reset{display:none}
.ai-family-tree-app .hint-badge{font-size:13px;box-shadow:none;border:0;background:#ffffffed}
.ai-family-tree-app #tabPanelPeople #gridEditorOverlay{box-shadow:none;border-radius:12px}.ai-family-tree-app .grid-editor-head{background:white;padding:20px;border-bottom:1px solid #dce3eb}
.ai-family-tree-app .grid-editor-heading{font-size:25px;font-weight:650}.ai-family-tree-app .grid-editor-primary-actions{gap:10px}
.ai-family-tree-app .grid-editor-primary-actions button{background:white;border:1px solid #dce3eb;color:#17365d;font-weight:600;font-size:13px;padding:10px 14px}
.ai-family-tree-app #addPersonBtn{background:#17365d;color:white;border-color:#17365d}.ai-family-tree-app #resetBtn{color:#a74242;background:transparent;border-color:transparent}
.ai-family-tree-app .grid-editor-table th{font-weight:500;background:#f7f9fc;padding:12px 8px}.ai-family-tree-app .grid-editor-table td{padding:10px 8px;border-color:#edf1f5}.ai-family-tree-app .grid-editor-table input,.ai-family-tree-app .grid-editor-table select{min-height:44px;font-size:14px}
.grid-mobile-details{display:none}.ai-family-tree-app .table-person-editor-backdrop{z-index:200000}.ai-family-tree-app .table-person-editor-grid label{font-size:13px}.ai-family-tree-app .table-person-editor-grid input,.ai-family-tree-app .table-person-editor-grid select{height:44px;font-size:16px}.ai-family-tree-app .table-person-editor button{min-height:44px}
@media(max-width:760px){
.ai-family-tree-app .topbar{height:auto;min-height:100px;padding:14px 18px;flex-wrap:wrap;position:relative;gap:8px}.ai-family-tree-app .brand{font-size:18px}.ai-family-tree-app .brand strong{display:none}.ai-family-tree-app .top-actions{width:100%;justify-content:space-between;gap:12px}.ai-family-tree-app .ai-credit-status{font-size:12px}.ai-family-tree-app .page{padding:14px 16px 30px}.ai-family-tree-app .app-tabs{position:relative;top:auto;margin-bottom:28px;gap:3px;padding:4px}.ai-family-tree-app .app-tab{font-size:11px;line-height:1.3;padding:8px 3px;min-height:48px}
.ai-family-tree-app #editorTitle{font-size:27px}.ai-family-tree-app .ai-workspace-lead{font-size:15px}.ai-family-tree-app .ai-workspace-head{margin-bottom:24px}.ai-family-tree-app #familyFreeTextInput{min-height:200px!important;padding:16px;font-size:16px}.ai-family-tree-app .ai-main-input label{padding:16px 16px 0}.ai-family-tree-app .ai-question-actions{padding:12px}.ai-family-tree-app #parseFamilyFreeTextBtn{width:100%;min-height:48px}.ai-family-tree-app #familyFreeWarning{font-size:13px}
.ai-family-tree-app .ai-output-heading h2{font-size:25px}.ai-family-tree-app .ai-output-heading p{font-size:14px}.ai-family-tree-app .ai-output-controls label{width:100%}.ai-family-tree-app #posterTarget{min-height:480px;height:60vh}.ai-family-tree-app .zoom-controls{top:10px;right:10px}.ai-family-tree-app .hint-badge{left:8px;bottom:8px;font-size:12px}
.ai-family-tree-app .grid-editor-head{padding:16px;gap:16px;align-items:flex-start}.ai-family-tree-app .grid-editor-primary-actions{display:flex;flex-wrap:wrap}.ai-family-tree-app .grid-editor-primary-actions button{font-size:12px;white-space:normal}.ai-family-tree-app .grid-editor-body{padding:8px}.ai-family-tree-app .grid-editor-table{min-width:0}.ai-family-tree-app .grid-editor-table tr{padding:12px;margin-bottom:12px;border:1px solid #dce3eb;border-radius:10px;background:white;display:grid;grid-template-columns:44px 1fr;gap:8px}
.ai-family-tree-app .grid-editor-table td{display:none!important;border:0;padding:0;width:auto!important;position:static!important;box-shadow:none!important}.ai-family-tree-app .grid-editor-table td::before{display:none}.ai-family-tree-app .grid-editor-table td:nth-child(1){display:block!important;grid-column:1;grid-row:1/3}.ai-family-tree-app .grid-editor-table td:nth-child(3),.ai-family-tree-app .grid-editor-table td:nth-child(4){display:block!important;grid-column:2}.ai-family-tree-app .grid-editor-table td:nth-child(9){display:flex!important;gap:8px;grid-column:2}.ai-family-tree-app .grid-mobile-details{display:block;flex:1;background:white;border:1px solid #dce3eb;border-radius:8px;color:#17365d;font-size:12px;padding:8px}.ai-family-tree-app .grid-person-edit-btn{width:auto;flex:1;font-size:12px}.ai-family-tree-app .grid-editor-table tr.is-expanded td{display:block!important;grid-column:2}.ai-family-tree-app .grid-editor-table tr.is-expanded td:nth-child(1){grid-column:1}.ai-family-tree-app .grid-editor-table tr.is-expanded td:nth-child(n+5)::before{display:block;content:attr(data-label);font-size:12px;color:#67758a;margin-bottom:3px}.ai-family-tree-app .grid-row-actions{display:flex;flex-wrap:wrap}.ai-family-tree-app .grid-main-btn{min-width:44px;min-height:44px}
}
.ai-family-tree-app .ai-main-composer{display:block;background:white;border:1px solid #dce3eb;border-radius:12px;padding:0;overflow:hidden;box-shadow:none}
.ai-family-tree-app .ai-main-input{border:0;border-radius:0}.ai-family-tree-app #familyFreeTitle{position:static;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;margin:0}
.ai-family-tree-app .ai-main-toolbar{display:flex;justify-content:flex-end;padding:14px 18px;border-top:1px solid #dce3eb;background:white}.ai-family-tree-app .family-free-text-counter{position:static;display:block;text-align:right;padding:4px 20px 10px;color:#67758a;font-size:12px}
.ai-family-tree-app #tabPanelPeople .grid-editor-head{flex-wrap:wrap}.ai-family-tree-app #tabPanelPeople .grid-editor-primary-actions{display:flex;flex-wrap:wrap}.ai-family-tree-app .grid-editor-table input{font-weight:400}.ai-family-tree-app #aiTreeCreditStatus{border:0;background:transparent;font-weight:500;padding:0}
@media(max-width:760px){.ai-family-tree-app .ai-main-toolbar{padding:12px}.ai-family-tree-app #tabPanelPeople .grid-editor-primary-actions button{flex:1 1 130px}.ai-family-tree-app #closeGridEditorBtn{width:100%}}
.ai-family-tree-app .app-tab{transition:none}.ai-family-tree-app .ai-main-submit{box-shadow:none}.ai-family-tree-app .grid-editor-primary-actions button{box-shadow:none}
.ai-family-tree-app .app-tab:focus-visible{outline:3px solid #72a5d7;outline-offset:2px}
/* Desktop tree uses the available window width. */
@media(min-width:761px){
.ai-family-tree-app #tabPanelDesign{max-width:none;width:100%}
.ai-family-tree-app #posterTarget{max-width:none;width:100%;height:calc(100vh - 280px);min-height:500px}
}
.ai-family-tree-app .person-limit-note{font-size:14px;color:#67758a;margin:8px 0 18px;font-weight:500}
.ai-family-tree-app .grid-row-actions{justify-content:flex-end}
@media(max-width:760px){
.ai-family-tree-app .grid-editor-table tr{display:grid;grid-template-columns:1fr;gap:8px}
.ai-family-tree-app .grid-editor-table tr td,.ai-family-tree-app .grid-editor-table tr td:nth-child(n){display:none!important;grid-column:1!important;grid-row:auto!important}
.ai-family-tree-app .grid-editor-table tr td:nth-child(2),.ai-family-tree-app .grid-editor-table tr td:nth-child(3){display:block!important}
.ai-family-tree-app .grid-editor-table tr td:nth-child(8){display:flex!important;gap:8px}
.ai-family-tree-app .grid-editor-table tr.is-expanded td:nth-child(n){display:block!important;grid-column:1!important;grid-row:auto!important}
.ai-family-tree-app .grid-editor-table tr.is-expanded td:nth-child(8){display:flex!important}
.ai-family-tree-app .grid-editor-table tr.is-expanded td:nth-child(n+4)::before{display:block;content:attr(data-label);font-size:12px;color:#67758a;margin-bottom:3px}
.ai-family-tree-app .grid-editor-table tr.is-expanded td:nth-child(8)::before{display:none}
}
@media(min-width:761px){.ai-family-tree-app #posterTarget{height:calc(100vh - 210px)}}
.ai-family-tree-app .simple-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 10px}
.ai-family-tree-app .simple-tree-toolbar p{margin:0;font-size:13px;color:#67758a;line-height:1.5}
.ai-family-tree-app .simple-tree-toolbar a{color:#17365d;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.ai-family-tree-app .simple-tree-toolbar{gap:10px}.ai-family-tree-app .simple-tree-toolbar p{font-size:12px}}
@media print{
@page{size:A4 landscape;margin:10mm}
html,body{margin:0!important;padding:0!important;background:white!important;overflow:visible!important}
body.printing-simple-tree .topbar,body.printing-simple-tree .app-tabs,body.printing-simple-tree .simple-tree-toolbar{display:none!important}
body.printing-simple-tree #posterTarget{position:fixed!important;inset:0!important;width:277mm!important;height:190mm!important;min-height:0!important;max-width:none!important;border:0!important;border-radius:0!important;overflow:hidden!important;box-shadow:none!important}
body.printing-simple-tree #posterRenderHost{transform:none!important;width:100%!important;height:100%!important}
}
.ai-family-tree-app #simpleTreeDesignerLink{color:#17365d;font-weight:500}

.ai-family-tree-app .ai-buy-credits{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;white-space:nowrap;font-size:13px}
@media(max-width:760px){.ai-family-tree-app .top-actions{flex-wrap:wrap;gap:8px}.ai-family-tree-app .ai-buy-credits{font-size:12px;padding:10px 12px}}
