:root{--teal:#0f4c5c;--teal-700:#0c3d49;--teal-100:#e3edef;--coral:#ff5a6f;--coral-600:#e64256;--ink:#1b2a2f;--muted:#5f7178;--line:#dbe4e6;--bg:#f6f8f8;--card:#ffffff;--shadow:0 1px 2px rgba(15,76,92,0.06),0 4px 16px rgba(15,76,92,0.06);--radius:12px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Poppins,Aptos,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}.serif,h1,h2,h3{font-family:Lora,Georgia,serif}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}.topbar{background:var(--teal);color:#fff;padding:14px 24px;display:flex;align-items:center;gap:14px}.topbar .brand{font-family:Lora,Georgia,serif;font-size:18px;font-weight:600;letter-spacing:.2px}.topbar .dot{width:9px;height:9px;border-radius:50%;background:var(--coral)}.topbar .spacer{flex:1 1}.topbar .who{font-size:12px;opacity:.85}.topbar .signout{background:rgba(255,255,255,.14);color:#fff;border:none;padding:6px 12px;border-radius:8px;font-size:12px}.page{max-width:1360px;margin:0 auto;padding:20px 24px 60px}.layout{display:grid;grid-template-columns:260px 1fr;grid-gap:22px;gap:22px;align-items:start}@media (max-width:900px){.layout{grid-template-columns:1fr}}.stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.stat .num{font-family:Lora,Georgia,serif;font-size:24px;font-weight:600;color:var(--teal)}.stat .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:2px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.filters{padding:16px;position:-webkit-sticky;position:sticky;top:16px}.filters h3{margin:0 0 4px;font-size:14px}.filter-group{margin-top:16px}.filter-group label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}.filter-group input,.filter-group select,.searchbar input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff;color:var(--ink)}.pill-row{display:flex;gap:6px}.pill{flex:1 1;text-align:center;padding:7px 4px;border:1px solid var(--line);border-radius:8px;font-size:12px;background:#fff;color:var(--muted)}.pill.active{background:var(--teal);border-color:var(--teal);color:#fff}.clear-btn{margin-top:18px;width:100%;padding:9px;border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--muted)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:12px}.searchbar{flex:1 1}.result-count{font-size:12px;color:var(--muted);white-space:nowrap}.table-wrap{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid td,table.grid th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}table.grid th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:-webkit-sticky;position:sticky;top:0;background:#fff}table.grid th.sorted{color:var(--teal)}table.grid td.name{font-weight:600;white-space:normal;min-width:220px}table.grid tbody tr:hover{background:var(--teal-100)}.num-cell{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--teal-100);color:var(--teal-700)}.badge.mips{background:#e9f7ee;color:#1c7a45}.pager{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line)}.pager button{padding:7px 14px;border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--teal)}.pager button:disabled{color:var(--muted);cursor:default;opacity:.5}.notice{margin:40px auto;max-width:620px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}.notice h2{margin:0 0 8px;font-size:18px}.notice code{background:var(--teal-100);padding:1px 6px;border-radius:5px;font-size:12px}.notice ul{margin:10px 0 0;padding-left:18px}.skeleton-row td{color:transparent}.spin{padding:40px;text-align:center;color:var(--muted)}.signin{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,var(--teal),var(--teal-700))}.signin .card{background:#fff;border-radius:16px;padding:34px 36px;width:380px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.signin h1{margin:0 0 4px;font-size:22px;color:var(--teal)}.signin p{color:var(--muted);margin:0 0 22px;font-size:13px}.signin .primary{width:100%;padding:11px;background:var(--teal);color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:500}.signin a.primary:hover{background:var(--teal-700)}.signin .divider{text-align:center;color:var(--muted);font-size:11px;margin:18px 0;text-transform:uppercase;letter-spacing:1px}.signin input{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;font-size:14px;margin-bottom:10px}.signin .err{color:var(--coral-600);font-size:12px;margin:0 0 10px}.detail-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.detail-head h1{margin:0;font-size:24px;color:var(--teal)}.back{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:14px}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:18px;gap:18px}@media (max-width:900px){.detail-grid{grid-template-columns:1fr}}.detail-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.detail-card h3{margin:0 0 12px;font-size:14px;color:var(--teal);border-bottom:1px solid var(--line);padding-bottom:8px}.kv{display:grid;grid-template-columns:150px 1fr;grid-gap:6px 12px;gap:6px 12px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.contact{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.contact:last-child{border-bottom:none}.contact .role{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--coral-600)}.subnav{background:var(--card);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.subnav-inner{max-width:1360px;margin:0 auto;padding:0 24px;display:flex;gap:4px}.subnav .tab{background:none;padding:15px 16px 13px;font-size:13px;font-weight:500;color:var(--muted);border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.subnav .tab:hover{color:var(--ink)}.subnav .tab.active{color:var(--teal);border-bottom-color:var(--coral)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title{margin:0;font-size:20px;color:var(--teal)}.section-sub{margin:4px 0 0;font-size:13px;color:var(--muted)}.link-btn{background:none;border:1px solid var(--line);color:var(--teal);padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap}.link-btn:hover{background:var(--teal-100)}.stat-sub{font-size:11px;color:var(--muted);margin-top:3px}.live-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:linear-gradient(90deg,rgba(15,76,92,.06),rgba(15,76,92,0));border:1px solid var(--line);border-left:3px solid #1c7a45;border-radius:var(--radius);padding:10px 16px;font-size:12px;color:var(--muted);margin-bottom:20px}.live-dot{width:8px;height:8px;border-radius:50%;background:#1c7a45;box-shadow:0 0 0 0 rgba(28,122,69,.5);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(28,122,69,.45)}70%{box-shadow:0 0 0 8px rgba(28,122,69,0)}to{box-shadow:0 0 0 0 rgba(28,122,69,0)}}.live-metrics{margin-left:auto;display:flex;gap:18px;align-items:center}.live-metrics b{color:var(--teal);font-family:Lora,Georgia,serif;font-size:16px;margin-right:5px}.chart-grid{display:grid;grid-template-columns:1fr 2fr;grid-gap:16px;gap:16px}@media (max-width:900px){.chart-grid{grid-template-columns:1fr}}.chart-card{padding:16px 18px 10px}.chart-card.wide{grid-column:auto}.chart-title{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.adoption{padding:14px 4px 20px}.adoption-num{font-family:Lora,Georgia,serif;font-size:46px;font-weight:600;color:var(--teal);line-height:1}.adoption-lbl{font-size:13px;color:var(--ink);margin:8px 0 16px}.adoption-lbl span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.adoption-bar{height:10px;background:var(--teal-100);border-radius:999px;overflow:hidden}.adoption-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#1c7a45);border-radius:999px}table.grid td.clip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.msg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px}.msg-card{text-align:left;padding:16px;cursor:pointer;transition:box-shadow .15s,transform .15s;background:var(--card)}.msg-card:hover{box-shadow:0 6px 22px rgba(15,76,92,.12);transform:translateY(-1px)}.msg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.msg-store{font-family:Lora,Georgia,serif;font-weight:600;color:var(--teal);font-size:15px}.msg-meta{font-size:12px;color:var(--muted);margin-bottom:12px}.msg-greeting,.msg-promo{font-size:13px;margin:0 0 10px;line-height:1.45}.msg-tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--teal-700);background:var(--teal-100);padding:1px 7px;border-radius:999px;margin-right:8px;vertical-align:middle}.msg-tag.promo{color:var(--coral-600);background:#fdecee}.drawer-scrim{position:fixed;inset:0;background:rgba(15,42,47,.35);display:flex;justify-content:flex-end;z-index:50;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{width:440px;max-width:92vw;height:100%;background:var(--card);box-shadow:-8px 0 40px rgba(0,0,0,.2);padding:24px 26px 40px;overflow-y:auto;animation:slide .2s ease}@keyframes slide{0%{transform:translateX(24px);opacity:.6}to{transform:translateX(0);opacity:1}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.drawer-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.drawer-head h2{margin:2px 0 0;font-size:22px;color:var(--teal)}.drawer-close{background:none;border:none;font-size:26px;line-height:1;color:var(--muted)}.drawer-grid{margin:0 0 8px}.drawer-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.drawer-row dt{color:var(--muted)}.drawer-row dd{margin:0;text-align:right;font-weight:500}.drawer-block{margin-top:18px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.drawer-block h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.drawer-block p{margin:0;font-size:14px;line-height:1.5}.src-banner{display:flex;align-items:center;gap:8px;font-size:12px;padding:9px 14px;border-radius:10px;margin-bottom:16px;border:1px solid var(--line)}.src-banner.live{color:#1c7a45;background:rgba(28,122,69,.07);border-left:3px solid #1c7a45}.src-banner.warn{color:#8a6d1f;background:#fdf6e6;border-left:3px solid #d98a1f}.src-banner code{background:rgba(0,0,0,.06);padding:1px 6px;border-radius:5px}.src-err{opacity:.8}.drawer-actions{display:flex;align-items:center;gap:10px}.btn-edit{background:var(--teal-100);color:var(--teal);border:1px solid var(--line);padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500}.btn-edit:hover{background:#d5e5e8}.drawer-note{font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 16px}.drawer-audit{font-size:11px;color:var(--muted);margin-top:18px;text-align:right}.drawer-form .field{display:block;margin-bottom:12px}.drawer-form .field>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:5px}.drawer-form input,.drawer-form select,.drawer-form textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink);resize:vertical}.drawer-form input:focus,.drawer-form select:focus,.drawer-form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,76,92,.1)}.drawer-err{color:var(--coral-600);font-size:12px;margin:4px 0 0}.drawer-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;position:-webkit-sticky;position:sticky;bottom:0;background:var(--card);padding-top:12px}.btn-save{background:var(--teal);color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:13px;font-weight:500}.btn-save:disabled{opacity:.6;cursor:default}.btn-ghost{background:#fff;color:var(--muted);border:1px solid var(--line);padding:9px 18px;border-radius:8px;font-size:13px}.live-strip.snap{border-left-color:#d98a1f;color:#8a6d1f;background:linear-gradient(90deg,rgba(217,138,31,.08),rgba(217,138,31,0))}.live-strip.snap .live-dot{background:#d98a1f;animation:none}.banner-btn{margin-left:10px;background:var(--teal);color:#fff;border:none;padding:5px 12px;border-radius:7px;font-size:12px;font-weight:500}.banner-btn:disabled{opacity:.6;cursor:default}.topbar .brand-mark{display:inline-flex;align-items:center;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.signin-hero{display:flex;justify-content:center;margin-bottom:14px}.signin-hero svg{filter:drop-shadow(0 6px 14px rgba(227,24,55,.25))}.section-title-row{display:flex;align-items:center;gap:12px}.section-title-row svg{flex:0 0 auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.stat{position:relative}.stat-icon{position:absolute;top:12px;right:12px;opacity:.95;filter:drop-shadow(0 1px 2px rgba(0,0,0,.12))}.badge-status{display:inline-flex;align-items:center;gap:5px}.badge-slice{display:inline-flex;line-height:0}.page{position:relative;z-index:0}.ov-watermark{position:fixed;right:-40px;bottom:-60px;opacity:.05;pointer-events:none;z-index:-1}.brand-logo-img{display:block;border-radius:6px;object-fit:contain}