/* Star-Pigeons Manager frontend bundle 1.4.77 */

/* ---- base.css ---- */
:root{
  --spm-blue:#0f2f73;
  --spm-blue-2:#173f8f;
  --spm-gold:#f0c651;
  --spm-bg:#f3f6fb;
  --spm-card:#ffffff;
  --spm-border:#d9e1f0;
  --spm-text:#11233f;
  --spm-muted:#66758f;
  --spm-danger:#bf2f45;
  --spm-success:#12835e;
}
.spm-app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;min-height:780px;background:var(--spm-bg);border:1px solid var(--spm-border);border-radius:24px;padding:24px;box-shadow:0 18px 40px rgba(15,47,115,.08);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--spm-text)}
.spm-sidebar{background:linear-gradient(180deg,#102f73 0%,#153981 100%);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:20px;color:#fff}
.spm-brand-card{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);padding:14px;border-radius:18px}
.spm-brand-logo-wrap{background:#fff;border-radius:16px;padding:8px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.spm-brand-logo{width:64px;height:64px;object-fit:contain;display:block}
.spm-brand-name{font-size:18px;font-weight:700;line-height:1.2}
.spm-brand-sub{font-size:13px;opacity:.82}
.spm-side-nav{display:flex;flex-direction:column;gap:8px}
.spm-side-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:#fff;text-decoration:none;font-weight:600;border:1px solid transparent;position:relative}
.spm-side-link:hover,.spm-side-link.is-active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12)}
.spm-side-link.is-locked{opacity:.7}
.spm-lock{margin-left:auto}
.spm-sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.spm-userbox{padding:14px;border-radius:16px;background:rgba(255,255,255,.08)}
.spm-userbox__name{font-weight:700}.spm-userbox__mail{font-size:13px;opacity:.8;word-break:break-word}
.spm-main{min-width:0;display:flex;flex-direction:column;gap:16px}
.spm-topbar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);gap:18px;background:var(--spm-card);padding:20px 24px;border-radius:22px;border:1px solid var(--spm-border);align-items:start}
.spm-topbar__head{min-width:0;display:flex;flex-direction:column;gap:6px}
.spm-topbar__title{margin:0;font-size:32px;line-height:1.1}
.spm-topbar__subtitle{margin-top:0;display:flex;gap:6px;flex-wrap:wrap;line-height:1.45;max-width:100%;white-space:normal}
.spm-topbar__subtitle-label{font-weight:700;color:var(--spm-muted)}
.spm-topbar__subtitle-text{color:var(--spm-text);overflow-wrap:anywhere;word-break:break-word;display:block;max-width:100%}
.spm-topbar__actions{display:grid;grid-template-columns:repeat(3,max-content);align-items:start;gap:12px;justify-content:end;min-width:0}
.spm-topbar__account{display:inline-flex;align-items:center;gap:8px;background:#edf3ff;color:var(--spm-blue);padding:9px 12px;border-radius:999px;border:1px solid #d8e4fb;font-weight:700;max-width:100%}
.spm-content-card{background:var(--spm-card);border-radius:22px;border:1px solid var(--spm-border);padding:24px;box-shadow:0 8px 24px rgba(11,34,73,.04)}
.spm-notice{padding:14px 16px;border-radius:16px;font-weight:600}.spm-notice--success{background:#eaf8ee;color:#166534;border:1px solid #b7e3c1}.spm-notice--warning{background:#fff5d8;color:#725400;border:1px solid #f1d781}
.spm-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700}.spm-badge--active{background:#dbf5eb;color:#0b6d4e}.spm-badge--free{background:#fff4d0;color:#715000}
.spm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:11px 15px;border:1px solid transparent;background:var(--spm-blue);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}
.spm-btn:hover{opacity:.94}.spm-btn--primary{background:var(--spm-blue)}.spm-btn--ghost{background:#fff;color:var(--spm-blue);border-color:var(--spm-border)}.spm-btn--danger{background:var(--spm-danger)}.spm-btn--sm{padding:8px 12px;font-size:13px}.spm-btn--block{width:100%}
.spm-input{width:100%;border:1px solid #cfd8ea;border-radius:12px;padding:11px 12px;background:#fff;font:inherit;color:var(--spm-text);box-sizing:border-box}
.spm-input--compact{min-width:0;width:100%;max-width:100%}
.spm-input--scope{min-width:220px}
.spm-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.spm-section-title{margin:0;font-size:24px}.spm-section-head--tight{margin-bottom:12px}.spm-section-title--sm{font-size:20px}
.spm-grid{display:grid;gap:18px}.spm-grid--stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.spm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.spm-grid--cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.spm-stat-card,.spm-panel,.spm-card{background:#fff;border:1px solid var(--spm-border);border-radius:18px;padding:18px}
.spm-stat-card__icon{font-size:24px}.spm-stat-card__value{font-size:32px;font-weight:800;margin-top:10px}.spm-stat-card__label{color:var(--spm-muted);margin-top:6px}
.spm-panel h3{margin-top:0;margin-bottom:14px}.spm-list-clean{list-style:none;margin:0;padding:0;display:grid;gap:10px}.spm-list-clean li{padding-bottom:8px;border-bottom:1px solid #eef2f8}.spm-list-clean li:last-child{border-bottom:0;padding-bottom:0}
.spm-form-panel{background:#f8fbff;border:1px solid #dfe7f5;border-radius:18px;padding:18px;margin-bottom:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.spm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.spm-form-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.spm-form-grid label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}.spm-col-span-2{grid-column:1 / -1}
.spm-table-wrap{overflow:auto;border:1px solid var(--spm-border);border-radius:18px}.spm-table{width:100%;border-collapse:collapse}.spm-table th,.spm-table td{padding:12px 14px;border-bottom:1px solid #edf1f7;text-align:left}.spm-table thead th{background:#f7f9fd;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#51607a}.spm-table tbody tr:hover{background:#fbfcff}
.spm-card{display:flex;flex-direction:column;gap:10px}.spm-card__title{font-weight:800;font-size:18px;letter-spacing:-.02em}.spm-card__meta{color:var(--spm-muted)}.spm-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.spm-card--pigeon{position:relative;overflow:hidden}.spm-card--pigeon:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--spm-gold),#f5df9a);opacity:.9}
.spm-chip-row{display:flex;gap:8px;flex-wrap:wrap}.spm-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef4ff;color:var(--spm-blue);font-size:13px;font-weight:700}.spm-chip--scope{background:#fff4d0;color:#715000}
.spm-inline-form,.spm-inline-actions,.spm-inline-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spm-inline-form{max-width:100%;flex:1 1 100%}.spm-inline-actions--stack{align-items:flex-start}.spm-inline-search{margin-bottom:18px}
.spm-checkline{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--spm-text)}
.spm-member-list{display:grid;gap:10px}.spm-member-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--spm-border);padding:12px;border-radius:14px}.spm-member-actions{display:flex;align-items:center;gap:8px}
.spm-page-back{margin-bottom:14px}.spm-page-back a{text-decoration:none;color:var(--spm-blue);font-weight:700}.spm-pigeon-sheet{display:grid;gap:18px}.spm-pigeon-sheet__hero{display:flex;align-items:center;gap:18px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#123273,#1d4aa2);color:#fff}.spm-avatar-bird{width:74px;height:74px;border-radius:20px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:34px}
.spm-muted{color:var(--spm-muted)}.spm-login-prompt{text-align:center;background:#fff;border:1px solid var(--spm-border);border-radius:20px;padding:40px;max-width:520px;margin:30px auto}
.spm-panel--soft{background:#f8fbff}.spm-import-preview{display:grid;gap:16px;margin-top:16px}
@media (max-width:1180px){.spm-app-shell{grid-template-columns:1fr}.spm-sidebar{order:2}.spm-topbar{grid-template-columns:1fr}}
@media (max-width:900px){.spm-grid--stats,.spm-grid--2,.spm-form-grid,.spm-form-grid--compact{grid-template-columns:1fr}.spm-col-span-2{grid-column:auto}.spm-topbar__actions{justify-content:flex-start}.spm-input--scope,.spm-inline-form{width:100%}}

.spm-colony-switch{min-width:0;width:100%}
.spm-colony-switch select{min-width:280px;width:100%;max-width:100%}
.spm-topbar__actions > *{min-width:0}
@media (max-width:1180px){.spm-topbar__actions{grid-template-columns:1fr;justify-content:stretch}}

.spm-side-link__icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px}
.spm-side-link__icon svg,.spm-stat-card__icon--svg svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.spm-stat-card__icon--svg{width:42px;height:42px;border-radius:14px;background:#eef4ff;color:var(--spm-blue);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.spm-grid--stats-hero{grid-template-columns:repeat(4,minmax(0,1fr));}
.spm-stat-card--premium{padding:22px 20px;min-height:142px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.spm-stat-card--premium .spm-stat-card__value{font-size:40px;line-height:1;margin-top:8px}
.spm-stat-card--premium .spm-stat-card__label{font-size:15px;line-height:1.35}
.spm-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.spm-mini-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.spm-mini-badge.is-on{background:#dbf5eb;color:#0b6d4e}
.spm-mini-badge.is-off{background:#fff4d0;color:#715000}
.spm-topbar__title{font-size:24px}
.spm-topbar{align-items:center}
.spm-topbar__actions{grid-template-columns:max-content max-content minmax(260px,1fr)}
.spm-colony-switch select{min-width:320px;line-height:1.35;padding-top:12px;padding-bottom:12px}
.spm-topbar__account,.spm-badge{white-space:nowrap}
@media (max-width:1180px){.spm-grid--stats-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.spm-topbar__actions{grid-template-columns:1fr;}}
@media (max-width:760px){.spm-grid--stats-hero{grid-template-columns:1fr}}


/* v1.1.2 layout cleanup */
.spm-has-app .entry-title,
.spm-has-app .page-title,
.spm-has-app .wp-block-post-title,
.spm-has-app h1.entry-title{display:none !important}
.spm-has-app .entry-content,
.spm-has-app .site-main,
.spm-has-app .post-content,
.spm-has-app .inside-article{max-width:none !important;width:100% !important}
.spm-app-shell{grid-template-columns:250px minmax(0,1fr);gap:18px;max-width:1600px;margin:0 auto;padding-top:4px}
.spm-sidebar{padding:16px;gap:14px;border-radius:20px;position:sticky;top:18px;align-self:start}
.spm-brand-card{padding:12px;border-radius:16px}
.spm-brand-logo{width:54px;height:54px}.spm-brand-logo-wrap{padding:6px;border-radius:14px}
.spm-brand-name{font-size:16px}.spm-brand-sub{font-size:12px}
.spm-side-nav{gap:4px}.spm-side-link{padding:10px 12px;border-radius:12px}.spm-side-link__icon{width:18px;height:18px;flex-basis:18px}.spm-side-link__icon svg{width:18px;height:18px}
.spm-sidebar-foot{gap:10px}.spm-userbox{padding:12px;border-radius:14px}
.spm-main{gap:12px}.spm-topbar--clean{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 22px;border-radius:20px}
.spm-topbar__eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7b97}
.spm-topbar__title{font-size:28px;margin:0}
.spm-topbar__actions--badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}
.spm-topbar-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#f4f7fc;border:1px solid #d8e3f3;color:#16366f;font-size:14px;line-height:1.2;max-width:100%}
.spm-topbar-badge strong{font-size:14px;overflow-wrap:anywhere}
.spm-topbar-badge__label{font-size:12px;font-weight:800;color:#6b7b97;text-transform:uppercase;letter-spacing:.04em}
.spm-topbar-badge--license{background:#dbf5eb;border-color:#c7ead9;color:#0b6d4e;font-weight:800}
.spm-topbar-badge--colony{min-width:min(100%,360px)}
.spm-colony-switchbar{background:#fff;border:1px solid var(--spm-border);border-radius:18px;padding:14px 18px}
.spm-colony-switch{display:grid;grid-template-columns:auto minmax(220px,420px);gap:12px;align-items:center;margin:0;max-width:100%}
.spm-colony-switchbar__label{font-weight:800;color:#16366f}
.spm-colony-switch select{min-width:0 !important;max-width:420px;padding:10px 12px}
.spm-content-card{padding:20px 22px;border-radius:20px}
.spm-grid--stats-hero{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.spm-stat-card--premium{min-height:132px;padding:18px 18px;border-radius:16px}.spm-stat-card--premium .spm-stat-card__value{font-size:38px}.spm-stat-card--premium .spm-stat-card__label{font-size:14px}
.spm-panel,.spm-card,.spm-stat-card{border-radius:16px}
.spm-chip--action{text-decoration:none;background:#eef4ff;color:#16366f;padding:10px 12px}
.spm-chip--action:hover{background:#dfeaff}
.spm-grid--dashboard-panels{grid-template-columns:1.2fr .8fr}
.spm-member-card{align-items:flex-start}.spm-member-card .spm-badge{flex-shrink:0}
.spm-form-panel,.spm-panel--soft{border-radius:16px}
@media (max-width:1180px){.spm-app-shell{grid-template-columns:1fr}.spm-sidebar{position:static}.spm-grid--dashboard-panels,.spm-grid--stats-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.spm-colony-switch{grid-template-columns:1fr}}
@media (max-width:760px){.spm-grid--stats-hero,.spm-grid--dashboard-panels{grid-template-columns:1fr}.spm-topbar__title{font-size:24px}}

.spm-loft-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px;padding:10px 14px;border-radius:14px;background:#f7f9fd;border:1px solid var(--spm-border)}
.spm-loft-group-head h3{margin:0;font-size:18px;color:#16366f}
.spm-card__note{padding:10px 12px;border-radius:12px;background:#fff7dc;border:1px solid #f1df9a;color:#725400;font-size:13px;line-height:1.4}
.spm-pigeon-hero{display:flex;align-items:stretch;justify-content:space-between;gap:18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#102f73 0%,#214fa7 58%,#2e63c6 100%);color:#fff;box-shadow:0 18px 36px rgba(16,47,115,.18)}
.spm-pigeon-hero__main{display:flex;align-items:center;gap:18px;min-width:0}
.spm-avatar-bird--hero{width:88px;height:88px;border-radius:24px;font-size:40px;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.spm-pigeon-hero__identity{min-width:0}
.spm-pigeon-hero__identity h2{margin:0 0 8px;font-size:clamp(24px,3.4vw,40px);line-height:1.05;letter-spacing:-.03em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.spm-pigeon-hero__eyebrow{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:8px}
.spm-pigeon-hero__name{margin:0 0 14px;font-size:20px;color:rgba(255,255,255,.95)}
.spm-pigeon-hero__note{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,245,216,.16);border:1px solid rgba(255,232,177,.32);color:#fff6d5;max-width:760px}
.spm-pigeon-hero__actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:10px}
.spm-pigeon-hero__actions form{margin:0}
.spm-pigeon-hero .spm-btn--ghost{background:rgba(255,255,255,.96);border-color:transparent;color:#14387c}
.spm-chip-row--light .spm-chip{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.12)}
.spm-chip-row--light .spm-chip--scope{background:#fff0c7;color:#725400;border-color:transparent}
@media (max-width:900px){.spm-pigeon-hero{flex-direction:column;align-items:flex-start}.spm-pigeon-hero__main{align-items:flex-start}.spm-pigeon-hero__actions{align-items:flex-start}.spm-pigeon-hero__identity h2{font-size:28px}}


.spm-topbar__hero{display:flex;align-items:center;gap:16px;min-width:0}.spm-topbar__visual{width:90px;height:90px;flex:0 0 90px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#eef4ff);border:1px solid #d8e3f3;overflow:hidden}.spm-topbar__visual img{max-width:100%;max-height:100%;object-fit:contain}.spm-dashboard-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.spm-dashboard-module{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:18px 16px 20px;border-radius:18px;border:1px solid var(--spm-border);background:#fff;text-decoration:none;color:var(--spm-text);box-shadow:0 12px 28px rgba(16,47,115,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.spm-dashboard-module:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(16,47,115,.12);border-color:#c7d8f0}.spm-dashboard-module__image{width:100%;aspect-ratio:1.25/1;display:flex;align-items:center;justify-content:center;overflow:hidden}.spm-dashboard-module__image img{width:100%;height:100%;object-fit:contain}.spm-dashboard-module__label{margin-top:4px;text-align:center;font-size:15px;font-weight:800;color:#16366f;line-height:1.2}.spm-dashboard-module__count{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:6px 10px;border-radius:999px;background:#eef4ff;color:#16366f;font-size:13px;font-weight:800}.spm-section-title{display:flex;align-items:center;gap:12px}.spm-section-title__logo{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#f8fbff;border:1px solid #d8e3f3;overflow:hidden}.spm-section-title__logo img{max-width:100%;max-height:100%;object-fit:contain}@media (max-width:1180px){.spm-dashboard-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.spm-topbar__hero{align-items:flex-start}.spm-topbar__visual{width:72px;height:72px;flex-basis:72px}.spm-dashboard-modules{grid-template-columns:1fr}.spm-section-title{flex-wrap:wrap}}


/* v1.3.0 dashboard module cleanup */
.spm-dashboard-module,
.spm-dashboard-module:hover,
.spm-dashboard-module:focus,
.spm-dashboard-module:visited,
.spm-dashboard-module *{
  text-decoration:none !important;
}
.spm-dashboard-module__image{padding:8px 4px 2px}
.spm-dashboard-module__image img{width:auto;max-width:100%;height:auto;max-height:180px;object-fit:contain;display:block}
.spm-dashboard-module__label{margin-top:10px;font-size:18px;font-weight:900;line-height:1.15;text-align:center}
.spm-dashboard-module__count{margin-top:12px;min-width:54px;padding:8px 14px;font-size:20px;font-weight:900;line-height:1;border-radius:999px}
@media (max-width:1180px){.spm-dashboard-module__image img{max-height:160px}}
@media (max-width:760px){.spm-dashboard-module__image img{max-height:140px}.spm-dashboard-module__label{font-size:17px}.spm-dashboard-module__count{font-size:18px}}

/* v1.3.1 pigeons page cleanup */
.spm-pigeons-toolbar{justify-content:flex-start}.spm-pigeons-search,.spm-pigeons-display{margin-bottom:10px}.spm-pigeons-search .spm-input[type="search"]{flex:2 1 320px}.spm-pigeons-search .spm-input--scope{flex:1 1 180px}.spm-pigeons-display .spm-input--scope{flex:0 1 220px}.spm-pigeon-form-head strong{font-size:18px;color:var(--spm-navy)}@media (max-width:768px){.spm-pigeons-search,.spm-pigeons-display{align-items:stretch}.spm-pigeons-search .spm-btn,.spm-pigeons-display .spm-btn{width:100%}}


/* v1.3.2 form controls cleanup */
.spm-input,
.spm-btn,
select.spm-input,
input.spm-input,
textarea.spm-input{
  line-height:1.35 !important;
  min-height:48px;
  vertical-align:middle;
}
textarea.spm-input{
  min-height:120px;
}
select.spm-input{
  appearance:auto;
  -webkit-appearance:menulist;
  -moz-appearance:menulist;
  padding-top:11px !important;
  padding-bottom:11px !important;
  background-image:none;
}
.spm-btn{
  min-height:48px;
  line-height:1.2 !important;
  white-space:nowrap;
}
.spm-inline-form > *,
.spm-inline-search > *{
  align-self:stretch;
}
.spm-pigeons-search .spm-input,
.spm-pigeons-display .spm-input,
.spm-colony-switch select.spm-input,
.spm-colony-switch .spm-input{
  height:48px;
}
.spm-form-grid label,
.spm-colony-switchbar__label{
  line-height:1.35;
}

/* v1.3.4 genealogy + import stats */
.spm-stat{background:#f8fbff;border:1px solid #dfe7f5;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-height:92px}
.spm-stat span{font-size:13px;font-weight:700;color:var(--spm-muted);line-height:1.3}
.spm-stat strong{font-size:28px;line-height:1;font-weight:900;color:var(--spm-blue)}
.spm-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.spm-pedigree-tree{display:grid;gap:14px}
.spm-pedigree-node{display:grid;gap:12px}
.spm-pedigree-card{border:1px solid #dfe7f5;border-radius:16px;padding:14px 16px;background:#fff;box-shadow:0 8px 18px rgba(16,47,115,.05)}
.spm-pedigree-card--empty{background:#fbfcff;color:var(--spm-muted)}
.spm-pedigree-card__eyebrow{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7b97;margin-bottom:8px}
.spm-pedigree-card__ring{font-size:20px;line-height:1.15;font-weight:900;color:#16366f;word-break:break-word}
.spm-pedigree-card__name{margin-top:6px;font-size:15px;font-weight:700;color:var(--spm-text)}
.spm-pedigree-parents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-left:18px;border-left:3px solid #e8eef9}
@media (max-width:900px){.spm-grid--4,.spm-pedigree-parents{grid-template-columns:1fr}}

.spm-pigeon-hero{overflow:hidden;position:relative;min-height:300px}
.spm-pigeon-hero::before{content:'';position:absolute;inset:auto -8% -35% auto;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 70%);pointer-events:none}
.spm-pigeon-hero__main{flex:1 1 56%;align-items:flex-start;justify-content:space-between}
.spm-pigeon-hero__identity{padding:6px 0 6px 2px;max-width:720px}
.spm-pigeon-hero__actions{min-width:200px}
.spm-pigeon-hero__visual{flex:0 0 340px;display:flex;align-items:flex-end;justify-content:center;position:relative}
.spm-pigeon-hero__photo-wrap{width:min(100%,340px);height:280px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 40px rgba(8,26,67,.24);display:flex;align-items:flex-end;justify-content:center;overflow:visible;padding:18px 22px 12px}
.spm-pigeon-hero__photo{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 20px 28px rgba(8,26,67,.38))}
.spm-pigeon-hero__visual.is-placeholder .spm-pigeon-hero__photo{opacity:.28;mix-blend-mode:screen;transform:translateY(2px) scale(.9)}
.spm-pigeon-hero__visual.has-photo .spm-pigeon-hero__photo-wrap{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));overflow:hidden}
.spm-photo-picker{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:14px;border-radius:18px;background:#f7f9ff;border:1px solid #d9e1f5}
.spm-photo-picker__preview{width:120px;height:120px;border-radius:20px;background:#eaf0ff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.spm-photo-picker__preview img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.spm-photo-picker__actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.spm-pigeon-hero{min-height:0}.spm-pigeon-hero__main{width:100%;flex-direction:column;gap:16px}.spm-pigeon-hero__actions{flex-direction:row;flex-wrap:wrap;min-width:0}.spm-pigeon-hero__visual{width:100%;flex:0 0 auto}.spm-pigeon-hero__photo-wrap{width:100%;max-width:420px;height:240px;padding:16px 18px 10px}.spm-photo-picker{grid-template-columns:1fr}.spm-photo-picker__preview{width:100%;max-width:180px;height:180px}}




/* ---- layout.css ---- */
/* v1.3.8 layout refresh */
body.spm-app-mode header,
body.spm-app-mode #masthead,
body.spm-app-mode .site-header,
body.spm-app-mode .main-navigation,
body.spm-app-mode .top-header,
body.spm-app-mode .navbar,
body.spm-app-mode .nav-primary,
body.spm-app-mode .nav-secondary,
body.spm-app-mode .header-wrap,
body.spm-app-mode .header-inner,
body.spm-app-mode .ast-above-header-wrap,
body.spm-app-mode .ast-primary-header-bar,
body.spm-app-mode .ast-mobile-header-wrap,
body.spm-app-mode .ct-header,
body.spm-app-mode .site-branding,
body.spm-app-mode .entry-header,
body.spm-app-mode .page-header,
body.spm-app-mode .wp-block-template-part,
body.spm-app-mode .elementor-location-header,
body.spm-app-mode .site-breadcrumbs,
body.spm-app-mode .breadcrumbs,
body.spm-app-mode #breadcrumbs{display:none !important;}
body.spm-app-mode .site,
body.spm-app-mode .site-content,
body.spm-app-mode .content-area,
body.spm-app-mode .site-main,
body.spm-app-mode .entry-content,
body.spm-app-mode .inside-article,
body.spm-app-mode .ast-container,
body.spm-app-mode .ct-container,
body.spm-app-mode .container,
body.spm-app-mode .content-wrapper,
body.spm-app-mode .elementor-section-wrap,
body.spm-app-mode .elementor-widget-container{max-width:none !important;width:100% !important;}
body.spm-app-mode .site-content,
body.spm-app-mode .content-area,
body.spm-app-mode .site-main,
body.spm-app-mode .entry-content,
body.spm-app-mode .inside-article,
body.spm-app-mode .ast-container,
body.spm-app-mode .ct-container,
body.spm-app-mode .container,
body.spm-app-mode .content-wrapper{margin:0 !important;padding:0 !important;}
body.spm-app-mode .spm-app-shell{margin:0;min-height:calc(100vh - 24px);width:100%;max-width:none;padding:20px;border-radius:0;border:0;box-shadow:none;background:linear-gradient(180deg,#f4f7fc 0%,#eef3fb 100%);}
.spm-sidebar{padding:24px 20px 20px;gap:24px}
.spm-brand-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:18px 16px;border-radius:22px;align-items:center}
.spm-brand-logo-wrap{padding:10px;border-radius:22px}
.spm-brand-logo{width:72px;height:72px}
.spm-brand-name{font-size:30px;line-height:1.02;letter-spacing:-.03em}
.spm-brand-sub{font-size:14px;opacity:.9}
.spm-side-link{padding:13px 16px;font-size:18px;border-radius:16px}
.spm-content-card{padding:20px}
.spm-pigeon-hero{align-items:stretch;gap:24px;padding:26px 28px 24px;border-radius:28px;overflow:visible}
.spm-pigeon-hero__main{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;width:100%}
.spm-pigeon-hero__identity{padding:4px 0 0 2px;max-width:none}
.spm-pigeon-hero__identity h2{display:block;margin:0 0 10px;font-size:clamp(24px,2.9vw,52px);line-height:1.04;letter-spacing:-.04em;white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none;min-width:0}
.spm-pigeon-hero__name{font-size:22px;line-height:1.15;min-height:1.15em}
.spm-pigeon-hero__actions{min-width:196px;align-items:flex-end;padding-top:6px}
.spm-pigeon-hero__visual{flex:0 0 360px;align-self:stretch}
.spm-pigeon-hero__photo-wrap{width:min(100%,360px);height:304px;padding:20px 26px 16px}
.spm-pigeon-hero__photo{max-width:108%;max-height:108%;object-position:center center}
.spm-pigeon-hero__visual.is-placeholder .spm-pigeon-hero__photo{opacity:.34;transform:none;mix-blend-mode:screen}
@media (max-width:1180px){
  .spm-brand-card{grid-template-columns:84px minmax(0,1fr)}
  .spm-brand-logo{width:64px;height:64px}
  .spm-brand-name{font-size:24px}
  .spm-pigeon-hero{padding:22px}
  .spm-pigeon-hero__main{grid-template-columns:minmax(0,1fr)}
  .spm-pigeon-hero__actions{flex-direction:row;justify-content:flex-start;min-width:0;padding-top:0}
}
@media (max-width:900px){
  body.spm-app-mode .spm-app-shell{padding:14px}
  .spm-brand-card{grid-template-columns:72px minmax(0,1fr);padding:14px}
  .spm-brand-logo{width:56px;height:56px}
  .spm-brand-name{font-size:20px}
  .spm-side-link{font-size:16px}
  .spm-pigeon-hero__identity h2{font-size:clamp(22px,7vw,36px)}
  .spm-pigeon-hero__visual{width:100%;flex:0 0 auto}
  .spm-pigeon-hero__photo-wrap{width:100%;max-width:420px;height:250px;padding:16px 22px 12px}
}

/* v1.3.9 fixed brand stack + stronger pigeon silhouette */
.spm-app-shell--immersive{max-width:none;width:100%}
.spm-sidebar{position:sticky;top:0;align-self:start;height:100vh;max-height:100vh;overflow:hidden;padding:22px 18px 18px;gap:18px}
.spm-brand-card{position:sticky;top:0;z-index:20;display:flex !important;flex-direction:column;align-items:center;justify-content:flex-start;gap:14px;padding:18px 14px 16px;border-radius:24px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.06));backdrop-filter:blur(6px)}
.spm-brand-logo-wrap{width:100%;padding:16px;border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(8,26,67,.18)}
.spm-brand-logo{width:100%;height:auto;max-height:122px;object-fit:contain;display:block}
.spm-brand-card > div:last-child{width:100%}
.spm-brand-name{font-size:28px;line-height:1.02;letter-spacing:-.04em;margin:0;text-wrap:balance}
.spm-brand-sub{font-size:15px;line-height:1.25;margin-top:6px;opacity:.92}
.spm-side-nav{flex:1 1 auto;min-height:0;overflow:auto;padding-top:4px}
.spm-sidebar-foot{flex:0 0 auto;margin-top:12px}

.spm-pigeon-hero__visual.is-placeholder .spm-pigeon-hero__photo-wrap{overflow:visible;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.03))}
.spm-pigeon-hero__visual.is-placeholder .spm-pigeon-hero__photo{opacity:.44;mix-blend-mode:screen;transform:none;max-width:112%;max-height:112%;object-position:center bottom;filter:contrast(1.28) brightness(1.02) drop-shadow(0 22px 30px rgba(8,26,67,.42))}

@media (max-width:1180px){
  .spm-sidebar{position:static;height:auto;max-height:none;overflow:visible}
  .spm-brand-card{position:relative}
}
@media (max-width:900px){
  .spm-brand-logo{max-height:96px}
  .spm-brand-name{font-size:22px}
  .spm-brand-sub{font-size:14px}
}


/* v1.3.10 footer hide + brand/logo layout + placeholder framing */
body.spm-app-mode .site-footer,
body.spm-app-mode footer.site-footer,
body.spm-app-mode .footer-adv,
body.spm-app-mode .ast-footer-overlay,
body.spm-app-mode .ast-footer-wrap,
body.spm-app-mode .ast-builder-footer,
body.spm-app-mode .ast-footer-copyright,
body.spm-app-mode .ast-small-footer,
body.spm-app-mode .ast-small-footer-wrap,
body.spm-app-mode .site-below-footer-wrap,
body.spm-app-mode .entry-footer,
body.spm-app-mode .post-navigation,
body.spm-app-mode .comments-area,
body.spm-app-mode .sharedaddy,
body.spm-app-mode .sharedaddy-block,
body.spm-app-mode .jp-relatedposts,
body.spm-app-mode .heateor_sss_sharing_container,
body.spm-app-mode .heateorSssSharing,
body.spm-app-mode .sd-content,
body.spm-app-mode .sd-sharing-enabled,
body.spm-app-mode .sd-like,
body.spm-app-mode [class*="shared"],
body.spm-app-mode [id*="shared"],
body.spm-app-mode footer,
body.spm-app-mode .site-info,
body.spm-app-mode .ast-scroll-top{display:none !important;}

body.spm-app-mode .spm-app-shell{min-height:100vh !important;}
.spm-sidebar{padding:18px 14px 18px;}
.spm-brand-card{position:sticky;top:0;z-index:30;display:grid !important;grid-template-columns:1fr;gap:12px;padding:14px 12px 14px;border-radius:22px;align-items:center;justify-items:center;overflow:visible;}
.spm-brand-logo-wrap{width:100%;padding:18px 18px 16px;border-radius:24px;display:flex;align-items:center;justify-content:center;overflow:visible;}
.spm-brand-logo{width:100%;max-width:100%;height:auto;max-height:128px;object-fit:contain;object-position:center center;display:block;}
.spm-brand-card > div:last-child{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.spm-brand-name{font-size:22px;line-height:1.03;letter-spacing:-.035em;margin:0;text-align:center;text-wrap:balance;max-width:100%;}
.spm-brand-sub{font-size:14px;line-height:1.2;margin-top:4px;text-align:center;}
.spm-side-nav{padding-top:10px;}

.spm-pigeon-hero__visual.is-placeholder .spm-pigeon-hero__photo-wrap{width:min(100%,360px);height:304px;padding:28px 28px 24px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04));}
.spm-pigeon-hero__visual.is-placeholder .spm-pigeon-hero__photo{opacity:.36;mix-blend-mode:screen;transform:none;max-width:92%;max-height:92%;width:auto;height:auto;object-fit:contain;object-position:center center;filter:contrast(1.22) brightness(1.02) saturate(1.02) drop-shadow(0 20px 26px rgba(8,26,67,.34));}

@media (max-width: 900px){
  .spm-brand-logo{max-height:104px;}
  .spm-brand-name{font-size:20px;}
}



/* v1.3.11 logo lockup refinement */
.spm-sidebar{
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  padding-top: 18px;
}
.spm-brand-card{
  position: sticky;
  top: 0;
  z-index: 40;
  display: grid !important;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 0;
  padding: 14px 12px 10px;
  border-radius: 22px;
}
.spm-brand-logo-wrap{
  width: 100%;
  padding: 12px 10px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  background: rgba(255,255,255,.06);
  box-shadow: none;
}
.spm-brand-logo{
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  display: block;
}
.spm-brand-card > div:last-child{
  display:none !important;
}
.spm-side-nav{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-top: 12px;
}
@media (max-width: 1180px){
  .spm-sidebar{
    position: static;
    height: auto;
    max-height: none;
    overflow: visible;
  }
  .spm-brand-card{
    position: relative;
  }
}



/* v1.3.12 brand lockup + return card */
.spm-sidebar{padding-top:18px;}
.spm-brand-card{
  position:sticky;
  top:0;
  z-index:45;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:16px 14px 14px;
  border-radius:24px;
}
.spm-brand-logo-wrap{
  width:100%;
  padding:16px 14px;
  border-radius:24px;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.spm-brand-logo{
  width:100%;
  max-width:168px;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  display:block;
}
.spm-brand-card > div:last-child{
  display:flex !important;
  width:100%;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
}
.spm-brand-name,
.spm-brand-sub{
  color:#fff !important;
  text-align:center;
}
.spm-brand-name{
  font-size:22px;
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.03em;
  margin:0;
  text-wrap:balance;
}
.spm-brand-sub{
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  opacity:.96;
  margin-top:2px;
}
.spm-side-nav{
  padding-top:14px;
}
.spm-toolbar-row{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);
  gap:18px;
  margin-bottom:18px;
  align-items:stretch;
}
.spm-toolbar-row .spm-colony-switchbar{margin-bottom:0;}
.spm-return-card{
  background:#fff;
  border:1px solid var(--spm-border);
  border-radius:22px;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 10px 26px rgba(16,47,115,.05);
}
.spm-return-card__label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7b97;
  margin-bottom:10px;
}
.spm-return-card__btn{
  justify-content:center;
}
@media (max-width: 980px){
  .spm-toolbar-row{grid-template-columns:1fr;}
}
@media (max-width: 1180px){
  .spm-brand-card{position:relative;}
}



/* v1.3.13 logo restore: full logo + white background */
.spm-brand-card{
  position: sticky;
  top: 0;
  z-index: 35;
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 12px 12px 10px;
  border-radius: 22px;
  align-items: center;
  justify-items: center;
  overflow: visible;
}
.spm-brand-logo-wrap{
  width: 100%;
  background: #ffffff;
  padding: 12px 12px 10px;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  box-shadow: 0 12px 30px rgba(8,26,67,.16);
}
.spm-brand-logo{
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 170px;
  object-fit: contain;
  object-position: center center;
  display: block;
}
.spm-brand-card > div:last-child{
  display: none !important;
}
@media (max-width: 980px){
  .spm-brand-logo{
    max-height: 128px;
  }
}





/* ---- pedigree.css ---- */
/* v1.4.0 performance + family panels */
.spm-performance-grid .spm-stat strong{
  font-size: clamp(1.4rem, 2vw, 2rem);
}
.spm-offspring-list{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
  margin-top:14px;
}
.spm-offspring-item{
  border:1px solid rgba(27,66,143,.12);
  border-radius:18px;
  padding:14px 14px 12px;
  background:rgba(255,255,255,.7);
}
.spm-offspring-item__title{
  font-weight:800;
  color:#0d2f6e;
  margin-bottom:4px;
}
.spm-offspring-item__meta{
  color:#5571a3;
  font-size:.95rem;
  margin-top:4px;
}


/* v1.4.6 genealogy and family refinement */
.spm-family-stats .spm-stat strong{font-size:1.4rem;}
.spm-pedigree-card{display:block;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.spm-pedigree-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,26,67,.14);border-color:rgba(78,121,255,.24);}
.spm-pedigree-card__cta{margin-top:10px;font-size:.82rem;font-weight:700;color:#3657d6;}
.spm-offspring-item{display:block;text-decoration:none;color:inherit;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;}
.spm-offspring-item:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,26,67,.12);border-color:rgba(78,121,255,.24);}
.spm-offspring-item__link{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:700;color:#3657d6;}



/* v1.4.7 horizontal pedigree tree with connectors */
.spm-pedigree-tree{
  display:block;
  overflow-x:auto;
  overflow-y:hidden;
  padding:10px 8px 16px;
  scrollbar-width:thin;
}
.spm-pedigree-node{
  display:flex;
  align-items:center;
  gap:26px;
  position:relative;
  width:max-content;
  min-width:max-content;
}
.spm-pedigree-card{
  width:250px;
  min-width:250px;
  max-width:250px;
  min-height:172px;
  position:relative;
  z-index:2;
}
.spm-pedigree-card__ring{
  font-size:18px;
  line-height:1.15;
  word-break:break-word;
}
.spm-pedigree-card__name{
  min-height:2.7em;
}
.spm-pedigree-card__cta{
  margin-top:10px;
  font-weight:700;
}
.spm-pedigree-parents{
  display:flex !important;
  flex-direction:column;
  gap:18px;
  padding-left:34px !important;
  border-left:0 !important;
  position:relative;
}
.spm-pedigree-parents::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:18px;
  height:2px;
  background:#c8d7f1;
  transform:translateY(-50%);
}
.spm-pedigree-parents::after{
  content:"";
  position:absolute;
  left:18px;
  top:22%;
  bottom:22%;
  width:2px;
  background:#d7e3f7;
}
.spm-pedigree-parents > .spm-pedigree-node{
  position:relative;
}
.spm-pedigree-parents > .spm-pedigree-node::before{
  content:"";
  position:absolute;
  left:-16px;
  top:50%;
  width:16px;
  height:2px;
  background:#d7e3f7;
  transform:translateY(-50%);
}
.spm-pedigree-node--d1 > .spm-pedigree-card{
  width:300px;
  min-width:300px;
  max-width:300px;
  min-height:178px;
  box-shadow:0 14px 30px rgba(16,47,115,.08);
}
.spm-pedigree-node--d2 > .spm-pedigree-card{
  background:#fcfdff;
}
.spm-pedigree-node--d3 > .spm-pedigree-card,
.spm-pedigree-node--d4 > .spm-pedigree-card{
  width:210px;
  min-width:210px;
  max-width:210px;
  min-height:154px;
  padding:12px 14px;
}
.spm-pedigree-node--d3 .spm-pedigree-card__ring,
.spm-pedigree-node--d4 .spm-pedigree-card__ring{
  font-size:16px;
}
.spm-pedigree-node--empty .spm-pedigree-card{
  min-height:120px;
  justify-content:center;
}
@media (max-width: 1100px){
  .spm-pedigree-card{
    width:230px;
    min-width:230px;
    max-width:230px;
  }
  .spm-pedigree-node--d1 > .spm-pedigree-card{
    width:280px;
    min-width:280px;
    max-width:280px;
  }
}
@media (max-width: 760px){
  .spm-pedigree-tree{
    padding:8px 0 12px;
  }
  .spm-pedigree-node{
    gap:18px;
  }
  .spm-pedigree-card{
    width:210px;
    min-width:210px;
    max-width:210px;
  }
  .spm-pedigree-node--d1 > .spm-pedigree-card{
    width:250px;
    min-width:250px;
    max-width:250px;
  }
  .spm-pedigree-parents{
    padding-left:24px !important;
    gap:12px;
  }
}




/* v1.4.8 compact horizontal pedigree layout */
.spm-pedigree-tree{
  padding:6px 0 12px;
  overflow-x:auto;
  overflow-y:hidden;
}
.spm-pedigree-node{
  gap:16px;
  align-items:stretch;
}
.spm-pedigree-card{
  width:212px;
  min-width:212px;
  max-width:212px;
  min-height:142px;
  padding:12px 13px;
  border-radius:18px;
  box-shadow:0 8px 22px rgba(16,47,115,.06);
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.spm-pedigree-card__eyebrow{
  margin-bottom:6px;
  font-size:11px;
  letter-spacing:.08em;
}
.spm-pedigree-card__ring{
  font-size:16px;
  line-height:1.14;
}
.spm-pedigree-card__name{
  margin-top:5px;
  min-height:2.35em;
  font-size:14px;
  line-height:1.25;
}
.spm-pedigree-card .spm-chip-row{
  gap:6px;
}
.spm-pedigree-card .spm-chip{
  padding:5px 8px;
  font-size:11px;
}
.spm-pedigree-card__cta{
  margin-top:8px;
  font-size:12px;
}
.spm-pedigree-parents{
  gap:12px;
  padding-left:26px !important;
}
.spm-pedigree-parents::before{
  width:14px;
}
.spm-pedigree-parents::after{
  left:14px;
  top:18%;
  bottom:18%;
}
.spm-pedigree-parents > .spm-pedigree-node::before{
  left:-12px;
  width:12px;
}
.spm-pedigree-node--d1 > .spm-pedigree-card{
  width:248px;
  min-width:248px;
  max-width:248px;
  min-height:150px;
  padding:14px 16px;
}
.spm-pedigree-node--d1 .spm-pedigree-card__ring{
  font-size:18px;
}
.spm-pedigree-node--d2 > .spm-pedigree-card{
  width:196px;
  min-width:196px;
  max-width:196px;
}
.spm-pedigree-node--d3 > .spm-pedigree-card,
.spm-pedigree-node--d4 > .spm-pedigree-card{
  width:156px;
  min-width:156px;
  max-width:156px;
  min-height:128px;
  padding:10px 11px;
}
.spm-pedigree-node--d3 .spm-pedigree-card__ring,
.spm-pedigree-node--d4 .spm-pedigree-card__ring{
  font-size:14px;
}
.spm-pedigree-node--d3 .spm-pedigree-card__name,
.spm-pedigree-node--d4 .spm-pedigree-card__name{
  min-height:2.15em;
  font-size:12.5px;
}
.spm-pedigree-node--d3 .spm-pedigree-card .spm-chip,
.spm-pedigree-node--d4 .spm-pedigree-card .spm-chip{
  padding:4px 7px;
  font-size:10px;
}
.spm-pedigree-node--d3 .spm-pedigree-card__cta,
.spm-pedigree-node--d4 .spm-pedigree-card__cta{
  font-size:11px;
}
.spm-pedigree-node--empty .spm-pedigree-card{
  min-height:96px;
}
@media (max-width: 1280px){
  .spm-pedigree-card{
    width:196px;
    min-width:196px;
    max-width:196px;
  }
  .spm-pedigree-node--d1 > .spm-pedigree-card{
    width:232px;
    min-width:232px;
    max-width:232px;
  }
  .spm-pedigree-node--d2 > .spm-pedigree-card{
    width:182px;
    min-width:182px;
    max-width:182px;
  }
  .spm-pedigree-node--d3 > .spm-pedigree-card,
  .spm-pedigree-node--d4 > .spm-pedigree-card{
    width:146px;
    min-width:146px;
    max-width:146px;
  }
}
@media (max-width: 760px){
  .spm-pedigree-tree{
    padding:4px 0 10px;
  }
  .spm-pedigree-node{
    gap:12px;
  }
  .spm-pedigree-card{
    width:184px;
    min-width:184px;
    max-width:184px;
  }
  .spm-pedigree-node--d1 > .spm-pedigree-card{
    width:216px;
    min-width:216px;
    max-width:216px;
  }
  .spm-pedigree-node--d2 > .spm-pedigree-card{
    width:170px;
    min-width:170px;
    max-width:170px;
  }
  .spm-pedigree-node--d3 > .spm-pedigree-card,
  .spm-pedigree-node--d4 > .spm-pedigree-card{
    width:138px;
    min-width:138px;
    max-width:138px;
  }
  .spm-pedigree-parents{
    padding-left:20px !important;
    gap:10px;
  }
}




/* v1.4.9 full-width pedigree redesign */
.spm-pedigree-panel,
.spm-family-panel{
  width:100%;
}
.spm-family-panel{
  margin-top:14px;
}
.spm-family-stats--detail .spm-stat strong{
  font-size:18px;
  line-height:1.25;
}
.spm-family-panel .spm-offspring-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.spm-pedigree-tree{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:8px 0 10px;
}
.spm-pedigree-tree::-webkit-scrollbar{
  height:10px;
}
.spm-pedigree-node{
  gap:14px;
  align-items:stretch;
  width:max-content;
}
.spm-pedigree-card{
  width:172px;
  min-width:172px;
  max-width:172px;
  min-height:144px;
  padding:12px 12px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  box-shadow:0 8px 22px rgba(16,47,115,.06);
}
.spm-pedigree-node--d1 > .spm-pedigree-card,
.spm-pedigree-node--d2 > .spm-pedigree-card,
.spm-pedigree-node--d3 > .spm-pedigree-card,
.spm-pedigree-node--d4 > .spm-pedigree-card{
  width:172px;
  min-width:172px;
  max-width:172px;
  min-height:144px;
}
.spm-pedigree-card__eyebrow{
  margin-bottom:6px;
  font-size:11px;
  letter-spacing:.08em;
}
.spm-pedigree-card__ring{
  font-size:15px;
  line-height:1.16;
  min-height:2.3em;
  word-break:break-word;
}
.spm-pedigree-card__name{
  margin-top:4px;
  min-height:2.5em;
  font-size:13px;
  line-height:1.25;
}
.spm-pedigree-card .spm-chip-row{
  gap:5px;
  margin-top:8px;
}
.spm-pedigree-card .spm-chip{
  padding:4px 7px;
  font-size:10px;
}
.spm-pedigree-card__cta{
  margin-top:auto;
  padding-top:8px;
  font-size:11px;
}
.spm-pedigree-parents{
  gap:10px;
  padding-left:24px !important;
  position:relative;
}
.spm-pedigree-parents::before{
  width:14px;
}
.spm-pedigree-parents::after{
  left:14px;
  top:18%;
  bottom:18%;
}
.spm-pedigree-parents > .spm-pedigree-node::before{
  left:-10px;
  width:10px;
}
@media (max-width: 1440px){
  .spm-family-panel .spm-offspring-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .spm-pedigree-card,
  .spm-pedigree-node--d1 > .spm-pedigree-card,
  .spm-pedigree-node--d2 > .spm-pedigree-card,
  .spm-pedigree-node--d3 > .spm-pedigree-card,
  .spm-pedigree-node--d4 > .spm-pedigree-card{
    width:164px;
    min-width:164px;
    max-width:164px;
  }
}
@media (max-width: 1100px){
  .spm-family-panel .spm-offspring-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 760px){
  .spm-family-panel .spm-offspring-list{
    grid-template-columns:1fr;
  }
  .spm-pedigree-card,
  .spm-pedigree-node--d1 > .spm-pedigree-card,
  .spm-pedigree-node--d2 > .spm-pedigree-card,
  .spm-pedigree-node--d3 > .spm-pedigree-card,
  .spm-pedigree-node--d4 > .spm-pedigree-card{
    width:156px;
    min-width:156px;
    max-width:156px;
    min-height:136px;
  }
}




/* v1.4.10 pedigree: centered tree, equalized cards, compact 4th generation */
.spm-pedigree-tree{
  width:100%;
  display:flex;
  justify-content:center;
  overflow-x:auto;
  overflow-y:hidden;
  padding:10px 0 12px;
}
.spm-pedigree-tree > .spm-pedigree-node{
  margin-left:auto;
  margin-right:auto;
}
.spm-pedigree-node{
  gap:12px;
  align-items:center;
  width:max-content;
  min-width:max-content;
}
.spm-pedigree-parents{
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding-left:20px !important;
}
.spm-pedigree-parents::before{
  width:12px;
}
.spm-pedigree-parents::after{
  left:12px;
  top:16%;
  bottom:16%;
}
.spm-pedigree-parents > .spm-pedigree-node::before{
  left:-8px;
  width:8px;
}

.spm-pedigree-card{
  width:158px;
  min-width:158px;
  max-width:158px;
  height:150px;
  min-height:150px;
  max-height:150px;
  padding:10px 10px 9px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
}
.spm-pedigree-card__eyebrow{
  margin-bottom:4px;
  font-size:11px;
  line-height:1.1;
}
.spm-pedigree-card__ring{
  font-size:14px;
  line-height:1.12;
  min-height:2.2em;
  max-height:2.2em;
  overflow:hidden;
  word-break:break-word;
}
.spm-pedigree-card__name{
  margin-top:4px;
  min-height:2.4em;
  max-height:2.4em;
  overflow:hidden;
  font-size:12px;
  line-height:1.2;
}
.spm-pedigree-card .spm-chip-row{
  gap:4px;
  margin-top:6px;
}
.spm-pedigree-card .spm-chip{
  padding:3px 6px;
  font-size:10px;
}
.spm-pedigree-card__cta{
  margin-top:auto;
  padding-top:6px;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 1st generation */
.spm-pedigree-node--d1 > .spm-pedigree-card{
  width:160px;
  min-width:160px;
  max-width:160px;
  height:150px;
  min-height:150px;
  max-height:150px;
}

/* 2nd and 3rd generation same visual block size */
.spm-pedigree-node--d2 > .spm-pedigree-card,
.spm-pedigree-node--d3 > .spm-pedigree-card{
  width:158px;
  min-width:158px;
  max-width:158px;
  height:150px;
  min-height:150px;
  max-height:150px;
}

/* 4th generation reduced cards: ring only */
.spm-pedigree-node--d4 > .spm-pedigree-card{
  width:112px;
  min-width:112px;
  max-width:112px;
  height:76px;
  min-height:76px;
  max-height:76px;
  padding:8px 8px 7px;
  justify-content:center;
  align-items:flex-start;
  gap:0;
}
.spm-pedigree-node--d4 .spm-pedigree-card__eyebrow,
.spm-pedigree-node--d4 .spm-pedigree-card__name,
.spm-pedigree-node--d4 .spm-pedigree-card .spm-chip-row,
.spm-pedigree-node--d4 .spm-pedigree-card__cta{
  display:none !important;
}
.spm-pedigree-node--d4 .spm-pedigree-card__ring{
  min-height:auto;
  max-height:none;
  font-size:12px;
  line-height:1.15;
  margin:0;
}

@media (max-width: 1500px){
  .spm-pedigree-card,
  .spm-pedigree-node--d1 > .spm-pedigree-card,
  .spm-pedigree-node--d2 > .spm-pedigree-card,
  .spm-pedigree-node--d3 > .spm-pedigree-card{
    width:148px;
    min-width:148px;
    max-width:148px;
    height:146px;
    min-height:146px;
    max-height:146px;
  }
  .spm-pedigree-node--d4 > .spm-pedigree-card{
    width:106px;
    min-width:106px;
    max-width:106px;
  }
}
@media (max-width: 1200px){
  .spm-pedigree-node{
    gap:10px;
  }
  .spm-pedigree-card,
  .spm-pedigree-node--d1 > .spm-pedigree-card,
  .spm-pedigree-node--d2 > .spm-pedigree-card,
  .spm-pedigree-node--d3 > .spm-pedigree-card{
    width:140px;
    min-width:140px;
    max-width:140px;
    height:140px;
    min-height:140px;
    max-height:140px;
    padding:9px 9px 8px;
  }
  .spm-pedigree-card__ring{
    font-size:13px;
  }
  .spm-pedigree-card__name{
    font-size:11px;
  }
  .spm-pedigree-node--d4 > .spm-pedigree-card{
    width:100px;
    min-width:100px;
    max-width:100px;
    height:72px;
    min-height:72px;
    max-height:72px;
  }
}
@media (max-width: 760px){
  .spm-pedigree-tree{
    justify-content:flex-start;
  }
}





/* ---- components.css ---- */
/* v1.4.11 results leaderboards */
.spm-table--compact th,
.spm-table--compact td{
  padding:10px 12px;
  font-size:13px;
}
.spm-link-strong{
  font-weight:700;
  text-decoration:none;
}
.spm-link-strong:hover{
  text-decoration:underline;
}
.spm-small{
  font-size:12px;
}
.spm-results-leaderboards .spm-panel{
  min-width:0;
}



/* v1.4.12 races dashboard and WinStam result import stats */
.spm-races-dashboard .spm-panel,
.spm-results-leaderboards .spm-panel{
  min-width:0;
}
.spm-table--compact th,
.spm-table--compact td{
  padding:10px 12px;
}



/* v1.4.13 contest/result cross navigation */
.spm-race-focus-stats .spm-stat strong{
  font-size:16px;
  line-height:1.25;
}



/* v1.4.14 export + stronger contest/result navigation */
.spm-race-focus-stats .spm-stat strong{
  font-size:16px;
  line-height:1.25;
}



/* v1.4.17 richer dashboard */
.spm-dashboard-health .spm-stat strong{
  font-size:20px;
  line-height:1.15;
}
.spm-dashboard-imports{
  display:grid;
  gap:10px;
}
.spm-dashboard-import{
  padding:12px 14px;
  border:1px solid rgba(16,47,115,.08);
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.spm-dashboard-import__title{
  font-weight:700;
}
.spm-dashboard-import__meta{
  font-size:12px;
  color:#5b6785;
  margin-top:2px;
}



/* v1.4.18 clearer pigeon counts */
.spm-dashboard-note{
  font-size:13px;
}



/* v1.4.22 pigeons advanced filters */
.spm-pigeons-search,
.spm-pigeons-display{
  flex-wrap:wrap;
}



/* v1.4.23 health dashboard */
.spm-health-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:#eef3ff;
  color:#314571;
}
.spm-health-badge--alert{
  background:#fff1f1;
  color:#a63636;
}
.spm-health-badge--ok{
  background:#ebf9f0;
  color:#19754b;
}



/* v1.4.24 health page links */
.spm-health-quick-links{
  gap:10px;
}



/* v1.4.25 health profiles */
.spm-health-profile-note{margin-top:10px;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,#fbfdff 0%,#f3f7ff 100%);border:1px solid rgba(16,47,115,.08)}
.spm-health-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.spm-health-rule-card{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid rgba(16,47,115,.08)}
.spm-health-rule-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.spm-health-rule-card__head h4{margin:0;font-size:16px;line-height:1.2}
.spm-health-rule-card__stats .spm-stat strong{font-size:18px}
@media (max-width:1200px){.spm-health-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.spm-health-rules{grid-template-columns:1fr}}


/* v1.4.30 health profiles selector */
.spm-health-profile-switcher{
  margin-top:2px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff 0%,#f6f9ff 100%);
  border:1px solid rgba(16,47,115,.08);
}



/* v1.4.30 concrete health alerts */
.spm-health-alerts-panel{
  border:1px solid rgba(16,47,115,.08);
}



/* v1.4.30 vaccine quick entry */



/* v1.4.30 treatment quick entry */



/* v1.4.37 health observation quick entry */



/* v1.4.37 pigeon health history */
.spm-health-history-grid{
  margin-top:18px;
}
.spm-health-history-list{
  display:grid;
  gap:10px;
}
.spm-health-history-item{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(16,47,115,.08);
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.spm-health-history-item__title{
  font-weight:700;
}
.spm-health-history-item__meta{
  margin-top:6px;
  font-size:12px;
  color:#5b6785;
}



/* v1.4.37 visible health links */
.spm-health-top-actions{
  flex-wrap:wrap;
  gap:10px;
}
.spm-health-actions-panel .spm-btn,
.spm-pigeon-health-actions-panel .spm-btn{
  text-decoration:none;
}



/* v1.4.37 cleaner edit mode + clearer health help */
.spm-edit-mode-panel .spm-btn,
.spm-health-help__steps .spm-chip{
  text-decoration:none;
}
.spm-health-help{
  margin:12px 0 14px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff 0%,#f3f7ff 100%);
  border:1px solid rgba(16,47,115,.08);
}
.spm-health-help__title{
  font-weight:700;
  margin-bottom:8px;
}
.spm-health-help__steps{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}



/* v1.4.37 working health anchors */
#spm-health-vaccine-form,
#spm-health-treatment-form,
#spm-health-observation-form{
  scroll-margin-top: 120px;
}
#spm-health-vaccine-form:target,
#spm-health-treatment-form:target,
#spm-health-observation-form:target{
  outline: 3px solid rgba(34, 111, 255, .18);
  box-shadow: 0 0 0 4px rgba(34, 111, 255, .08);
}



/* v1.4.37 health forms usable without catalog */
.spm-health-top-actions button{
  cursor:pointer;
}



/* v1.4.38 health forms moved to health page */
.spm-health-top-actions .spm-btn{
  text-decoration:none;
}


/* v1.4.39 robust health buttons */
.spm-health-form-panel--flash{
  outline: 3px solid rgba(34,111,255,.18);
  box-shadow: 0 0 0 4px rgba(34,111,255,.08);
}
.spm-health-top-actions button{
  cursor:pointer;
}



/* v1.4.40 clean health focus navigation */



/* v1.4.42 all-country health profiles */



/* v1.4.44 health actions from pigeon list */
.spm-card__actions{
  flex-wrap:wrap;
  gap:8px;
}



/* v1.4.45 bulk vaccination */
.spm-input--multi{
  min-height: 180px;
}



/* v1.4.46 vaccination campaign */
.spm-campaign-step{
  margin-top:4px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff 0%,#f3f7ff 100%);
  border:1px solid rgba(16,47,115,.08);
}
.spm-campaign-step__title{
  font-weight:700;
  margin-bottom:6px;
}
.spm-inline-checkbox{
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.spm-campaign-target{
  padding-top:2px;
}



/* v1.4.47 dual list vaccination campaign */
.spm-dual-pick{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.spm-dual-pick__col{
  min-width:0;
}
.spm-dual-pick__title{
  font-weight:700;
  margin-bottom:8px;
}
.spm-dual-pick__actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-self:center;
}
@media (max-width: 900px){
  .spm-dual-pick{
    grid-template-columns:1fr;
  }
  .spm-dual-pick__actions{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
  }
}



/* v1.4.48 better vaccine campaign picker */
.spm-dual-pick{
  display:grid;
  grid-template-columns:minmax(0,0.95fr) auto minmax(0,0.95fr);
  gap:12px;
  align-items:start;
}
.spm-dual-pick__col{
  min-width:0;
}
.spm-dual-pick__title{
  font-weight:700;
  margin-bottom:8px;
}
.spm-dual-pick__actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-self:center;
}
.spm-dual-pick .spm-input--multi,
.spm-campaign-single-select{
  min-height: 320px;
}
.spm-dual-pick__actions .spm-btn{
  min-width: 150px;
}
@media (max-width: 900px){
  .spm-dual-pick{
    grid-template-columns:1fr;
  }
  .spm-dual-pick__actions{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
  }
  .spm-dual-pick__actions .spm-btn{
    min-width: auto;
  }
}



/* v1.4.49 treatment campaign dual list */



/* v1.4.50 campaign journal */



/* v1.4.51 richer campaign journal */
.spm-campaign-journal-filters{
  flex-wrap:wrap;
  gap:10px;
}
.spm-campaign-journal-filters .spm-input{
  min-width:220px;
}
.spm-campaign-journal-list{
  display:grid;
  gap:12px;
}
.spm-campaign-entry{
  border:1px solid rgba(16,47,115,.08);
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  padding:14px;
}
.spm-campaign-entry__top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.spm-campaign-entry__main{
  min-width:0;
}
.spm-campaign-entry__title{
  font-weight:700;
  margin-top:8px;
}
.spm-campaign-entry__meta{
  margin-top:6px;
  font-size:12px;
  color:#5b6785;
}
.spm-campaign-entry__details{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed rgba(16,47,115,.12);
}
.spm-campaign-entry__section-title{
  font-weight:700;
  margin-bottom:8px;
}
@media (max-width: 900px){
  .spm-campaign-entry__top{
    flex-direction:column;
  }
}



/* v1.4.52 observation campaigns */



/* v1.4.53 health action center + card badges */
.spm-card__health-row{
  margin-top:8px;
}
.spm-health-action-grid{
  align-items:start;
}
.spm-health-action-panel{
  height:100%;
}
.spm-health-action-list{
  display:grid;
  gap:10px;
}
.spm-health-action-item{
  padding:12px;
  border:1px solid rgba(16,47,115,.08);
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.spm-health-action-item__title{
  font-weight:700;
}
.spm-health-action-item__meta{
  margin-top:5px;
  margin-bottom:8px;
  font-size:12px;
  color:#5b6785;
}
.spm-campaign-journal-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media (max-width: 900px){
  .spm-campaign-journal-stats{
    grid-template-columns:1fr 1fr;
  }
}



/* v1.4.54 dashboard priorities */
.spm-dashboard-priority-grid{
  align-items:start;
}
.spm-dashboard-priority-card{
  height:100%;
}



/* v1.4.55 compact dashboard + fix grid-3 */
.spm-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.spm-dashboard-priority-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:16px;
}
.spm-dashboard-priority-card{
  height:100%;
}
.spm-dashboard-priority-card--recent{
  grid-column:1 / -1;
}
.spm-dashboard-priority-card .spm-health-action-list{
  gap:8px;
}
.spm-dashboard-priority-card .spm-health-action-item{
  padding:10px 12px;
}
.spm-dashboard-priority-card .spm-health-action-item__title{
  font-size:15px;
}
.spm-dashboard-priority-card .spm-health-action-item__meta{
  margin-top:4px;
  margin-bottom:6px;
}
.spm-dashboard-priority-card .spm-inline-actions{
  gap:8px;
}
.spm-dashboard-priority-card .spm-btn--sm{
  padding:8px 12px;
}

@media (max-width: 1100px){
  .spm-grid--3{
    grid-template-columns:1fr;
  }
  .spm-dashboard-priority-grid{
    grid-template-columns:1fr;
  }
  .spm-dashboard-priority-card--recent{
    grid-column:auto;
  }
}



/* v1.4.56 health filters on pigeons */
.spm-pigeons-health-filters{
  margin-top:-2px;
  margin-bottom:10px;
}
.spm-pigeons-health-filters .spm-chip--active{
  background:linear-gradient(180deg,#143b8d 0%,#102f73 100%);
  color:#fff;
  border-color:#102f73;
}
.spm-pigeons-health-summary .spm-chip{
  background:#f6f8fc;
}



/* v1.4.58 health filters in pigeons */
.spm-pigeons-health-chips{
  flex-wrap:wrap;
  gap:8px;
}
.spm-pigeons-health-chips .spm-chip.is-active{
  background:#173d8f;
  color:#fff;
  border-color:#173d8f;
}
.spm-pigeons-health-summary{
  flex-wrap:wrap;
  gap:8px;
}



/* v1.4.60 quick results filters */
.spm-results-quick-chips{
  flex-wrap:wrap;
  gap:8px;
}
.spm-results-quick-chips .spm-chip.is-active{
  background:#173d8f;
  color:#fff;
  border-color:#173d8f;
}



/* v1.4.61 compact race focus */
.spm-races-quick-chips{
  flex-wrap:wrap;
  gap:8px;
}
.spm-races-quick-chips .spm-chip.is-active{
  background:#173d8f;
  color:#fff;
  border-color:#173d8f;
}
.spm-race-focus-layout{
  align-items:start;
}
.spm-race-focus-card{
  height:100%;
}
.spm-race-focus-title{
  font-weight:700;
  font-size:18px;
  line-height:1.3;
}
.spm-race-focus-meta{
  margin-top:6px;
  color:#5b6785;
}
.spm-race-focus-stats-compact{
  gap:10px;
}
@media (max-width: 1100px){
  .spm-race-focus-layout{
    grid-template-columns:1fr;
  }
}



/* v1.4.62 pigeon performance spotlight */
.spm-pigeon-performance-chips{
  flex-wrap:wrap;
  gap:8px;
}
.spm-pigeon-performance-layout{
  align-items:start;
}
@media (max-width: 1000px){
  .spm-pigeon-performance-layout{
    grid-template-columns:1fr;
  }
}


/* v1.4.63 visual cleanup + dashboard + pigeons search */
.spm-topbar__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.spm-topbar__desc{
  margin:0;
  max-width:760px;
  color:var(--spm-muted);
  font-size:15px;
  line-height:1.5;
}
.spm-topbar__meta-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.spm-hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:#edf3ff;
  color:#16366f;
  border:1px solid #d8e4fb;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}
.spm-hero-pill--muted{
  background:#f7f9fd;
  color:#51607a;
  border-color:#dfe7f5;
}
.spm-dashboard-overview{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:18px;
  margin-bottom:18px;
}
.spm-dashboard-hero-card{
  background:linear-gradient(135deg,#143b8d 0%,#102f73 100%);
  color:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:0 18px 38px rgba(16,47,115,.18);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.spm-dashboard-hero-card__eyebrow{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(255,255,255,.76);
}
.spm-dashboard-hero-card__title{
  margin:0;
  font-size:32px;
  line-height:1.05;
  color:#fff;
}
.spm-dashboard-hero-card__desc{
  margin:0;
  max-width:720px;
  font-size:15px;
  line-height:1.55;
  color:rgba(255,255,255,.88);
}
.spm-dashboard-hero-card .spm-hero-pill{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.14);
}
.spm-dashboard-hero-card .spm-hero-pill--muted{
  background:rgba(255,255,255,.08);
}
.spm-dashboard-hero-card__chips,
.spm-dashboard-hero-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.spm-dashboard-hero-card__actions .spm-btn--ghost{
  background:rgba(255,255,255,.1);
  color:#fff;
  border-color:rgba(255,255,255,.14);
}
.spm-dashboard-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.spm-dashboard-overview-stat{
  background:#fff;
  border:1px solid var(--spm-border);
  border-radius:20px;
  padding:16px 18px;
  min-height:104px;
  box-shadow:0 10px 24px rgba(16,47,115,.05);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}
.spm-dashboard-overview-stat span{
  font-size:12px;
  font-weight:800;
  color:#6b7b97;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.spm-dashboard-overview-stat strong{
  font-size:30px;
  line-height:1.05;
  color:#16366f;
  font-weight:900;
}
.spm-dashboard-overview-stat__link{
  display:inline-flex;
  align-self:flex-start;
  color:var(--spm-blue);
  font-weight:700;
  text-decoration:none;
}
.spm-dashboard-module{
  border-radius:22px;
}
.spm-dashboard-module__image{
  padding:12px 8px 0;
}
.spm-dashboard-module__label{
  font-size:16px;
}
.spm-dashboard-note{
  padding-left:6px;
}
.spm-search-hero{
  margin-bottom:14px;
  padding:20px;
  border-radius:22px;
  border:1px solid var(--spm-border);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 30px rgba(16,47,115,.05);
}
.spm-search-hero__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.spm-search-hero__eyebrow{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6b7b97;
}
.spm-search-hero__title{
  margin:6px 0 6px;
  font-size:28px;
  line-height:1.08;
  color:#16366f;
}
.spm-search-hero__desc{
  margin:0;
  color:var(--spm-muted);
  font-size:15px;
  line-height:1.5;
  max-width:820px;
}
.spm-search-hero__stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.spm-search-hero__stat{
  min-height:94px;
  border-radius:18px;
  border:1px solid #dfe7f5;
  background:#fff;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
}
.spm-search-hero__stat span{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#6b7b97;
}
.spm-search-hero__stat strong{
  font-size:28px;
  line-height:1;
  color:#16366f;
  font-weight:900;
}
.spm-pigeons-search,
.spm-pigeons-display{
  padding:16px;
  border-radius:20px;
  border:1px solid var(--spm-border);
  background:#fff;
  box-shadow:0 10px 24px rgba(16,47,115,.04);
}
.spm-pigeons-search .spm-input[type="search"]{
  font-size:16px;
  font-weight:700;
}
.spm-pigeons-health-chips,
.spm-pigeons-health-summary{
  padding:2px 2px 6px;
}
.spm-pigeons-health-summary .spm-chip,
.spm-pigeons-health-chips .spm-chip{
  min-height:36px;
}
.spm-card--pigeon{
  border-radius:20px;
  box-shadow:0 12px 26px rgba(16,47,115,.05);
}
.spm-card__meta{
  line-height:1.45;
}
.spm-card__actions{
  margin-top:6px;
}
@media (max-width:1180px){
  .spm-dashboard-overview{
    grid-template-columns:1fr;
  }
}
@media (max-width:900px){
  .spm-dashboard-overview-grid,
  .spm-search-hero__stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .spm-search-hero__head{
    flex-direction:column;
  }
}
@media (max-width:760px){
  .spm-topbar{
    padding:18px;
  }
  .spm-topbar__title,
  .spm-search-hero__title,
  .spm-dashboard-hero-card__title{
    font-size:24px;
  }
  .spm-dashboard-overview-grid,
  .spm-search-hero__stats{
    grid-template-columns:1fr;
  }
  .spm-dashboard-hero-card,
  .spm-search-hero,
  .spm-pigeons-search,
  .spm-pigeons-display{
    padding:16px;
  }
}


/* v1.4.64 dashboard widescreen fit */
.spm-app-shell{
  max-width:1760px;
}
.spm-dashboard-overview{
  gap:14px;
  margin-bottom:14px;
}
.spm-dashboard-hero-card{
  padding:20px 22px;
  gap:12px;
}
.spm-dashboard-hero-card__title{
  font-size:30px;
}
.spm-dashboard-hero-card__desc{
  font-size:14px;
  line-height:1.45;
}
.spm-dashboard-hero-card__chips,
.spm-dashboard-hero-card__actions{
  gap:8px;
}
.spm-dashboard-overview-grid{
  gap:10px;
}
.spm-dashboard-overview-stat{
  border-radius:18px;
  padding:13px 14px;
  min-height:88px;
  gap:6px;
}
.spm-dashboard-overview-stat span{
  font-size:11px;
}
.spm-dashboard-overview-stat strong{
  font-size:25px;
}
.spm-dashboard-modules{
  gap:12px;
  margin-bottom:14px;
}
.spm-dashboard-module{
  border-radius:18px;
  padding:12px 10px 14px;
}
.spm-dashboard-module__image{
  aspect-ratio:1.8/1;
  padding:2px 2px 0;
}
.spm-dashboard-module__image img{
  max-height:82px;
}
.spm-dashboard-module__label{
  margin-top:6px;
  font-size:15px;
  line-height:1.15;
}
.spm-dashboard-module__count{
  margin-top:8px;
  min-width:42px;
  padding:6px 10px;
  font-size:15px;
}
@media (min-width:1360px){
  .spm-dashboard-overview{
    grid-template-columns:minmax(0,1.02fr) minmax(0,1.45fr);
    align-items:stretch;
  }
  .spm-dashboard-overview-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .spm-dashboard-hero-card{
    min-height:186px;
  }
  .spm-dashboard-hero-card__actions .spm-btn{
    padding:9px 12px;
    min-height:40px;
  }
}
@media (min-width:1500px){
  .spm-dashboard-modules{
    grid-template-columns:repeat(8,minmax(0,1fr));
  }
  .spm-dashboard-module{
    min-height:180px;
  }
  .spm-dashboard-module__label{
    font-size:14px;
  }
}
@media (max-width:1499px){
  .spm-dashboard-modules{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:1180px){
  .spm-dashboard-overview{
    grid-template-columns:1fr;
  }
  .spm-dashboard-overview-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:960px){
  .spm-dashboard-overview-grid,
  .spm-dashboard-modules{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .spm-dashboard-overview-grid,
  .spm-dashboard-modules{
    grid-template-columns:1fr;
  }
  .spm-dashboard-module__image img{
    max-height:110px;
  }
}


/* ---- breeding.css ---- */

.spm-breeding-kpis{margin-bottom:16px}
.spm-breeding-focus-layout{align-items:stretch}
.spm-breeding-focus-card{display:flex;flex-direction:column;gap:12px}
.spm-breeding-pairline{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:4px}
.spm-breeding-bird{border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:14px 16px;background:rgba(8,15,28,.42);display:flex;flex-direction:column;gap:4px}
.spm-breeding-bird strong{font-size:1rem}
.spm-breeding-bird span{color:#9fb0cf;font-size:.9rem}
.spm-breeding-heart{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(99,102,241,.28),rgba(14,165,233,.22));border:1px solid rgba(96,165,250,.24);font-size:1.1rem;font-weight:700;color:#fff}
.spm-breeding-offspring-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.12)}
.spm-breeding-offspring-list li:last-child{border-bottom:none}
.spm-breeding-offspring-list a{display:flex;flex-direction:column;gap:2px;text-decoration:none}
.spm-breeding-offspring-list small{display:block;color:#9fb0cf;text-align:right}
@media (max-width: 1080px){.spm-breeding-pairline{grid-template-columns:1fr}.spm-breeding-heart{margin:0 auto}}
.spm-breeding-sim-grid{align-items:stretch}
.spm-breeding-sim-summary .spm-stat strong{font-size:1.08rem}
.spm-breeding-insights{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.spm-breeding-insights h4,.spm-breeding-tree-grid h4{margin:0 0 10px;font-size:.95rem}
.spm-breeding-preview-card{padding:14px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(8,15,28,.9));margin-bottom:14px}
.spm-breeding-preview-card__title{font-size:1rem;font-weight:700;color:#fff}
.spm-breeding-preview-card__subtitle{margin-top:4px;color:#c8d5eb;font-size:.92rem}
.spm-breeding-tree-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.spm-breeding-tree-grid .spm-pedigree-node{margin-bottom:0}
.spm-breeding-tree-grid .spm-pedigree-card{padding:12px 14px}
.spm-breeding-tree-grid .spm-pedigree-parents{gap:12px;margin-top:12px}
@media (max-width: 1280px){.spm-breeding-tree-grid{grid-template-columns:1fr}.spm-breeding-insights{grid-template-columns:1fr}}
@media (max-width: 1080px){.spm-breeding-sim-grid{grid-template-columns:1fr}.spm-breeding-pairline{grid-template-columns:1fr}.spm-breeding-heart{margin:0 auto}}

.spm-bird-picker{position:relative}
.spm-bird-picker__control{display:flex;gap:8px;align-items:center}
.spm-bird-picker__search{flex:1 1 auto}
.spm-bird-picker__clear{flex:0 0 auto;min-width:42px;padding-inline:0}
.spm-bird-picker__meta{min-height:18px;margin-top:6px;font-size:.82rem}
.spm-bird-picker__results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(8,15,28,.98);box-shadow:0 20px 40px rgba(2,6,23,.42);padding:8px;max-height:320px;overflow:auto}
.spm-bird-picker__option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid transparent;border-radius:12px;background:transparent;color:#e8eefc;padding:10px 12px;cursor:pointer}
.spm-bird-picker__option:hover,.spm-bird-picker__option:focus{background:rgba(59,130,246,.12);border-color:rgba(96,165,250,.18);outline:none}
.spm-bird-picker__option strong{font-size:.92rem;color:#fff}
.spm-bird-picker__option span{font-size:.84rem;color:#d7e3f8}
.spm-bird-picker__option small{font-size:.76rem;color:#8fa3c7}
.spm-bird-picker__empty{padding:10px 12px;color:#8fa3c7;font-size:.85rem}
@media (max-width: 782px){.spm-bird-picker__results{position:static;margin-top:8px}}

.spm-breeding-reco-grid{align-items:stretch}
.spm-breeding-reco-card{display:flex;flex-direction:column;gap:12px}
.spm-breeding-reco-card .spm-list-clean li{padding:8px 0;border-bottom:1px solid rgba(148,163,184,.12)}
.spm-breeding-reco-card .spm-list-clean li:last-child{border-bottom:none}
.spm-breeding-reco-summary .spm-stat strong{font-size:1.08rem}
@media (max-width:1080px){.spm-breeding-reco-grid{grid-template-columns:1fr}}

.spm-info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;vertical-align:middle;cursor:help}
.spm-info-tip__icon{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#dbe7fb;background:rgba(59,130,246,.16);border:1px solid rgba(96,165,250,.28)}
.spm-info-tip__bubble{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;max-width:360px;padding:12px 14px;border-radius:14px;background:rgba(8,15,28,.98);border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 40px rgba(2,6,23,.42);color:#dbe7fb;display:none;z-index:60;line-height:1.45}
.spm-info-tip__bubble strong{display:block;margin-bottom:6px;color:#fff;font-size:.88rem}
.spm-info-tip__bubble span{display:block;font-size:.82rem;color:#cdd8ea}
.spm-info-tip:hover .spm-info-tip__bubble,.spm-info-tip:focus .spm-info-tip__bubble,.spm-info-tip.is-open .spm-info-tip__bubble{display:block}

.spm-breeding-meter-grid{align-items:stretch}
.spm-breeding-meter{border:1px solid rgba(148,163,184,.14);border-radius:16px;padding:12px 14px;background:rgba(8,15,28,.42)}
.spm-breeding-meter__head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.spm-breeding-meter__head span{font-size:.86rem;color:#c8d5eb}
.spm-breeding-meter__head strong{font-size:.95rem;color:#fff}
.spm-breeding-meter__track{height:10px;border-radius:999px;background:rgba(148,163,184,.14);overflow:hidden}
.spm-breeding-meter__track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(59,130,246,.95),rgba(14,165,233,.95))}
.spm-breeding-meter--risk .spm-breeding-meter__track span{background:linear-gradient(90deg,rgba(16,185,129,.95),rgba(245,158,11,.95),rgba(239,68,68,.95))}
.spm-breeding-meter--pedigree .spm-breeding-meter__track span{background:linear-gradient(90deg,rgba(99,102,241,.95),rgba(168,85,247,.95))}

.spm-breeding-chart-card{padding:14px 16px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:rgba(10,18,34,.62)}
.spm-breeding-chart-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.spm-breeding-chart-card__head h4{margin:0;font-size:.95rem}

.spm-breeding-blend-chart__bar,.spm-breeding-weight-chart__bar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.12)}
.spm-breeding-blend-chart__segment,.spm-breeding-weight-chart__segment{display:block;height:100%}
.spm-breeding-blend-chart__segment--1,.spm-breeding-weight-chart__segment--1,.spm-breeding-scorechart__fill--1{background:linear-gradient(90deg,#60a5fa,#38bdf8)}
.spm-breeding-blend-chart__segment--2,.spm-breeding-weight-chart__segment--2,.spm-breeding-scorechart__fill--2{background:linear-gradient(90deg,#34d399,#10b981)}
.spm-breeding-blend-chart__segment--3,.spm-breeding-weight-chart__segment--3,.spm-breeding-scorechart__fill--3{background:linear-gradient(90deg,#f59e0b,#f97316)}
.spm-breeding-blend-chart__segment--4,.spm-breeding-weight-chart__segment--4,.spm-breeding-scorechart__fill--4{background:linear-gradient(90deg,#a78bfa,#8b5cf6)}
.spm-breeding-weight-chart__segment--5,.spm-breeding-scorechart__fill--5{background:linear-gradient(90deg,#f472b6,#ec4899)}
.spm-breeding-weight-chart__segment--6,.spm-breeding-scorechart__fill--6{background:linear-gradient(90deg,#f87171,#ef4444)}

.spm-breeding-blend-chart__legend,.spm-breeding-weight-chart__legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.spm-breeding-blend-chart__legend-item,.spm-breeding-weight-chart__legend-item{display:flex;align-items:center;gap:8px;font-size:.84rem;color:#dbe7fb}
.spm-breeding-blend-chart__legend-item strong,.spm-breeding-weight-chart__legend-item strong{margin-left:auto;color:#fff;font-size:.82rem}
.spm-breeding-blend-chart__swatch,.spm-breeding-weight-chart__swatch{width:12px;height:12px;border-radius:999px;display:inline-block}
.spm-breeding-blend-chart__swatch--1,.spm-breeding-weight-chart__swatch--1{background:#38bdf8}
.spm-breeding-blend-chart__swatch--2,.spm-breeding-weight-chart__swatch--2{background:#10b981}
.spm-breeding-blend-chart__swatch--3,.spm-breeding-weight-chart__swatch--3{background:#f97316}
.spm-breeding-blend-chart__swatch--4,.spm-breeding-weight-chart__swatch--4{background:#8b5cf6}
.spm-breeding-weight-chart__swatch--5{background:#ec4899}
.spm-breeding-weight-chart__swatch--6{background:#ef4444}

.spm-breeding-scorechart{display:flex;flex-direction:column;gap:10px}
.spm-breeding-scorechart__row{display:grid;grid-template-columns:86px 1fr auto;gap:10px;align-items:center}
.spm-breeding-scorechart__label{font-size:.83rem;color:#dbe7fb}
.spm-breeding-scorechart__bar{height:12px;border-radius:999px;background:rgba(148,163,184,.12);overflow:hidden}
.spm-breeding-scorechart__fill{display:block;height:100%;border-radius:999px}
.spm-breeding-scorechart__value{font-size:.8rem;color:#fff;font-weight:700}

.spm-breeding-science-panel{display:flex;flex-direction:column;gap:16px}
.spm-breeding-science-layout{align-items:stretch}
.spm-breeding-science-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.spm-breeding-source-card{padding:16px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:rgba(8,15,28,.52);display:flex;flex-direction:column;gap:10px}
.spm-breeding-source-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.spm-breeding-source-card__head h4{margin:0;font-size:.95rem;color:#fff}
.spm-breeding-source-card p{margin:0;color:#cdd8ea;font-size:.86rem;line-height:1.5}
.spm-source-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:#8bd3ff;text-decoration:none;font-weight:700;font-size:.84rem}
.spm-source-link:hover{text-decoration:underline}

@media (max-width:1280px){.spm-breeding-science-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spm-breeding-blend-chart__legend,.spm-breeding-weight-chart__legend{grid-template-columns:1fr}.spm-breeding-scorechart__row{grid-template-columns:72px 1fr auto}}
@media (max-width:1080px){.spm-breeding-meter-grid,.spm-breeding-science-layout{grid-template-columns:1fr}.spm-breeding-science-grid{grid-template-columns:1fr}}
@media (max-width:782px){.spm-info-tip__bubble{right:auto;left:0;max-width:min(82vw,320px)}.spm-breeding-scorechart__row{grid-template-columns:1fr}.spm-breeding-scorechart__value{text-align:left}}


/* 1.4.72 critical breeding visuals */
.spm-panel__head h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.spm-info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-left:0;vertical-align:middle;cursor:help}
.spm-info-tip__trigger{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.spm-info-tip__trigger:focus-visible .spm-info-tip__icon{outline:2px solid rgba(59,130,246,.55);outline-offset:2px}
.spm-info-tip__icon{width:22px;height:22px;font-size:.78rem;box-shadow:0 8px 20px rgba(2,6,23,.14)}
.spm-info-tip__bubble{top:calc(100% + 10px);right:-8px;min-width:280px;max-width:360px}
.spm-breeding-graph-wrap{display:grid;grid-template-columns:minmax(160px,190px) 1fr;gap:18px;align-items:center}
.spm-breeding-graph-wrap--score{grid-template-columns:minmax(250px,320px) 1fr}
.spm-breeding-graph-wrap__viz{display:flex;align-items:center;justify-content:center}
.spm-breeding-graph-wrap__content{min-width:0}
.spm-breeding-donut,.spm-breeding-score-svg{width:100%;max-width:176px;height:auto;display:block}
.spm-breeding-score-svg{max-width:340px}
.spm-breeding-donut__track{fill:none;stroke:rgba(148,163,184,.16);stroke-width:24}
.spm-breeding-donut__segment{fill:none;stroke-width:24;stroke-linecap:butt;transform-origin:50% 50%;transform:rotate(-90deg)}
.spm-breeding-donut__inner{fill:#fff;opacity:.96}
.spm-breeding-donut__center-main{font-size:15px;font-weight:700;fill:#17315f}
.spm-breeding-donut__center-sub{font-size:12px;fill:#61779f}
.spm-breeding-score-svg__track{fill:rgba(148,163,184,.16)}
.spm-breeding-score-svg__label{font-size:12px;fill:#17315f;font-weight:700}
.spm-breeding-score-svg__value{font-size:12px;fill:#17315f;font-weight:700}
@media (max-width: 980px){.spm-breeding-graph-wrap,.spm-breeding-graph-wrap--score{grid-template-columns:1fr}.spm-breeding-graph-wrap__viz{justify-content:flex-start}.spm-breeding-score-svg{max-width:100%}}
@media (max-width: 782px){.spm-info-tip__bubble{right:auto;left:0;min-width:240px;max-width:min(82vw,320px)}}



/* 1.4.72 readability hotfix for breeding expert panels */
.spm-breeding-bird,
.spm-breeding-preview-card,
.spm-breeding-meter,
.spm-breeding-chart-card,
.spm-breeding-source-card{
  color:#eef4ff;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 10px 24px rgba(12,23,48,.12);
}

.spm-breeding-bird{
  background:linear-gradient(180deg,#70798a 0%,#667082 100%);
}
.spm-breeding-preview-card,
.spm-breeding-meter,
.spm-breeding-chart-card,
.spm-breeding-source-card{
  background:linear-gradient(180deg,#666f80 0%,#5b6576 100%);
}

.spm-breeding-bird strong,
.spm-breeding-preview-card__title,
.spm-breeding-meter__head strong,
.spm-breeding-chart-card__head h4,
.spm-breeding-source-card__head h4,
.spm-breeding-chart-card strong,
.spm-breeding-source-card strong{
  color:#ffffff;
}

.spm-breeding-bird span,
.spm-breeding-preview-card__subtitle,
.spm-breeding-meter__head span,
.spm-breeding-chart-card p,
.spm-breeding-chart-card .spm-muted,
.spm-breeding-chart-card .spm-list-clean li,
.spm-breeding-source-card p,
.spm-breeding-source-card .spm-muted,
.spm-breeding-scorechart__label,
.spm-breeding-scorechart__value,
.spm-breeding-blend-chart__legend-item,
.spm-breeding-weight-chart__legend-item,
.spm-breeding-weight-chart__legend-item strong,
.spm-breeding-blend-chart__legend-item strong{
  color:#edf3ff !important;
}

.spm-breeding-chart-card .spm-list-clean li,
.spm-breeding-source-card .spm-list-clean li,
.spm-breeding-offspring-list li{
  border-bottom-color:rgba(255,255,255,.18);
}

.spm-breeding-chart-card .spm-mini-badge,
.spm-breeding-source-card .spm-mini-badge{
  background:rgba(255,255,255,.16);
  color:#ffffff;
  border-color:rgba(255,255,255,.2);
}

.spm-breeding-chart-card .spm-chip,
.spm-breeding-source-card .spm-chip{
  background:rgba(255,255,255,.14);
  color:#ffffff;
  border-color:rgba(255,255,255,.18);
}

.spm-breeding-chart-card .spm-source-link,
.spm-breeding-source-card .spm-source-link{
  color:#c8f0ff;
}

.spm-breeding-meter__track,
.spm-breeding-blend-chart__bar,
.spm-breeding-weight-chart__bar,
.spm-breeding-scorechart__bar{
  background:rgba(255,255,255,.18);
}

.spm-breeding-donut__track,
.spm-breeding-score-svg__track{
  fill:rgba(255,255,255,.15);
  stroke:rgba(255,255,255,.15);
}

.spm-breeding-donut__center-main,
.spm-breeding-donut__center-sub,
.spm-breeding-score-svg__label,
.spm-breeding-score-svg__value{
  fill:#17315f;
}

.spm-info-tip__icon{
  color:#17315f;
  background:#e8f1ff;
  border-color:#9ebdf5;
}

.spm-breeding-chart-card .spm-info-tip__icon,
.spm-breeding-source-card .spm-info-tip__icon{
  color:#ffffff;
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.30);
}

.spm-info-tip__bubble{
  background:#ffffff;
  color:#17315f;
  border-color:#d8e3f3;
  box-shadow:0 18px 40px rgba(12,23,48,.18);
}
.spm-info-tip__bubble strong{color:#17315f;}
.spm-info-tip__bubble span{color:#48617f;}

/* ---- training.css / 1.4.76 ---- */
.spm-training-kpis .spm-stat-card small{font-size:.45em;font-weight:700;color:var(--spm-muted);margin-left:4px}
.spm-training-focus-grid,.spm-training-metric-grid{align-items:start}
.spm-training-map-card{padding:14px;border:1px solid var(--spm-border);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,47,115,.06)}
.spm-training-map-svg{width:100%;height:auto;display:block}
.spm-training-map-legend{margin-top:8px;font-size:.88rem}
.spm-training-metric{padding:14px;border:1px solid var(--spm-border);border-radius:16px;background:#f8fbff;display:flex;flex-direction:column;gap:8px;min-height:96px}
.spm-training-metric span{font-size:.86rem;color:var(--spm-muted);font-weight:700}
.spm-training-metric strong{font-size:1.2rem;color:var(--spm-blue);line-height:1.2}

.spm-training-multi-picker{display:grid;gap:10px}
.spm-training-multi-picker__toolbar{display:flex;gap:10px;flex-wrap:wrap}
.spm-training-multi-picker__toolbar .spm-input{flex:1 1 320px}
.spm-training-multi-picker__results{border:1px solid var(--spm-border);border-radius:16px;background:#fff;box-shadow:0 12px 24px rgba(15,47,115,.08);max-height:260px;overflow:auto}
.spm-training-multi-picker__option{display:grid;gap:2px;width:100%;text-align:left;border:0;background:#fff;padding:12px 14px;cursor:pointer;border-bottom:1px solid #edf1f7}
.spm-training-multi-picker__option:last-child{border-bottom:0}
.spm-training-multi-picker__option:hover{background:#f6f9ff}
.spm-training-multi-picker__option strong{color:var(--spm-blue);font-size:.95rem}
.spm-training-multi-picker__option span,.spm-training-multi-picker__option small{color:var(--spm-muted)}
.spm-training-multi-picker__empty{padding:14px;color:var(--spm-muted)}
.spm-training-multi-picker__selected{display:flex;flex-wrap:wrap;gap:8px;min-height:24px}
.spm-training-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef4ff;border:1px solid #d7e4fb;color:var(--spm-blue);font-weight:700}
.spm-training-chip__remove{border:0;background:#dbe7fb;color:var(--spm-blue);width:22px;height:22px;border-radius:999px;cursor:pointer;font-weight:800;line-height:1}

@media (max-width:900px){
  .spm-training-focus-grid,.spm-training-metric-grid{grid-template-columns:1fr}
  .spm-training-multi-picker__toolbar{flex-direction:column;align-items:stretch}
}


.spm-training-advice-list{display:grid;gap:12px}
.spm-training-advice-card{border:1px solid var(--spm-border);border-radius:18px;padding:14px 16px;background:#fff;display:grid;gap:8px;box-shadow:0 10px 24px rgba(15,47,115,.05)}
.spm-training-advice-card--good{background:#effaf5;border-color:#c7ecd9}
.spm-training-advice-card--warn{background:#fff7ea;border-color:#f0ddb6}
.spm-training-advice-card--info{background:#f6f9ff;border-color:#dce7fb}
.spm-training-advice-card__top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.spm-training-advice-card__top strong{color:#17315f;font-size:1rem;line-height:1.3}
.spm-training-advice-card p{margin:0;color:#38506f;line-height:1.55}
.spm-training-advice-card__source{font-size:.82rem;font-weight:700;color:var(--spm-blue);text-decoration:none}
.spm-training-progress-card{display:grid;gap:10px}
.spm-training-progress-svg{width:100%;height:auto;display:block}
.spm-training-source-card{min-height:100%;background:#fff}
.spm-training-source-card__meta{font-size:.78rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#5b6f90}
.spm-training-sources-panel .spm-card__meta{line-height:1.55}
@media (max-width:900px){.spm-training-advice-card__top{flex-direction:column;align-items:flex-start}}

/* ---- training-geo-picker.css / 1.4.77 ---- */
.spm-geo-picker{display:grid;gap:10px;padding:14px;border:1px solid var(--spm-border);border-radius:18px;background:#f8fbff;box-shadow:0 10px 24px rgba(15,47,115,.05)}
.spm-geo-picker__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.spm-geo-picker__head strong{display:block;color:#17315f;font-size:1rem;line-height:1.3;margin-bottom:4px}
.spm-geo-picker__toolbar{display:flex;gap:10px;flex-wrap:wrap}
.spm-geo-picker__toolbar .spm-input{flex:1 1 320px}
.spm-geo-picker__results{border:1px solid var(--spm-border);border-radius:16px;background:#fff;box-shadow:0 12px 24px rgba(15,47,115,.08);max-height:220px;overflow:auto}
.spm-geo-picker__option{display:grid;gap:4px;width:100%;text-align:left;border:0;background:#fff;padding:12px 14px;cursor:pointer;border-bottom:1px solid #edf1f7}
.spm-geo-picker__option:last-child{border-bottom:0}
.spm-geo-picker__option:hover{background:#f6f9ff}
.spm-geo-picker__option strong{color:var(--spm-blue);font-size:.92rem;line-height:1.35}
.spm-geo-picker__option small{color:var(--spm-muted);text-transform:capitalize}
.spm-geo-picker__empty{padding:14px;color:var(--spm-muted)}
.spm-geo-picker__map{height:320px;border-radius:18px;overflow:hidden;border:1px solid var(--spm-border);background:#dfe8f5}
.spm-geo-picker__map .leaflet-control-layers,.spm-geo-picker__map .leaflet-bar{border-color:#c9d6ea;box-shadow:0 6px 18px rgba(15,47,115,.08)}
.spm-geo-picker__map .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.92)}
.spm-geo-picker__foot{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.spm-geo-picker__selection{font-weight:700;color:var(--spm-blue)}
@media (max-width:900px){.spm-geo-picker__head,.spm-geo-picker__foot,.spm-geo-picker__toolbar{flex-direction:column;align-items:stretch}.spm-geo-picker__map{height:280px}}

/* ---- training-favorites-history.css / 1.4.78 ---- */
.spm-training-points-panel,.spm-training-history-panel{min-height:100%}
.spm-training-point-list{display:grid;gap:12px;max-height:540px;overflow:auto;padding-right:4px}
.spm-training-point-card{border:1px solid var(--spm-border);border-radius:18px;padding:14px 16px;background:#fff;display:grid;gap:8px;box-shadow:0 10px 24px rgba(15,47,115,.05)}
.spm-training-point-card__top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.spm-training-point-card strong{color:#17315f;font-size:1rem;line-height:1.3}
.spm-training-point-card p{margin:0;color:#38506f;line-height:1.5}
.spm-training-save-point-box{padding:14px;border:1px dashed #d7e4fb;border-radius:18px;background:#f8fbff}
.spm-training-history-map{height:420px;border-radius:18px;overflow:hidden;border:1px solid var(--spm-border);background:#dfe8f5}
.spm-training-history-map .leaflet-control-layers,.spm-training-history-map .leaflet-bar{border-color:#c9d6ea;box-shadow:0 6px 18px rgba(15,47,115,.08)}
.spm-training-history-map .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.92)}
@media (max-width:900px){.spm-training-history-map{height:320px}.spm-training-point-card__top{flex-direction:column;align-items:flex-start}}


.spm-training-outcomes-panel{scroll-margin-top:110px}
.spm-training-outcomes-panel .spm-table td,.spm-training-outcomes-panel .spm-table th{vertical-align:middle}


/* ---- pigeon-single-picker.css / 1.4.89 ---- */
.spm-single-picker{display:grid;gap:10px}
.spm-single-picker__toolbar{display:flex;gap:10px;flex-wrap:wrap}
.spm-single-picker__toolbar .spm-input{flex:1 1 260px}
.spm-single-picker__results{border:1px solid var(--spm-border);border-radius:16px;background:#fff;box-shadow:0 12px 24px rgba(15,47,115,.08);max-height:260px;overflow:auto}
.spm-single-picker__selected{display:grid;gap:6px;min-height:24px}
.spm-training-chip--single{display:inline-flex;align-items:center;gap:8px;width:max-content}
@media (max-width:900px){.spm-single-picker__toolbar{flex-direction:column;align-items:stretch}}


/* Pigeons list / rows mode */
.spm-pigeons-list-wrap{margin-top:12px}
.spm-pigeons-list-table td,.spm-pigeons-list-table th{vertical-align:top}
.spm-pigeons-list-table tbody tr:nth-child(even){background:#eff5ff}
.spm-pigeons-list-table tbody tr:nth-child(odd){background:#fff}
.spm-pigeons-list-table tbody tr:hover{background:#dfeafe}
.spm-pigeons-list-table td strong{display:inline-block;min-width:120px}
.spm-pigeons-row-actions{flex-wrap:wrap;gap:6px}
.spm-inline-actions--tight{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}
.spm-pigeons-list-table .spm-chip-row{gap:6px}
@media (max-width: 1200px){
  .spm-pigeons-row-actions{min-width:420px}
}


.spm-bulk-pigeons-form .spm-cell-check,
.spm-pigeons-list-table .spm-cell-check { width: 42px; text-align: center; }
.spm-bulk-pigeons-form input[type="checkbox"] { width: 16px; height: 16px; }
.spm-bulk-pigeons-bar { align-items: center; }
.spm-bulk-counter { min-width: 120px; justify-content: center; }
.spm-pigeons-list-table thead .spm-cell-check { vertical-align: middle; }

/* v1.5.1 settings + appearance themes */
.spm-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px}
.spm-settings-form{margin-top:14px}
.spm-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.spm-theme-card{display:flex;flex-direction:column;gap:12px;border:1px solid var(--spm-border);border-radius:18px;background:#fff;padding:14px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.spm-theme-card:hover{border-color:#bfd0ea;box-shadow:0 12px 28px rgba(16,47,115,.08);transform:translateY(-1px)}
.spm-theme-card.is-active{border-color:var(--spm-blue);box-shadow:0 0 0 3px rgba(23,63,143,.12)}
.spm-theme-card input{position:absolute;opacity:0;pointer-events:none}
.spm-theme-card__preview{display:flex;flex-direction:column;gap:12px}
.spm-theme-card__swatches{display:flex;gap:8px;align-items:center}
.spm-theme-chip{width:30px;height:30px;border-radius:999px;border:1px solid rgba(17,35,63,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.spm-theme-card__mini{display:grid;grid-template-rows:20px 1fr;border:1px solid #d9e1f0;border-radius:14px;overflow:hidden;background:#f6f9ff;min-height:104px}
.spm-theme-card__mini-top{display:block;background:linear-gradient(90deg,#102f73,#214fa7)}
.spm-theme-card__mini-body{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}
.spm-theme-card__mini-body span{display:block;border-radius:10px;background:#ffffff;border:1px solid #d9e1f0;min-height:52px}
.spm-theme-card__meta{display:flex;flex-direction:column;gap:6px}
.spm-theme-card__meta strong{font-size:16px;color:var(--spm-text)}
.spm-theme-card__meta small{font-size:13px;color:var(--spm-muted);line-height:1.45}
[data-preview-theme="control-slate"] .spm-theme-card__mini-top{background:linear-gradient(90deg,#243447,#3e5871)}
[data-preview-theme="control-slate"] .spm-theme-card__mini{background:#eef3f7;border-color:#d4dce5}
[data-preview-theme="control-slate"] .spm-theme-card__mini-body span{background:#fff;border-color:#d4dce5}
[data-preview-theme="aero-white"] .spm-theme-card__mini-top{background:linear-gradient(90deg,#edf4ff,#dbe9ff)}
[data-preview-theme="aero-white"] .spm-theme-card__mini{background:#fbfdff;border-color:#d8e5fb}
[data-preview-theme="aero-white"] .spm-theme-card__mini-body span{background:#fff;border-color:#dce7f7}
[data-preview-theme="heritage-gold"] .spm-theme-card__mini-top{background:linear-gradient(90deg,#6f5422,#d6b56d)}
[data-preview-theme="heritage-gold"] .spm-theme-card__mini{background:#fbf7ef;border-color:#eadfc6}
[data-preview-theme="heritage-gold"] .spm-theme-card__mini-body span{background:#fffdf8;border-color:#eadfc6}
[data-preview-theme="night-loft"] .spm-theme-card__mini-top{background:linear-gradient(90deg,#0f1724,#1d2c43)}
[data-preview-theme="night-loft"] .spm-theme-card__mini{background:#111827;border-color:#283347}
[data-preview-theme="night-loft"] .spm-theme-card__mini-body span{background:#162033;border-color:#2f3f57}
[data-preview-theme="forest-field"] .spm-theme-card__mini-top{background:linear-gradient(90deg,#244f42,#3f7664)}
[data-preview-theme="forest-field"] .spm-theme-card__mini{background:#f2f8f5;border-color:#d6e7df}
[data-preview-theme="forest-field"] .spm-theme-card__mini-body span{background:#fff;border-color:#d6e7df}
@media (max-width:980px){.spm-settings-grid{grid-template-columns:1fr}}

.spm-app-shell[data-spm-theme="control-slate"]{--spm-blue:#243447;--spm-blue-2:#3e5871;--spm-gold:#8fb0cb;--spm-bg:#eef3f7;--spm-card:#ffffff;--spm-border:#d4dce5;--spm-text:#172534;--spm-muted:#5f7286}
.spm-app-shell[data-spm-theme="control-slate"] .spm-sidebar{background:linear-gradient(180deg,#243447 0%,#314a62 100%)}
.spm-app-shell[data-spm-theme="control-slate"] .spm-brand-card,.spm-app-shell[data-spm-theme="control-slate"] .spm-userbox{background:rgba(255,255,255,.07)}
.spm-app-shell[data-spm-theme="control-slate"] .spm-topbar__visual,.spm-app-shell[data-spm-theme="control-slate"] .spm-section-title__logo{background:#f4f8fb;border-color:#d6e0e9}
.spm-app-shell[data-spm-theme="control-slate"] .spm-chip,.spm-app-shell[data-spm-theme="control-slate"] .spm-dashboard-module__count{background:#ecf2f7;color:#243447}

.spm-app-shell[data-spm-theme="aero-white"]{--spm-blue:#1b3b7a;--spm-blue-2:#2d5aac;--spm-gold:#d7e7ff;--spm-bg:#fafcff;--spm-card:#ffffff;--spm-border:#dce7f7;--spm-text:#122744;--spm-muted:#6a7f9d}
.spm-app-shell[data-spm-theme="aero-white"]{box-shadow:0 22px 48px rgba(27,59,122,.08)}
.spm-app-shell[data-spm-theme="aero-white"] .spm-sidebar{background:linear-gradient(180deg,#eef4ff 0%,#dde9ff 100%);color:#16366f}
.spm-app-shell[data-spm-theme="aero-white"] .spm-side-link{color:#16366f}
.spm-app-shell[data-spm-theme="aero-white"] .spm-side-link:hover,.spm-app-shell[data-spm-theme="aero-white"] .spm-side-link.is-active{background:rgba(255,255,255,.72);border-color:#cfdcf3}
.spm-app-shell[data-spm-theme="aero-white"] .spm-brand-card,.spm-app-shell[data-spm-theme="aero-white"] .spm-userbox{background:rgba(255,255,255,.76);border:1px solid #d5e3f9;color:#16366f}
.spm-app-shell[data-spm-theme="aero-white"] .spm-btn--ghost{background:#f7faff}

.spm-app-shell[data-spm-theme="heritage-gold"]{--spm-blue:#5b4317;--spm-blue-2:#7f6330;--spm-gold:#d6b56d;--spm-bg:#fbf7ef;--spm-card:#fffdf8;--spm-border:#eadfc6;--spm-text:#33250f;--spm-muted:#77664c}
.spm-app-shell[data-spm-theme="heritage-gold"] .spm-sidebar{background:linear-gradient(180deg,#4c3812 0%,#7f6330 100%)}
.spm-app-shell[data-spm-theme="heritage-gold"] .spm-topbar__visual,.spm-app-shell[data-spm-theme="heritage-gold"] .spm-section-title__logo{background:#fff7e8;border-color:#eadfc6}
.spm-app-shell[data-spm-theme="heritage-gold"] .spm-chip,.spm-app-shell[data-spm-theme="heritage-gold"] .spm-dashboard-module__count{background:#f6ead1;color:#5b4317}
.spm-app-shell[data-spm-theme="heritage-gold"] .spm-form-panel{background:#fffaf1;border-color:#eadfc6}

.spm-app-shell[data-spm-theme="night-loft"]{--spm-blue:#66a3ff;--spm-blue-2:#8ab9ff;--spm-gold:#3b82f6;--spm-bg:#0f1724;--spm-card:#111b2a;--spm-border:#223148;--spm-text:#e8f0ff;--spm-muted:#9bb0d1;--spm-danger:#f4708a;--spm-success:#36c998;color:var(--spm-text);box-shadow:0 24px 56px rgba(0,0,0,.35)}
.spm-app-shell[data-spm-theme="night-loft"] .spm-sidebar{background:linear-gradient(180deg,#0b1220 0%,#162033 100%)}
.spm-app-shell[data-spm-theme="night-loft"] .spm-brand-card,.spm-app-shell[data-spm-theme="night-loft"] .spm-userbox,.spm-app-shell[data-spm-theme="night-loft"] .spm-colony-switchbar,.spm-app-shell[data-spm-theme="night-loft"] .spm-content-card,.spm-app-shell[data-spm-theme="night-loft"] .spm-topbar,.spm-app-shell[data-spm-theme="night-loft"] .spm-panel,.spm-app-shell[data-spm-theme="night-loft"] .spm-card,.spm-app-shell[data-spm-theme="night-loft"] .spm-stat-card,.spm-app-shell[data-spm-theme="night-loft"] .spm-form-panel,.spm-app-shell[data-spm-theme="night-loft"] .spm-theme-card{background:#111b2a;border-color:#223148;color:var(--spm-text)}
.spm-app-shell[data-spm-theme="night-loft"] .spm-btn--ghost{background:#162033;border-color:#2a3b58;color:#d8e6ff}
.spm-app-shell[data-spm-theme="night-loft"] .spm-input,.spm-app-shell[data-spm-theme="night-loft"] .spm-table thead th{background:#0e1622;border-color:#24344d;color:var(--spm-text)}
.spm-app-shell[data-spm-theme="night-loft"] .spm-table td,.spm-app-shell[data-spm-theme="night-loft"] .spm-table th,.spm-app-shell[data-spm-theme="night-loft"] .spm-list-clean li{border-color:#21314a}
.spm-app-shell[data-spm-theme="night-loft"] .spm-topbar-badge,.spm-app-shell[data-spm-theme="night-loft"] .spm-chip,.spm-app-shell[data-spm-theme="night-loft"] .spm-dashboard-module__count{background:#16243a;border-color:#28405e;color:#dce8ff}
.spm-app-shell[data-spm-theme="night-loft"] .spm-dashboard-module,.spm-app-shell[data-spm-theme="night-loft"] .spm-dashboard-module:hover{background:#111b2a;border-color:#223148;color:var(--spm-text)}
.spm-app-shell[data-spm-theme="night-loft"] .spm-dashboard-module__label,.spm-app-shell[data-spm-theme="night-loft"] .spm-section-title span,.spm-app-shell[data-spm-theme="night-loft"] .spm-card__title,.spm-app-shell[data-spm-theme="night-loft"] .spm-theme-card__meta strong{color:#f4f8ff}
.spm-app-shell[data-spm-theme="night-loft"] .spm-muted,.spm-app-shell[data-spm-theme="night-loft"] .spm-card__meta,.spm-app-shell[data-spm-theme="night-loft"] .spm-theme-card__meta small{color:#9bb0d1}
.spm-app-shell[data-spm-theme="night-loft"] .spm-stat-card__icon--svg,.spm-app-shell[data-spm-theme="night-loft"] .spm-topbar__visual,.spm-app-shell[data-spm-theme="night-loft"] .spm-section-title__logo{background:#162033;border-color:#29405e;color:#8ab9ff}
.spm-app-shell[data-spm-theme="night-loft"] .spm-table tbody tr:hover{background:#162236}
.spm-app-shell[data-spm-theme="night-loft"] .spm-side-link:hover,.spm-app-shell[data-spm-theme="night-loft"] .spm-side-link.is-active{background:rgba(102,163,255,.12);border-color:rgba(102,163,255,.16)}

.spm-app-shell[data-spm-theme="forest-field"]{--spm-blue:#244f42;--spm-blue-2:#3f7664;--spm-gold:#82c5a8;--spm-bg:#f2f8f5;--spm-card:#ffffff;--spm-border:#d6e7df;--spm-text:#183127;--spm-muted:#627d72}
.spm-app-shell[data-spm-theme="forest-field"] .spm-sidebar{background:linear-gradient(180deg,#244f42 0%,#3f7664 100%)}
.spm-app-shell[data-spm-theme="forest-field"] .spm-chip,.spm-app-shell[data-spm-theme="forest-field"] .spm-dashboard-module__count{background:#e7f4ee;color:#244f42}
.spm-app-shell[data-spm-theme="forest-field"] .spm-topbar__visual,.spm-app-shell[data-spm-theme="forest-field"] .spm-section-title__logo{background:#f4fbf7;border-color:#d6e7df}

.spm-theme-card{position:relative;overflow:hidden}
.spm-theme-card__status-wrap{display:flex;justify-content:flex-end}
.spm-theme-card__status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;color:#5b6f90;background:#eef3fb;border:1px solid #d8e2f2}
.spm-theme-card__status--active{color:#17418f;background:#e8f0ff;border-color:#bcd0f4}
.spm-theme-card__status--pick{color:#607390;background:#f5f7fb;border-color:#dfe6f2}
.spm-theme-card__status--pending{color:#0f5132;background:#e8f7ee;border-color:#bfe2cb}
.spm-theme-card.is-selected{border-color:#0f8a4b;box-shadow:0 0 0 3px rgba(15,138,75,.14),0 16px 32px rgba(16,47,115,.08)}
.spm-theme-card.is-selected .spm-theme-card__preview{transform:translateY(-1px)}
.spm-theme-card.is-selected:not(.is-active)::after{content:"";position:absolute;inset:0;border:2px solid rgba(15,138,75,.42);border-radius:18px;pointer-events:none}
.spm-theme-card.is-active.is-selected{border-color:var(--spm-blue);box-shadow:0 0 0 3px rgba(23,63,143,.12),0 16px 32px rgba(16,47,115,.08)}


.spm-breeding-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.spm-breeding-layout__main,.spm-breeding-layout__secondary{min-width:0}
.spm-breeding-tree-wrap{overflow-x:auto;padding-bottom:6px}
.spm-breeding-tree-wrap .spm-breeding-tree-grid{min-width:980px}
@media (max-width: 1280px){
  .spm-breeding-tree-wrap .spm-breeding-tree-grid{min-width:900px}
}
@media (max-width: 980px){
  .spm-breeding-tree-wrap .spm-breeding-tree-grid{min-width:760px}
}


/* v1.5.5 pigeon contacts + premium sheet */
.spm-chip-row--meta{margin-top:12px;flex-wrap:wrap}
.spm-pigeon-sheet-top-grid{align-items:stretch}
.spm-people-summary-grid{display:grid;grid-template-columns:1fr;gap:14px}
.spm-people-summary-box{padding:14px 16px;border-radius:16px;background:#f8fbff;border:1px solid #dfe7f5}
.spm-people-summary-box__label{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#66758f;margin-bottom:10px}
.spm-chip-row--wrap{flex-wrap:wrap}
.spm-chip--person{background:linear-gradient(180deg,#ffffff,#eef4ff);border:1px solid #d5e1f3;color:#16366f;font-weight:800}
.spm-rich-note{padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dfe7f5;color:#18325c;line-height:1.65;box-shadow:0 10px 24px rgba(16,47,115,.05)}
.spm-rich-note > :first-child{margin-top:0}
.spm-rich-note > :last-child{margin-bottom:0}

.spm-people-repeater{padding:16px;border-radius:18px;background:linear-gradient(180deg,#fbfcff,#f4f8ff);border:1px solid #dbe5f4}
.spm-people-repeater__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.spm-people-repeater__head label{margin:0;font-size:14px;font-weight:800;color:#16366f}
.spm-people-repeater__rows{display:grid;gap:10px}
.spm-people-repeater__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.spm-people-repeater__row .spm-input{margin:0}
.spm-people-repeater__row .spm-btn{min-width:48px;padding-inline:0}

@media (max-width:900px){
  .spm-pigeon-sheet-top-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .spm-people-repeater__head{flex-direction:column;align-items:stretch}
  .spm-people-repeater__row{grid-template-columns:1fr}
  .spm-people-repeater__row .spm-btn{width:100%}
}


/* v1.5.7 full page app mode: keep other site pages intact */
body.spm-app-mode #page,
body.spm-app-mode .site,
body.spm-app-mode .site-content,
body.spm-app-mode .content-area,
body.spm-app-mode .site-main,
body.spm-app-mode .entry-content,
body.spm-app-mode .inside-article,
body.spm-app-mode .ast-container,
body.spm-app-mode .ct-container,
body.spm-app-mode .container,
body.spm-app-mode .content-wrapper,
body.spm-app-mode .wp-site-blocks,
body.spm-app-mode .wp-block-post-content,
body.spm-app-mode .is-layout-constrained,
body.spm-app-mode .is-layout-flow{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.spm-app-mode .spm-app-host{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
body.spm-app-mode .spm-app-shell{
  width:100%;
  max-width:none !important;
  min-height:100vh !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  margin:0 !important;
  padding:24px !important;
}
body.admin-bar.spm-app-mode .spm-app-shell{
  min-height:calc(100vh - 32px) !important;
}
@media (max-width:782px){
  body.admin-bar.spm-app-mode .spm-app-shell{
    min-height:calc(100vh - 46px) !important;
  }
}
body.spm-app-mode .spm-app-shell header.spm-topbar,
body.spm-app-mode .spm-app-shell .spm-topbar{
  display:grid !important;
}
body.spm-app-mode .spm-app-shell .spm-toolbar-row{
  width:100%;
}
body.spm-app-mode .spm-app-shell .spm-content-card{
  min-height:calc(100vh - 220px);
}


/* v1.5.9 remove residual theme hero / spacer on app page only */
body.spm-app-mode .hero-section,
body.spm-app-mode .ct-page-title,
body.spm-app-mode .ct-breadcrumbs,
body.spm-app-mode .entry-hero,
body.spm-app-mode .ct-featured-image-container,
body.spm-app-mode .ct-header-spacer,
body.spm-app-mode .ct-header [data-device],
body.spm-app-mode .page-description,
body.spm-app-mode .archive-description{display:none !important;}

body.spm-app-mode #main-container,
body.spm-app-mode #main,
body.spm-app-mode main,
body.spm-app-mode article,
body.spm-app-mode .article-container,
body.spm-app-mode .ct-container,
body.spm-app-mode .ct-content,
body.spm-app-mode .ct-content-area,
body.spm-app-mode .ct-sidebar,
body.spm-app-mode .ct-panel-content,
body.spm-app-mode .site-main,
body.spm-app-mode .entry-content{margin-top:0 !important;padding-top:0 !important;}

body.spm-app-mode .spm-app-host{margin:0 !important;padding:0 !important;position:relative;top:0 !important;}
body.spm-app-mode .spm-app-shell{margin-top:0 !important;}

/* v1.5.10 force real edge-to-edge app page and kill remaining theme header gap */
html body.spm-app-mode{
  margin:0 !important;
  padding:0 !important;
}
body.spm-app-mode .site-header,
body.spm-app-mode header.site-header,
body.spm-app-mode #header,
body.spm-app-mode .header-container,
body.spm-app-mode .site-header-container,
body.spm-app-mode .site-branding,
body.spm-app-mode .custom-header,
body.spm-app-mode .page-header,
body.spm-app-mode .ast-header-break-point,
body.spm-app-mode .ast-desktop-header-wrap,
body.spm-app-mode .ast-mobile-header-wrap,
body.spm-app-mode .ast-primary-header-bar,
body.spm-app-mode .ast-above-header-wrap,
body.spm-app-mode .ast-below-header-wrap,
body.spm-app-mode .ast-sticky-active,
body.spm-app-mode .ct-header,
body.spm-app-mode .ct-sticky-container,
body.spm-app-mode .ct-header-account,
body.spm-app-mode .ct-header-trigger,
body.spm-app-mode [class*="header-spacer"],
body.spm-app-mode [class*="page-title"],
body.spm-app-mode [class*="entry-hero"],
body.spm-app-mode [class*="hero-section"]{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}
body.spm-app-mode #page,
body.spm-app-mode .site,
body.spm-app-mode .site-content,
body.spm-app-mode .content-area,
body.spm-app-mode .site-main,
body.spm-app-mode .entry-content,
body.spm-app-mode .inside-article,
body.spm-app-mode .ast-container,
body.spm-app-mode .ct-container,
body.spm-app-mode .container,
body.spm-app-mode .content-wrapper,
body.spm-app-mode .wp-site-blocks,
body.spm-app-mode .wp-block-post-content,
body.spm-app-mode .is-layout-constrained,
body.spm-app-mode .is-layout-flow,
body.spm-app-mode #main-container,
body.spm-app-mode #main,
body.spm-app-mode main,
body.spm-app-mode article{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.spm-app-mode .spm-app-host{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  width:100vw !important;
  max-width:100vw !important;
  min-height:100vh !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  padding:0 !important;
  top:0 !important;
  overflow-x:hidden !important;
}
body.spm-app-mode .spm-app-shell{
  width:100vw !important;
  max-width:100vw !important;
  min-height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
body.spm-app-mode .spm-sidebar,
body.spm-app-mode .spm-main{
  padding-top:24px;
  padding-bottom:24px;
}
body.admin-bar.spm-app-mode .spm-app-shell{
  min-height:calc(100vh - 32px) !important;
}
@media (max-width:782px){
  body.admin-bar.spm-app-mode .spm-app-shell{
    min-height:calc(100vh - 46px) !important;
  }
}

/* v1.5.11 real breakout full-width only on SPM page */
body.spm-app-mode .spm-app-host,
body.spm-app-mode .spm-app-shell{
  box-sizing:border-box !important;
}
body.spm-app-mode .spm-sidebar,
body.spm-app-mode .spm-main{
  min-width:0 !important;
}


/* v1.5.14 hard fullscreen app host only on SPM page */
html body.spm-app-mode{
  overflow:hidden !important;
  background:linear-gradient(180deg,#041a43 0%, #03122f 100%) !important;
}
body.spm-app-mode .spm-app-host{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  max-width:100vw !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:auto !important;
  overflow-x:hidden !important;
  z-index:1 !important;
  background:linear-gradient(180deg,#041a43 0%, #03122f 100%) !important;
}
body.admin-bar.spm-app-mode .spm-app-host{
  top:32px !important;
  height:calc(100vh - 32px) !important;
}
@media (max-width:782px){
  body.admin-bar.spm-app-mode .spm-app-host{
    top:46px !important;
    height:calc(100vh - 46px) !important;
  }
}
body.spm-app-mode .spm-app-shell{
  width:100vw !important;
  min-height:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:linear-gradient(180deg,#f4f7fc 0%, #eef3fb 100%) !important;
}
body.spm-app-mode #page,
body.spm-app-mode .site,
body.spm-app-mode .site-content,
body.spm-app-mode .content-area,
body.spm-app-mode .site-main,
body.spm-app-mode .entry-content,
body.spm-app-mode .inside-article,
body.spm-app-mode .ast-container,
body.spm-app-mode .ct-container,
body.spm-app-mode .container,
body.spm-app-mode .content-wrapper,
body.spm-app-mode .wp-site-blocks,
body.spm-app-mode .wp-block-post-content,
body.spm-app-mode .is-layout-constrained,
body.spm-app-mode .is-layout-flow,
body.spm-app-mode main,
body.spm-app-mode article{
  background:transparent !important;
}


/* 1.5.40 breeding readability hotfix for science/source cards */
.spm-breeding-science-grid,
.spm-breeding-science-grid article,
.spm-breeding-science-grid .spm-breeding-source-card{
  opacity:1 !important;
  filter:none !important;
}

.spm-breeding-science-grid .spm-breeding-source-card{
  background:linear-gradient(180deg,#5f697b 0%, #556073 100%) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 12px 28px rgba(9,18,38,.16) !important;
}

.spm-breeding-science-grid .spm-breeding-source-card__head h4,
.spm-breeding-science-grid .spm-breeding-source-card strong,
.spm-breeding-science-grid .spm-breeding-source-card .spm-source-link,
.spm-breeding-science-grid .spm-breeding-source-card .spm-chip,
.spm-breeding-science-grid .spm-breeding-source-card .spm-mini-badge,
.spm-breeding-science-grid .spm-breeding-source-card p,
.spm-breeding-science-grid .spm-breeding-source-card span,
.spm-breeding-science-grid .spm-breeding-source-card small{
  opacity:1 !important;
}

.spm-breeding-science-grid .spm-breeding-source-card__head h4,
.spm-breeding-science-grid .spm-breeding-source-card strong{
  color:#ffffff !important;
}

.spm-breeding-science-grid .spm-breeding-source-card p,
.spm-breeding-science-grid .spm-breeding-source-card span,
.spm-breeding-science-grid .spm-breeding-source-card small,
.spm-breeding-science-grid .spm-breeding-source-card .spm-muted{
  color:#eef4ff !important;
}

.spm-breeding-science-grid .spm-breeding-source-card .spm-source-link{
  color:#c8f0ff !important;
  font-weight:800 !important;
}

.spm-breeding-science-grid .spm-breeding-source-card .spm-chip{
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#ffffff !important;
}

.spm-breeding-science-grid .spm-breeding-source-card .spm-mini-badge{
  background:rgba(255,255,255,.18) !important;
  border:1px solid rgba(255,255,255,.2) !important;
  color:#ffffff !important;
}


/* 1.5.43 compact header with centered toolbar lane */
.spm-topbar--clean{
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:start;
  gap:10px 14px;
  padding:12px 16px;
}
.spm-topbar__head{
  gap:4px;
  min-width:0;
}
.spm-topbar__hero{
  gap:12px;
  align-items:flex-start;
}
.spm-topbar__visual{
  width:72px;
  height:72px;
  flex:0 0 72px;
  border-radius:16px;
}
.spm-topbar__title{
  font-size:24px;
  line-height:1.05;
}
.spm-topbar__desc{
  margin:2px 0 0;
  font-size:14px;
  line-height:1.35;
}
.spm-topbar__meta-strip{
  margin-top:8px;
  gap:8px;
}
.spm-hero-pill{
  padding:6px 10px;
}
.spm-topbar__toolbar{
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-end;
  align-items:flex-start;
  align-self:start;
  gap:8px;
  margin-top:26px;
  min-width:0;
}
.spm-topbar__actions--badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-content:flex-start;
  gap:8px;
  max-width:360px;
}
.spm-topbar-badge{
  padding:8px 11px;
}
.spm-colony-switchbar--top,
.spm-return-card--top{
  width:auto;
  min-width:0;
  padding:8px 10px;
  border-radius:15px;
  box-shadow:0 8px 18px rgba(16,47,115,.05);
}
.spm-colony-switchbar--top .spm-colony-switch{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.spm-colony-switchbar--top .spm-colony-switchbar__label,
.spm-return-card--top .spm-return-card__label{
  margin:0 0 4px;
  font-size:10px;
  line-height:1.05;
  letter-spacing:.08em;
}
.spm-colony-switchbar--top select{
  min-width:200px;
  height:36px;
  padding-top:7px;
  padding-bottom:7px;
}
.spm-return-card--top{
  min-width:228px;
}
.spm-return-card--top .spm-return-card__btn{
  min-height:36px;
  padding-top:8px;
  padding-bottom:8px;
  border-radius:12px;
}
@media (max-width:1280px){
  .spm-topbar--clean{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .spm-topbar__toolbar{
    grid-column:2;
    margin-top:18px;
  }
  .spm-topbar__actions--badges{
    grid-column:1 / -1;
    max-width:none;
    justify-content:flex-start;
  }
}
@media (max-width:980px){
  .spm-topbar--clean{
    grid-template-columns:1fr;
  }
  .spm-topbar__toolbar,
  .spm-topbar__actions--badges{
    grid-column:auto;
    margin-top:0;
    justify-content:flex-start;
    max-width:none;
  }
  .spm-topbar__toolbar{
    flex-wrap:wrap;
  }
}
.spm-pigeon-hero__photo-wrap{
  position:relative;
  background:linear-gradient(180deg,#fdfcf8 0%,#f8f4ea 100%);
  border:1px solid #dfd2b4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), 0 16px 34px rgba(23,44,91,.16);
}
.spm-pigeon-hero__photo-wrap::before,
.spm-pigeon-hero__photo-wrap::after{
  content:'';
  position:absolute;
  pointer-events:none;
}
.spm-pigeon-hero__photo-wrap::before{
  inset:10px;
  border-radius:22px;
  border:1px solid rgba(194,163,104,.42);
}
.spm-pigeon-hero__photo-wrap::after{
  inset:21px;
  border-radius:16px;
  border:1px solid rgba(220,205,171,.78);
}
.spm-pigeon-hero__photo{
  position:relative;
  z-index:1;
  filter:drop-shadow(0 14px 20px rgba(69,61,44,.18));
}
.spm-pigeon-hero__visual.has-photo .spm-pigeon-hero__photo-wrap,
.spm-pigeon-hero__visual.is-placeholder .spm-pigeon-hero__photo-wrap{
  background:linear-gradient(180deg,#fffdfa 0%,#f7f3ea 100%);
  overflow:hidden;
}
@media (max-width:1180px){
  .spm-topbar--clean{
    grid-template-columns:minmax(0,1fr);
  }
  .spm-topbar__actions--badges,
  .spm-topbar__toolbar{
    justify-content:flex-start;
  }
}
@media (max-width:760px){
  .spm-topbar--clean{
    padding:12px 14px;
  }
  .spm-topbar__hero{
    gap:10px;
  }
  .spm-topbar__visual{
    width:62px;
    height:62px;
    flex-basis:62px;
  }
  .spm-topbar__title{
    font-size:22px;
  }
  .spm-topbar__toolbar{
    flex-direction:column;
    align-items:stretch;
  }
  .spm-colony-switchbar--top .spm-colony-switch{
    flex-wrap:wrap;
  }
  .spm-colony-switchbar--top select,
  .spm-return-card--top{
    width:100%;
    min-width:0;
  }
}


/* v1.5.48 results page refinement */
.spm-results-anchor-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 14px;border:1px solid var(--spm-border);border-radius:16px;background:linear-gradient(180deg,#f8fbff,#f2f6ff)}
.spm-results-anchor-nav .spm-chip{scroll-margin-top:90px}
.spm-results-section{scroll-margin-top:96px}
.spm-results-anchor-nav .spm-chip--action{background:#fff;border:1px solid #d8e3f3;color:#16366f}
.spm-results-anchor-nav .spm-chip--action:hover{background:#eef4ff}
.spm-rank-badge{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.1;border:1px solid transparent}
.spm-rank-badge.is-win{background:#fff3c2;color:#6f5400;border-color:#f0da84}
.spm-rank-badge.is-podium{background:#eaf2ff;color:#16366f;border-color:#cbdcf8}
.spm-rank-badge.is-top10{background:#eef8ee;color:#146246;border-color:#b8e1c4}
.spm-rank-badge.is-ranked{background:#f5f7fb;color:#51607a;border-color:#dbe4f0}
@media (max-width:760px){.spm-results-anchor-nav{padding:10px 12px}}


.spm-results-period-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.spm-results-period-chips .spm-chip.is-active{background:#16366f;color:#fff;border-color:#16366f}
.spm-results-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.spm-results-highlight-card{padding:14px 14px 12px;border:1px solid var(--spm-border);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff)}
.spm-results-highlight-card .spm-rank-badge{margin-top:0;margin-bottom:10px}
.spm-results-highlight-title{font-weight:700;color:#16366f;line-height:1.35}
.spm-results-highlight-meta{margin-top:6px;font-size:12px;color:#5f6f8a;line-height:1.45}
@media (max-width:1080px){.spm-results-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.spm-results-highlight-grid{grid-template-columns:1fr}.spm-results-period-chips{gap:6px}}


/* v1.5.49 pigeon leaderboard refinement */
.spm-results-pigeon-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.spm-results-pigeon-highlight-card{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03)}.spm-results-pigeon-highlight-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#9fb2d1;margin-bottom:8px}.spm-results-pigeon-highlight-main{font-size:16px;font-weight:700;margin-bottom:4px}.spm-results-pigeon-highlight-name{font-size:13px;color:#d9e2f1;margin-bottom:8px}.spm-results-pigeon-highlight-value{font-size:20px;font-weight:700;color:#fff;margin-bottom:4px}.spm-results-pigeon-highlight-meta{font-size:12px;color:#9fb2d1;margin-bottom:8px}.spm-results-pigeon-highlight-empty{font-size:13px;color:#9fb2d1}.spm-rank-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:rgba(255,215,0,.14);border:1px solid rgba(255,215,0,.24);font-weight:700;color:#ffe08a}@media (max-width:1100px){.spm-results-pigeon-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.spm-results-pigeon-highlights{grid-template-columns:1fr}}

/* v1.5.50 races/results consolidation */
.spm-race-summary-cards{margin:0 0 14px}
.spm-stat-card--soft{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dde7f6;box-shadow:none}
.spm-stat-card__value--sm{font-size:18px;line-height:1.3}
.spm-rank-badge.is-upcoming{background:#eef4ff;color:#16366f;border-color:#c7d7f2}
.spm-race-focus-card{padding:14px;border:1px solid #dde7f6;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff)}
.spm-race-focus-stats{margin-top:12px}
@media (max-width:1100px){.spm-race-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.spm-race-summary-cards{grid-template-columns:1fr}}

/* v1.5.51 global results consolidation */
.spm-results-global-kpis{align-items:stretch}
.spm-results-global-panels{align-items:stretch}
.spm-results-global-panels .spm-race-focus-card{height:100%}
.spm-delta{display:block;margin-top:6px;font-style:normal;font-size:12px;font-weight:700}
.spm-delta.is-up{color:#146246}
.spm-delta.is-down{color:#b42318}
.spm-delta.is-flat{color:#667085}
@media (max-width:1100px){.spm-results-global-panels{grid-template-columns:1fr}.spm-results-global-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.spm-results-global-kpis{grid-template-columns:1fr}}

/* v1.5.52 parcours concours intégré */
.spm-results-race-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.spm-results-race-journey-card{padding:14px;border:1px solid rgba(16,47,115,.08);border-radius:16px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);min-width:0}
.spm-results-race-journey-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#607499;margin-bottom:8px}
.spm-results-race-journey-main{font-size:16px;font-weight:700;line-height:1.3;color:#102f73;margin-bottom:4px}
.spm-results-race-journey-name{font-size:13px;color:#5b6785;margin-bottom:8px}
.spm-results-race-journey-value{font-size:18px;font-weight:700;color:#0f172a;margin-bottom:4px}
.spm-results-race-journey-meta,.spm-results-race-journey-empty{font-size:12px;color:#607499;margin-bottom:8px}
@media (max-width:1100px){.spm-results-race-journey{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.spm-results-race-journey{grid-template-columns:1fr}}


/* v1.5.53 homogénéisation de l'entrée Résultats */
.spm-results-storyline{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.spm-results-storyline-card{
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,250,255,.92));
    border:1px solid rgba(18,38,63,.08);
    border-radius:18px;
    padding:16px 18px;
    box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.spm-results-storyline-label{
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#64748b;
    margin-bottom:8px;
}
.spm-results-storyline-value{
    font-size:28px;
    line-height:1.05;
    font-weight:800;
    color:#0f172a;
    margin-bottom:6px;
}
.spm-results-storyline-value--sm{
    font-size:18px;
    line-height:1.25;
}
.spm-results-storyline-meta{
    font-size:12px;
    line-height:1.45;
    color:#475569;
}

.spm-results-storyline-card{display:block;text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.spm-results-storyline-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.34);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.spm-stat-card--link{display:block;text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.spm-stat-card--link:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.34);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.spm-stat-card__hint{margin-top:8px;font-size:11px;line-height:1.4;color:#64748b;font-weight:600}
@media (max-width: 960px){
    .spm-results-storyline{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 640px){
    .spm-results-storyline{
        grid-template-columns:1fr;
    }
}


/* v1.5.55 correction contraste lecture guidée */
.spm-results-reading-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.spm-results-reading-card{display:block;padding:14px 16px;border-radius:16px;border:1px solid rgba(18,38,63,.08);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,250,255,.96));text-decoration:none;color:#0f172a;box-shadow:0 10px 28px rgba(15,23,42,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.spm-results-reading-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.34);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.spm-results-reading-step{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;padding:0 10px;border-radius:999px;background:rgba(212,175,55,.14);border:1px solid rgba(212,175,55,.30);font-size:12px;font-weight:800;letter-spacing:.08em;color:#9a6b00}
.spm-results-reading-title{margin-top:10px;font-size:15px;font-weight:800;color:#0f172a}
.spm-results-reading-text{margin-top:6px;font-size:12px;line-height:1.5;color:#475569}
.spm-results-divider{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:12px 0 10px;padding:0 4px}
.spm-results-divider span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9a6b00}
.spm-results-divider small{font-size:12px;color:#64748b}
@media (max-width: 1100px){.spm-results-reading-flow{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 767px){.spm-results-reading-flow{grid-template-columns:1fr}.spm-results-divider{flex-direction:column;align-items:flex-start}}


/* v1.5.59 results/global ordering and archive window */
.spm-results-leaderboards{grid-template-columns:1fr;align-items:start}
.spm-results-leaderboards .spm-panel{overflow:hidden}
#spm-results-global{margin-bottom:16px}

/* v1.5.60 auth screen */
.spm-auth-shell{max-width:1120px;margin:34px auto;padding:0 16px}.spm-auth-card{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dfe7f5;border-radius:28px;box-shadow:0 24px 60px rgba(16,47,115,.08);padding:28px}.spm-auth-brand{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:center;padding:8px 0 20px;border-bottom:1px solid #e7eef9}.spm-auth-brand__logo{width:140px;max-width:100%;height:auto;display:block}.spm-auth-brand__eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9a6b00;margin-bottom:8px}.spm-auth-brand h2{margin:0 0 10px;font-size:32px;line-height:1.05;color:#16366f}.spm-auth-brand p{margin:0;font-size:15px;line-height:1.65;color:#475569;max-width:720px}.spm-auth-notice{margin:18px 0 0;padding:14px 16px;border-radius:16px;font-size:14px;line-height:1.5;font-weight:700}.spm-auth-notice--error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.spm-auth-notice--success{background:#ecfdf5;border:1px solid #a7f3d0;color:#166534}.spm-auth-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 18px}.spm-auth-tab{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid #dbe5f3;background:#fff;color:#16366f;text-decoration:none;font-weight:800;transition:all .18s ease}.spm-auth-tab:hover{border-color:#c7d6ef;transform:translateY(-1px)}.spm-auth-tab.is-active{background:#16366f;border-color:#16366f;color:#fff;box-shadow:0 12px 28px rgba(22,54,111,.18)}.spm-auth-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.spm-auth-panel{background:#fff;border:1px solid #dfe7f5;border-radius:22px;padding:22px;box-shadow:0 10px 26px rgba(16,47,115,.05)}.spm-auth-panel__header h3{margin:0 0 8px;font-size:22px;line-height:1.15;color:#16366f}.spm-auth-panel__header p{margin:0 0 18px;font-size:14px;line-height:1.6;color:#64748b}.spm-auth-form{display:grid;gap:14px}.spm-auth-field{display:grid;gap:7px}.spm-auth-field label{font-size:13px;font-weight:800;color:#475569}.spm-auth-field .spm-input{min-height:50px;border-radius:14px;background:#fff;color:#0f172a;border:1px solid #cad8ee;box-shadow:inset 0 1px 2px rgba(15,23,42,.03)}.spm-auth-field .spm-input:focus{border-color:#16366f;box-shadow:0 0 0 3px rgba(22,54,111,.12)}.spm-auth-check{display:flex;align-items:center;gap:10px;font-size:14px;color:#475569;font-weight:700}.spm-auth-check input{width:18px;height:18px}.spm-auth-actions{display:grid;gap:10px;padding-top:4px}.spm-auth-link{display:inline-flex;align-items:center;justify-content:center;color:#16366f;font-size:14px;font-weight:800;text-decoration:none}.spm-auth-link:hover{text-decoration:underline}.spm-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width:900px){.spm-auth-brand{grid-template-columns:1fr;text-align:center}.spm-auth-brand__logo{margin:0 auto}.spm-auth-brand p{margin:0 auto}.spm-auth-forms,.spm-auth-grid{grid-template-columns:1fr}}@media (max-width:640px){.spm-auth-shell{padding:0 10px}.spm-auth-card{padding:18px;border-radius:22px}.spm-auth-brand h2{font-size:28px}.spm-auth-panel{padding:18px}}
