:root,:root[data-theme=light]{--page-bg:#f7fafc;--chart-surface:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--gridline:#e1e0d9;--axis:#c3c2b7;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--status-good:#0ca30c;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#d03b3b}:root[data-theme=dark]{--page-bg:#0d1117;--chart-surface:#161b22;--text-primary:#e6edf3;--text-secondary:#b8c2cc;--text-muted:#7d8590;--gridline:#2d333b;--axis:#3d4551;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#1fae1f;--series-7:#7a68d9;--series-8:#e86a69;--status-good:#2fbf2f;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#f0605f}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--text-primary);margin:0}#root{min-height:100vh}.screen-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.screen-header h1{margin:0 0 .2rem;font-size:1.3rem}.screen-header-updated{color:var(--text-muted);font-size:.78rem}.page-loading{text-align:center;padding:2rem}.ui-card{background:var(--chart-surface);border:1px solid var(--gridline);border-radius:10px;margin-bottom:1rem;padding:1.1rem 1.25rem}.ui-card h3{margin:1.25rem 0 .5rem;font-size:.95rem}.ui-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ui-section-head h3{margin-top:0}.ui-muted{color:var(--text-muted);font-size:.82rem}.ui-form-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:.75rem;display:flex}.ui-form-row label{color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.ui-card select,.ui-card input:not([type=file]):not([type=checkbox]){border:1px solid var(--gridline);background:var(--page-bg);color:var(--text-primary);border-radius:6px;max-width:100%;padding:.4rem .55rem;font-size:.85rem}.ui-button{border:1px solid var(--gridline);background:var(--chart-surface);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.45rem .9rem;font-size:.82rem}.ui-button:hover:not(:disabled){border-color:var(--axis)}.ui-button:disabled{opacity:.55;cursor:default}.ui-primary{background:var(--series-1);border-color:var(--series-1);color:#fff;font-weight:600}.ui-primary:hover:not(:disabled){border-color:var(--series-1);filter:brightness(1.08)}.ui-link{color:var(--series-1);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.ui-link:disabled{opacity:.55;cursor:default}.ui-link-danger{color:var(--status-critical)}.ui-row-actions{white-space:nowrap}.ui-row-actions .ui-link+.ui-link{margin-left:.75rem}.ui-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.ui-alert{border:1px solid var(--status-warning);background:color-mix(in srgb, var(--status-warning) 10%, transparent);border-radius:8px;margin:.6rem 0;padding:.65rem .85rem;font-size:.85rem}.ui-alert-bad{border-color:var(--status-critical);background:color-mix(in srgb, var(--status-critical) 9%, transparent)}.ui-alert-good{border-color:var(--status-good);background:color-mix(in srgb, var(--status-good) 9%, transparent)}.ui-table-wrap{border:1px solid var(--gridline);border-radius:8px;max-height:460px;overflow:auto}.ui-table{border-collapse:collapse;width:100%;font-size:.8rem}.ui-table th,.ui-table td{border-bottom:1px solid var(--gridline);text-align:left;vertical-align:top;padding:.4rem .6rem}.ui-table th{background:var(--chart-surface);color:var(--text-secondary);white-space:nowrap;z-index:1;font-weight:600;position:sticky;top:0}.ui-field-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;font-weight:600}.ui-status{white-space:nowrap;background:color-mix(in srgb, var(--text-muted) 15%, transparent);color:var(--text-secondary);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.ui-status-published{background:color-mix(in srgb, var(--status-good) 14%, transparent);color:var(--status-good)}@media (width<=768px){.ui-card{padding:.9rem}.ui-actions{justify-content:stretch}.ui-actions .ui-button{flex:1}}.ui-tabs{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 1rem;display:flex}.ui-tab{border:1px solid var(--gridline);background:var(--chart-surface);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.4rem .85rem;font-size:.82rem}.ui-tab[aria-selected=true]{background:var(--series-1);border-color:var(--series-1);color:#fff}.ui-toast{z-index:50;background:var(--chart-surface);border-radius:8px;max-width:min(440px,100vw - 2rem);position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #0000001f}.ui-toast .ui-alert{justify-content:space-between;align-items:flex-start;gap:.75rem;margin:0;display:flex}@media (width<=768px){.ui-toast{bottom:1rem;left:1rem;right:1rem}}.ui-row-editing>td{background:color-mix(in srgb, var(--series-1) 7%, transparent);vertical-align:middle}.ui-row-editing input,.ui-row-editing select{width:100%;min-width:6rem}.ui-row-panel>td{background:color-mix(in srgb, var(--series-1) 4%, transparent);border-top:none;padding:.75rem 1rem 1rem}.ui-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.admin-list ul{flex-direction:column;gap:.35rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.admin-list h3:first-child{margin-top:0}.admin-list-item{text-align:left;border:1px solid var(--gridline);background:var(--page-bg);width:100%;color:var(--text-primary);cursor:pointer;border-radius:8px;flex-direction:column;gap:.15rem;padding:.55rem .7rem;font-size:.85rem;display:flex}.admin-list-item:hover{border-color:var(--axis)}.admin-list-item.active{border-color:var(--series-1);box-shadow:inset 3px 0 0 var(--series-1)}.admin-stack{flex-direction:column;align-items:stretch}.admin-add-row{margin-top:.9rem}.admin-detail .ui-card h3:first-child,.admin-detail .ui-section-head h3{margin-top:0}.admin-email input{min-width:18rem}.admin-checks{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:.25rem 0 .75rem;display:flex}.admin-checks>.ui-muted{width:100%}.admin-check{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.admin-modules{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.5rem 1rem;margin:.25rem 0 .75rem;display:grid}.admin-modules>.ui-muted{grid-column:1/-1}.admin-modules label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}@media (width<=768px){.admin-layout{grid-template-columns:minmax(0,1fr)}.admin-email input{width:100%;min-width:0}}.admin-toast{z-index:50;background:var(--chart-surface);border-radius:8px;max-width:min(440px,100vw - 2rem);position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #0000001f}.admin-toast .ui-alert{justify-content:space-between;align-items:flex-start;gap:.75rem;margin:0;display:flex}.admin-unsaved{color:var(--status-warning);margin-top:.4rem;font-size:.8rem}@media (width<=768px){.admin-toast{bottom:1rem;left:1rem;right:1rem}}.admin-advanced{margin-top:.75rem;font-size:.85rem}.admin-advanced summary{cursor:pointer;color:var(--text-secondary)}.admin-logo{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.admin-logo-box{background:#fff;border-radius:8px;outline:6px solid #1a2332;justify-content:center;align-items:center;min-width:56px;max-width:196px;height:56px;padding:6px 8px;display:inline-flex}.admin-logo-box img{object-fit:contain;width:auto;max-width:100%;height:44px;display:block}.admin-logo-text{color:#fff;background:#232e42;border-radius:6px;padding:.35rem .6rem;font-size:.85rem;font-weight:700}.module-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.module-card{box-sizing:border-box;background:var(--chart-surface);border:1px solid var(--gridline);height:100%;color:var(--text-primary);border-radius:10px;flex-direction:column;gap:.35rem;padding:1.1rem 1.25rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.module-card-live:hover,.module-card-live:focus-within{border-color:var(--series-1);transform:translateY(-1px);box-shadow:0 6px 18px #00000014}.module-icon{width:2.6rem;height:2.6rem;color:var(--series-1);background:color-mix(in srgb, var(--series-1) 12%, transparent);border-radius:8px;justify-content:center;align-items:center;margin-bottom:.4rem;display:inline-flex}.module-card:not(.module-card-live) .module-icon{color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 12%, transparent)}.module-name{font-size:1rem;font-weight:700}.module-level{color:var(--text-secondary);font-size:.82rem}.module-open,.module-soon{align-self:flex-start;margin-top:auto}.module-open{align-items:center;gap:.35rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .15s,box-shadow .1s;display:inline-flex}.module-open:after{content:"";border-radius:10px;position:absolute;inset:0}.module-open.ui-primary:hover{filter:none;background:color-mix(in srgb, var(--series-1) 88%, #fff)}.module-open:active,.module-open.ui-primary:active{background:color-mix(in srgb, var(--series-1) 85%, #000);box-shadow:inset 0 2px 3px #00000040}.module-open:focus-visible{outline:2px solid var(--series-1);outline-offset:2px}.module-soon .ui-button{pointer-events:none;padding:.5rem 1rem}@media (prefers-reduced-motion:reduce){.module-card,.module-open{transition:none}.module-card-live:hover,.module-card-live:focus-within{transform:none}}.up-page{min-width:0}.up-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.up-tabs button{border:1px solid var(--gridline);background:var(--chart-surface);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.4rem .85rem;font-size:.82rem}.up-tabs button.active{background:var(--series-1);border-color:var(--series-1);color:#fff}.up-steps{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.up-steps li{border:1px solid var(--gridline);color:var(--text-muted);border-radius:999px;padding:.3rem .75rem;font-size:.8rem}.up-steps li.active{border-color:var(--series-1);color:var(--series-1);font-weight:600}.up-steps li.done{color:var(--text-secondary)}.up-dataset{border:1px solid var(--gridline);background:var(--page-bg);border-radius:8px;flex-direction:column;gap:.25rem;padding:.65rem .8rem;font-size:.85rem;display:flex}.up-hint{margin-top:.5rem}.up-no-margin{margin:0}.up-page .ui-card input.up-narrow{width:6rem}.up-drop{border:2px dashed var(--axis);text-align:center;cursor:pointer;overflow-wrap:anywhere;border-radius:10px;flex-direction:column;align-items:center;gap:.35rem;margin-top:1rem;padding:2rem 1rem;display:flex}.up-drop:hover,.up-drop:focus-visible,.up-drop-over{border-color:var(--series-1);background:color-mix(in srgb, var(--series-1) 6%, transparent)}.up-file-row{margin-top:.75rem}.up-map-table td:first-child{min-width:200px;max-width:360px}.up-map-table select,.up-map-table input{min-width:10rem}.up-datetime{flex-direction:column;gap:.35rem;display:flex}.up-field-label{font-size:.82rem;font-weight:600}.up-field-desc{color:var(--text-muted);margin-top:.15rem;font-size:.75rem}.up-required{color:var(--series-2);text-transform:uppercase;letter-spacing:.03em;margin-left:.4rem;font-size:.68rem;font-weight:600}.up-required-soft{color:var(--text-muted);text-transform:none;letter-spacing:0}.up-row-missing td:first-child{box-shadow:inset 3px 0 0 var(--status-critical)}.up-page .ui-table th.up-unmapped{color:var(--text-muted);font-weight:400}.up-translate{border:1px solid var(--gridline);border-radius:8px;flex-direction:column;gap:.45rem;margin-bottom:.6rem;padding:.6rem .8rem;display:flex}.up-translate-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.up-translate-row select,.up-translate-row input{min-width:10rem}.up-value{background:color-mix(in srgb, var(--text-muted) 12%, transparent);overflow-wrap:anywhere;border-radius:4px;padding:.05rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.up-report-status{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.up-tiles{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;margin:.6rem 0 .4rem;display:grid}.up-tile{border:1px solid var(--gridline);background:var(--page-bg);border-radius:8px;padding:.55rem .7rem}.up-tile-label{color:var(--text-muted);font-size:.72rem}.up-tile-value{font-variant-numeric:tabular-nums;margin-top:.1rem;font-size:1.25rem;font-weight:700}.up-tile-small{overflow-wrap:anywhere;font-size:.85rem;font-weight:600}.up-tile-good{border-top:3px solid var(--status-good)}.up-tile-warn{border-top:3px solid var(--status-warning)}.up-tile-bad{border-top:3px solid var(--status-critical)}.up-summary-table{margin:.6rem 0}.up-num{font-variant-numeric:tabular-nums;text-align:right!important}.up-num-left{white-space:nowrap;font-variant-numeric:tabular-nums}.up-pill{white-space:nowrap;color:var(--text-secondary);background:color-mix(in srgb, var(--text-muted) 14%, transparent);border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.up-pill-bad{color:var(--status-critical);background:color-mix(in srgb, var(--status-critical) 12%, transparent)}.up-pill-warn{background:color-mix(in srgb, var(--status-warning) 18%, transparent)}.up-page .ui-alert ul,.up-changes{margin:.35rem 0 0;padding-left:1.2rem}.up-findings a{color:var(--series-1);font-weight:600}.up-notes{margin:.4rem 0}.up-note{color:var(--text-secondary);margin:.3rem 0;font-size:.82rem}.up-section{margin-top:1rem}.up-more{margin-top:.6rem}.up-partial{color:var(--text-secondary);text-align:right;flex-basis:100%;font-size:.8rem}.up-status-checked{background:color-mix(in srgb, var(--series-1) 14%, transparent);color:var(--series-1)}.up-status-published,.up-status-rolled_back{background:color-mix(in srgb, var(--status-good) 14%, transparent);color:var(--status-good)}.up-status-invalid,.up-status-check_failed,.up-status-publish_failed,.up-status-rollback_failed{background:color-mix(in srgb, var(--status-critical) 12%, transparent);color:var(--status-critical)}.up-status-checking,.up-status-publishing,.up-status-rolling_back{background:color-mix(in srgb, var(--status-warning) 18%, transparent)}.up-file-link{text-align:left;overflow-wrap:anywhere}.up-dict-table{margin-top:.75rem}.up-dict-options{margin-top:.5rem}@media (width<=768px){.up-page .ui-form-row>label{flex:100%}.up-page .ui-form-row select,.up-page .ui-form-row input{width:100%}.up-map-table td:first-child{min-width:140px}.up-translate-row select,.up-translate-row input{flex:10rem;min-width:0}.up-partial{text-align:left}}.up-same-file{border-width:2px;padding:.85rem 1rem;font-size:.95rem}.up-doubts{margin:1rem 0}.up-doubt{border:2px solid var(--status-warning);border-radius:6px;margin:.6rem 0;padding:.75rem 1rem}.up-doubt-done{border-color:var(--status-good);border-width:1px}.up-doubt-cells{color:var(--text-secondary);max-height:12rem;margin:.4rem 0;font-size:.85rem;overflow-y:auto}.up-doubt-options{border:0;gap:.35rem;margin:.5rem 0;padding:0;display:grid}.up-doubt-rows{margin:.5rem 0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-page{background:var(--page-bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--chart-surface);border:1px solid var(--gridline);border-radius:10px;width:100%;max-width:360px;padding:2rem 1.75rem}.login-title{color:var(--text-primary);text-align:center;margin:0 0 .25rem;font-size:1.15rem;font-weight:700}.login-subtitle{color:var(--text-muted);text-align:center;margin:0 0 1.5rem;font-size:.8rem}.login-google-button{border:1px solid var(--gridline);background:var(--chart-surface);width:100%;color:var(--text-primary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:.85rem;font-weight:500;display:flex}.login-google-button:hover{border-color:var(--axis);background:var(--page-bg)}.login-google-button:disabled{opacity:.6;cursor:default}.login-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.72rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--gridline);flex:1;height:1px}.login-tabs{border:1px solid var(--gridline);border-radius:6px;margin-bottom:1.25rem;display:flex;overflow:hidden}.login-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.45rem .5rem;font-size:.8rem;font-weight:600}.login-tab+.login-tab{border-left:1px solid var(--gridline)}.login-tab[aria-selected=true]{background:var(--series-1);color:#fff}.login-form{flex-direction:column;gap:.65rem;display:flex}.login-form input{border:1px solid var(--gridline);background:var(--chart-surface);color:var(--text-primary);border-radius:6px;padding:.55rem .7rem;font-size:.88rem}.login-form input:focus{border-color:var(--series-1);outline:none}.login-submit{background:var(--series-1);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.25rem;padding:.55rem .75rem;font-size:.88rem;font-weight:600}.login-submit:disabled{opacity:.6;cursor:default}.login-link-button{color:var(--series-1);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.78rem}.login-error{color:var(--status-critical);margin:0;font-size:.8rem}.login-success{color:var(--status-good);margin:0;font-size:.8rem}.login-hint{color:var(--text-muted);margin:0;font-size:.75rem}
