:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142f48;background:#fff;font-size:14px;line-height:1.55;--line:#d9e4ef;--blue:#235cef;--muted:#51677e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid #c4d4e4;border-radius:8px;background:#fff;color:inherit;padding:10px 12px;max-width:100%}button{font-weight:650;cursor:pointer;min-height:42px}button:hover{border-color:var(--blue);background:#f1f6ff}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--blue);border-color:var(--blue);color:white}.quiet{background:transparent;color:#2351b9}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #3267ef;outline-offset:3px}input:not([type=checkbox]),select,textarea{width:100%}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px;margin:0}label{font-size:13px;font-weight:650;display:block;margin-bottom:6px}h2,h3,p{margin:0}h2{font-size:24px;line-height:1.25;letter-spacing:-.5px}h3{font-size:18px;line-height:1.4}p{color:var(--muted);margin:12px 0}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:750;color:#2857bb;margin-bottom:12px;display:flex;justify-content:space-between;gap:10px}.eyebrow span{color:#38725e}.import-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,#f7faff,#fff 70%)}.drop{border:1px dashed #9aafd0;border-radius:12px;padding:19px 16px;background:#fff;margin:18px 0}.drop.over{outline:3px solid #235cef;background:#edf3ff}.file-label{font-size:16px;margin:0 0 10px}.file-label span{font-size:13px;font-weight:400;color:var(--muted)}input[type=file]{font-size:12px;border:0;padding:0}input[type=file]::file-selector-button{border:1px solid #c4d4e4;padding:8px 12px;background:#f4f7fc;border-radius:6px;color:#142f48;margin-right:10px;cursor:pointer}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.small{font-size:12px;color:var(--muted)}.privacy{display:flex;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:#275f50}details{margin-top:16px}summary{cursor:pointer;font-weight:650;font-size:13px;padding:8px 0}textarea{display:block;margin:10px 0;resize:vertical}#notice:not(:empty){background:#eef4ff;border:1px solid #c9daf5;padding:12px 16px;border-radius:10px;margin:14px 0;overflow-wrap:anywhere}#notice.error{background:#fff3e8;border-color:#dfae7d;color:#704519}#cancel{margin-bottom:14px}[hidden]{display:none!important}.workspace-heading,.table-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.workspace-heading .eyebrow{margin-bottom:5px}.workspace-heading h2{font-size:26px}#quality{background:#f4f7fb;border:1px solid var(--line);border-radius:10px;padding:7px 16px;margin:14px 0 20px}#quality p{margin:6px 0}#quality ul{padding-left:20px;max-height:230px;overflow:auto;font-size:12px;overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{padding:16px 18px;border:1px solid var(--line);border-radius:12px}.stat strong{display:block;font-size:28px;letter-spacing:-1px}.stat span{font-size:12px;color:var(--muted)}.stat:first-child{background:#122f49;color:white;border-color:#122f49}.stat:first-child span{color:#d6e7fa}.semantics{max-width:850px;margin:12px 0 22px}.filters{border:1px solid var(--line);border-radius:12px;padding:18px;background:#f7f9fc}.filter-top,.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.filter-grid{margin-top:12px}.check{display:flex;align-items:center;gap:8px;font-weight:400;font-size:12px;margin-top:8px}.filter-bottom{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}.filter-bottom .check{margin:0}.filter-bottom button{margin-left:auto;font-size:12px}.patterns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.patterns section{padding:18px;border:1px solid var(--line);border-radius:12px;min-width:0}.patterns h3{font-size:15px;margin-bottom:14px}.patterns h3 span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.bar-row{display:grid;grid-template-columns:1fr auto;gap:8px;position:relative;text-align:left;width:100%;margin:5px 0;padding:7px 9px;min-height:34px;font-size:12px;border:0;background:#f0f5fd}.bar-row span{overflow-wrap:anywhere}.hour-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:6px 0;border-bottom:1px solid #ecf0f5}.hour-meter{height:4px;background:#c4d7ff;border-radius:4px;margin-bottom:3px}.table-heading{align-items:center;margin-top:24px}.table-heading .actions select{width:auto;font-size:12px}.table-heading button{font-size:12px}.table-heading p{margin:3px 0}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:16px}table{border-collapse:collapse;width:100%;font-size:12px;min-width:800px}th{text-align:left;background:#f3f7fc;font-size:11px;color:var(--muted);padding:13px 12px}td{padding:14px 12px;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;max-width:240px}td small{display:block;color:var(--muted);font-size:11px;margin-top:5px}td button{font-size:12px;min-height:36px;padding:6px 10px}tr.selected{background:#f0f5ff}.badge{display:inline-block;border-radius:5px;padding:3px 6px;background:#eef2f6;color:#465a6d;font-size:11px}.badge.connected{background:#e6f4ed;color:#235b43}.badge.unconnected{background:#fff0dc;color:#795016}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 24px;font-size:12px}.pagination button{font-size:12px}#detail{border:1px solid #b5cbed;background:#f7faff;border-radius:14px;padding:24px;margin:20px 0;scroll-margin-top:15px}#detail h3{overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.detail-box{padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:0}.detail-box h4{margin:0 0 10px;font-size:14px}.detail-box p{font-size:12px;overflow-wrap:anywhere;margin:8px 0}.route{font-size:21px;font-weight:700;overflow-wrap:anywhere;margin:16px 0 4px}.warning{color:#795016;background:#fff4e5;border-radius:8px;padding:12px;font-size:12px}.related-list{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}.related-list button{font-size:12px}.raw{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;margin:0}.raw dt,.raw dd{padding:8px 10px;margin:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-size:12px}.raw dt{font-family:monospace;background:#edf3fa}.raw dd{white-space:pre-wrap}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#detail .actions{margin:16px 0}#raw-fields{max-height:500px;overflow:auto}#app{padding:3px}
@media(max-width:650px){.import-card{padding:20px}.import-card h2{font-size:22px}.stats{grid-template-columns:1fr 1fr}.stat{padding:12px}.stat strong{font-size:25px}.filter-top,.filter-grid,.patterns,.detail-grid{grid-template-columns:1fr}.patterns{gap:14px}.filter-top{gap:14px}.filter-bottom{gap:12px}.filter-bottom button{margin-left:0}.workspace-heading h2{font-size:23px}.workspace-heading>button{font-size:12px}#detail{padding:16px}.raw{grid-template-columns:1fr}.raw dd{padding-bottom:14px}.table-heading .actions{gap:8px}.table-heading .actions button{padding:8px}.actions .primary{width:100%}.eyebrow{font-size:9px;letter-spacing:1px}.small{line-height:1.6}.workspace-heading{gap:10px}}

@media(max-width:900px){.table-scroll{border:0;overflow:visible}table{min-width:0}table,tbody,tr,td{display:block;width:100%}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}tr{border:1px solid var(--line);border-radius:12px;padding:10px 0;margin-bottom:12px}td{border:0;padding:7px 14px;max-width:none;font-size:13px}td:before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);font-weight:650;margin-bottom:4px}td:last-child:before{display:none}td:last-child button{width:100%}}

@media(min-width:651px) and (max-width:900px){.table-scroll tbody{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-scroll tr{margin-bottom:0;min-width:0}}
