:root{--navy:#12243a;--blue:#285b91;--blue-strong:#174a7c;--cream:#f8f4e7;--paper:#fbfaf6;--white:#fff;--ink:#172236;--muted:#687386;--line:#e5e1d7;--green:#1f755e;--green-soft:#e2f1eb}*{box-sizing:border-box}html{background:var(--navy)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #285b9147}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.brand-card{border-bottom:1px solid #ffffff1f;justify-content:center;align-items:center;height:78px;margin-bottom:28px;padding-bottom:20px;display:flex}.brand-card img{object-fit:contain;filter:drop-shadow(0 6px 14px #0003);width:168px;max-height:58px;display:block}nav{gap:8px;display:grid}.nav-item{color:#ffffffa8;border-radius:9px;align-items:center;gap:12px;padding:13px 14px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.nav-item span{letter-spacing:.12em;color:#ffffff61;font-size:10px}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff17}.sidebar-note{border:1px solid #ffffff1f;border-radius:12px;align-items:flex-start;gap:10px;margin-top:auto;padding:14px;display:flex}.sidebar-note strong{font-size:12px}.sidebar-note p{color:#ffffff7a;margin:4px 0 0;font-size:11px}.status-dot{background:#7bd0ae;border-radius:50%;width:8px;height:8px;margin-top:4px;box-shadow:0 0 0 4px #7bd0ae1f}.workspace{min-width:0}.topbar{background:var(--white);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:96px;padding:24px 42px;display:flex}.eyebrow{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}h1,h2,h3{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}h1{font-size:30px}h2{font-size:clamp(25px,3vw,38px);line-height:1.12}h3{font-size:22px}.report-meta{text-align:right}.report-meta span{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.report-meta strong{font-size:12px}.control-bar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:28px;padding:18px 42px;display:flex}fieldset{border:0;margin:0;padding:0}legend,.period-filter>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800}.location-options{flex-wrap:wrap;gap:7px;display:flex}.location-options label{position:relative}.location-options input{opacity:0;position:absolute}.location-options span{border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:99px;padding:7px 12px;font-size:12px;font-weight:700;display:block}.location-options input:checked+span{color:var(--blue-strong);background:#edf4fa;border-color:#b7cbe0}.location-options input:focus-visible+span{outline-offset:2px;outline:3px solid #285b9138}.period-filter>span{display:block}.segmented-control{background:#f2f0ea;border-radius:9px;padding:3px;display:flex}.segmented-control button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:800}.segmented-control button.selected{color:var(--blue-strong);background:#fff;box-shadow:0 2px 8px #12243a1a}.summary-heading{justify-content:space-between;align-items:flex-end;gap:24px;padding:42px 42px 26px;display:flex}.summary-heading>p{color:var(--muted);margin:0;font-size:12px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;padding:0 42px;display:grid}.kpi-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;min-height:150px;padding:20px;display:flex}.kpi-card.primary{color:#fff;background:var(--blue-strong);border-color:var(--blue-strong)}.kpi-card p{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:11px;font-weight:800}.kpi-card.primary p{color:#ffffffa8}.kpi-card strong{margin:15px 0 13px;font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:500;display:block}.kpi-card span{color:var(--muted);margin-top:auto;font-size:11px;line-height:1.4}.kpi-card.primary span{color:#ffffffb8}.report-grid{grid-template-columns:minmax(0,1fr) 280px;gap:14px;padding:18px 42px 36px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.text-button{color:var(--blue);background:0 0;border:0;font-size:11px;font-weight:800}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid #efede7;padding:15px 18px}th:first-child,td:first-child{text-align:left}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px}tbody tr:hover{background:#faf9f5}tfoot td{background:var(--cream);color:var(--navy);border:0;font-weight:800}.quality-panel{align-self:start}.quality-counts{padding:10px 22px 2px}.quality-counts>div{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:13px 0;font-size:12px;display:flex}.quality-counts strong{color:var(--ink)}.quality-counts .net{color:var(--green);border:0}.quality-counts .net strong{color:var(--green);font-size:18px}.quality-copy{background:var(--green-soft);color:#315f51;border-radius:10px;margin:8px 22px 16px;padding:12px;font-size:11px;line-height:1.5}.secondary-button{border:1px solid var(--line);width:calc(100% - 44px);color:var(--blue-strong);background:#fff;border-radius:9px;margin:0 22px 22px;padding:10px 12px;font-size:11px;font-weight:800}footer{color:var(--muted);padding:0 42px 30px;font-size:10px}.auth-page{background:var(--paper);grid-template-columns:minmax(320px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.auth-brand{background:var(--navy);color:#fff;flex-direction:column;justify-content:space-between;gap:80px;padding:clamp(36px,6vw,86px);display:flex}.auth-brand img{width:min(290px,70%)}.auth-brand h1{max-width:620px;font-size:clamp(42px,6vw,72px);line-height:1.02}.auth-brand>div>p:last-child{color:#ffffffa6;max-width:530px;margin:24px 0 0;font-size:15px;line-height:1.7}.auth-form-wrap{place-items:center;padding:32px;display:grid}.auth-form{width:min(420px,100%)}.auth-form h2{font-size:40px}.auth-intro{color:var(--muted);margin:12px 0 30px;font-size:14px}.auth-form label{color:var(--ink);gap:8px;margin:18px 0;font-size:12px;font-weight:800;display:grid}.auth-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;outline:none;padding:13px 14px}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #285b9121}.auth-submit{color:#fff;background:var(--blue-strong);border:0;border-radius:9px;width:100%;margin-top:8px;padding:13px;font-weight:800}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-message{color:#315f51;background:var(--green-soft);border-radius:9px;padding:12px;font-size:12px;line-height:1.45}.password-rule{color:var(--muted);margin:-5px 0 18px;font-size:11px;line-height:1.5}.signed-in-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:30px}.auth-signout{width:100%;margin:8px 0 0}.auth-form>a{color:var(--blue);margin-top:20px;font-size:12px;font-weight:800;text-decoration:none;display:inline-block}.admin-shell{background:#f5f3ed;grid-template-columns:246px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:var(--navy);flex-direction:column;height:100vh;padding:26px 18px 20px;display:flex;position:sticky;top:0}.admin-logo{border-bottom:1px solid #ffffff1f;justify-content:center;align-items:center;height:72px;margin-bottom:24px;padding:0 10px 20px;display:flex}.admin-logo img{object-fit:contain;width:172px;max-height:54px}.admin-sidebar nav{gap:7px}.admin-nav{color:#fff;border-radius:9px;align-items:center;gap:11px;padding:12px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.admin-nav span{color:#ffffff61;letter-spacing:.12em;font-size:9px}.admin-nav.active{background:#ffffff1a}.admin-nav.muted{color:#ffffff8a}.admin-nav em{color:#a9d8c5;text-transform:uppercase;letter-spacing:.08em;background:#50a78329;border-radius:99px;margin-left:auto;padding:3px 6px;font-size:8px;font-style:normal}.admin-user{border-top:1px solid #ffffff1f;align-items:center;gap:10px;min-width:0;margin-top:auto;padding:14px 10px 0;display:flex}.avatar{color:#fff;background:var(--blue);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-family:Georgia,serif;display:grid}.admin-user div:last-child{min-width:0}.admin-user strong,.admin-user span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-user strong{font-size:11px}.admin-user span{color:#ffffff7a;margin-top:3px;font-size:9px}.admin-workspace{min-width:0}.admin-topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:20px 38px;display:flex}.admin-topbar h1{font-size:30px}.admin-signout,.refresh-button{border:1px solid var(--line);color:var(--blue-strong);background:#fff;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:800}.admin-content{padding:24px 38px 44px}.admin-loading{min-height:360px;color:var(--muted);place-items:center;font-size:13px;display:grid}.admin-context{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(180px,260px) minmax(180px,260px) 1fr;align-items:end;gap:14px;margin-bottom:18px;padding:14px 16px;display:grid}.admin-context label,.field-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.admin-context select,.upload-panel select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:10px 32px 10px 11px}.admin-context select:focus,.upload-panel select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #285b911f}.context-status{justify-self:end;align-items:center;gap:10px;padding:4px 2px 4px 14px;display:flex}.context-status strong,.context-status p{margin:0;display:block}.context-status strong{font-size:10px}.context-status p{color:var(--muted);margin-top:3px;font-size:9px}.admin-alert{border-radius:10px;grid-template-columns:auto 1fr;gap:9px;margin:0 0 18px;padding:13px 42px 13px 15px;font-size:11px;line-height:1.4;display:grid;position:relative}.admin-alert.success{color:#315f51;background:var(--green-soft)}.admin-alert.error{color:#844339;background:#f8e8e5}.admin-alert button{color:inherit;background:0 0;border:0;font-size:19px;position:absolute;top:8px;right:12px}.admin-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;margin-bottom:16px;display:grid}.admin-panel{border:1px solid var(--line);background:#fff;border-radius:14px}.admin-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:84px;padding:18px 20px;display:flex}.admin-panel-heading h2{font-size:25px}.step-badge{color:var(--blue);background:#edf4fa;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:800}.panel-intro{color:var(--muted);margin:18px 20px 0;font-size:11px;line-height:1.55}.drop-zone{text-align:center;cursor:pointer;background:#f8fafb;border:1px dashed #b7c4d2;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:142px;margin:18px 20px;padding:20px;transition:all .18s;display:flex}.drop-zone:hover,.drop-zone.has-file{border-color:var(--blue);background:#f0f6fb}.drop-zone input{opacity:0;pointer-events:none;position:absolute}.upload-icon{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:32px;height:32px;margin-bottom:10px;font-weight:800;display:grid}.drop-zone strong{overflow-wrap:anywhere;max-width:100%;font-size:12px}.drop-zone small{color:var(--muted);margin-top:6px;font-size:9px}.upload-panel>.field-label,.upload-panel>select,.scope-review,.primary-action{width:calc(100% - 40px);margin-left:20px;margin-right:20px}.scope-review{background:var(--cream);border-radius:8px;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;padding:11px 12px;font-size:10px;display:grid}.scope-review>div{min-width:0}.scope-review span,.scope-review strong,.scope-review small{display:block}.scope-review span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:800}.detection-note{color:var(--muted);margin-top:6px;font-size:9px;line-height:1.4;display:block}.detection-note.detected{color:#267d65}.detection-note.needs-review{color:#9b5f20;font-weight:700}.scope-review strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scope-review small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.35}.primary-action{color:#fff;background:var(--blue-strong);border:0;border-radius:8px;margin-top:14px;margin-bottom:20px;padding:12px;font-size:11px;font-weight:800}.primary-action:disabled{opacity:.48;cursor:not-allowed}.workflow-list{margin:0;padding:14px 20px 4px;list-style:none}.workflow-list li{gap:12px;padding:12px 0;display:flex;position:relative}.workflow-list li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:39px;bottom:-4px;left:13px}.workflow-list>li>span{z-index:1;border:1px solid var(--line);width:27px;height:27px;color:var(--muted);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:800;display:grid;position:relative}.workflow-list li.current>span{color:#fff;border-color:var(--green);background:var(--green)}.workflow-list strong{font-size:11px}.workflow-list p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.45}.workflow-note{color:#5d634c;background:var(--cream);border-radius:9px;margin:10px 20px 20px;padding:11px;font-size:9px;line-height:1.5}.queue-panel{overflow:hidden}.refresh-button:disabled{opacity:.55;cursor:wait}.admin-table-wrap{overflow-x:auto}.admin-table td,.admin-table th{padding:13px 16px}.admin-table td{color:#4e5969}.admin-table td:first-child strong,.file-id{display:block}.admin-table td:first-child strong{text-overflow:ellipsis;max-width:280px;color:var(--ink);overflow:hidden}.file-id{color:#8a93a1;letter-spacing:.04em;margin-top:4px;font-size:8px}.job-status{color:#765b16;white-space:nowrap;background:#f8edca;border-radius:99px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-block}.job-status.succeeded,.job-status.ready{color:#29604f;background:var(--green-soft)}.job-status.validating{color:#174a7c;background:#e4eff8}.job-status.failed,.job-status.missing{color:#844339;background:#f8e8e5}.queue-actions{justify-content:flex-end;gap:6px;display:flex}.queue-actions button,.review-close{border:1px solid var(--line);color:var(--blue-strong);white-space:nowrap;background:#fff;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800}.queue-actions button:disabled{opacity:.55;cursor:wait}.empty-queue{text-align:center;padding:38px 20px}.empty-queue strong{font-family:Georgia,serif;font-size:18px;font-weight:500}.empty-queue p{color:var(--muted);margin:8px 0 0;font-size:10px}.validation-review{margin-top:16px;overflow:hidden}.review-close{width:32px;height:32px;color:var(--muted);background:#f4f2ec;border:0;padding:0;font-size:20px}.validation-verdict{border-radius:11px;align-items:flex-start;gap:12px;margin:20px;padding:15px;display:flex}.validation-verdict>span{color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.validation-verdict strong{margin:1px 0 4px;font-size:12px;display:block}.validation-verdict p{margin:0;font-size:10px;line-height:1.5}.validation-verdict.passed{color:#315f51;background:var(--green-soft)}.validation-verdict.passed>span{background:var(--green)}.validation-verdict.failed{color:#844339;background:#f8e8e5}.validation-verdict.failed>span{background:#a55245}.validation-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 20px 18px;display:grid}.validation-stats>div{border:1px solid var(--line);background:#fcfbf8;border-radius:9px;min-width:0;padding:12px}.validation-stats span,.validation-stats strong{display:block}.validation-stats span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:8px;font-weight:800}.validation-stats strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.validation-list,.validation-sections{margin:0 20px 18px}.validation-list{border-radius:9px;padding:14px 16px}.validation-list.errors{color:#844339;background:#fbf1ef}.validation-list.warnings{color:#765b16;background:#fbf5df}.validation-list h3,.validation-sections h3{letter-spacing:.06em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800}.validation-list ul{margin:9px 0 0;padding-left:17px}.validation-list li{margin-top:5px;font-size:10px;line-height:1.45}.validation-list>p{margin:9px 0 0;font-size:10px;line-height:1.5}.commit-preview{background:#fbfefc;border:1px solid #bcd9cd;border-radius:11px;margin:0 20px 18px;overflow:hidden}.commit-preview-heading{background:var(--green-soft);border-bottom:1px solid #d6e9e1;justify-content:space-between;align-items:center;gap:16px;padding:14px 15px;display:flex}.commit-preview-heading h3{font-size:18px}.commit-preview-heading>span{color:#29604f;background:#fff;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:800}.commit-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px;display:grid}.commit-preview-grid>div{background:#fff;border-radius:8px;min-width:0;padding:10px}.commit-preview-grid span,.commit-preview-grid strong{display:block}.commit-preview-grid span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:800}.commit-preview-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.validation-sections{border:1px solid var(--line);border-radius:10px;overflow:hidden}.validation-sections>h3{border-bottom:1px solid var(--line);background:#faf9f5;padding:13px 15px}.validation-section{border-bottom:1px solid #efede7;justify-content:space-between;align-items:center;gap:18px;padding:11px 15px;display:flex}.validation-section:last-child{border:0}.validation-section strong,.validation-section span{display:block}.validation-section strong{font-size:10px}.validation-section div>span{color:var(--muted);margin-top:3px;font-size:8px}.validation-section>span{text-align:right;font-size:9px;font-weight:800}.check-pass{color:var(--green)}.check-fail{color:#a55245}.review-actions{border-top:1px solid var(--line);background:#faf9f5;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px 20px;display:flex}.review-actions p{max-width:540px;color:var(--muted);margin:0;font-size:9px;line-height:1.5}.review-actions p strong{color:var(--green)}.commit-confirm{color:var(--ink);cursor:pointer;align-items:flex-start;gap:9px;font-size:10px;line-height:1.45;display:flex}.commit-confirm input{accent-color:var(--green);margin-top:1px}.cost-admin-panel{margin-top:18px;overflow:hidden}.cost-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:16px;padding:20px;display:grid}.cost-entry-grid label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.cost-entry-grid label span{letter-spacing:0;text-transform:none;font-weight:600}.cost-entry-grid input,.cost-entry-grid select{border:1px solid var(--line);width:100%;min-height:41px;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:10px 11px}.cost-entry-grid input:focus,.cost-entry-grid select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #285b911f}.cost-entry-grid .primary-action{width:100%;margin:0}.cost-note-field{grid-column:span 3}.cost-admin-panel>.workflow-note{margin:0 20px 20px}.cost-admin-panel>.admin-table-wrap{border-top:1px solid var(--line)}.mapping-admin-panel{margin-top:18px;overflow:hidden}.mapping-group{border-top:1px solid var(--line);padding:20px}.mapping-group:first-of-type{border-top:0}.mapping-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.mapping-heading h3{font-size:17px}.mapping-heading span{color:var(--muted);font-size:10px;font-weight:700}.mapping-heading>div p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.45}.mapping-group .admin-table-wrap{border:1px solid var(--line);border-radius:9px;max-height:420px;overflow:auto}.mapping-group select{border:1px solid var(--line);min-width:170px;color:var(--ink);background:#fff;border-radius:7px;padding:8px 28px 8px 9px}.attribution-model-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attribution-model-options label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:flex-start;gap:10px;padding:13px;display:flex}.attribution-model-options label.selected{background:#edf4fa;border-color:#8caecc;box-shadow:0 0 0 2px #285b9114}.attribution-model-options input{accent-color:var(--blue-strong);margin-top:2px}.attribution-model-options span,.attribution-model-options strong,.attribution-model-options small{display:block}.attribution-model-options strong{color:var(--ink);font-size:11px}.attribution-model-options small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.attribution-model-settings>.workflow-note{margin-top:12px}.delivery-mapping-table select{min-width:260px;max-width:380px}.delivery-mapping-table td{vertical-align:middle}.mapping-status{white-space:nowrap;border-radius:99px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-block}.mapping-status.confirmed{color:#29604f;background:var(--green-soft)}.mapping-status.suggested{color:#174a7c;background:#e4eff8}.mapping-status.review{color:#765b16;background:#f8edca}.compact-button{min-width:82px;padding:8px 10px}.delivery-subsection{margin-top:18px}.delivery-subsection h4{font-family:Georgia,Times New Roman,serif;font-size:15px}.review-subsection{border-top:1px solid var(--line);padding-top:17px}.mapping-actions{align-items:center;gap:6px;display:flex}.mapping-actions button:not(.secondary-button),.delivery-mapping-table td>button{border:1px solid var(--line);color:var(--blue);background:#fff;border-radius:6px;padding:7px 9px;font-size:8px;font-weight:800}.ignored-mappings{border:1px solid var(--line);background:#faf9f5;border-radius:9px;margin-top:18px}.ignored-mappings summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;font-size:10px;font-weight:800;display:flex}.ignored-mappings summary strong{color:var(--muted);font-size:9px}.ignored-mappings>p{color:var(--muted);margin:0;padding:0 15px 13px;font-size:9px;line-height:1.5}.ignored-mappings .admin-table-wrap{background:#fff;margin:0 12px 12px}.rule-builder{background:var(--cream);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;margin:14px 0 18px;padding:16px;display:grid}.rule-builder label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.rule-builder input,.rule-builder select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-height:40px;padding:9px 10px}.rule-builder .primary-action{width:100%;margin:0}.spam-review-panel{margin-top:18px;overflow:hidden}.spam-summary{grid-template-columns:repeat(4,1fr);gap:10px;padding:0 20px 20px;display:grid}.spam-summary>div{border:1px solid var(--line);background:var(--cream);border-radius:9px;padding:14px}.spam-summary span,.spam-summary strong{display:block}.spam-summary span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.spam-summary strong{margin-top:5px;font-size:22px}.spam-review-panel>.admin-table-wrap{border-top:1px solid var(--line);max-height:520px;overflow:auto}.ghl-contact-link{color:var(--blue-strong);white-space:nowrap;font-size:10px;font-weight:800;text-decoration:none}.ghl-contact-link:hover{text-decoration:underline}.report-access-panel{margin-top:18px;overflow:hidden}.access-builder{grid-template-columns:1.1fr .55fr 1.35fr 1.35fr auto;align-items:end;gap:16px;padding:20px;display:grid}.access-builder label,.access-builder legend{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.access-builder input[type=text],.access-builder>div>input{border:1px solid var(--line);border-radius:8px;width:100%;margin-top:7px;padding:10px}.access-builder>div>select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:7px;padding:10px}.access-builder fieldset{border:0;flex-wrap:wrap;gap:8px 12px;padding:0;display:flex}.access-builder fieldset label{color:var(--ink);text-transform:none;letter-spacing:0;align-items:center;gap:5px;display:flex}.access-builder .primary-action{white-space:nowrap;width:auto;margin:0}.link-editor{background:#f5f9fc;border:1px solid #b7cbe0;border-radius:10px;margin:0 20px 18px;padding:16px}.link-editor>.mapping-heading{margin-bottom:14px}.link-editor>.mapping-heading>button{border:1px solid var(--line);color:var(--blue);background:#fff;border-radius:6px;padding:7px 9px;font-size:8px;font-weight:800}.link-editor-grid{grid-template-columns:1.1fr .55fr 1.35fr 1.35fr auto;align-items:end;gap:16px;display:grid}.link-editor-grid label,.link-editor-grid legend{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.link-editor-grid input,.link-editor-grid select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:7px;padding:10px}.link-editor-grid fieldset{border:0;flex-wrap:wrap;gap:8px 12px;padding:0;display:flex}.link-editor-grid fieldset label{width:auto;color:var(--ink);letter-spacing:0;text-transform:none;align-items:center;gap:5px;display:flex}.link-editor-grid fieldset input{width:auto;margin:0;padding:0}.link-editor-grid .primary-action{white-space:nowrap;width:auto;margin:0}.created-link{background:var(--cream);border-radius:9px;align-items:center;gap:12px;margin:0 20px 20px;padding:14px;display:flex}.created-link a{text-overflow:ellipsis;min-width:0;color:var(--blue-strong);overflow:hidden}.live-report{background:var(--cream);min-height:100vh;color:var(--ink);padding:32px}.live-report>header{border-bottom:1px solid var(--line);background:#fff;max-width:1180px;margin:auto;padding:0 22px}.live-header-main{align-items:center;gap:28px;padding:22px 0;display:flex}.live-header-main img{width:170px}.live-header-main h1{font-size:36px}.live-header-main>div>span{color:var(--muted);font-size:12px}.live-range{gap:5px;margin-left:auto;display:flex}.live-range button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 10px}.live-range button.selected{background:var(--blue-strong);color:#fff;border-color:var(--blue-strong)}.custom-range{border-top:1px solid var(--line);justify-content:flex-end;align-items:end;gap:10px;padding:12px 0;display:flex}.custom-range label{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.custom-range input{border:1px solid var(--line);border-radius:7px;margin-top:5px;padding:7px;display:block}.custom-range button{border:1px solid var(--blue-strong);background:var(--blue-strong);color:#fff;border-radius:7px;padding:8px 11px}.custom-range button:disabled{opacity:.45}.live-kpis,.live-panel,.live-report>footer{max-width:1180px;margin-left:auto;margin-right:auto}.live-controls{border-top:1px solid var(--line);background:#fff;align-items:center;gap:10px;padding:12px 0;display:flex}.live-controls strong{text-transform:uppercase;margin-right:8px;font-size:10px}.live-controls label{position:relative}.live-controls input{opacity:0;pointer-events:none;position:absolute}.live-controls label>span{border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700;display:block}.live-controls input:checked+span{color:var(--blue-strong);background:#edf4fa;border-color:#b7cbe0}.live-controls input:focus-visible+span{outline-offset:2px;outline:3px solid #285b9138}.report-refreshing{border-top:1px solid var(--line);color:var(--blue-strong);letter-spacing:.04em;padding:7px 0;font-size:9px;font-weight:800}.report-refresh-error{color:#7f3e31;background:#fff2ef;border:1px solid #e5c6bf;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;max-width:1180px;margin:12px auto;padding:10px 12px;font-size:10px;display:flex}.report-refresh-error button,.report-state button{color:inherit;background:#fff;border:1px solid;border-radius:7px;padding:7px 10px;font-weight:800}.live-kpis{grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 0;display:grid}.live-kpis article,.live-panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.live-kpis span,.live-kpis strong,.live-kpis small{display:block}.live-kpis span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.live-kpis strong{margin:8px 0;font-size:30px}.live-kpis small{color:var(--muted)}.live-panel{margin-bottom:16px}.live-panel h2{margin-bottom:14px}.live-panel table{border-collapse:collapse;width:100%}.live-panel th,.live-panel td{border-top:1px solid var(--line);text-align:left;padding:11px}.live-panel ul{max-width:420px;margin-top:12px}.live-panel li{text-transform:capitalize;justify-content:space-between;padding:7px 0;display:flex}.report-table-scroll{overflow:auto}.report-table-scroll table{min-width:1020px}.trend-panel{overflow:hidden}.trend-panel .delivery-panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.trend-panel .delivery-panel-heading h2{margin-bottom:0}.panel-badges{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.attribution-badge,.trend-window-badge{color:var(--blue-strong);white-space:nowrap;background:#edf4fa;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:800}.trend-window-badge{background:var(--cream);color:#59677a}.attribution-disclosure{background:var(--cream);color:var(--muted);border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:10px;line-height:1.5}.attribution-disclosure strong{color:var(--ink)}.trend-chart{margin-top:14px}.trend-chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-stage{position:relative}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:9px;font-weight:700;display:flex}.chart-legend span,.chart-legend button{align-items:center;gap:6px;display:flex}.chart-legend span:before,.chart-legend button:before{content:"";background:var(--blue);border-radius:3px;width:14px;height:3px}.chart-legend button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.chart-legend button.disabled{opacity:.35;text-decoration:line-through}.chart-legend .investment-key:before{background:#b8cee1;height:8px}.chart-legend .search-lead-bar-key:before{background:#1f5b91;height:8px}.chart-legend .social-lead-bar-key:before{background:#74579a;height:8px}.chart-legend .other-lead-bar-key:before{background:#9ba7b5;height:8px}.chart-legend .share-key:before{background:#267d65}.chart-legend .budget-key:before{background:#d59c24}.chart-legend .rank-key:before{background:#a55245}.chart-legend .delivery-impression-key:before{background:#c7d9e8;height:8px}.chart-legend .delivery-click-key:before{background:#8eabd0;height:8px}.chart-legend .delivery-ctr-key:before{background:#267d65}.chart-axis,.chart-grid{stroke:#dedbd2;stroke-width:1px}.chart-grid{stroke-dasharray:3 4}.investment-bar{fill:#c7d9e8}.search-lead-bar{fill:#1f5b91}.social-lead-bar{fill:#74579a}.other-lead-bar{fill:#9ba7b5}.chart-label,.chart-scale{fill:#647287;font-size:10px}.visibility-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.share-line{stroke:#267d65}.budget-line{stroke:#d59c24}.rank-line{stroke:#a55245}.chart-hit-area{fill:#0000;cursor:crosshair}.chart-hit-area:focus{stroke:#1f5b91;stroke-width:1px;stroke-dasharray:3 3;outline:none}.delivery-impression-bar{fill:#c7d9e8}.delivery-click-bar{fill:#8eabd0}.delivery-ctr-line{fill:none;stroke:#267d65;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.delivery-ctr-dot{fill:#fff;stroke:#267d65;stroke-width:2px}.chart-tooltip{z-index:3;min-width:170px;color:var(--muted);pointer-events:none;background:#fff;border:1px solid #b7cbe0;border-radius:8px;gap:3px;padding:9px 11px;font-size:9px;line-height:1.35;display:grid;position:absolute;transform:translate(-50%,-105%);box-shadow:0 8px 24px #14263a29}.chart-tooltip strong{color:var(--ink);font-size:10px}.chart-tooltip.left-edge{transform:translateY(-105%)}.chart-tooltip.right-edge{transform:translate(-100%,-105%)}.chart-note{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.45}.empty-detail{background:var(--cream);border-radius:8px;padding:10px;margin-top:12px!important}.live-detail-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.live-detail-grid article+article{border-left:1px solid var(--line);padding-left:28px}.live-detail-grid h3{font-family:Georgia,serif;font-size:20px}.live-detail-grid p{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.5}.live-detail-grid ul{max-width:420px;margin-top:10px}.live-detail-grid li{text-transform:capitalize;justify-content:space-between;padding:6px 0;display:flex}.panel-footnote{color:var(--muted);margin-top:12px;font-size:10px}.channel-quality{background:var(--cream);border-radius:9px;margin-top:14px;padding:12px 14px}.channel-quality summary{cursor:pointer;color:var(--blue-strong);font-size:10px;font-weight:800}.channel-quality>div{border-top:1px solid var(--line);grid-template-columns:180px 1fr 1fr;gap:12px;padding:10px 0;font-size:10px;display:grid}.channel-quality>div:first-of-type{margin-top:10px}.channel-quality span{color:var(--muted)}.delivery-panel-heading p{max-width:760px;color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.5}.delivery-channel-group{margin-top:22px}.delivery-channel-group>div:first-child{justify-content:space-between;align-items:center;gap:14px;margin-bottom:9px;display:flex}.delivery-channel-group h3{font-size:17px}.delivery-channel-group>div:first-child span{color:var(--muted);font-size:9px;font-weight:800}.delivery-table-scroll{border:1px solid var(--line);border-radius:9px;overflow:auto}.delivery-table-scroll table{table-layout:auto;min-width:1060px;margin:0}.delivery-table-scroll td,.delivery-table-scroll th{padding:11px 12px}.delivery-campaign{overflow-wrap:anywhere;min-width:135px;max-width:210px;line-height:1.4;white-space:normal!important;color:var(--muted)!important;font-size:9px!important}.notes-column{width:48px;text-align:center!important}.info-callout{width:20px;height:20px;color:var(--blue-strong);cursor:pointer;background:#edf4fa;border:1px solid #b7cbe0;border-radius:50%;padding:0;font-family:Georgia,serif;font-size:11px;font-weight:800}.info-callout:focus{outline:2px solid var(--blue-strong);outline-offset:2px}.inline-delivery-note td{border-top:0!important;padding:0!important}.inline-delivery-note td>div{background:#edf4fa;border-top:1px solid #b7cbe0;border-bottom:1px solid #b7cbe0;justify-content:space-between;align-items:flex-start;gap:18px;padding:12px 14px;display:flex}.inline-delivery-note strong{color:var(--blue-strong);font-size:10px}.inline-delivery-note p{color:#43566c;max-width:850px;margin:4px 0 0;font-size:10px;line-height:1.5}.inline-delivery-note button{color:var(--blue-strong);cursor:pointer;background:0 0;border:0;padding:0;font-size:18px;line-height:1}.delivery-performance>.panel-footnote{margin-top:14px}.supporting-details{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;max-width:1180px;margin:0 auto 16px;padding:0 20px}.supporting-details>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:16px 0;list-style:none;display:flex}.supporting-details>summary::-webkit-details-marker{display:none}.supporting-details>summary strong{margin-top:3px;font-family:Georgia,serif;font-size:18px;display:block}.supporting-details .expand-cue{color:var(--blue-strong);align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.supporting-details .expand-cue em{font-style:normal}.supporting-details .expand-cue b{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:17px;transition:transform .18s;display:grid}.supporting-details[open] .expand-cue b{transform:rotate(180deg)}.supporting-details>.live-detail-grid{border-top:1px solid var(--line);padding:18px 0 20px}.live-report>footer{color:var(--muted);padding:12px 0 30px;font-size:10px}.report-state{text-align:center;place-content:center;gap:14px;min-height:100vh;display:grid}.report-state img{width:200px;margin:auto}.review-actions .primary-action{width:auto;min-width:220px;margin:0}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}}@media (width<=1050px){.admin-grid{grid-template-columns:1fr}.workflow-panel{order:-1}.validation-stats,.commit-preview-grid,.access-builder,.link-editor-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;gap:14px;height:auto;padding:14px 18px;position:static}.brand-card{border:0;width:136px;height:auto;margin:0;padding:0}.brand-card img{width:128px}nav{display:none}.sidebar-note{margin:0 0 0 auto;padding:8px 10px}.sidebar-note p{display:none}.topbar,.control-bar,.summary-heading{padding-left:20px;padding-right:20px}.topbar{align-items:flex-start}.report-meta{display:none}.control-bar{flex-direction:column;align-items:flex-start}.kpi-grid{grid-template-columns:1fr 1fr;padding:0 20px}.report-grid{padding:14px 20px 28px}footer{padding-left:20px}.auth-page{grid-template-columns:1fr}.auth-brand{gap:44px;padding:32px}.auth-brand img{width:190px}.auth-brand h1{font-size:40px}.auth-form-wrap{padding:42px 24px}.admin-shell{display:block}.admin-sidebar{flex-direction:row;align-items:center;gap:12px;height:auto;padding:14px 18px;position:static}.admin-logo{border:0;width:140px;height:auto;margin:0;padding:0}.admin-logo img{width:135px}.admin-sidebar nav{display:none}.admin-user{border:0;margin:0 0 0 auto;padding:0}.admin-user>div:last-child{display:none}.admin-topbar,.admin-content{padding-left:20px;padding-right:20px}.admin-context{grid-template-columns:1fr 1fr}.context-status{grid-column:1/-1;justify-self:start;padding-left:0}.cost-entry-grid{grid-template-columns:1fr 1fr}.cost-note-field{grid-column:1/-1}}@media (width<=500px){.kpi-grid{grid-template-columns:1fr}.summary-heading{flex-direction:column;align-items:flex-start}.segmented-control{flex-wrap:wrap}.validation-stats,.commit-preview-grid,.access-builder,.link-editor-grid{grid-template-columns:1fr}.review-actions{flex-direction:column;align-items:stretch}.review-actions .primary-action{width:100%}}@media (width<=760px){.live-report{padding:14px}.live-header-main{flex-wrap:wrap;align-items:flex-start}.live-header-main img{width:130px}.live-header-main h1{font-size:28px}.live-range{width:100%;margin-left:0}.live-controls{flex-wrap:wrap}.live-kpis{grid-template-columns:1fr 1fr}.live-detail-grid{grid-template-columns:1fr}.live-detail-grid article+article{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.supporting-details .expand-cue em{display:none}.live-panel{overflow:auto}.attribution-model-options{grid-template-columns:1fr}.trend-panel .delivery-panel-heading{display:block}.attribution-badge{margin-top:10px;display:inline-block}.trend-chart{min-width:650px;overflow:visible}}
