:root { font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #e9e7ef; background: #15131a; }
* { box-sizing: border-box; } body { margin: 0; min-width: 980px; } a { color: inherit; text-decoration: none; }
header { height: 64px; display: flex; align-items: center; gap: 24px; padding: 0 28px; background: #1e1b26; border-bottom: 1px solid #393542; }
header a:first-child { font-weight: 750; } header form { margin-left: auto; } button, select { font: inherit; } button { cursor: pointer; }
header a.active { color: #f0bd54; font-weight: 800; }
main { padding: 28px; } footer { padding: 16px 28px; color: #98909f; border-top: 1px solid #393542; font-size: 12px; }
.board { display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr)); gap: 14px; margin-top: 24px; align-items: start; }
.board > div { min-height: 500px; padding: 12px; border-radius: 12px; background: #201d27; border: 1px solid #393542; }
h1 { margin-top: 0; } h2 { margin: 2px 2px 14px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: #bcb5c6; }
.track-card { margin-bottom: 10px; } .card-select { width: 100%; text-align: left; color: #f5f3f8; padding: 13px; background: #2b2733; border: 1px solid #4a4454; border-radius: 9px; display:grid; grid-template-columns:minmax(105px, 1fr) max-content; gap:12px; }
.card-select:hover { border-color: #ec9eff; } .card-identity { align-self:start; }.card-select .artist { display: block; font-size: 12px; color: #b9b1c4; margin-bottom: 4px; } .card-select strong { display: block; font-size: 15px; line-height:1.2; }
.file-counts { align-self:start; border-collapse:separate; border-spacing:0 2px; border-left:1px solid #49424f; padding-left:10px; font-size:9px; line-height:1.25; color:#c7c0d1; }.file-counts th { padding:1px 5px 1px 3px; text-align:left; font-weight:400; white-space:nowrap; }.file-counts td { min-width:18px; padding:1px 3px; border-radius:3px; text-align:center; background:#3e3948; color:#cfe8ff; }.file-counts tr.missing th { background:#7d2939; color:#fff1f3; }.file-counts tr.missing td { background:#c13b52; color:#fff; font-weight:800; }.card-select .tags { grid-column:1 / -1; margin-top:-3px; }
i { display: inline-block; margin: 8px 4px 0 0; padding: 3px 5px; border-radius: 4px; font-style: normal; font-size: 10px; background: #484150; color: #ddd8e7; } i.issue { background: #673b4b; color: #ffd9e0; }
i[class^="tag-als"] { background: #254b6f; color: #bfe4ff; } i[class*="tag-preview"] { background: #1f5b62; color: #b7f3f5; } i[class*="tag-render"] { background: #29477b; color: #c8d9ff; } i[class*="tag-landr"] { background: #4a3d7d; color: #dcd1ff; } i[class*="tag-mstr"] { background: #315b72; color: #c7efff; }
i.issue-unmatched-render { background: #9c4d14; color: #ffe2a8; } i.issue-render-missing { background: #be343c; color: #ffe0e1; } i.issue-master-missing { background: #b52a68; color: #ffddeb; } i.issue-final-missing { background: #7f2fa7; color: #f1d5ff; } i.issue-release-data-incomplete { background: #a65c09; color: #fff0be; } i.issue-name-inconsistent { background: #d06112; color: #fff0cf; } i.issue-invalid-location, i.issue-misplaced-project-file, i.issue-unrecognised-project-folder { background: #c21f3a; color: #ffe1e6; } i.issue-als-missing { background: #d03b27; color: #ffe3dc; }
.track-card aside { display: none; } .track-card.selected aside { display: block; position: fixed; z-index: 10; top: 64px; right: 0; bottom: 0; width: 410px; padding: 24px; overflow: auto; background: #211e2a; border-left: 1px solid #554e60; box-shadow: -18px 0 45px #0008; }
.inspector-head { display:flex; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid #413a4b; }.inspector h3 { margin:3px 0 0; font-size:23px; line-height:1.15; }.eyebrow, .inspector h4, .inspector-meta span { color:#aaa2b7; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.inspector-close { width:31px; height:31px; border:1px solid #514a5b; border-radius:7px; color:#d8d2e1; background:#302b3a; font-size:22px; line-height:20px; }.inspector-stage { display:inline-block; margin:16px 0 2px; padding:5px 8px; border-radius:5px; color:#cde8ff; background:#29445f; font-size:12px; font-weight:700; }.inspector section { padding:18px 0; border-bottom:1px solid #393342; }.inspector h4 { margin:0 0 9px; }.path { margin:0; color:#d0cad9; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }.inspector-meta { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.inspector-meta div { display:grid; gap:5px; }.inspector-meta b { color:#eeeaf4; font-size:13px; }.inspector-tags i { margin-top:0; }.file-inventory { border-bottom:0!important; }.file-group + .file-group { margin-top:17px; }.file-group h5 { display:flex; justify-content:space-between; margin:0 0 7px; color:#d8d1e1; font-size:13px; }.file-group h5 span { color:#8c8498; }.file-row { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid #342f3d; color:#c1bacb; font-size:12px; }.file-row span { overflow-wrap:anywhere; }.file-row small, .muted { color:#8d8598; white-space:nowrap; }
.file-row a { color:#a9dcff; overflow-wrap:anywhere; text-decoration:underline; text-decoration-color:#5e9ec7; text-underline-offset:2px; }.file-row a:hover { color:#e5f5ff; }.audio-preview { display:none; position:fixed; z-index:30; right:24px; bottom:24px; width:420px; height:235px; padding:10px; background:#17141e; border:1px solid #62596d; border-radius:9px; box-shadow:0 12px 38px #000b; }.audio-preview.open { display:block; }.audio-preview iframe { width:100%; height:100%; border:0; border-radius:5px; background:#111; }.audio-preview-close { position:absolute; z-index:1; top:14px; right:14px; width:25px; height:25px; border:1px solid #665e70; border-radius:5px; color:#fff; background:#322d3c; font-size:17px; line-height:16px; }
.issue-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; } .issue-filters button { color: #ddd6e6; background: #302b38; border: 1px solid #554e5d; border-radius: 999px; padding: 6px 10px; font-size: 12px; }
.issue-filters button.active { color: #fff; background: #674077; border-color: #efaaff; }
.issue-filters button b { display: inline-block; margin-left: 3px; color: #f0bd54; }
.list-controls { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 14px; }.list-controls label { display:grid; gap:5px; color:#aaa2b7; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.list-controls select { min-width:180px; }
.toolbar { display:flex; align-items:end; gap:18px; }.main-filters { display:flex; gap:7px; }.main-filters button { padding:7px 10px; border:1px solid #4c6479; border-radius:999px; color:#c7e7ff; background:#253444; font-size:12px; }.main-filters button.active { color:#fff; background:#34739e; border-color:#85d1ff; }
.login { width: 360px; min-width: 0; margin: 14vh auto; } .login form { display: grid; gap: 12px; } .login input { padding: 10px; }
