:root{--brand-red: #b91c1c;--brand-red-soft: #fff1f2;--brand-red-border: #fecaca;--brand-gold: #eab308;--brand-gold-strong: #c88900;--brand-gold-dark: #604400;--brand-gold-soft: #fff7df;--brand-gold-softer: #fffaf0;--brand-gold-border: #f1d37b;--brand-gold-ring: #f4c400;--brand-blue: #334155;--brand-blue-dark: #1f2937;--brand-blue-soft: #f3f5f8;--brand-blue-border: #e2e8f0;--brand-green: #159947;--brand-green-soft: #e8f8ee;--brand-green-border: #bbf0cb;--brand-purple: #6d4bc1;--brand-purple-soft: #efe7ff;--brand-purple-border: #d8c6ff;--rail-bg: #050707;--rail-active: #3b2f10;--rail-text: #f5c400;--rail-muted: #9aa0a8;--app-bg: #fcfcfb;--surface: #ffffff;--border: #e2e6ed;--muted-panel: #f7f8fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:var(--app-bg);font-synthesis:none;text-rendering:optimizeLegibility}html,body,#root{height:100%;overflow:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#fffffffa,#fff0 28rem),var(--app-bg)}button,input,select{font:inherit}button{border:0}.app-shell{display:grid;grid-template-columns:72px minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:10px;align-items:center;padding:14px 10px;background:var(--rail-bg);color:#fff7ed;border-right:1px solid rgba(255,255,255,.1)}.mark{display:grid;width:52px;height:52px;flex:0 0 52px;place-items:center;overflow:hidden;background:transparent;border-radius:10px}.mark img{display:block;width:100%;height:100%;object-fit:contain}.rail-scroll{display:grid;width:100%;flex:1 1 auto;min-height:0;gap:6px;overflow:auto;padding-right:2px}.rail-button,.letter-button{width:100%;min-height:34px;flex:0 0 auto;color:var(--rail-text);background:transparent;border-radius:7px;cursor:pointer}.letter-button{display:grid;grid-template-columns:1fr;place-items:center;gap:1px;padding:4px 0}.letter-button span,.rail-button{font-size:13px;font-weight:750}.letter-button small{color:#b4bac3;font-size:10px;line-height:1}.rail-button.active,.letter-button.active{color:#ffd33d;background:var(--rail-active);box-shadow:inset 3px 0 0 var(--brand-gold-ring),inset 0 0 0 1px #ffd33d24}.letter-button:disabled{opacity:.32;cursor:not-allowed}.workspace{display:flex;height:100dvh;min-height:0;min-width:0;flex-direction:column;overflow:hidden;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;margin-bottom:18px}.topbar h1{margin:0;color:#111827;font-size:30px;line-height:1.1;letter-spacing:0}.topbar p{margin:7px 0 0;color:#5d6a7c;font-size:14px}.topbar-actions{display:flex;gap:10px}.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:104px;padding:0 14px;color:#171717;background:#fff7df;border:1px solid #f1d37b;border-radius:8px;cursor:pointer;font-size:13px;font-weight:850;box-shadow:0 8px 20px #11182709}.logout-button:hover{background:#ffeeb8}.status-tile{display:grid;grid-template-columns:auto auto;gap:2px 8px;min-width:132px;padding:12px 14px;background:linear-gradient(145deg,#121212,#030404);border:1px solid #242424;border-radius:8px;box-shadow:0 12px 36px #1f2d3e0f}.status-tile svg{grid-row:span 2;align-self:center;color:#e8b900}.status-tile span{color:#e8b900;font-size:11px;font-weight:760;text-transform:uppercase}.status-tile strong{color:#fff;font-size:18px;line-height:1}.control-strip{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(220px,320px) minmax(170px,210px) auto;gap:10px;align-items:center;flex-shrink:0;margin-bottom:14px}.search-box,.select-control,.sort-button,.segmented{display:flex;align-items:center;height:42px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #11182709}.search-box{gap:10px;padding:0 13px;color:#64748b}.search-box input{width:100%;color:#152033;background:transparent;border:0;outline:0}.segmented{padding:4px}.segmented button,.tabbar button{height:32px;padding:0 12px;color:#5d6b7c;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;font-weight:760}.segmented button.active{color:#ffd33d;background:#050505}.tabbar button.active{color:#ffd33d;background:linear-gradient(180deg,#111,#050505);box-shadow:inset 0 0 0 1px #ffd33d24}.select-control{gap:8px;padding:0 11px;color:#64748b}.select-control select{width:100%;min-width:0;color:#1f2a3d;background:transparent;border:0;outline:0}.select-control.short{min-width:172px}.sort-button{gap:8px;padding:0 14px;color:#243246;cursor:pointer;font-size:13px;font-weight:760}.content-grid{display:grid;grid-template-columns:minmax(360px,38vw) minmax(0,1fr);gap:16px;align-items:stretch;min-height:0;overflow:hidden}.table-pane,.inspector{background:#fffffff0;border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 42px #1118270e}.table-pane{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.pane-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:14px 16px;border-bottom:1px solid var(--border)}.pane-header div:first-child{display:flex;gap:10px;align-items:baseline}.pane-header strong{font-size:15px}.pane-header span{color:#6a7788;font-size:13px}.pager{display:flex;gap:6px}.pager button{display:grid;width:30px;height:30px;place-items:center;color:#64748b;background:#fff;border:1px solid var(--border);border-radius:6px;cursor:pointer}.pager button:disabled{opacity:.45;cursor:not-allowed}.data-table{flex:1;min-height:0;overflow:auto;max-height:none}.table-empty{display:flex;min-height:140px;min-width:580px;align-items:center;justify-content:center;gap:8px;color:#63758a;background:#fff;border-bottom:1px solid #edf1f6;font-size:13px}.data-row{display:grid;grid-template-columns:minmax(92px,.85fr) minmax(150px,1.35fr) minmax(68px,.52fr) minmax(72px,.48fr) minmax(96px,.62fr);width:100%;min-width:580px;gap:8px;align-items:center;padding:9px 12px;color:#263447;background:#fff;border-bottom:1px solid #edf1f6;text-align:left;cursor:pointer}.data-row:hover,.data-row.selected{background:var(--brand-gold-softer)}.data-row.selected{background:linear-gradient(90deg,#fff3cc,#fffaf0);box-shadow:inset 3px 0 0 var(--brand-gold)}.table-head{position:sticky;top:0;z-index:2;color:#6b7889;background:var(--muted-panel);cursor:default;font-size:11px;font-weight:820;text-transform:uppercase}.table-name{min-width:0;overflow:hidden;color:#172033;font-size:14px;font-weight:820;text-overflow:ellipsis;white-space:nowrap}.description,.module-cell{overflow:hidden;color:#48566a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.module-cell{color:#111827;font-weight:720}.version-badges{display:flex;gap:5px;min-width:0;overflow:hidden}.version-badges em{flex:0 0 auto;padding:3px 6px;border:1px solid transparent;border-radius:6px;font-size:11px;font-style:normal;font-weight:800}.version-badges .badge-r3,.version-badges .badge-s4{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.status-pill{justify-self:start;padding:5px 8px;border-radius:6px;font-size:11px;font-weight:820}.status-changed,.status-unavailable{color:#04723a;background:var(--brand-green-soft)}.status-same{color:#374151;background:#f3f4f6}.status-r3-only{color:#4b5563;background:#eef2f7}.status-s4-only{color:var(--brand-purple);background:var(--brand-purple-soft)}.inspector{min-width:0;min-height:0;height:100%;overflow:auto;padding:16px}.inspector.empty{display:grid;gap:10px;place-items:center;min-height:320px;color:#64748b;text-align:center}.inspector-title{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.inspector-title h2{margin:0;font-size:24px;letter-spacing:0}.inspector-title p{margin:5px 0 0;color:#5d6b7d;font-size:13px;line-height:1.4}.status-dot{display:inline-block;width:8px;height:8px;margin-bottom:8px;border-radius:50%}.status-dot.status-changed{background:var(--brand-gold)}.status-dot.status-same{background:#10b981}.status-dot.status-r3-only{background:#64748b}.status-dot.status-s4-only{background:var(--brand-purple)}.status-dot.status-unavailable{background:#94a3b8}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.metric{min-width:0;padding:10px;background:#fff;border:1px solid var(--border);border-radius:8px}.metric span{display:block;color:#6c7889;font-size:10px;font-weight:800;text-transform:uppercase}.metric strong{display:block;margin-top:4px;font-size:16px}.metric.good strong{color:#047857}.metric.warn strong{color:#dc2626}.metric.neutral strong{color:var(--brand-gold-strong)}.module-box{padding:13px;background:#fff;border:1px solid var(--border);border-radius:8px}.module-box span{color:#5f7185;font-size:11px;font-weight:820;text-transform:uppercase}.module-box strong{display:block;margin-top:6px;color:#172033;font-size:14px}.module-box p{margin:6px 0 0;color:#5d6b7d;font-size:12px;line-height:1.45}.tabbar{display:flex;gap:5px;margin:14px 0;padding:4px;background:#fff;border:1px solid var(--border);border-radius:8px}.tabbar button{flex:1}.notice{margin-top:12px;padding:10px;border-radius:8px;font-size:12px}.notice.error{color:#991b1b;background:#fee2e2}.diff-panel{display:grid;gap:16px}.diff-section{position:relative;overflow:hidden;padding:0 12px 12px;background:linear-gradient(180deg,#fff,#fefefe);border:1px solid #d6dee9;border-radius:10px;box-shadow:0 10px 26px #1118270e,inset 0 0 0 1px #ffffffd1}.diff-section:before{position:absolute;top:0;bottom:0;left:0;width:4px;background:#cbd5e1;content:""}.diff-section.good:before{background:#22c55e}.diff-section.warn:before{background:#ef4444}.diff-section.neutral:before{background:var(--brand-gold)}.diff-section header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -12px 12px;padding:13px 16px 12px 20px;background:linear-gradient(180deg,#fbfcfe,#f5f7fa);border-bottom:1px solid #dde5ef}.diff-section.good header{background:linear-gradient(90deg,#22c55e1a,#f8fafc 42%)}.diff-section.warn header{background:linear-gradient(90deg,#ef444417,#f8fafc 42%)}.diff-section.neutral header{background:linear-gradient(90deg,#eab30829,#f8fafc 42%)}.diff-section header strong{color:#172033;font-size:14px}.diff-section header span{min-width:26px;padding:2px 7px;border-radius:999px;font-size:12px;font-weight:850;text-align:center}.diff-section.good header span{color:#047857;background:#dff9ec}.diff-section.warn header span{color:#dc2626;background:#fee2e2}.diff-section.neutral header span{color:var(--brand-gold-strong);background:#fef3c7}.field-chip,.change-row{display:grid;gap:2px;padding:8px 0;border-top:1px solid #edf1f6}.field-chip b,.change-row b{color:#172033;font-size:12px}.field-chip small,.change-row small,.change-row span{color:#64748b;font-size:12px}.more-note{margin:8px 0 0;color:#64748b;font-size:12px}.empty-note{margin:0;color:#64748b;font-size:12px}.diff-empty{display:grid;gap:8px;justify-items:start;padding:18px;color:#62748a;background:#fff;border:1px dashed #cbd5e1;border-radius:8px}.diff-empty p,.diff-empty strong{margin:0}.field-table{overflow:auto;background:#fff;border:1px solid #dce3ec;border-radius:8px;box-shadow:inset 0 1px #fffc}.field-table.compact{max-height:420px}.field-row{display:grid;grid-template-columns:48px 54px minmax(130px,.8fr) minmax(220px,1.25fr) minmax(120px,.72fr) minmax(120px,.72fr) minmax(110px,.66fr) 72px 62px 66px;min-width:1120px;gap:8px;padding:9px 10px;border-top:1px solid #edf1f6;font-size:12px}.field-row.head{color:#65758a;background:var(--muted-panel);border-top:0;font-size:10px;font-weight:830;text-transform:uppercase}.field-row b{margin-right:6px;color:#172033}.field-row em{padding:2px 5px;color:#047857;background:#dff9ec;border-radius:999px;font-size:10px;font-style:normal;font-weight:850}.field-row small{display:inline;color:#718096}.field-row>span{min-width:0;overflow-wrap:anywhere}.check-table-link{display:inline-flex;max-width:100%;min-width:0;align-items:center;padding:2px 6px;color:#3b2f10;background:#f7f8fa;border:1px solid #e2e8f0;border-radius:5px;cursor:pointer;font:inherit;font-weight:850;line-height:1.2;overflow-wrap:anywhere;text-align:left}.check-table-link:hover{color:#1f2937;background:var(--brand-gold-soft);border-color:var(--brand-gold-border)}.check-table-link:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px}.field-main b{display:inline-block;font-size:12px}.field-description{color:#4b5a6c;line-height:1.35}.changed-field-list{display:grid;gap:12px}.change-card{display:grid;gap:10px;padding:12px;background:#fff;border:1px solid #dce3ec;border-radius:8px;box-shadow:0 5px 16px #11182709}.change-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.change-card-title{display:flex;min-width:0;flex:1 1 auto;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.change-card-title b{color:#172033;font-size:15px}.change-card-title small{min-width:0;color:#4f5f73;font-size:16px;font-weight:560;line-height:1.3;overflow-wrap:anywhere}.change-card-title small:before{color:#c88900;content:"- "}.change-card-header span{flex:0 0 auto;max-width:42%;color:#64748b;font-size:12px;text-align:right}.change-version-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field-version-summary{min-width:0;padding:10px;background:#fff;border:1px solid var(--border);border-radius:8px}.field-version-summary strong,.field-version-summary span,.field-version-summary small{display:block}.field-version-summary strong{color:#172033;font-size:11px;text-transform:uppercase}.field-version-summary span{margin-top:4px;color:#172033;font-size:12px;font-weight:800}.field-version-summary small{margin-top:4px;color:#516173;line-height:1.35}.field-version-summary dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;margin:8px 0 0;font-size:11px}.field-version-summary dt{color:#718096;font-weight:800}.field-version-summary dd{min-width:0;margin:0;color:#314155;overflow-wrap:anywhere}.field-version-summary .is-changed-value{display:inline-block;width:fit-content;max-width:100%;padding:2px 5px;color:#9a3412;background:#ffedd5;border:1px solid #fdba74;border-radius:5px;font-weight:850}.field-version-summary small.is-changed-value{display:block;width:fit-content;line-height:1.35}.change-detail-grid{display:grid;gap:6px}.change-detail{display:grid;grid-template-columns:minmax(92px,.35fr) minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;padding:7px 8px;background:#fff;border:1px solid #edf1f6;border-radius:7px;font-size:12px}.change-detail span{color:#526276;font-weight:800}.change-detail code,.change-detail button.changed-value{min-width:0;padding:3px 5px;color:#3b2416;background:#f7f8fa;border-radius:5px;overflow-wrap:anywhere;white-space:normal}.change-detail .changed-value{border:1px solid transparent;font-weight:850}.change-detail .changed-value.from{color:#7c2d12;background:#fff7ed;border-color:#fdba74}.change-detail .changed-value.to{color:#92400e;background:#fef3c7;border-color:#facc15}.change-detail strong{color:#94a3b8}.center-screen{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:12px;padding:24px;color:#243246;text-align:center}.center-screen h1{margin:0}.center-screen p{max-width:520px;margin:0;color:#64748b}.center-screen code{padding:9px 12px;color:#3b2f10;background:#fff;border:1px solid var(--border);border-radius:8px}.login-shell{display:grid;min-height:100dvh;place-items:center;padding:24px;background:radial-gradient(circle at 12% 10%,rgba(234,179,8,.15),transparent 30rem),linear-gradient(135deg,#050707,#111 44%,#fffaf0 44%,#fff)}.login-panel{width:min(100%,430px);padding:28px;background:#fffffffa;border:1px solid #eadfbf;border-radius:10px;box-shadow:0 24px 80px #0f172a38}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.login-brand img{width:58px;height:58px;object-fit:contain;padding:4px;background:#050707;border-radius:10px}.login-brand h1{margin:0;color:#111827;font-size:28px;line-height:1.05}.login-brand p{margin:6px 0 0;color:#64748b;font-size:13px}.login-form{display:grid;gap:14px}.login-form label,.login-form label span{display:grid;gap:7px}.login-form label span{color:#334155;font-size:12px;font-weight:850;text-transform:uppercase}.login-form input{width:100%;height:44px;padding:0 12px;color:#172033;background:#fff;border:1px solid #d8dee8;border-radius:8px;outline:none}.login-form input:focus{border-color:#e8b900;box-shadow:0 0 0 3px #eab3082e}.login-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;margin-top:4px;color:#ffd33d;background:#050707;border-radius:8px;cursor:pointer;font-weight:850}.login-form button:disabled{opacity:.55;cursor:not-allowed}.auth-error{padding:10px 12px;color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;font-size:13px;line-height:1.4}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.control-strip{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr;overflow:auto}.inspector{height:auto}}@media(max-width:720px){html,body,#root{height:auto;overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.rail{position:static;height:auto;flex-direction:row;overflow:auto}.rail-scroll{display:flex}.letter-button,.rail-button{min-width:44px}.workspace{height:auto;min-height:0;overflow:visible;padding:16px}.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.control-strip{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.change-version-grid,.change-detail{grid-template-columns:1fr}}
