:root {
    --nav: #0f3148;
    --nav-deep: #0a263a;
    --cyan: #21d7ee;
    --cyan-soft: #e9fbfe;
    --violet: #7c4dff;
    --violet-soft: #f0eaff;
    --green: #21bd7a;
    --green-soft: #e8f9f1;
    --amber: #f5a623;
    --amber-soft: #fff3d8;
    --blue: #0b5a7a;
    --canvas: #f3f8fc;
    --card: #ffffff;
    --text: #051b33;
    --muted: #6f8497;
    --line: #dce8f0;
    --shadow: 0 18px 38px rgba(15, 49, 72, .09);
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    min-height: 100%;
    background: var(--canvas);
    color: var(--text);
    font-family: "Segoe UI", Arial, sans-serif;
}

a { color: inherit; }

.app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 246px minmax(0, 1fr);
    background: var(--canvas);
}

.app-sidebar {
    min-height: 100vh;
    background: linear-gradient(180deg, var(--nav) 0%, var(--nav-deep) 100%);
    color: #fff;
    padding: 21px 17px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.brand-block {
    display: flex;
    align-items: center;
    gap: 13px;
}

.brand-mark {
    width: 41px;
    height: 41px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #16c6e4, #32e4f6);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 900;
    box-shadow: 0 15px 28px rgba(0, 0, 0, .22);
}
.brand-logo-image,
.login-logo,
.sidebar-logo {
    display: block;
    object-fit: contain;
    flex: none;
}

.app-brand-logo {
    justify-content: flex-start;
    align-items: center;
    padding: 4px 0 10px;
}

.sidebar-logo {
    width: 112px;
    height: 112px;
    border-radius: 28px;
    background: #fff;
    padding: 7px;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .28);
}

.brand-block strong {
    display: block;
    font-size: 1.18rem;
    letter-spacing: 2px;
    line-height: 1;
}

.brand-block span {
    display: block;
    margin-top: 5px;
    color: #9fc1d8;
    font-size: .75rem;
}

.side-nav {
    overflow-y: auto;
    padding-right: 4px;
}

.nav-group {
    margin: 0;
}

.nav-group + .nav-group {
    margin-top: 2px;
}

.nav-section {
    display: block;
    margin: 23px 0 10px;
    color: #7fa6bd;
    font-size: .67rem;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    cursor: pointer;
    user-select: none;
    list-style: none;
}

.nav-section::-webkit-details-marker {
    display: none;
}

.nav-section::after {
    content: "+";
    float: right;
    color: #7fa6bd;
    font-size: .82rem;
    line-height: 1;
}

.nav-group[open] > .nav-section::after {
    content: "-";
}

.nav-group-items {
    display: grid;
    gap: 2px;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #eaf8ff;
    text-decoration: none;
    font-size: .88rem;
}

