/* The familiar light-purple owner panel. Rank colours remain shared. */
:root{--ink:#263248;--muted:#69788e;--line:#e2e6f0;--accent:#7150df;--bg:#f5f6fc;--rp-ink:#263248;--rp-lime:#7150df;--rp-focus:#c6b6fc}
body.service-ui{background:radial-gradient(ellipse at 0 0,#eee9ff 0,transparent 48%),#f5f6fc;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif}
.service-ui aside{background:transparent;border:0;max-width:1680px;margin:auto;height:74px;padding:0 24px;gap:30px}
.service-ui aside .brand{color:#263248;font-size:27px}
.service-ui aside .brand img{filter:none}
.service-ui aside nav a{color:#665d83;border-radius:12px;padding:10px 16px}
.service-ui aside nav a.active,.service-ui aside nav a:hover{background:#ece5fe;color:#6841cf}
.service-ui .aside-bottom button{color:#64748b;border-color:#ddd9eb;background:#fff;border-radius:10px}
.service-ui .workspace>header{height:42px;min-height:42px;border:0;padding-top:0}
.service-ui .crumb{font-family:inherit;color:var(--muted);font-size:12px}
.service-ui .account .badge,.service-ui .avatar,.service-ui .balance a{color:#6541c3;background:#eee8fc;border:0;border-radius:9px}
.service-ui .balance strong{color:var(--ink)}
.service-ui .workspace main{padding:22px 24px 40px}
.service-ui h1{color:#263248;font-size:30px;letter-spacing:-.7px}.service-ui h2{color:#263248}
.service-ui .heading p,.service-ui .heading .eyebrow{color:var(--muted)}
.service-ui button{color:#4b5870;background:#fff;border-color:#ddddeb;border-radius:10px;min-height:38px;font-size:13px;padding:9px 13px}
.service-ui button:hover{color:#6440bd;background:#f3eefd}
.service-ui button.primary{background:linear-gradient(135deg,#8154ed,#6540cf);color:white;border-color:#7750dc;box-shadow:0 3px 9px #7150df19}
.service-ui button.primary:hover{background:#6440cf;color:#fff;border-color:#6440cf}
.service-ui input,.service-ui select,.service-ui textarea{border-radius:10px;border-color:#dcddeb;color:#42516c}
.service-ui input:focus,.service-ui select:focus,.service-ui textarea:focus{outline:3px solid #cbbafa;outline-offset:1px}
.service-ui .card{border-color:#e0e1ef;border-radius:17px;background:#fff;box-shadow:0 5px 22px #52619507}
.service-ui .toolbar{background:#fff;border-color:#ececf5;padding:14px 18px}
.service-ui th{background:#f8f8fd;color:#566783;text-transform:none;letter-spacing:0;border-color:#e2e6f0;font-size:13px;font-weight:500}
.service-ui td{color:#344864;border-color:#eceef6;padding:18px 15px;font-size:15px}
.service-ui .service-projects-table tr:hover td{background:#faf8ff}
.service-ui .project-link{color:#27364c;font-size:18px;line-height:1.4}
.service-ui .domain{color:#71819a;font-family:inherit;font-size:13px}
.service-ui .project-context-label{color:#8a91a4;font-size:11px;margin-top:5px}
.service-ui .project-icon{background:#f1ecfd;border-color:#e6dffa;color:#7150df;border-radius:9px}
.service-ui .projects-total{border:0;background:#ece5fc;color:#7150df;border-radius:18px;padding:6px 11px}
.service-ui .project-toolbar [aria-pressed=true]{background:#f1ebfe;border-color:#ded4fb;color:#7150df}
.service-ui .project-page-check[aria-checked=true],.service-ui .project-page-check[aria-checked=mixed]{background:#7150df;border-color:#7150df}
.service-ui .badge:not(.green):not(.red):not(.orange){background:#eee9fc;color:#7150df}
.service-ui .project-sites{gap:8px;border:0;margin:12px 0 18px;flex-wrap:wrap}
.service-ui .project-sites button{border:1px solid #ddddeb;border-radius:11px;background:#fff;color:#64748b;font-weight:500;padding:10px 14px}
.service-ui .project-sites [aria-selected=true]{background:#7150df;border-color:#7150df;color:#fff;box-shadow:0 3px 10px #7150df20}
.service-ui .project-sites [data-action=competitors]{margin-left:0;border-style:dashed}
.service-ui .pager{background:#fafaff;border-color:#ececf5;padding:13px 18px}
.service-ui .notice{border-color:#ded7f5;background:#f3effd;color:#65548e;border-radius:10px}
.service-ui .notice.warning{background:#fff7e9;color:#826430;border-color:#f3e4c8}
.service-ui .url{font:11px/1.5 "Segoe UI",Arial,sans-serif;color:#7a88a0}
.service-ui .context-controls{gap:16px;margin:8px 0 14px}.history-caption{margin-left:auto;font-size:12px;color:var(--muted)}
.project-result-caption{font-size:12px;color:#71819a;margin:15px 0 10px}
.detail-summary{display:grid;grid-template-columns:repeat(9,minmax(105px,1fr));overflow-x:auto;border:1px solid #e2e6f0;border-radius:15px;background:#fff;margin:10px 0 15px}
.summary-cell{min-width:105px;padding:13px 12px;border-right:1px solid #e5e9f1;box-shadow:inset 0 -3px var(--range,#ddd4ef)}
.summary-cell:last-child{border-right:0}.summary-cell small{display:block;margin-bottom:10px;font-size:11px;white-space:nowrap}.summary-cell strong{font-size:24px;font-weight:650;color:var(--range,#536982)}.summary-cell>span{font-size:11px;margin-left:7px;color:#7c8799}
.movement-good{--range:var(--rank-top10);background:#effaf4}.movement-same{--range:#427294;background:#f1f6fc}.movement-bad{--range:#b3344a;background:#fff2f3}.band-0{--range:var(--rank-top10)}.band-1{--range:var(--rank-top30)}.band-2{--range:var(--rank-beyond30)}
.service-ui .check-ring{position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border:0;background:transparent;border-radius:50%;color:#7150df;opacity:1;box-shadow:none}
.check-track{position:absolute;inset:0;width:56px;height:56px;transform:rotate(-90deg);fill:none;stroke-width:3}.check-base{stroke:#e8e3f5}.check-arc{stroke:#8968e5;stroke-linecap:round;transition:stroke-dashoffset .35s ease}.check-center{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f1ecfd;position:relative}.check-center>svg{width:24px;height:24px}.check-percent{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.service-ui .check-ring.is-complete{color:#238068}.is-complete .check-center{background:#eaf8f2}.is-complete .check-arc{stroke:#54b99a}.service-ui .check-ring.is-partial{color:#87651f}.is-partial .check-center{background:#fff7e8}.is-partial .check-arc{stroke:#d5ac53}
.service-ui .check-ring:hover:not(:disabled){background:#ede6ff}.check-spinner{position:absolute;inset:-1px;border:2px solid transparent;border-top-color:#7150df;border-right-color:#7150df;border-radius:50%;animation:check-orbit 1.3s linear infinite}@keyframes check-orbit{to{transform:rotate(360deg)}}
.history-matrix{overflow:auto;max-height:70vh;min-height:130px;overscroll-behavior-x:contain}.service-ui .history-table{table-layout:fixed;width:auto;min-width:100%;border-collapse:separate;border-spacing:0}.service-ui .history-table th:not(.history-spacer):not(.history-query),.service-ui .history-table td:not(.history-spacer):not(.history-query){min-width:112px;max-width:112px;width:112px;text-align:center;padding:13px 9px}.service-ui .history-table th{position:sticky;top:0;z-index:2;white-space:normal;font-size:12px}.service-ui .history-table .history-query{position:sticky;left:0;min-width:320px;max-width:320px;width:320px;white-space:normal;background:#fff;z-index:1;overflow-wrap:anywhere;border-right:1px solid #e5e9f1;padding:13px 18px}.service-ui .history-table th.history-query{z-index:3;background:#f8f8fd}.history-query .url{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.service-ui .history-table .history-spacer{padding:0;border:0;max-width:none;min-width:0}.history-status{font-size:11px;color:var(--muted);margin:0;padding:10px 18px}.history-rank a{color:inherit}.service-ui td.rank-top10{color:var(--rank-top10);background:var(--rank-top10-soft)}.service-ui td.rank-top30{color:var(--rank-top30);background:var(--rank-top30-soft)}.service-ui td.rank-beyond30{color:var(--rank-beyond30);background:var(--rank-beyond30-soft)}.service-ui td.rank-error{background:#fff0f1;color:#a9364b}.service-ui td.absent{color:#a2a9b9}
.service-ui .auth-story{background:#302547}.service-ui .auth-story .accent{color:#c4b1ff}.service-ui .auth-form{background:#f6f4fc}.service-ui .auth-links a{color:#7150df}.service-ui .signal span{background:#9877ed;border-color:#9877ed}
@media(max-width:740px){.service-ui aside{height:64px;padding:0 14px;gap:14px}.service-ui aside .brand{font-size:22px}.service-ui aside nav a{padding:8px}.service-ui .workspace main{padding:16px 13px 28px}.service-ui .workspace>header{padding:6px 14px;min-height:48px;height:auto}.service-ui .project-sites{flex-wrap:nowrap}.service-ui .history-table .history-query{min-width:205px;max-width:205px;width:205px;padding:12px;font-size:13px}.detail-summary{grid-template-columns:repeat(9,108px)}.history-caption{display:none}.service-ui .project-heading>.actions{gap:7px}.service-ui .heading h1{font-size:26px}.service-ui .check-ring,.check-track{width:50px;height:50px;min-width:50px;min-height:50px}.check-center{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.check-spinner{animation:none}.check-arc{transition:none}}

/* Project checks occupy one shared column, independent of the domain length. */
.service-ui .service-projects-table th,.service-ui .service-projects-table td{text-align:center;vertical-align:middle}
.service-ui .service-projects-table th:nth-child(2),.service-ui .service-projects-table td:nth-child(2){text-align:left;min-width:240px}
.service-ui .service-projects-table th:nth-child(3){width:155px;min-width:155px}
.service-ui .service-projects-table td{padding-top:13px;padding-bottom:13px;height:112px}
.project-check-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:145px}
.project-check-caption{font-size:12px;color:#378775}.project-check-date{font-size:11px;color:#8291a8;white-space:nowrap}
.project-check-stack .badge{font-size:10px;padding:3px 6px}.project-check-stack .check-ring{width:52px;height:52px;min-width:52px;min-height:52px}.project-check-stack .check-track{width:52px;height:52px}
.service-ui .project-movement-cell .overview-dynamics{min-width:165px}.project-movement-cell .overview-movement{justify-content:space-between;font-size:14px;gap:18px}
.service-ui .project-bands-cell .overview-dynamics{min-width:220px}.project-bands-cell .overview-bands{margin-top:0;gap:16px}.project-bands-cell .context-band small{display:none}.project-bands-cell .context-band strong{font-weight:500;font-size:14px}.project-bands-cell .context-band{text-align:left}.project-bands-cell .context-band progress{margin-top:7px}
.service-projects-table .overview-number{font-weight:500}.service-projects-table .overview-ratio{margin-left:auto;margin-right:auto}
.service-ui .workspace main>.heading{margin-bottom:17px}.service-ui .workspace main>.heading:not(.project-heading) p{display:none}.service-ui .workspace main{padding-top:14px}.service-ui .workspace>header{height:32px;min-height:32px}

/* Readable per-date totals, independent of the visible keyword page. */
.history-date-metric{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:8px}
.history-date-metric strong{font-size:18px;line-height:1.25;font-weight:700;color:#08744f;font-variant-numeric:tabular-nums}
.history-date-metric small{font-size:10px;color:#61716b}
.history-date-metric progress{display:block;width:72px;height:4px;border:0;border-radius:3px;overflow:hidden;background:#dfece6;accent-color:#168663}
.history-date-metric progress::-webkit-progress-bar{background:#dfece6}
.history-date-metric progress::-webkit-progress-value{background:#168663}
.history-date-metric progress::-moz-progress-bar{background:#168663}
