:root { color-scheme: light; --ink:#111; --muted:#686868; --line:#dedede; --soft:#f7f7f7; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:#fff; }
* { box-sizing:border-box; }
html { -webkit-font-smoothing:antialiased; }
body { margin:0; background:#fff; color:var(--ink); font-size:14px; }
button,input,select,textarea { font:inherit; }
a { color:inherit; }
button,a,input,select,textarea,summary { transition:border-color .12s ease,background-color .12s ease,color .12s ease; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid #111; outline-offset:2px; }
button:disabled { cursor:not-allowed; opacity:.45; }
::selection { background:#111; color:#fff; }
.app-layout { min-height:100vh; padding-left:204px; }
.site-sidebar { position:fixed; inset:0 auto 0 0; z-index:20; width:204px; border-right:1px solid var(--line); background:#fafafa; }
.sidebar-inner { display:flex; min-height:100%; flex-direction:column; padding:22px 14px 16px; }
.brand,.login-brand { color:#111; font-size:23px; font-weight:800; letter-spacing:-.075em; line-height:1; text-decoration:none; }
.brand { display:block; padding:3px 8px 24px; }
.brand span,.login-brand span { font-weight:400; }
.site-nav { display:flex; flex-direction:column; gap:2px; }
.site-nav .nav-label { margin:18px 8px 6px; color:#929292; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.site-nav .nav-label:first-child { margin-top:0; }
.site-nav a { padding:8px 10px; border-radius:7px; color:#555; font-size:13px; font-weight:500; text-decoration:none; }
.site-nav a:hover { background:#eee; color:#111; }
.site-nav a.active { background:#111; color:#fff; }
.sidebar-account { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding:18px 8px 0; border-top:1px solid var(--line); color:#777; font-size:12px; }
.sidebar-account form { margin:0; }
.sidebar-account button { padding:0; border:0; background:transparent; color:#555; cursor:pointer; text-decoration:underline; }
#app { width:100%; min-width:0; }
.workspace-loading { padding:48px; color:var(--muted); }
#app main { min-height:100vh; background:#fff!important; }
#search,#add-domains,#searches { width:100%; max-width:none!important; margin:0!important; padding:40px clamp(26px,4vw,56px) 64px!important; }
#app h1 { margin:0 0 22px; font-size:30px; font-weight:750; letter-spacing:-.045em; line-height:1.1; }
#app h2 { color:#111; font-size:18px; font-weight:700; letter-spacing:-.025em; }
.workspace-notice { margin:0; padding:13px clamp(28px,5vw,72px); background:var(--soft); font-size:13px; }
#tld-picker { max-width:900px; margin-bottom:16px!important; }
#tld-picker>span:first-child { color:#111; font-weight:700; }
#keyword-search { display:flex!important; width:100%; max-width:900px!important; height:46px; min-height:46px; align-items:stretch; gap:0!important; margin:0!important; padding:0!important; overflow:hidden; border:1px solid #111!important; border-radius:9px!important; background:#fff; }
#keyword-search .search-query-input { flex:1 1 auto; width:0; min-width:0; height:44px; min-height:0; margin:0; padding:0 12px; appearance:none; border:0!important; border-right:0!important; border-radius:0!important; outline:0!important; background:#fff; box-shadow:none!important; color:#111; font-size:14px; }
#keyword-search .search-query-input:focus,#keyword-search .search-query-input:focus-visible { border:0!important; border-right:0!important; outline:0!important; box-shadow:none!important; }
#keyword-search button { position:static; flex:0 0 124px; width:124px; min-width:124px; height:44px; min-height:0; align-self:stretch; margin:0!important; padding:0 14px; transform:none; border:0!important; border-radius:0!important; outline-offset:-2px; box-shadow:none!important; }
#keyword-search button>span { justify-content:center; }
#search>label { max-width:900px!important; }
#search-results { max-width:900px!important; margin-top:18px!important; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fff; }
#scope { padding:0!important; border:0!important; }
#tag-picker { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
#app button { border-radius:7px!important; }
#app input:not([type=checkbox]):not([type=file]),#app select,#app textarea { border-radius:7px!important; }
#app input[type=checkbox] { accent-color:#111; }
#app button[aria-pressed=true] { border-color:#111!important; background:#fff!important; box-shadow:inset 0 0 0 1px #111; color:#111!important; }
#app .primary-action,#app .primary-action:hover { border-color:#111!important; background:#111!important; color:#fff!important; }
#app button[aria-pressed=false] { border-color:#ccc!important; background:#fff!important; color:#111!important; }
#results-table { width:auto!important; max-width:none!important; margin:0 clamp(28px,5vw,72px) 72px!important; padding:0!important; }
#search #results-table,#add-domains #results-table,#searches #results-table { margin:28px 0 0!important; }
#search #results-table,#searches #results-table,#add-domains #results-table { width:100%!important; max-width:1200px!important; }
#results-table>div { width:100%; overflow:hidden; border:1px solid var(--line)!important; border-radius:0!important; background:#fff; }
#results-table>div>div:first-child { padding:14px 16px; }
#results-table table { width:100%; min-width:760px; border-collapse:collapse; }
#results-table[data-mode=contacts] table { min-width:940px; }
#results-table th { border-bottom:1px solid #111; background:#fafafa; color:#111; }
#results-table td { border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
#results-table tbody tr:hover { background:#fafafa; }
.update-status { min-width:88px; display:inline-flex; align-items:center; justify-content:flex-end; gap:6px; color:var(--muted); font-size:11px; }
.column-disclosure { border-top:1px solid var(--line); }
.column-disclosure summary { width:max-content; margin:0 16px; padding:10px 0; cursor:pointer; color:#555; font-size:12px; font-weight:700; }
.column-options { display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 12px; }
#app .column-toggle { min-width:38px; }
#domain-upload,#domain-scan-start,#domain-scans,#private-mail-list-upload { margin-top:22px!important; padding:18px!important; border:1px solid var(--line)!important; border-radius:8px!important; background:#fff!important; }
.private-list-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; }
.private-list-summary::-webkit-details-marker { display:none; }
.private-list-summary span { display:flex; min-width:0; flex-direction:column; gap:2px; }
.private-list-summary strong { font-size:14px; font-weight:650; }
.private-list-summary small { color:var(--muted); font-size:11px; font-weight:400; }
.private-list-summary::after { content:"+"; flex:none; color:#555; font-size:18px; line-height:1; }
#private-mail-list-upload[open] .private-list-summary::after { content:"−"; }
.private-list-content { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.job-search { width:min(100%,320px); margin-top:20px; border:1px solid var(--line); padding:9px 11px; }
#scan-job-list,#search-job-list { margin-top:12px!important; }
#scan-job-list .job-row,#search-job-list .job-row { padding:11px 0!important; border-bottom:1px solid var(--line)!important; }
#searches>p { margin-top:-16px; color:var(--muted); }
.login-card { max-width:390px; padding:30px!important; border:1px solid var(--line); border-radius:12px; background:#fff; }
.login-card h1 { font-size:30px; font-weight:750; letter-spacing:-.04em; }
.login-card button[type=submit] { background:#111!important; color:#fff!important; }
@media(max-width:760px){.app-layout{padding-left:0;padding-top:64px}.site-sidebar{inset:0 0 auto;width:auto;height:64px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-inner{min-height:0;height:64px;flex-direction:row;align-items:center;padding:0 16px}.brand{padding:0}.site-nav{position:absolute;top:64px;left:0;right:0;display:flex;flex-direction:row;gap:0;overflow-x:auto;padding:7px 12px;border-bottom:1px solid var(--line);background:#fff}.site-nav .nav-label{display:none}.site-nav a{flex:none;padding:8px 10px}.site-nav a.active{background:#111}.sidebar-account{margin:0 0 0 auto;padding:0;border:0}.sidebar-account span{display:none}#search,#add-domains,#searches{padding:70px 18px 60px!important}#results-table{margin:0 18px 60px!important}#search #results-table{margin:28px 0 0!important}.workspace-notice{padding:12px 18px}#keyword-search button{min-width:76px}}
@media(prefers-reduced-motion:reduce){button,a,input,select,textarea{transition:none}}
.search-tag-filter { max-width:900px; margin-top:14px; }
.tag-filter-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; color:#555; font-size:12px; font-weight:700; }
.tag-filter-head button { padding:0!important; border:0!important; background:transparent!important; color:#666!important; font-size:11px; text-decoration:underline; }
#search .search-tag-filter { padding-top:0; border-top:0; }

/* Production width and height system: focused content or data content. */
:root { --content-width:900px; --data-width:1200px; --space-page:clamp(20px,4vw,48px); }
#search,#add-domains,#searches { max-width:none!important; padding:32px var(--space-page) 48px!important; }
#search>h1,#search>p,#add-domains>h1,#add-domains>p,#searches>h1,#searches>p,
#tld-picker,#keyword-search,#search>label,.search-tag-filter,#search-results,
#domain-upload,#domain-scan-start,#domain-scans,#private-mail-list-upload,.job-search,#scan-job-list,#search-job-list,#add-domains>p:last-child { width:100%; max-width:var(--content-width)!important; }
#results-table,#search #results-table,#searches #results-table,#add-domains #results-table { width:100%!important; max-width:var(--data-width)!important; }
#app h1 { margin-bottom:16px; }
#domain-upload,#domain-scan-start,#domain-scans,#private-mail-list-upload { margin-top:16px!important; padding:14px 16px!important; }
.job-search { margin-top:14px; padding:7px 10px; }
#scan-job-list,#search-job-list { margin-top:8px!important; }
#scan-job-list .job-row,#search-job-list .job-row { min-height:48px; padding:8px 0!important; gap:10px!important; }
#scan-job-list .job-row h3,#search-job-list .job-row h3 { font-size:13px; line-height:1.25; }
#scan-job-list .job-row p,#search-job-list .job-row p { margin-top:3px!important; line-height:1.25; }
#scan-job-list .job-row [data-slot=badge],#search-job-list .job-row [data-slot=badge] { padding:2px 6px; font-size:10px; }
#scan-job-list .job-row button,#scan-job-list .job-row a,#search-job-list .job-row button,#search-job-list .job-row a { min-height:30px; padding:5px 9px; font-size:12px; }
#results-table>div>div:first-child { padding:10px 14px; }
#results-table th,#results-table td { padding-top:7px!important; padding-bottom:7px!important; }
.column-disclosure summary { padding:8px 0; }
@media(max-width:760px){#search,#add-domains,#searches{padding:62px 16px 44px!important}#scan-job-list .job-row,#search-job-list .job-row{align-items:flex-start}}

/* Shared sidebar organization controls and invariant menu rhythm. */
.site-nav { margin:0; }
.site-nav .nav-label { min-height:12px; line-height:12px; }
.site-nav a { display:flex; min-height:34px; align-items:center; margin:0; line-height:18px; }
.sidebar-organization { margin:0 0 12px; padding:0 8px 12px; border-bottom:1px solid var(--line); }
.sidebar-organization-head { display:flex; height:22px; align-items:center; justify-content:space-between; color:#777; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.sidebar-organization-head button { width:22px; height:22px; padding:0!important; border:0!important; border-radius:5px!important; background:transparent!important; color:#555!important; font-size:17px!important; line-height:1!important; cursor:pointer; }
.sidebar-organization-head button:hover { background:#eaeaea!important; color:#111!important; }
.sidebar-organization form { margin:0; }
.sidebar-organization select { width:100%; height:34px; min-height:34px!important; padding:5px 28px 5px 8px!important; border:1px solid #cfcfcf!important; border-radius:7px!important; background:#fff; color:#111; font-size:12px; font-weight:600; }
.organization-dialog { width:min(calc(100% - 32px), 440px); padding:0; border:1px solid #111; border-radius:10px; background:#fff; color:#111; box-shadow:0 18px 70px rgba(0,0,0,.18); }
.organization-dialog::backdrop { background:rgba(0,0,0,.36); }
.organization-dialog form { display:flex; flex-direction:column; gap:12px; margin:0; padding:20px; }
.organization-dialog .dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.organization-dialog .nav-label { margin:0 0 5px; color:#777; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.organization-dialog h2 { margin:0; font-size:22px; letter-spacing:-.03em; }
.organization-dialog p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.organization-dialog label { font-size:12px; font-weight:700; }
.organization-dialog input { width:100%; min-height:40px; padding:8px 10px; border:1px solid #bbb; border-radius:7px; }
.organization-dialog #close-organization-dialog { width:30px; height:30px; padding:0!important; border:0!important; background:transparent!important; color:#555!important; font-size:22px; cursor:pointer; }
.organization-dialog .dialog-primary { align-self:flex-start; min-height:38px; padding:8px 12px!important; border:1px solid #111!important; border-radius:7px!important; background:#111!important; color:#fff!important; font-weight:700; cursor:pointer; }
@media(max-width:760px){.sidebar-organization{width:150px;margin:0 8px 0 auto;padding:0;border:0}.sidebar-organization-head{display:none}.sidebar-organization select{height:32px;min-height:32px!important}.sidebar-account{margin-left:0}.site-nav a{min-height:34px}}

/* Compact sidebar density with the organization always visible. */
.brand { padding-bottom:16px; }
.sidebar-organization { margin-bottom:8px; padding-bottom:8px; }
.sidebar-organization-head { height:18px; }
.sidebar-organization select { height:30px; min-height:30px!important; padding-top:3px!important; padding-bottom:3px!important; }
.site-nav { gap:0; }
.site-nav .nav-label { margin-top:12px; margin-bottom:3px; }
.site-nav a { min-height:30px; padding-top:5px; padding-bottom:5px; }
/* Balanced compact organization control. */
.sidebar-organization-head { height:22px; }
.sidebar-organization-head button { display:inline-flex; align-items:center; justify-content:center; }
.sidebar-organization select { display:block; height:32px; min-height:32px!important; line-height:20px; }
.site-nav .nav-label { margin-top:14px; margin-bottom:4px; }
.site-nav a { min-height:32px; }
@media(max-width:760px){#keyword-search button{flex-basis:112px;width:112px;min-width:112px;padding:0 10px}}

.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-160%);padding:9px 12px;border:2px solid #111;border-radius:7px;background:#fff;font-weight:700}.skip-link:focus{transform:translateY(0)}

.results-empty{width:100%;max-width:900px;margin-top:18px;padding:22px 4px;color:#666}.results-empty strong{display:block;margin-bottom:5px;color:#111;font-size:15px}.results-empty p{margin:0 0 10px;line-height:1.5}.results-empty a,.results-empty button{font-weight:700;text-decoration:underline;text-underline-offset:3px}
