:root,[data-theme=sage]{--page:#edf3ee;--surface:#f8fbf8;--glass:#f8fbf8ed;--raised:#eaf2eb;--input:#fff;--ink:#233d31;--muted:#526759;--subtle:#667969;--border:#cddbcf;--accent:#286444;--accent-soft:#dfeddf;--on-accent:#fff;--shade:#254c3112;--focus:#679c78;--danger:#954a38;--danger-bg:#fbeee8;--gold:#795c21;--gold-bg:#f5eacb;--purple:#715582;--purple-bg:#eee5f5;--green:var(--accent);--line:var(--border);--bg:var(--page)}
[data-theme=light]{--page:#f1f4f7;--surface:#fff;--glass:#ffffffed;--raised:#edf2f7;--input:#fff;--ink:#263445;--muted:#526274;--subtle:#65768a;--border:#cdd7e2;--accent:#315d85;--accent-soft:#e1ecf7;--on-accent:#fff;--shade:#324c6d12;--focus:#6b95bc}
[data-theme=cream]{--page:#f2ecdf;--surface:#faf7ef;--glass:#faf7efed;--raised:#eee5d5;--input:#fffcf5;--ink:#433a2d;--muted:#685a48;--subtle:#776752;--border:#d9ccb6;--accent:#725b35;--accent-soft:#eee1c8;--on-accent:#fffdf7;--shade:#74553412;--focus:#a08450}
[data-theme=dark]{--page:#171d25;--surface:#222b36;--glass:#222b36f5;--raised:#2b3542;--input:#1b2430;--ink:#e5ebf0;--muted:#b9c5d3;--subtle:#9aacbf;--border:#455261;--accent:#a0d6bb;--accent-soft:#293f36;--on-accent:#162a20;--shade:#00000032;--focus:#aad8bd;--danger:#f3b6a4;--danger-bg:#422f2b;--gold:#efd49c;--gold-bg:#443b29;--purple:#d3bbe8;--purple-bg:#3b3247}
body{background:var(--page);color:var(--ink)}.sidebar,header,.stat,.directory,.reminder-center{background:var(--glass);border-color:var(--border);box-shadow:0 7px 26px var(--shade)}.drawer{background:var(--surface);color:var(--ink);border-color:var(--border)}.brand-icon,.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 4px 12px var(--shade)}.primary:hover{background:var(--accent);filter:brightness(.94)}.brand-dot{color:var(--accent)}.nav{color:var(--muted)}.nav.active{background:var(--accent-soft);color:var(--accent);border-color:var(--border);box-shadow:none}.nav span{background:var(--surface);color:var(--muted)}.sidebar-note,.language-section,.notes,.link-guide,.suggestions,.connections,.uploads,.share-panel,.photo-editor,.map-fields,.profile-map,.identity-display,.identity-card,.reminder-settings,.reminder-card,.free-delivery,.always-shared,.share-link-box{background:var(--raised);border-color:var(--border);box-shadow:none}.sidebar-note:after{display:none}.avatar,.mini-avatar,.empty-icon,.sidebar-note i{background:var(--accent-soft);color:var(--accent)}.account,.drawer-header,.form-bottom,.advanced-sections summary,.detail-section h3,.identity-card-title,.connection,dl>div,.file-row,.link-form,.table-footer{border-color:var(--border)}.secondary,.dropdown,.dropdown button,.toolbar select,.filter-bar select,.choice-control>button,.choice-add button,.upload-controls select,.icon-button,.suggestions button{background:var(--surface);color:var(--ink);border-color:var(--border)}.secondary:hover,.dropdown button:hover{background:var(--raised)}.search,input,textarea,select,.form-grid input,.form-grid textarea,.form-grid select,.language-inputs input,.photo-editor-controls label input[type=url],.share-link-box input{background:var(--input);color:var(--ink);border-color:var(--border)}.search input{background:transparent}.form-bottom{background:var(--surface)}.advanced-sections details,.identity-card,.share-fields label{background:var(--surface);border-color:var(--border)}.advanced-sections summary,.identity-card-title,thead{background:var(--raised);color:var(--ink)}tbody tr:hover{background:var(--raised)}th,td{border-color:var(--border)}.table-wrap tr{border-color:var(--border)}
/* Secondary text stays readable on every palette. */
.workspace-label,.sidebar-note p,.sidebar-note span,.account small,.breadcrumb,.private,.heading p,.eyebrow,.stat span,.stat small,.directory-title span,.search,.search input::placeholder,input::placeholder,textarea::placeholder,.filter-bar>span,.filter-bar>button,.person-cell small,.contact-cell,.date,.row-actions button,.table-footer,footer,.empty p,.form-intro,.language-head,.language-hint,.person-code,.detail-section dt,dt,.notes p,.connection small,.connection span[dir],.muted-note,.suggestions p,.file-row small,.created,.photo-editor-controls label,.photo-editor-controls small,.photo-editor-controls .text-link,.reminder-tools p,.reminder-card-top small,.reminder-card>p,.reminder-settings label,.free-delivery p,.share-fields small,.share-fields strong,.share-expiry,.always-shared strong,.always-shared small,.share-link-box label,.share-link-box small,.share-hidden,.export-note,.profile-map small{color:var(--muted)}.breadcrumb strong,.profile p[lang],.choice-label,.form-grid label,.checkbox,.language-row-label,.profile h2,.person-cell strong,.connection strong,.section-top h3,.identity-display>strong,.reminder-card-top strong{color:var(--ink)}.section-top p,.language-inputs input::placeholder,.photo-editor-controls label input::placeholder{color:var(--muted)}.language-badge,.tag,.tone-personal,.mint,.photo-tabs button.active,.share-status.public,.notification-note,.birthday-badge,.reminder-symbol,.reminder-days,.reminder-stats button.active{background:var(--accent-soft);color:var(--accent)!important;border-color:var(--border)}.tone-family,.gold,.expiry{background:var(--gold-bg);color:var(--gold)!important}.tone-work{background:var(--raised);color:var(--ink)}.tone-other,.lavender{background:var(--purple-bg);color:var(--purple)!important}.error,.share-error,.delete-confirm,.expiry.expired,.reminder-card.overdue,.overdue .reminder-symbol,.overdue .reminder-days{background:var(--danger-bg);color:var(--danger)!important;border-color:var(--border)}.delete-button,.text-danger,.unlink,.identity-card-title button,.required{color:var(--danger)}.danger{background:var(--danger);color:var(--surface)}.row-actions .marked{color:var(--gold)}.photo-tabs button,.share-status,.reminder-stats button{background:var(--surface);color:var(--muted);border-color:var(--border)}.reminder-stats button.active{border-color:var(--accent)}.reminder-stats svg{color:var(--accent)}.file-row .icon-button,.file-icon{background:var(--surface);color:var(--accent)}.photo-editor .avatar.large{border-color:var(--surface)}.toast{background:var(--accent);color:var(--on-accent)}input[type=checkbox]{accent-color:var(--accent)}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input:focus,textarea:focus,select:focus{outline-color:var(--focus)}.empty-icon{border-color:var(--surface)}.mini-card{background:var(--surface)}.mini-card i{background:var(--border)}.mini-card svg{color:var(--accent)}.empty h3{color:var(--ink)}
.header-actions{display:flex;align-items:center;gap:20px}.theme-control{position:relative}.theme-trigger{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);padding:9px 12px;font-size:12px}.theme-panel{position:absolute;right:0;top:48px;width:320px;max-width:calc(100vw - 24px);z-index:60;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--ink);padding:18px;box-shadow:0 12px 45px var(--shade)}.theme-panel-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px}.theme-panel-heading strong{font-size:14px;display:block}.theme-panel-heading small{display:block;font-size:11px;color:var(--muted);line-height:1.8;margin-top:5px}.theme-panel-heading>button{align-self:flex-start;padding:3px;color:var(--muted)}.theme-options{display:grid;gap:7px}.theme-option{display:flex;gap:11px;align-items:center;text-align:left;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--ink)}.theme-option.selected{background:var(--accent-soft);border-color:var(--accent)}.theme-option>span:nth-child(2){flex:1}.theme-option strong{font-size:12px;display:block;font-weight:600}.theme-option small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:2px}.theme-option>svg{color:var(--accent)}.theme-swatch{height:37px;width:37px;border-radius:9px;display:grid;place-items:center;border:1px solid #82918b50;flex-shrink:0}.swatch-sage{background:#dfeddf;color:#286444}.swatch-light{background:#e1ecf7;color:#315d85}.swatch-cream{background:#eee1c8;color:#725b35}.swatch-dark{background:#222b36;color:#a0d6bb}.swatch-system{background:linear-gradient(90deg,#e1ecf7 50%,#222b36 50%);color:#7393ac}.appearance-setting{padding-top:16px;margin-top:14px;border-top:1px solid var(--border)}.appearance-setting>strong{font-size:11px;font-weight:600}.appearance-segment{display:flex;border:1px solid var(--border);background:var(--raised);padding:4px;border-radius:8px;margin-top:10px;gap:4px}.appearance-segment button{flex:1;padding:8px 7px;border-radius:5px;font-size:11px;color:var(--muted)}.appearance-segment button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px var(--shade)}.theme-save-note{font-size:10px;color:var(--muted);line-height:1.8;margin:15px 0 0}
/* Slightly larger small labels and optional comfortable text. */
.person-cell strong,.connection strong{font-size:13px}.person-cell small,.contact-cell,.date,.stat small,.section-top p,.language-hint,.muted-note,.share-fields small,.always-shared small,.reminder-tools p,.reminder-card>p,.free-delivery p,.share-panel .language-hint{font-size:11px}.form-grid label,.choice-label,.language-row-label{font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{font-size:14px;line-height:1.5}.directory-title span,.toolbar select,.filter-bar select,.search input{font-size:12px}
[data-text-size=comfortable] .content{font-size:16px}[data-text-size=comfortable] .form-grid input,[data-text-size=comfortable] .form-grid select,[data-text-size=comfortable] .form-grid textarea,[data-text-size=comfortable] .language-inputs input{font-size:16px}[data-text-size=comfortable] .form-grid label,[data-text-size=comfortable] .choice-label,[data-text-size=comfortable] .language-row-label,[data-text-size=comfortable] .person-cell strong,[data-text-size=comfortable] .nav{font-size:15px}[data-text-size=comfortable] .person-cell small,[data-text-size=comfortable] .contact-cell,[data-text-size=comfortable] .date,[data-text-size=comfortable] .language-hint,[data-text-size=comfortable] .section-top p,[data-text-size=comfortable] .muted-note,[data-text-size=comfortable] .search input,[data-text-size=comfortable] .toolbar select,[data-text-size=comfortable] .filter-bar select,[data-text-size=comfortable] .share-fields small,[data-text-size=comfortable] .reminder-card>p,[data-text-size=comfortable] .heading p,[data-text-size=comfortable] dd{font-size:14px;line-height:1.8}[data-text-size=comfortable] .primary,[data-text-size=comfortable] .secondary{font-size:13px}[data-text-size=comfortable] .share-fields strong,[data-text-size=comfortable] .form-intro,[data-text-size=comfortable] .advanced-sections summary,[data-text-size=comfortable] dt{font-size:13px}
[data-surface=solid] .sidebar,[data-surface=solid] header,[data-surface=solid] .stat,[data-surface=solid] .directory,[data-surface=solid] .reminder-center{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}[data-surface=solid] .drawer{backdrop-filter:none;-webkit-backdrop-filter:none}.theme-control{color-scheme:inherit}
@media(max-width:760px){.header-actions{gap:10px}.header-actions .private{display:none}.theme-trigger{padding:7px 9px;font-size:11px}.theme-panel{top:39px;padding:15px;max-height:calc(100dvh - 160px);overflow:auto;overscroll-behavior:contain}.theme-panel-heading strong{font-size:13px}.theme-panel .theme-option{padding:9px}.table-wrap tr{background:var(--surface)}.table-wrap td:nth-child(4):before{color:var(--muted)}}@media(max-width:480px){.theme-trigger span{font-size:10px}.theme-panel{width:300px}.nav{gap:6px}[data-text-size=comfortable] .nav{font-size:13px}[data-text-size=comfortable] .share-fields{grid-template-columns:1fr}[data-text-size=comfortable] .contact-cell{font-size:12px}.share-panel .section-top{flex-wrap:wrap}}
@media print{body,.drawer{background:#fff!important;color:#222!important;--ink:#222;--muted:#555;--border:#ddd;--surface:#fff;--raised:#fff;--accent:#244b36;--accent-soft:#f0f3ee;--on-accent:#fff}.header-actions,.theme-control{display:none!important}.drawer p,.drawer strong,.drawer h2,.drawer h3,.drawer small,.drawer dt,.drawer dd{color:#333!important}.connections,.uploads,.notes,.identity-display,.profile-map{background:#fff!important;border-color:#ddd!important}}

header{position:relative;z-index:10}
