:root{--bg:#f4f1ea;--paper:#fffdf8;--ink:#1d2522;--muted:#65736f;--line:#d8d0c3;--line-strong:#aaa092;--coal:#202927;--moss:#47604e;--sage:#d9e2d2;--copper:#b75b38;--amber:#e8b84d;--blue:#406f8f;--shadow:0 20px 60px rgba(48,44,35,0.16)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:linear-gradient(90deg,rgba(32,41,39,.05) 1px,transparent 1px),linear-gradient(0deg,rgba(32,41,39,.05) 1px,transparent 1px),var(--bg);background-size:32px 32px;color:var(--ink);font-family:Avenir Next,Segoe UI,sans-serif}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .25s cubic-bezier(.2,.8,.2,1)}.app-shell.collapsed{grid-template-columns:84px minmax(0,1fr)}.app-shell.collapsed .brand-text,.app-shell.collapsed .nav-label{opacity:0;pointer-events:none;display:none}.brand-text,.nav-label{transition:opacity .15s ease}.sidenav{background:var(--coal);color:#f8f4e9;display:flex;flex-direction:column;gap:32px;padding:24px 20px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden;white-space:nowrap}.brand-block{display:flex;align-items:center;gap:14px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--amber);color:var(--coal);border:1px solid rgba(255,255,255,.2);box-shadow:5px 5px 0 rgba(0,0,0,.22);flex-shrink:0}.brand-kicker,.eyebrow{color:var(--copper);font-size:.75rem;font-weight:800;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}.brand-block h1{font-family:Georgia,Times New Roman,serif;font-size:1.3rem;line-height:1;margin:0}.nav-list{display:grid;grid-gap:8px;gap:8px}.nav-item{align-items:center;background:transparent;border:1px solid transparent;color:#cfd7d2;cursor:pointer;display:flex;gap:12px;min-height:42px;padding:0 12px;text-align:left;width:100%}.nav-item.active,.nav-item:hover{background:rgba(255,253,248,.08);border-color:rgba(255,253,248,.16);color:#fffdf8}.nav-item.active{box-shadow:inset 4px 0 0 var(--amber)}.source-card{border:1px solid rgba(255,253,248,.18);margin-top:auto;padding:16px;transition:opacity .15s ease}.app-shell.collapsed .source-card{opacity:0;pointer-events:none;display:none}.source-card p{color:#a9b5b0;margin:0 0 12px}.source-card span{border-bottom:1px solid rgba(255,253,248,.18);display:block;font-size:.84rem;font-weight:800;padding:8px 0}.workspace{min-width:0;padding:28px}.master-view{display:grid;grid-gap:22px;gap:22px}.screen-header{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.screen-header h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4.4rem);font-weight:700;line-height:.95;margin:0;max-width:760px}.header-actions{align-items:center;display:flex;gap:10px}.refreshed-at{color:var(--muted);font-size:.72rem;white-space:nowrap}.search-box{align-items:center;background:var(--paper);border:1px solid var(--line);display:flex;gap:10px;height:44px;min-width:min(420px,42vw);padding:0 12px}.search-box input{background:transparent;border:0;color:var(--ink);min-width:0;outline:0;width:100%}.icon-button{align-items:center;background:var(--paper);border:1px solid var(--line);color:var(--ink);cursor:pointer;display:inline-flex;height:40px;justify-content:center;min-width:40px;text-decoration:none}.icon-button:hover{border-color:var(--line-strong)}.icon-button:disabled{cursor:not-allowed;opacity:.42}.icon-button.labeled{gap:8px;padding:0 14px}.stats-strip{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.stats-strip.tiers{grid-template-columns:repeat(5,minmax(120px,1fr))}.stat{background:rgba(255,253,248,.74);border:1px solid var(--line);min-height:92px;padding:16px}.stat span{color:var(--muted);display:block;font-size:.76rem;font-weight:800;text-transform:uppercase}.stat strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:2rem;line-height:1.2;margin-top:8px}.stat.accent{background:var(--moss);border-color:var(--moss);color:#fffdf8}.stat.accent span{color:var(--sage)}.stat.compact{min-height:78px}.stat.compact strong{font-size:1.65rem}.stat-desc{color:var(--muted);font-size:.7rem;font-weight:400;line-height:1.4;margin-top:8px;text-transform:none}.table-panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0}.table-toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px}.table-toolbar h3{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;margin:0}.table-toolbar p{color:var(--muted);margin:4px 0 0}.table-controls{align-items:center;border:1px solid var(--line);display:flex;gap:8px;height:40px;padding:0 10px}.table-controls select{background:transparent;border:0;color:var(--ink);outline:0}.tier-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.tier-controls label{align-items:center;background:var(--paper);border:1px solid var(--line);display:inline-flex;gap:8px;height:40px;padding:0 10px}.tier-controls input{background:transparent;border:0;min-width:220px;outline:0}.tier-controls select{background:transparent;border:0;color:var(--ink);outline:0}.control-label{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.state-message{align-items:center;color:var(--muted);display:flex;gap:10px;padding:28px}.state-message.error{color:#9d2f1c}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.table-scroll{overflow:auto;max-height:calc(100vh - 330px)}table{border-collapse:collapse;min-width:1780px;width:100%}td,th{border-bottom:1px solid #ece5da;font-size:.84rem;padding:12px 14px;text-align:left;vertical-align:middle;white-space:nowrap}th{background:#f1eadf;color:#53605c;font-size:.72rem;font-weight:900;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}tbody tr:hover{background:#f8f3ea}.domain-cell{color:var(--blue);font-weight:900}.source-pills{display:flex;gap:6px}.source-pills.wrap{flex-wrap:wrap;max-width:360px;white-space:normal}.json-badge,.source-pills span{background:#e7eee1;border:1px solid #cad8c2;color:#33473b;display:inline-flex;font-size:.72rem;font-weight:900;min-height:24px;padding:4px 8px}.json-badge{background:#eee7d9;border-color:#d8cbb8;color:#5d4f3d}.json-badge.button{cursor:pointer;font-weight:900}.json-badge.button:focus-visible,.json-badge.button:hover{background:var(--coal);border-color:var(--coal);color:#fffdf8;outline:0}.muted{color:var(--muted)}.tier-table{min-width:1640px}.tier-badge{border:1px solid;display:inline-flex;font-size:.72rem;font-weight:950;min-height:26px;padding:5px 8px}.tier-1{color:#c4271b}.tier-2{color:#d85512}.tier-3{color:#b58a00}.tier-4{color:#7a7a7a}.tier-5{color:#0090b8}.reason-cell{min-width:280px}.reason-cell,.repo-preview-cell{max-width:360px;white-space:normal}.repo-preview-cell{min-width:260px}.builder-layout{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(380px,.85fr) minmax(0,1.15fr)}.builder-panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;padding:18px;min-width:0}.field-stack{display:grid;grid-gap:7px;gap:7px}.field-stack span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.condition-row input,.condition-row select,.field-stack input,.field-stack select,.filter-group-header select{background:#fbf7ef;border:1px solid var(--line);color:var(--ink);min-height:38px;outline:0;padding:0 10px;min-width:0;width:100%}.filter-group{background:rgba(71,96,78,.06);border:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;padding:12px}.filter-group .filter-group{margin-left:18px}.filter-group-header{align-items:center;display:flex;gap:8px}.condition-row{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) auto}.preview-panel{min-width:0}.compact-scroll{max-height:560px}.saved-table{min-width:1180px}.repo-chip-list{display:flex;gap:6px;max-width:300px}.repo-chip{background:#eee7d9;border:1px solid #d8cbb8;color:#5d4f3d;display:inline-block;font-size:.72rem;font-weight:900;line-height:1;max-width:132px;overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.repo-chip.overflow{background:var(--coal);border-color:var(--coal);color:#fffdf8;flex:0 0 auto;max-width:none}.leads-table{min-width:1980px}.leads-table a{color:var(--blue);text-decoration:none}.disabled-link{opacity:.45;pointer-events:none}.pagination{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;min-height:62px;padding:0 18px}.pagination div{display:flex;gap:8px}.modal-backdrop{align-items:center;background:rgba(29,37,34,.58);display:flex;inset:0;justify-content:center;padding:22px;position:fixed;z-index:30}.data-modal{background:var(--paper);border:1px solid var(--line-strong);box-shadow:10px 10px 0 rgba(32,41,39,.28),var(--shadow);display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:min(760px,calc(100vh - 44px));max-width:min(920px,calc(100vw - 44px));min-height:360px;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px}.modal-header h3{font-family:Georgia,Times New Roman,serif;font-size:1.55rem;margin:0}.modal-actions,.modal-summary{display:flex;gap:8px}.modal-summary{align-items:center;background:#f1eadf;border-bottom:1px solid var(--line);color:var(--muted);font-size:.86rem;font-weight:800;padding:10px 18px}.json-view{color:#23312d;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.83rem;line-height:1.58;margin:0;overflow:auto;padding:18px;white-space:pre-wrap;word-break:break-word}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidenav{height:auto;position:relative}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.source-card{display:none}.header-actions,.screen-header,.table-toolbar{align-items:stretch;flex-direction:column}.search-box{min-width:0;width:100%}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:16px}.builder-layout{grid-template-columns:1fr}}@media (max-width:520px){.nav-list,.stats-strip{grid-template-columns:1fr}.screen-header h2{font-size:2.4rem}}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);width:100%;max-width:420px;padding:40px}.login-header{text-align:center;margin-bottom:32px}.login-header .brand-mark{margin:0 auto 20px;width:48px;height:48px}.login-header h2{font-family:Georgia,Times New Roman,serif;font-size:1.8rem;margin:0 0 8px;color:var(--ink)}.login-header p{color:var(--muted);margin:0;font-size:.9rem}.login-form{display:grid;grid-gap:20px;gap:20px}.login-button{background:var(--coal);color:#fffdf8;border-color:var(--coal);width:100%;height:48px;margin-top:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.login-button:hover:not(:disabled){background:var(--moss);border-color:var(--moss);color:#fffdf8}.login-panel .state-message.error{padding:12px;background:#fdf3f2;border:1px solid #ecc9c5;margin-top:0;font-size:.85rem}