/* Shared visual language of the approved home. Layout and behaviour stay in
   the existing screen styles; the body prefix also covers AJAX detail panels. */
body.app-dark{color-scheme:dark;--bg:#0b0d0e;--surface:#171a1c;--input:#121517;--ink:#f0f2f2;--muted:#a7b0b3;--line:#2d3437;--accent:#0f745d;--link:#74c6af;background:var(--bg);color:var(--ink)}
.app-dark header{background:#101314;border-color:var(--line)}
.app-dark .header-inner{max-width:1320px;padding:22px 32px;gap:20px}
.app-dark .brand{color:var(--ink);font-size:22px;letter-spacing:.06em}
.app-dark .brand span{font-size:12px;font-weight:400;letter-spacing:.02em;color:var(--muted);margin-left:16px}
.app-dark .header-inner nav{gap:28px;font-size:13px}
.app-dark .header-inner nav a,.app-dark .header-inner nav .quiet{color:#d0d6d7;text-decoration:none;font-weight:500;min-height:36px;display:inline-flex;align-items:center}
.app-dark .crm-nav{max-width:1320px;margin:auto;gap:32px;padding:0 32px;border-bottom:1px solid var(--line);background:#101314;min-height:60px}
.app-dark .crm-nav a{position:relative;padding:18px 0;color:#c4ccce;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.app-dark .crm-nav a[aria-current=page]{color:var(--link)}
.app-dark .crm-nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#17866a}
.app-dark .crm-nav>.muted{display:none}
.app-dark main{max-width:1320px}
.app-dark main:has(.addressbook){max-width:1500px}
.app-dark a{color:var(--link)}
.app-dark h1,.app-dark h2,.app-dark h3,.app-dark label{color:var(--ink)}
.app-dark .muted,.app-dark .help,.app-dark dt,.app-dark .note-time{color:var(--muted)}
.app-dark .eyebrow{color:var(--link)}
.app-dark .card,.app-dark .simple-card-edit,.app-dark .need-editor,.app-dark .need-search,.app-dark .visit-form,.app-dark .ab-search,.app-dark .ab-standalone,.app-dark .import-history-list{background:var(--surface);border-color:var(--line);border-radius:8px;box-shadow:none}
.app-dark .list-card h2 a{color:var(--ink);text-decoration:none}
.app-dark .list-card:hover{background:#1c2123;border-color:#414a4e}
.app-dark .contact-summary{color:var(--muted)}
.app-dark input,.app-dark select,.app-dark textarea{background:var(--input);color:var(--ink);border-color:#475156;border-radius:6px}
.app-dark input::placeholder,.app-dark textarea::placeholder{color:#8d999d;opacity:1}
.app-dark input:focus,.app-dark select:focus,.app-dark textarea:focus{border-color:#27856c}
.app-dark input[type=checkbox],.app-dark input[type=radio]{accent-color:#17866a}
.app-dark input:disabled,.app-dark select:disabled{background:#202629;color:#8e999d}
.app-dark .need-age input:disabled{background:#202629;color:#8e999d}
.app-dark input::file-selector-button{background:#252d30;color:var(--ink);border:1px solid #475156;border-radius:4px;padding:7px 12px;margin-right:12px}
.app-dark a:focus-visible,.app-dark button:focus-visible,.app-dark input:focus-visible,.app-dark select:focus-visible,.app-dark textarea:focus-visible{outline:2px solid #64baa1;outline-offset:3px}
.app-dark button,.app-dark .button-link{background:var(--accent);color:#fff;border-radius:6px;box-shadow:none}
.app-dark .button-link{border:1px solid #17866a}
.app-dark button:hover,.app-dark .button-link:hover{filter:brightness(1.12)}
.app-dark .quiet{background:transparent;color:var(--link)}
.app-dark .button-link.quiet{background:transparent;color:var(--link);border-color:#52615f}
.app-dark button.secondary{background:var(--surface);color:var(--link);border:1px solid #52615f}
.app-dark .button-link.secondary,.app-dark .card-action-secondary,.app-dark .ab-current-card .card-action-secondary,.app-dark .review-choice-secondary,.app-dark .review-actions .secondary,.app-dark .edit-remove-contact,.app-dark .edit-add-contact,.app-dark .visit-person-add button,.app-dark .ab-operation-bar .secondary{background:var(--surface);color:var(--link);border-color:#52615f;box-shadow:none}
.app-dark .ab-current-card .card-action-primary{background:var(--accent);color:white;border-color:#17866a}
.app-dark .visits .card-action-secondary,.app-dark .visit-history .card-action-secondary,.app-dark .ab-operation-secondary{background:var(--surface);color:var(--link);border-color:#52615f}
.app-dark .ab-operation-danger{background:#863d47;color:white;border-color:#ab6069}
.app-dark .badge,.app-dark .main-affiliation-badge{background:#173d33;color:#a1d9c6}
.app-dark .badge.past{background:#2b3235;color:#b9c2c5}
.app-dark .errorlist{background:#392125;color:#f0b2b4}
.app-dark .message{background:#19382e;color:#c2e3d4;border:1px solid #32574a}
.app-dark .candidate-box,.app-dark .company-difference,.app-dark .review-alert{background:#302b1f;border-color:#8d7544;color:#eadbb6}
.app-dark .review-value{background:#22292c;color:var(--ink)}
.app-dark .review-value.incoming{background:#19382e;border-color:#416355}
.app-dark .review-choice select{background:var(--input);color:var(--ink);border-color:#475156}
.app-dark .card-save-bar{background:var(--surface);border-color:var(--line)}
.app-dark table,.app-dark .ab-table,.app-dark .need-table{background:#141819;color:var(--ink)}
.app-dark th,.app-dark .ab-table th,.app-dark .card-identity-comparison thead{background:#22282b;color:#c9d1d3;border-color:var(--line)}
.app-dark td,.app-dark .ab-table td,.app-dark .need-table td,.app-dark .need-field,.app-dark .need-delete,.app-dark .visit-history li{border-color:var(--line)}
.app-dark .need-table tr{border-color:var(--line)}
.app-dark .need-save{flex-wrap:wrap}
.app-dark .need-save>button{flex-shrink:0}
.app-dark .need-save .button-link{width:auto}
.app-dark .ab-table .ab-row,.app-dark .ab-table .ab-row td{background:#141819}
.app-dark .ab-table .ab-row:hover td,.app-dark .need-table tr:hover td{background:#20282a}
.app-dark .ab-table .ab-row.is-selected td,.app-dark .ab-table .ab-row[aria-selected=true] td,.app-dark .need-table tr.is-selected,.app-dark .need-table tr.is-selected td{background:#19382f}
.app-dark .ab-person-name{color:var(--ink)}
.app-dark .ab-company,.app-dark .ab-position,.app-dark .ab-address,.app-dark .ab-date{color:#bec8ca}
.app-dark .ab-panel,.app-dark .ab-panel-toolbar,.app-dark .ab-note-form,.app-dark .ab-operation-bar{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}
.app-dark .ab-note-item,.app-dark .ab-notes,.app-dark .ab-current-card,.app-dark .ab-panel-section{border-color:var(--line)}
.app-dark .ab-list-tabs a{background:var(--surface);border-color:var(--line);color:#bac5c8}
.app-dark .ab-list-tabs a[aria-current=page]{background:#19382f;color:#b2dfce;border-color:#416357}
.app-dark .import-history-row:hover{background:#20282a}
.app-dark .import-history-file{color:var(--ink)}
.app-dark .import-history-row time,.app-dark .import-history-row>span:last-child{color:var(--muted)}
.app-dark .import-status-completed,.app-dark .import-status-applied{color:#9bd2b8}
.app-dark .import-status-ready{color:#e0cc8c}
.app-dark .import-status-failed{color:#edaaae}
.app-dark .visit-stats a,.app-dark .visit-rank{background:#20272a;border-color:#475156;color:#d2dadd}
.app-dark .visits .visit-table .visit-row{--visit-bg:#141819;--visit-hover:#20282a;--visit-alert:transparent}
.app-dark .visits .visit-table .visit-soon{--visit-bg:#38321c;--visit-hover:#453d20;--visit-alert:#c2a342;--visit-label:#edda87}
.app-dark .visits .visit-table .visit-today{--visit-bg:#452e1e;--visit-hover:#533722;--visit-alert:#d6904d;--visit-label:#f2bb80}
.app-dark .visits .visit-table .visit-overdue{--visit-bg:#48262c;--visit-hover:#562e35;--visit-alert:#ce727c;--visit-label:#ffb0ba}
.app-dark .visits .visit-table .visit-row td{background:var(--visit-bg)}
.app-dark .visits .visit-table .visit-row:hover td{background:var(--visit-hover)}
.app-dark .need-search-area .area-open,.app-dark .need-search-area [data-area-clear]{background:var(--input);color:var(--ink);border-color:#475156}
.app-dark .need-table td::before,.app-dark .visit-table td[data-label]::before{color:var(--muted)}
.app-dark dialog,.app-dark #action-confirm,.app-dark #need-areas,.app-dark #visit-rank-dialog{background:var(--surface);color:var(--ink);border:1px solid #475156;border-radius:8px;box-shadow:none}
.app-dark dialog::backdrop,.app-dark #action-confirm::backdrop,.app-dark #visit-rank-dialog::backdrop{background:#000a}
.app-dark #action-confirm [data-confirm-cancel],.app-dark #action-confirm:has(.confirm-danger) [data-confirm-cancel]{background:#22292c;color:var(--ink);border:1px solid #526064;padding:10px 18px}
.app-dark .danger,.app-dark .ab-operation-bar .danger,.app-dark .need-delete .danger,.app-dark #action-confirm .confirm-danger{background:#863d47;color:white;border-color:#ab6069}
.app-dark #action-confirm [data-confirm-execute].confirm-danger{background:#863d47;color:white;border-color:#ab6069}
.app-dark #action-confirm [data-confirm-execute].confirm-danger:hover{background:#984752;border-color:#bc737c}
.app-dark button:disabled,.app-dark .visits .card-action:disabled{background:#272e31;color:#929da1;border-color:#465155;cursor:not-allowed;filter:none}
/* Light controls identify list searches. Editing and authentication stay dark;
   all selectors deliberately exclude the approved home and detail panels. */
.app-dark :is(form.searchbar,.ab-search,.visit-search,.need-search){background:#1c2022;border:1px solid #354044}
.app-dark .visit-search{padding:16px 18px;border-radius:8px}
.app-dark :is(.searchbar,.ab-search,.visit-search,.need-search) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select){color-scheme:light;background:#f2f4f3;color:#111315;border-color:#b9c2be}
.app-dark :is(.searchbar,.ab-search,.visit-search,.need-search) input::placeholder{color:#7a8380;opacity:1}
.app-dark :is(.searchbar,.ab-search,.visit-search,.need-search) :is(input,select):focus{border-color:#27856c;outline-color:#27856c}
.app-dark .need-search .need-search-area .area-open{color-scheme:light;background:#f2f4f3;color:#111315;border-color:#b9c2be}
.app-dark :is(.ab-table,.need-table) th{background:#252d30;border-color:#3b4448}
.app-dark :is(.ab-table,.need-table) td{border-color:#3b4448}
.app-dark [data-company-rows] .list-card{background:#1c2022}
.app-dark [data-company-rows] .list-card:hover{background:#22282b}
@media(min-width:761px){
 .app-dark [data-company-rows] .list-card{padding:14px 22px;margin:12px 0;gap:22px;align-items:center;line-height:1.5}
 .app-dark [data-company-rows] .list-card>div{min-width:0}
 .app-dark [data-company-rows] .list-card h2{font-size:18px;line-height:1.45;margin:4px 0}
 .app-dark [data-company-rows] .list-card p{margin:3px 0;color:#bec8ca}
 .app-dark [data-company-rows] .list-card .badge{font-size:12px;padding:1px 9px;line-height:1.5}
 .app-dark [data-company-rows] .contact-summary{gap:1px;font-size:13px;line-height:1.5}
 .app-dark [data-company-rows] .detail-link{font-size:14px;align-self:center}
}
@media(max-width:760px){
 .app-dark .header-inner{padding:18px 20px}.app-dark .brand{font-size:19px}
 .app-dark .header-inner nav{width:100%;justify-content:flex-end;gap:20px;font-size:12px}
 .app-dark .crm-nav{padding:0 20px;gap:0 24px}.app-dark .crm-nav a{font-size:12px;padding:13px 0}
 .app-dark .ab-table .ab-row{background:#141819;border-color:var(--line)}
 .app-dark .visits .visit-table .visit-row td,.app-dark .visits .visit-table .visit-row:hover td{background:transparent}
 .app-dark .visits .visit-table tbody .visit-row{background:var(--visit-bg);border-color:var(--line)}
 .app-dark .visits .visit-table tbody .visit-row:hover{background:var(--visit-hover)}
}