.nav-item:hover,
.nav-item.active {
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.nav-icon {
    width: 22px;
    height: 22px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    background: rgba(33, 215, 238, .12);
    color: var(--cyan);
    font-size: .72rem;
    font-weight: 850;
    flex: none;
}
.sat-status {
    margin-top: auto;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    display: flex;
    align-items: center;
    gap: 9px;
}

.sat-status > span {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(33, 189, 122, .22);
    position: relative;
}

.sat-status > span::after {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: var(--green);
}

.sat-status strong,
.sat-status small {
    display: block;
}

.sat-status strong { font-size: .78rem; }
.sat-status small { color: #9fc1d8; font-size: .72rem; }

.app-main { min-width: 0; }

.app-topbar {
    height: 67px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
}

.app-topbar strong,
.app-topbar span,
.app-topbar small { display: block; }

.app-topbar > div:first-child strong {
    font-size: .98rem;
    font-weight: 850;
}

.app-topbar > div:first-child span {
    margin-top: 3px;
    font-size: .72rem;
    color: var(--muted);
}

.user-chip {
    display: flex;
    align-items: center;
    gap: 11px;
    text-align: left;
}

.user-chip > span {
    width: 35px;
    height: 35px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: #ddf8fb;
    color: #067b91;
    font-weight: 900;
}

.user-chip strong { font-size: .8rem; }
.user-chip small { color: var(--muted); font-size: .72rem; }

.app-content {
    max-width: 1386px;
    margin: 0 auto;
    padding: 32px 28px 44px;
}

.hero-panel {
    min-height: 263px;
    border-radius: 14px;
    background: radial-gradient(circle at 84% 48%, rgba(33, 215, 238, .17) 0 25%, transparent 26%), linear-gradient(112deg, #123d59 0%, #123d59 55%, #195a70 100%);
    color: #fff;
    padding: 50px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    align-items: center;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.hero-copy span {
    display: block;
    color: var(--cyan);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 17px;
}

.hero-copy h2 {
    margin: 0;
    font-size: 2.25rem;
    line-height: 1.13;
    font-weight: 900;
}

.hero-copy h2 strong { color: #58e5f3; }

.hero-copy p {
    max-width: 710px;
    margin: 15px 0 0;
    color: #d8f7ff;
    line-height: 1.65;
}

.xml-card {
    justify-self: center;
    width: 125px;
    height: 125px;
    transform: rotate(-7deg);
    border-radius: 20px;
    background: #fff;
    color: #10425b;
    display: grid;
    place-items: center;
    font-size: 1.8rem;
    font-weight: 950;
    box-shadow: 0 22px 35px rgba(0, 0, 0, .22);
    position: relative;
}

.xml-card span {
    position: absolute;
    right: -18px;
    bottom: -15px;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--green);
}

.xml-card span::after {
    content: "";
    position: absolute;
    left: 14px;
    top: 9px;
    width: 13px;
    height: 23px;
    border: solid #fff;
    border-width: 0 4px 4px 0;
    transform: rotate(45deg);
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 23px;
}

.metric-grid.compact { margin-bottom: 22px; }

.metric-card {
    min-height: 111px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(13, 49, 72, .05);
    padding: 26px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.metric-icon {
    width: 47px;
    height: 47px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex: none;
    font-weight: 900;
}

.metric-card.cyan .metric-icon,
.quick-card.cyan > span { background: var(--cyan-soft); color: #0a9fbd; }
.metric-card.violet .metric-icon,
.quick-card.violet > span { background: var(--violet-soft); color: var(--violet); }
.metric-card.green .metric-icon { background: var(--green-soft); color: var(--green); }
.metric-card.amber .metric-icon { background: var(--amber-soft); color: var(--amber); }
.metric-card.red .metric-icon { background: #ffe7e8; color: #d64b55; }
.metric-card.blue .metric-icon,
.quick-card.blue > span { background: #edf4f8; color: var(--blue); }

.metric-card span {
    display: block;
    color: #8a9cad;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.metric-card strong {
    display: block;
    margin-top: 4px;
    color: #09233b;
    font-size: 1.48rem;
    line-height: 1;
}

.metric-card small {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: .72rem;
}

.quick-section { margin-top: 34px; }

.section-title h3,
.recent-panel h3,
.module-head h2,
.data-panel h3,
.report-panel h3 {
    margin: 0;
    font-weight: 900;
}

.section-title p,
.recent-panel p,
.module-head p,
.data-panel p,
.report-panel p {
    margin: 6px 0 0;
    color: var(--muted);
    font-size: .8rem;
}

.quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 16px;
}

.quick-card {
    min-height: 93px;
    border: 1px solid var(--line);
    border-top: 2px solid var(--cyan);
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    padding: 22px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 17px;
    box-shadow: 0 12px 25px rgba(13, 49, 72, .04);
}

.quick-card.violet { border-top-color: var(--violet); }
.quick-card.blue { border-top-color: var(--blue); }

.quick-card > span {
    width: 47px;
    height: 47px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-weight: 900;
}

.quick-card strong,
.quick-card small { display: block; }
.quick-card strong { font-size: .96rem; }
.quick-card small { margin-top: 6px; color: var(--muted); font-size: .74rem; }
.quick-card em { color: #8ea0af; font-style: normal; }

.recent-panel {
    margin-top: 29px;
    min-height: 160px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(13, 49, 72, .05);
}

.recent-panel header {
    min-height: 88px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
}

.recent-panel header a {
    color: #0078d4;
    text-decoration: none;
    font-size: .78rem;
}

.activity-list { padding: 10px 24px 18px; }

.activity-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid #eef4f8;
}

.activity-row:last-child { border-bottom: 0; }
.activity-row strong,
.activity-row span { display: block; }
.activity-row span { margin-top: 4px; color: var(--muted); font-size: .78rem; }
.activity-row em { color: #0c7ea0; font-style: normal; font-weight: 800; font-size: .78rem; }

.module-head {
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--line);
    padding: 25px 28px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    box-shadow: 0 12px 25px rgba(13, 49, 72, .04);
}

.module-head span {
    color: var(--cyan);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.module-head h2 {
    margin-top: 8px;
    font-size: 1.55rem;
}

button {
    border: 0;
    border-radius: 10px;
    background: #0da5c0;
    color: #fff;
    font-weight: 850;
    padding: 12px 18px;
}

.work-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
}

.data-panel,
.report-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 22px;
    box-shadow: 0 12px 25px rgba(13, 49, 72, .04);
}

.data-panel { min-height: 420px; }
.report-panel { background: #eaf5fb; }
.report-panel a { color: #0078d4; text-decoration: none; font-size: .83rem; font-weight: 800; }

.table-card {
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
}

.table-row {
    display: grid;
    grid-template-columns: 1.4fr .85fr .85fr 1fr;
}

.table-row span {
    padding: 13px 14px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    font-size: .82rem;
}

.table-row span:last-child { border-right: 0; }
.table-row:last-child span { border-bottom: 0; }
.table-head span { background: #f0f7fb; font-weight: 900; }

.config-note {
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    padding: 14px 16px;
    color: var(--muted);
}


.top-link {
    border: 0;
    border-radius: 9px;
    background: #edf8fb;
    color: #087a91;
    font-size: .78rem;
    font-weight: 850;
    padding: 8px 11px;
    text-decoration: none;
}


.login-only {
    min-height: 100vh;
    background: var(--canvas);
    padding: 32px;
}

.redirecting-login {
    display: grid;
    place-items: center;
    color: var(--muted);
    font-weight: 800;
}
.login-shell {
    min-height: calc(100vh - 132px);
    display: grid;
    grid-template-columns: minmax(320px, .95fr) minmax(320px, 430px);
    gap: 24px;
    align-items: stretch;
}

.login-hero {
    border-radius: 16px;
    background: radial-gradient(circle at 85% 20%, rgba(33, 215, 238, .22) 0 18%, transparent 19%), linear-gradient(135deg, #123d59 0%, #0f3148 100%);
    color: #fff;
    padding: 58px 42px 42px;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.login-brand {
    margin-bottom: 32px;
}
.login-brand-with-logo {
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 620px;
    margin-bottom: 40px;
}

.login-logo {
    width: 272px;
    height: 272px;
    border-radius: 50px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 34px 58px rgba(0, 0, 0, .32);
}

.login-hero h2 {
    max-width: 620px;
    margin: 0;
    font-size: 2.1rem;
    font-weight: 900;
    line-height: 1.13;
}

.login-hero p {
    max-width: 590px;
    margin: 17px 0 0;
    color: #c9eef8;
    line-height: 1.65;
}

.login-card {
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--shadow);
    padding: 34px;
    align-self: center;
}

.login-card h2 {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 900;
}

.login-card p {
    margin: 7px 0 24px;
    color: var(--muted);
    font-size: .85rem;
}

.login-card label {
    display: block;
    margin: 16px 0 7px;
    color: #16354c;
    font-size: .78rem;
    font-weight: 850;
}

.login-input {
    width: 100%;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 0 13px;
    color: var(--text);
    outline: none;
}

.login-input:focus {
    border-color: var(--cyan);
    box-shadow: 0 0 0 4px rgba(33, 215, 238, .14);
}

.login-card button[type="submit"] {
    width: 100%;
    margin-top: 22px;
}

.login-message {
    margin-top: 18px;
    border-radius: 10px;
    padding: 12px 13px;
    font-size: .82rem;
    font-weight: 750;
}

.login-message.ok {
    background: var(--green-soft);
    color: #12784c;
}

.login-message.error {
    background: #ffe7e8;
    color: #a7353d;
}

.validation-message {
    color: #b43c45;
    font-size: .76rem;
    margin-top: 5px;
}

@media (max-width: 1180px) {
    .login-shell { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .login-only { padding: 18px; }
    .login-brand-with-logo { align-items: center; }
    .login-logo { width: 184px; height: 184px; border-radius: 38px; }
    .sidebar-logo { width: 88px; height: 88px; border-radius: 22px; }
}
#blazor-error-ui {
    background: #fff3cd;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, .2);
    display: none;
    left: 0;
    padding: .6rem 1.25rem .7rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

@media (max-width: 1180px) {
    .app-shell { grid-template-columns: 1fr; }
    .app-sidebar { min-height: auto; }
    .side-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
    .metric-grid, .quick-grid, .work-grid { grid-template-columns: 1fr; }
    .hero-panel { grid-template-columns: 1fr; }
    .xml-card { display: none; }
}





.form-grid {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.form-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid label,
.sat-form-panel > label {
    display: block;
    margin: 0 0 7px;
    color: #16354c;
    font-size: .78rem;
    font-weight: 850;
}

.upper {
    text-transform: uppercase;
}

.sat-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
}

.sat-form-panel {
    min-height: 520px;
}

.sat-mode {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 8px;
    margin-top: 18px;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #f5fafe;
}

.sat-mode button {
    background: transparent;
    color: var(--blue);
    padding: 10px 14px;
}

.sat-mode button.active {
    background: #0da5c0;
    color: #fff;
    box-shadow: 0 10px 18px rgba(13, 165, 192, .2);
}

.sat-log {
    min-height: 118px;
    resize: vertical;
    padding-top: 12px;
    line-height: 1.5;
}

.sat-progress {
    height: 13px;
    border-radius: 999px;
    background: #edf4f8;
    overflow: hidden;
    margin-top: 14px;
    border: 1px solid var(--line);
}

.sat-progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #0da5c0, #21d7ee);
    transition: width .25s ease;
}

.sat-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.sat-actions button.primary {
    background: #123d59;
}

.sat-actions button:disabled {
    background: #aabac6;
    cursor: not-allowed;
}

.summary-stack {
    display: grid;
    gap: 10px;
    margin: 15px 0 18px;
}

.summary-stack div {
    border: 1px solid rgba(13, 49, 72, .08);
    border-radius: 10px;
    background: rgba(255,255,255,.72);
    padding: 11px 12px;
}

.summary-stack span,
.summary-stack strong {
    display: block;
}

.summary-stack span {
    color: var(--muted);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 900;
}

.summary-stack strong {
    margin-top: 4px;
    color: var(--text);
    font-size: .88rem;
}

.sat-results {
    margin-top: 24px;
}

.sat-results h3 {
    margin-bottom: 12px;
}

.sat-table .table-row {
    grid-template-columns: 1fr 1.2fr .8fr 1.2fr .9fr;
}

.module-notes {
    margin-top: 14px;
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 1180px) {
    .sat-workspace,
    .form-grid.two {
        grid-template-columns: 1fr;
    }
}


.sat-file-name { display:block; margin-top:6px; color: var(--muted); font-size:.72rem; }

.audit-page { max-width: 1440px; margin: 0 auto; }
.audit-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:22px; }
.audit-head span { display:block; color:#19748a; font-size:.72rem; letter-spacing:1.2px; font-weight:900; }
.audit-head h1 { margin:8px 0 6px; color:#0d3159; font-size:2rem; }
.audit-head p { margin:0; color:var(--muted); }
.audit-filters { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)) auto; gap:12px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fff; align-items:end; }
.audit-filters label { display:grid; gap:6px; color:#16354c; font-size:.76rem; font-weight:800; }
.audit-filters input,.audit-filters select { min-height:38px; border:1px solid var(--line); border-radius:8px; padding:0 10px; background:#fff; color:var(--text); }
.audit-search { min-width:190px; }
.audit-message,.audit-empty { margin-top:14px; padding:14px; border-radius:10px; background:#e9f6f8; color:#155d73; }
.audit-message.error { background:#ffe9e8; color:#a32f2b; border:1px solid #f1b7b3; }
.audit-empty { text-align:center; border:1px solid var(--line); background:#fff; }
.audit-empty h2 { margin:0 0 6px; color:#0d3159; font-size:1.1rem; }
.audit-empty p { margin:0; }
.audit-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0; }
.audit-cards article { padding:16px; border:1px solid var(--line); background:#fff; border-radius:12px; }
.audit-cards span,.audit-cards strong { display:block; }.audit-cards span { color:var(--muted); font-size:.75rem; }.audit-cards strong { margin-top:6px; color:#0d3159; font-size:1.45rem; }
.audit-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:12px; background:#fff; }
.audit-table { width:100%; min-width:860px; border-collapse:collapse; font-size:.84rem; }
.audit-table th { text-align:left; color:#32566c; font-size:.72rem; background:#edf6f8; text-transform:uppercase; letter-spacing:.4px; }
.audit-table th,.audit-table td { padding:12px 14px; border-bottom:1px solid #e4edf1; vertical-align:top; }.audit-table tbody tr:last-child td { border-bottom:0; }.audit-table td:last-child { max-width:420px; white-space:pre-wrap; }
.audit-pager { display:flex; justify-content:space-between; align-items:center; margin-top:14px; color:var(--muted); font-size:.84rem; }.audit-pager div { display:flex; gap:8px; }
@media(max-width:1000px){.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr));}.audit-filters button{min-height:38px}.audit-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.audit-head,.audit-pager{flex-direction:column;}.audit-head button{width:100%;}.audit-filters,.audit-cards{grid-template-columns:1fr;}}






.missing-page{max-width:1240px;margin:0 auto}.missing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.missing-head span{display:block;color:#18839b;font-size:.7rem;font-weight:900;letter-spacing:1.3px}.missing-head h1{margin:7px 0;color:#0d3159;font-size:2rem}.missing-head p{margin:0;color:var(--muted)}.missing-head button,.missing-card button{border:0;border-radius:10px;background:#087e9a;color:#fff;padding:12px 18px;font-weight:850}.missing-filter{display:flex;align-items:end;gap:22px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.missing-filter label{display:grid;gap:6px;color:#16354c;font-size:.76rem;font-weight:850;min-width:360px}.missing-filter select,.missing-card select{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff}.missing-filter p{margin:0 0 10px;color:var(--muted);font-size:.82rem}.missing-message,.missing-empty{margin-top:16px;padding:15px;border-radius:12px;background:#e7f5f8;color:#166176}.missing-message.error{background:#ffe9e8;color:#a43537}.missing-empty{text-align:center;background:#fff;border:1px dashed #bfd2db;padding:40px}.missing-empty h2{margin:6px 0;color:#143d58}.missing-empty p{margin:0;color:var(--muted)}.missing-empty.success{color:#15986a}.missing-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}.missing-metrics article{padding:15px 18px;border-radius:12px;background:linear-gradient(135deg,#fff,#f1f9fb);border:1px solid var(--line)}.missing-metrics span,.missing-metrics strong{display:block}.missing-metrics span{font-size:.75rem;color:var(--muted);font-weight:800}.missing-metrics strong{margin-top:4px;font-size:1.5rem;color:#0d3159}.missing-list{display:grid;gap:14px}.missing-card{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(18,61,89,.05)}.missing-card header{display:flex;justify-content:space-between;gap:18px;padding:18px 20px 14px}.missing-status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:900}.missing-status.error{background:#ffe7e8;color:#ae3b3e}.missing-status.pending{background:#fff3d7;color:#9b6816}.missing-card h2{margin:9px 0 4px;color:#113d5c;font-size:1.05rem}.missing-card h2 small{font-weight:600;color:var(--muted)}.missing-card p{margin:0;color:var(--muted);font-size:.8rem}.missing-id{text-align:right}.missing-id span,.missing-details span{display:block;color:#718998;font-size:.68rem;font-weight:900;text-transform:uppercase}.missing-id strong{display:block;max-width:280px;word-break:break-all;color:#174d6b;font-size:.82rem;margin-top:5px}.missing-details{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e5eff3}.missing-details div{padding:12px 20px;background:#f7fbfc}.missing-details strong{display:block;margin-top:4px;color:#173f5b}.missing-card footer{display:flex;justify-content:space-between;align-items:end;gap:14px;padding:15px 20px}.missing-card footer label{display:grid;gap:5px;color:#31596f;font-size:.74rem;font-weight:850;min-width:240px}.missing-card button:disabled{background:#a9bdc7}@media(max-width:700px){.missing-head,.missing-filter,.missing-card header,.missing-card footer{flex-direction:column}.missing-head button,.missing-filter label{width:100%;min-width:0}.missing-metrics,.missing-details{grid-template-columns:1fr}.missing-id{text-align:left}}
.resume-page{max-width:1240px;margin:0 auto}.resume-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:22px}.resume-head span{display:block;color:#6b5ad5;font-size:.7rem;font-weight:900;letter-spacing:1.3px}.resume-head h1{margin:7px 0;color:#0d3159;font-size:2rem}.resume-head p{margin:0;color:var(--muted)}.resume-head button,.resume-credentials button{border:0;border-radius:10px;background:linear-gradient(135deg,#273c91,#0e839f);color:#fff;padding:12px 18px;font-weight:850;box-shadow:0 8px 18px rgba(39,60,145,.16)}.resume-message,.resume-empty{margin-top:16px;padding:15px;border-radius:12px;background:#eef0ff;color:#394d9d}.resume-message.error{background:#ffe9e8;color:#a43537}.resume-empty{text-align:center;background:#fff;border:1px dashed #c6cde4;padding:42px}.resume-empty h2{margin:0 0 7px;color:#173d61}.resume-empty p{margin:0;color:var(--muted)}.resume-list{display:grid;gap:15px}.resume-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(18,61,89,.05)}.resume-card>header{display:flex;justify-content:space-between;gap:20px;padding:20px}.resume-status{display:inline-block;padding:4px 10px;border-radius:999px;background:#e7eaff;color:#4b47aa;font-size:.7rem;font-weight:900}.resume-card h2{margin:9px 0 5px;color:#123d5c;font-size:1.1rem}.resume-card h2+small{color:var(--muted)}.resume-card header>div:last-child{text-align:right}.resume-card header>div:last-child strong,.resume-card header>div:last-child span{display:block}.resume-card header>div:last-child strong{font-size:.69rem;color:#718998;text-transform:uppercase;letter-spacing:.7px}.resume-card header>div:last-child span{max-width:290px;word-break:break-all;margin-top:5px;color:#284d78;font-size:.82rem;font-weight:800}.resume-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e5eff3}.resume-info span{display:flex;flex-direction:column;gap:4px;padding:13px 20px;background:#f7fbfc;color:#173f5b;font-weight:800}.resume-info strong{font-size:.68rem;text-transform:uppercase;color:#718998;letter-spacing:.6px}.resume-credentials{border-top:1px solid #e5eff3}.resume-credentials summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;color:#174b70;font-weight:850}.resume-credentials summary small{color:var(--muted);font-weight:600}.resume-credentials .form-grid{padding:0 20px 14px}.resume-credentials label{display:grid;gap:7px;color:#31596f;font-size:.76rem;font-weight:850}.resume-credentials input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.resume-credentials button{margin:0 20px 20px}@media(max-width:700px){.resume-head,.resume-card>header{flex-direction:column}.resume-head button{width:100%}.resume-card header>div:last-child{text-align:left}.resume-info{grid-template-columns:1fr}.resume-credentials summary{align-items:flex-start;flex-direction:column;gap:4px}}
.history-page{max-width:1240px;margin:0 auto}.history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:22px}.history-head span{display:block;color:#257a93;font-size:.7rem;font-weight:900;letter-spacing:1.3px}.history-head h1{margin:7px 0;color:#0d3159;font-size:2rem}.history-head p{margin:0;color:var(--muted)}.history-head button,.history-pagination button{border:0;border-radius:10px;background:linear-gradient(135deg,#0d6685,#0f92a5);color:#fff;padding:12px 18px;font-weight:850;box-shadow:0 8px 18px rgba(14,112,141,.15)}.history-head button:disabled,.history-pagination button:disabled{background:#b9cbd2;box-shadow:none}.history-filters{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.history-filters label{display:grid;gap:6px;color:#16354c;font-size:.76rem;font-weight:850}.history-filters select,.history-filters input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff}.history-filters :disabled{color:#8aa0ab;background:#f4f8f9}.history-message,.history-empty{margin-top:16px;padding:15px;border-radius:12px;background:#e7f5f8;color:#166176}.history-message.error{background:#ffe9e8;color:#a43537}.history-empty{text-align:center;background:#fff;border:1px dashed #bfd2db;padding:42px}.history-empty>span{font-size:1.7rem;color:#2a8ba3}.history-empty h2{margin:7px 0;color:#143d58}.history-empty p{margin:0;color:var(--muted)}.history-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.history-metrics article{padding:15px 18px;border-radius:12px;background:linear-gradient(135deg,#fff,#f1f9fb);border:1px solid var(--line)}.history-metrics span,.history-metrics strong{display:block}.history-metrics span{font-size:.72rem;color:#718998;font-weight:850;text-transform:uppercase}.history-metrics strong{margin-top:5px;font-size:1.5rem;color:#0d3159}.history-list{display:grid;gap:14px}.history-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(18,61,89,.05)}.history-card>header{display:flex;justify-content:space-between;gap:18px;padding:18px 20px 14px}.history-status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:900}.history-status.error{background:#ffe7e8;color:#ae3b3e}.history-status.done{background:#e0f6ec;color:#14734d}.history-status.active{background:#e6f4fb;color:#176b89}.history-card h2{margin:9px 0 4px;color:#113d5c;font-size:1.05rem}.history-card h2 small{font-weight:600;color:var(--muted)}.history-card p{margin:0;color:var(--muted);font-size:.8rem}.history-request{text-align:right}.history-request span,.history-info span{display:block;color:#718998;font-size:.68rem;font-weight:900;text-transform:uppercase}.history-request strong{display:block;max-width:300px;word-break:break-all;color:#174d6b;font-size:.82rem;margin-top:5px}.history-info{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e5eff3}.history-info div{padding:12px 20px;background:#f7fbfc}.history-info strong{display:block;margin-top:4px;color:#173f5b;font-size:.83rem}.history-info small{color:#718998;font-size:.72rem}.history-card details{border-top:1px solid #e5eff3}.history-card summary{cursor:pointer;padding:14px 20px;color:#174b70;font-weight:850}.history-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:0 20px 18px}.history-detail h3{margin:0 0 8px;color:#173f5b;font-size:.78rem;text-transform:uppercase}.history-detail ul{margin:0;padding:0;list-style:none}.history-detail li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf2f4;color:#294c60;font-size:.82rem}.history-detail li span{color:#25845d;font-weight:800}.history-detail p{grid-column:1/-1}.history-logs li{display:block}.history-logs strong{color:#307b98;margin-right:5px}.history-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0}.history-pagination span{color:#587283;font-size:.83rem;font-weight:750}.history-pagination button{padding:9px 15px}@media(max-width:850px){.history-filters{grid-template-columns:repeat(2,1fr)}.history-metrics,.history-info{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.history-head,.history-card>header{flex-direction:column}.history-head button{width:100%}.history-filters,.history-metrics,.history-info,.history-detail{grid-template-columns:1fr}.history-request{text-align:left}.history-pagination{gap:9px}.history-pagination span{font-size:.72rem}}
.rfc-page{max-width:1240px;margin:0 auto}.rfc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.rfc-head span,.rfc-form header>div>span,.rfc-access header span,.rfc-catalog header span,.rfc-help>span{display:block;color:#247993;font-size:.7rem;font-weight:900;letter-spacing:1.25px}.rfc-head h1{margin:7px 0;color:#0d3159;font-size:2rem}.rfc-head p{margin:0;color:var(--muted)}.rfc-head>button,.rfc-form footer button,.rfc-row-meta button{border:0;border-radius:10px;background:linear-gradient(135deg,#086987,#10a0aa);color:#fff;padding:12px 18px;font-weight:850;box-shadow:0 8px 18px rgba(11,114,142,.15)}.rfc-message{margin:0 0 16px;padding:14px 16px;border-radius:12px;background:#e7f5f8;color:#166176}.rfc-message.error{background:#ffe9e8;color:#a43537}.rfc-empty{padding:42px;text-align:center;background:#fff;border:1px dashed #bfd2db;border-radius:15px}.rfc-empty h2{margin:0 0 7px;color:#153d5a}.rfc-empty p{margin:0;color:var(--muted)}.rfc-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr);gap:18px}.rfc-form,.rfc-help,.rfc-catalog{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(18,61,89,.04)}.rfc-form>header,.rfc-access>header,.rfc-catalog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:19px 21px 14px}.rfc-form h2,.rfc-catalog h2{margin:6px 0 0;color:#123d5c;font-size:1.2rem}.rfc-clear{border:1px solid #bcd2dc;background:#fff;border-radius:8px;padding:8px 11px;color:#1a6d87;font-weight:800}.rfc-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:13px;padding:0 21px 20px}.rfc-fields label{display:grid;gap:6px;color:#31596f;font-size:.75rem;font-weight:850}.rfc-fields label small{font-weight:500;color:var(--muted)}.rfc-fields .wide{grid-column:1/-1}.rfc-fields input{height:41px;border:1px solid var(--line);border-radius:8px;padding:0 11px;font:inherit}.rfc-fields .upper{text-transform:uppercase}.rfc-access{border-top:1px solid #e4eff2}.rfc-access h3{margin:5px 0;color:#173f5b;font-size:1rem}.rfc-access p{margin:0;color:var(--muted);font-size:.78rem}.rfc-users{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:0 21px 20px}.rfc-users label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #dce8ec;border-radius:9px;cursor:pointer}.rfc-users input{accent-color:#078399}.rfc-users span,.rfc-users strong,.rfc-users small{display:block}.rfc-users strong{color:#1b405b;font-size:.82rem}.rfc-users small{color:#718998;font-size:.7rem}.rfc-form footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 21px;border-top:1px solid #e4eff2;color:#5d7989;font-size:.8rem}.rfc-help{padding:24px;background:linear-gradient(150deg,#ebf8fb,#f8fdff)}.rfc-help h2{margin:9px 0;color:#123e60}.rfc-help p{color:#496b7e;line-height:1.55;font-size:.86rem}.rfc-help ul{padding-left:18px;color:#295b73;font-size:.83rem;line-height:1.9}.rfc-catalog{margin-top:20px;overflow:hidden}.rfc-catalog>header{align-items:center;border-bottom:1px solid #e6f0f3}.rfc-catalog>header h2{margin-top:5px}.rfc-catalog>header strong{color:#146d85;background:#e8f6f8;border-radius:999px;padding:6px 11px;font-size:.78rem}.rfc-empty.small{border:0;border-radius:0;box-shadow:none}.rfc-list article{display:flex;justify-content:space-between;gap:18px;padding:17px 21px;border-bottom:1px solid #edf3f5}.rfc-list article:last-child{border-bottom:0}.rfc-badge{display:inline-block;padding:4px 8px;border-radius:6px;background:#e8f4f7;color:#156b85;font-weight:900;font-size:.75rem;letter-spacing:.5px}.rfc-list h3{margin:8px 0 3px;color:#143d5a;font-size:1rem}.rfc-list p{margin:0;color:#718998;font-size:.8rem}.rfc-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:#456879;font-size:.78rem}.rfc-row-meta small{color:#8299a5}.rfc-row-meta button{padding:7px 12px;font-size:.76rem;box-shadow:none}@media(max-width:800px){.rfc-layout{grid-template-columns:1fr}.rfc-users{grid-template-columns:1fr}}@media(max-width:600px){.rfc-head,.rfc-form footer,.rfc-list article{flex-direction:column}.rfc-head>button{width:100%}.rfc-fields{grid-template-columns:1fr}.rfc-row-meta{align-items:flex-start}}
 .rfc-form-actions{display:flex;gap:10px;align-items:center}.rfc-form-actions .rfc-delete{background:#fff;border:1px solid #e1a3a3;color:#ad3f41;box-shadow:none}.rfc-top-actions{display:flex;gap:10px;flex-wrap:wrap}.rfc-top-actions button{border:0;border-radius:10px;background:linear-gradient(135deg,#086987,#10a0aa);color:#fff;padding:12px 18px;font-weight:850;box-shadow:0 8px 18px rgba(11,114,142,.15)}.rfc-top-actions .rfc-secondary{background:#e7f4f7;color:#12667e;box-shadow:none}.rfc-top-actions button:disabled,.rfc-form button:disabled,.rfc-list-row button:disabled{opacity:.6;cursor:not-allowed}.rfc-catalog-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.rfc-catalog-tools>input{width:min(260px,100%);height:36px;border:1px solid #c7dce4;border-radius:8px;padding:0 10px;font:inherit}.rfc-catalog-tools label{display:flex;align-items:center;gap:6px;color:#456879;font-size:.78rem;font-weight:750;white-space:nowrap}.rfc-catalog-tools input[type=checkbox]{accent-color:#078399}.rfc-list-row{display:flex;align-items:stretch;gap:10px;border-bottom:1px solid #edf3f5;background:#fff;padding:10px 13px}.rfc-list-row:hover{background:#effafd}.rfc-list-row>button:first-child{flex:1;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:11px;row-gap:4px;border:0;background:transparent;padding:7px 8px;cursor:pointer;text-align:left}.rfc-list-row>button:first-child small{grid-column:2;color:#718998;font-size:.78rem}.rfc-list-row strong{color:#143d5a;font-size:.95rem}.rfc-list-row:last-child{border-bottom:0}.rfc-reactivate{align-self:center;border:1px solid #83bec9;background:#effbfc;color:#086987;border-radius:8px;padding:8px 11px;font-weight:800;cursor:pointer}@media(max-width:600px){.rfc-head,.rfc-form footer{flex-direction:column}.rfc-top-actions,.rfc-top-actions button,.rfc-form-actions{width:100%}.rfc-form-actions{flex-direction:column}.rfc-form-actions button{width:100%}.rfc-catalog-tools{justify-content:flex-start}.rfc-catalog-tools>input{width:100%}.rfc-list-row{padding:9px}.rfc-list-row>button:first-child{grid-template-columns:1fr}.rfc-list-row>button:first-child small{grid-column:1}.rfc-reactivate{align-self:stretch}}
