:root{font:14px system-ui,sans-serif;color:#17202a;background:#f4f6f8;--grid-height:calc(100vh - 170px)}*{box-sizing:border-box}body{margin:0}.login{max-width:360px;margin:12vh auto;padding:28px;background:#fff;border-radius:10px;box-shadow:0 2px 16px #0002}.login label,dialog label{display:block;margin:12px 0}input,select,textarea,button{font:inherit;padding:7px;border:1px solid #b8c2cc;border-radius:4px}button{background:#fff;cursor:pointer}button:hover,.active{background:#e6f0ff}header{display:flex;gap:12px;align-items:center;padding:10px 16px;background:#172a45;color:#fff}header h1{font-size:18px;margin:0;white-space:nowrap}nav{display:flex;gap:3px;overflow:auto}header button{color:#172a45}.search{margin-left:auto;position:relative}.search input{width:250px}.search-results{position:absolute;z-index:10;background:#fff;color:#17202a;width:100%;box-shadow:0 3px 10px #0004}.search-results button{display:block;width:100%;text-align:left;border:0;border-radius:0}.toolbar{display:flex;gap:8px;padding:10px;align-items:center;flex-wrap:wrap}.toolbar label{display:flex;gap:5px;align-items:center}#grid-wrap{height:var(--grid-height);resize:both;overflow:auto;background:#fff;border:1px solid #cbd5df;margin:0 10px 10px;min-width:320px;min-height:200px}table{border-collapse:collapse;width:max-content;min-width:100%}th,td{border:1px solid #d6dde5;padding:0;min-width:110px;max-width:360px}th{background:#e9eef4;position:sticky;top:0;z-index:2;padding:7px;white-space:nowrap;cursor:grab;position:sticky}.filtered{background:#d5e6ff}.resizer{position:absolute;right:-3px;top:0;width:7px;height:100%;cursor:col-resize}.badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:12px;font-weight:600}.badge.yes{background:#d9f5df;color:#146c2e}.badge.no{background:#edf0f2;color:#59636d}td{padding:6px;white-space:pre-wrap;vertical-align:top}td:first-child,th:first-child{min-width:35px;width:35px;text-align:center}.filter{float:right;padding:0 3px;border:0;background:transparent}.done td{background:#e0e3e6}.duplicate td{background:#fff4bb}.insertion td{background:#f0fff2;color:#486}.error{color:#b00020}#save-status{margin-left:auto}.history,.preview{max-height:55vh;overflow:auto}.preview table{min-width:100%}#filter-values{max-height:40vh;overflow:auto;margin:8px 0}.filter-actions{display:flex;gap:6px}@media(max-width:760px){header{flex-wrap:wrap}header h1{width:100%}.search{order:3;margin:0;width:100%}.search input{width:100%}nav{max-width:100%}.toolbar{padding:8px}#grid-wrap{margin:0;height:calc(100vh - 220px)}}
