:root{--bg:#f6f7f9;--surface:#fff;--border:#e2e5ea;--text:#1a1d21;--muted:#676e78;--accent:#d96c00;--accent-soft:#fdf1e4;--danger:#c0392b;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#131519;--surface:#1c1f25;--border:#2d323b;--text:#e8eaed;--muted:#9aa2ad;--accent:#f28c28;--accent-soft:#2b2118}}:root[data-theme=dark]{--bg:#131519;--surface:#1c1f25;--border:#2d323b;--text:#e8eaed;--muted:#9aa2ad;--accent:#f28c28;--accent-soft:#2b2118}:root[data-theme=light]{--bg:#f6f7f9;--surface:#fff;--border:#e2e5ea;--text:#1a1d21;--muted:#676e78;--accent:#d96c00;--accent-soft:#fdf1e4}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:2rem;padding:.9rem 1.5rem;display:flex}.header-top{display:contents}.brand{letter-spacing:.02em;font-size:1.1rem;font-weight:700}.brand-product{color:inherit;text-decoration:none}.brand-product:hover{text-decoration:underline}.header nav{flex:1;gap:.25rem;display:flex}.header nav a{color:var(--muted);border-radius:var(--radius);align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.95rem;text-decoration:none;display:inline-flex}.nav-icon{flex-shrink:0;display:none}.header nav a:hover{color:var(--text)}.header nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.main{flex:1;width:100%;max-width:72rem;margin:0 auto;padding:1.5rem}.main--import{flex-direction:column;max-width:none;padding:1rem 1.5rem 1.5rem;display:flex}.nav-tip{color:#1a1d21;border-radius:calc(var(--radius) - 3px);white-space:nowrap;background:#fd0;align-items:center;gap:.35rem;margin-left:auto;padding:.35rem .8rem;font-size:.85rem;font-weight:650;text-decoration:none;display:inline-flex}.nav-tip.placeholder{border:2px dashed var(--border);color:var(--muted);cursor:default;background:0 0}@media (width<=640px){.main{padding:1rem}.header{flex-direction:column;align-items:stretch;gap:0;padding:.55rem .75rem 0}.header-top{justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.55rem;display:flex}.brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;overflow:hidden}.nav-tip{flex-shrink:0;margin-left:0;padding:.45rem .55rem}.nav-tip-label{display:none}.header nav{border-top:1px solid var(--border);justify-content:space-between;gap:.15rem;margin:0 -.75rem;padding:.35rem .5rem .45rem;display:flex}.nav-icon{display:block}.header nav a{border-radius:calc(var(--radius) - 2px);flex:1;justify-content:center;min-width:0;padding:.45rem .15rem}.header nav a .nav-label{display:none}.detail-flex{flex-direction:column}.detail-flex>div:first-child,.mini-map{width:100%}.detail-grid,.location-detail{width:100%;min-width:0}.heatmap{height:300px}}.side-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.45rem;font-size:.68rem;font-weight:600}.affiliate-list{margin:0;padding:0;list-style:none}.affiliate-list li{border-bottom:1px solid var(--border);padding:.35rem 0}.affiliate-list li:last-child{border-bottom:none}.insight-tip{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);margin:1rem 0;padding:.75rem 1rem;font-size:.9rem}.insight-tip.placeholder{background:0 0;border-style:dashed;border-width:2px}.insight-tip .side-label{margin-bottom:.25rem}.footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:1rem;font-size:.8rem}.footer p{margin:0}.footer-meta{margin-top:.35rem}.footer-meta a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.footer-meta a:hover{color:var(--text)}h1{margin:0 0 1rem;font-size:1.5rem}h2{margin:2rem 0 .75rem;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}.stat .label{color:var(--muted);margin-bottom:.3rem;font-size:.8rem}.stat .value{font-size:1.25rem;font-weight:650}.stat .sub{color:var(--muted);margin-top:.2rem;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.25rem}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .8rem}th{color:var(--muted);font-size:.8rem;font-weight:600}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}tr.detail td{white-space:normal;background:color-mix(in srgb, var(--accent) 4%, transparent)}td.route{text-overflow:ellipsis;max-width:26rem;overflow:hidden}label.field{min-width:0;max-width:100%;margin-bottom:1rem;display:block}label.field>span{color:var(--muted);margin-bottom:.3rem;font-size:.85rem;display:block}input,select,button{font:inherit;color:inherit}input[type=text],input[type=number],input[type=date],input[type=search],select{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);box-sizing:border-box;min-width:12rem;max-width:100%;padding:.45rem .6rem}select{width:100%;min-width:0}button,.button{background:var(--accent);color:#fff;border-radius:calc(var(--radius) - 3px);cursor:pointer;border:none;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-block}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger)}button:disabled{opacity:.5;cursor:default}.filters{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.pagination{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;margin-bottom:1.5rem;padding:2.5rem 1.5rem}.import-page{flex-direction:column;flex:1;min-height:calc(100dvh - 9rem);display:flex}.import-page--over .import-drop{border-color:var(--accent);background:var(--accent-soft)}.import-intro{flex-shrink:0}.import-intro h1{margin-bottom:.35rem}.import-drop{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:min(55vh,32rem);margin:.75rem 0 1.25rem;padding:2rem 1.5rem;display:flex}.import-meta{flex-shrink:0}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.notice{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:.5rem 0;padding:.5rem .9rem;font-size:.9rem}.notice.error{border-color:var(--danger)}.empty{text-align:center;padding:4rem 1rem}.heatmap{border:1px solid var(--border);border-radius:var(--radius);z-index:0;height:400px}.mini-map{border:1px solid var(--border);border-radius:var(--radius);z-index:0;width:320px;max-width:100%;height:220px}.detail-flex{flex-wrap:wrap;gap:1.25rem;padding:.5rem 0;display:flex}.detail-grid{flex:1;grid-template-columns:auto 1fr;align-content:start;gap:.45rem 1rem;min-width:16rem;display:grid}.detail-grid .k{color:var(--muted);padding-top:.1rem;font-size:.8rem}.location-detail{flex:1;min-width:min(100%,28rem)}.location-detail h3{margin:0 0 .65rem;font-size:.95rem;font-weight:600}table.nested{font-size:.85rem}table.nested th{font-size:.75rem}table.nested tbody tr:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}.location-detail .pagination{margin-top:.5rem}.badge{background:var(--accent-soft);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.1rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}tr.selected{background:var(--accent-soft)}.picker{border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);max-height:15rem;overflow-y:auto}.picker label{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:.6rem;padding:.4rem .7rem;font-size:.85rem;display:flex}.picker label:last-child{border-bottom:none}.picker label:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}
