/* _content/Ayva.Network.Coverage/Components/ApSectorAdminPanel.razor.rz.scp.css */
/* ApSectorAdminPanel — operator curation of the RF link-planner AP inventory. */

.ap-panel[b-a5vyu20w5f] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    backdrop-filter: blur(12px);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.ap-panel-header[b-a5vyu20w5f] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-lg);
    flex-wrap: wrap;
}

.ap-panel-title[b-a5vyu20w5f] {
    font-size: var(--font-lg);
    font-weight: var(--font-semibold);
    margin: 0 0 var(--space-xs) 0;
    color: var(--text-primary);
}

.ap-panel-subtitle[b-a5vyu20w5f] {
    margin: 0;
    max-width: 640px;
    color: var(--text-muted);
    font-size: var(--font-sm);
    line-height: 1.5;
}

.ap-sync-note[b-a5vyu20w5f] {
    margin: var(--space-md) 0;
    font-size: var(--font-xs);
    color: var(--text-muted);
}

.ap-sync-note code[b-a5vyu20w5f] {
    font-family: var(--font-mono);
    background: var(--bg-input);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-xs);
    padding: 1px var(--space-xs);
    color: var(--text-secondary);
}

/* Buttons */
.ap-btn[b-a5vyu20w5f] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    border: none;
    border-radius: var(--radius-sm);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-sm);
    font-weight: var(--font-semibold);
    font-family: var(--font-primary);
    cursor: pointer;
    transition: filter var(--transition-fast), box-shadow var(--transition-fast);
    min-height: 36px;
}

.ap-btn:disabled[b-a5vyu20w5f] {
    opacity: 0.6;
    cursor: not-allowed;
}

.ap-btn-sync[b-a5vyu20w5f] {
    background: var(--bg-elevated);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}

.ap-btn-sync:hover:not(:disabled)[b-a5vyu20w5f] {
    border-color: var(--border-accent);
    box-shadow: var(--shadow-sm);
}

.ap-btn-save[b-a5vyu20w5f] {
    background: var(--accent-color);
    color: var(--text-inverse);
}

.ap-btn-save:hover:not(:disabled)[b-a5vyu20w5f] {
    filter: brightness(1.1);
    box-shadow: var(--shadow-accent);
}

/* Message */
.ap-message[b-a5vyu20w5f] {
    margin-bottom: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
}

.ap-message-success[b-a5vyu20w5f] {
    background: var(--success-bg);
    border: 1px solid var(--success-border);
    color: var(--success-text);
}

.ap-message-error[b-a5vyu20w5f] {
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    color: var(--error-text);
}

.ap-message-info[b-a5vyu20w5f] {
    background: var(--bg-elevated);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
}

/* States */
.ap-loading[b-a5vyu20w5f],
.ap-empty[b-a5vyu20w5f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-lg);
    color: var(--text-muted);
    text-align: center;
}

.ap-empty-hint[b-a5vyu20w5f] {
    font-size: var(--font-sm);
}

.ap-spinner[b-a5vyu20w5f] {
    width: 28px;
    height: 28px;
    border: 3px solid var(--border-subtle);
    border-top-color: var(--accent-color);
    border-radius: var(--radius-full);
    animation: ap-spin-b-a5vyu20w5f 0.8s linear infinite;
}

.ap-spinner-sm[b-a5vyu20w5f] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--border-subtle);
    border-top-color: var(--text-inverse);
    border-radius: var(--radius-full);
    animation: ap-spin-b-a5vyu20w5f 0.8s linear infinite;
}

@keyframes ap-spin-b-a5vyu20w5f {
    to { transform: rotate(360deg); }
}

/* Table */
.ap-table-wrap[b-a5vyu20w5f] {
    overflow-x: auto;
}

.ap-table[b-a5vyu20w5f] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-sm);
}

.ap-table thead th[b-a5vyu20w5f] {
    text-align: left;
    padding: var(--space-sm) var(--space-md);
    color: var(--text-secondary);
    font-weight: var(--font-semibold);
    font-size: var(--font-xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--border-color);
    white-space: nowrap;
}

.ap-table thead th.num[b-a5vyu20w5f],
.ap-table tbody td.num[b-a5vyu20w5f] {
    text-align: right;
    font-family: var(--font-mono);
}

.ap-table tbody td[b-a5vyu20w5f] {
    padding: var(--space-md);
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-primary);
    vertical-align: top;
}

.ap-table td.name[b-a5vyu20w5f] {
    font-weight: var(--font-medium);
}

.ap-table td.mono[b-a5vyu20w5f] {
    font-family: var(--font-mono);
    color: var(--text-muted);
    font-size: var(--font-xs);
}

.actions-col[b-a5vyu20w5f] {
    text-align: right;
    white-space: nowrap;
}

/* Badges */
.badge[b-a5vyu20w5f] {
    display: inline-block;
    padding: 2px var(--space-sm);
    border-radius: var(--radius-full);
    font-size: var(--font-xs);
    font-weight: var(--font-semibold);
    line-height: 1.4;
}

.badge-active.active-yes[b-a5vyu20w5f] {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.badge-active.active-no[b-a5vyu20w5f] {
    background: var(--bg-elevated);
    color: var(--text-muted);
    border: 1px solid var(--border-color);
}

.badge-source.source-manual[b-a5vyu20w5f] {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.badge-source.source-uispheading[b-a5vyu20w5f] {
    background: var(--bg-elevated);
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
}

.badge-source.source-unknown[b-a5vyu20w5f] {
    background: var(--warning-bg);
    color: var(--warning-text);
    border: 1px solid var(--warning-border);
}

/* Edit grid */
.edit-cell[b-a5vyu20w5f] {
    min-width: 360px;
}

.edit-grid[b-a5vyu20w5f] {
    display: grid;
    grid-template-columns: repeat(3, minmax(80px, 1fr));
    gap: var(--space-sm);
}

.edit-field[b-a5vyu20w5f] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.edit-field > span[b-a5vyu20w5f] {
    font-size: var(--font-xs);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.edit-field.edit-check[b-a5vyu20w5f] {
    flex-direction: row;
    align-items: center;
    gap: var(--space-xs);
    grid-column: span 1;
    align-self: end;
}

.edit-field.edit-check > span[b-a5vyu20w5f] {
    text-transform: none;
    letter-spacing: 0;
    font-size: var(--font-xs);
    color: var(--text-primary);
}

.edit-field.edit-notes[b-a5vyu20w5f] {
    grid-column: 1 / -1;
}

.ap-input[b-a5vyu20w5f] {
    background: var(--bg-input);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--font-sm);
    font-family: var(--font-mono);
    width: 100%;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.ap-input:focus[b-a5vyu20w5f] {
    outline: none;
    border-color: var(--border-focus);
    box-shadow: var(--shadow-focus);
}

@media (max-width: 768px) {
    .edit-grid[b-a5vyu20w5f] {
        grid-template-columns: 1fr 1fr;
    }
}
/* _content/Ayva.Network.Coverage/Components/LidarDatasetAdminPanel.razor.rz.scp.css */
/* LidarDatasetAdminPanel — operator curation of the LIDAR dataset registry (W5.2). */

.ld-panel[b-prwr32dm6r] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    backdrop-filter: blur(12px);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.ld-panel-header[b-prwr32dm6r] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-lg);
    flex-wrap: wrap;
}

.ld-panel-title[b-prwr32dm6r] {
    font-size: var(--font-lg);
    font-weight: var(--font-semibold);
    margin: 0 0 var(--space-xs) 0;
    color: var(--text-primary);
}

.ld-panel-subtitle[b-prwr32dm6r] {
    margin: 0;
    max-width: 640px;
    color: var(--text-muted);
    font-size: var(--font-sm);
    line-height: 1.5;
}

/* Buttons */
.ld-btn[b-prwr32dm6r] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-sm);
    font-family: var(--font-primary);
    background: var(--bg-input);
    color: var(--text-primary);
    cursor: pointer;
    transition: var(--transition-fast);
}

.ld-btn:hover:not(:disabled)[b-prwr32dm6r] {
    border-color: var(--accent-color);
    color: var(--accent-color);
}

.ld-btn:disabled[b-prwr32dm6r] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ld-btn-primary[b-prwr32dm6r] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--bg-primary);
}

.ld-btn-primary:hover:not(:disabled)[b-prwr32dm6r] {
    color: var(--bg-primary);
    filter: brightness(1.1);
}

.ld-btn-danger:hover:not(:disabled)[b-prwr32dm6r] {
    border-color: var(--error-color);
    color: var(--error-color);
}

.ld-btn-sm[b-prwr32dm6r] {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--font-xs);
}

/* Messages */
.ld-message[b-prwr32dm6r] {
    margin: var(--space-md) 0;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
    border: 1px solid var(--border-color);
}

.ld-message-success[b-prwr32dm6r] {
    border-color: var(--success-color);
    color: var(--success-color);
}

.ld-message-error[b-prwr32dm6r] {
    border-color: var(--error-color);
    color: var(--error-color);
}

.ld-message-info[b-prwr32dm6r] {
    color: var(--text-secondary);
}

/* Form */
.ld-form-card[b-prwr32dm6r] {
    margin: var(--space-md) 0;
    padding: var(--space-md);
    background: var(--bg-input);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
}

.ld-form-title[b-prwr32dm6r] {
    margin: 0 0 var(--space-md) 0;
    font-size: var(--font-base);
    font-weight: var(--font-semibold);
}

.ld-form-grid[b-prwr32dm6r] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-md);
}

.ld-field[b-prwr32dm6r] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    font-size: var(--font-xs);
    color: var(--text-muted);
}

.ld-field-wide[b-prwr32dm6r] {
    grid-column: span 4;
}

.ld-field input[b-prwr32dm6r],
.ld-field textarea[b-prwr32dm6r] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--font-sm);
    padding: var(--space-xs) var(--space-sm);
    transition: var(--transition-fast);
}

.ld-field input:focus[b-prwr32dm6r],
.ld-field textarea:focus[b-prwr32dm6r] {
    outline: none;
    border-color: var(--accent-color);
}

.ld-field-check[b-prwr32dm6r] {
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-primary);
    font-size: var(--font-sm);
    align-self: end;
}

.ld-form-actions[b-prwr32dm6r] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-md);
}

.ld-form-actions-spacer[b-prwr32dm6r] {
    flex: 1;
}

/* Probe result */
.ld-probe[b-prwr32dm6r] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-top: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-sm);
    font-size: var(--font-xs);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
}

.ld-probe-ok[b-prwr32dm6r] {
    border-color: var(--success-color);
}

.ld-probe-fail[b-prwr32dm6r] {
    border-color: var(--error-color);
    color: var(--error-color);
}

.ld-probe-verdict-ok[b-prwr32dm6r] {
    color: var(--success-color);
}

.ld-probe-verdict-warn[b-prwr32dm6r] {
    color: var(--warning-color);
}

/* Table */
.ld-table-wrap[b-prwr32dm6r] {
    overflow-x: auto;
    margin-top: var(--space-md);
}

.ld-table[b-prwr32dm6r] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-sm);
}

.ld-table th[b-prwr32dm6r] {
    text-align: left;
    padding: var(--space-sm);
    color: var(--text-muted);
    font-size: var(--font-xs);
    font-weight: var(--font-semibold);
    border-bottom: 1px solid var(--border-color);
    white-space: nowrap;
}

.ld-table td[b-prwr32dm6r] {
    padding: var(--space-sm);
    border-bottom: 1px solid var(--border-subtle);
    vertical-align: top;
}

.ld-table th.num[b-prwr32dm6r],
.ld-table td.num[b-prwr32dm6r] {
    text-align: right;
}

.ld-row-disabled[b-prwr32dm6r] {
    opacity: 0.55;
}

.ld-name[b-prwr32dm6r] {
    font-weight: var(--font-semibold);
}

.ld-notes[b-prwr32dm6r] {
    color: var(--text-muted);
    font-size: var(--font-xs);
    margin-top: var(--space-xs);
    max-width: 320px;
}

.ld-key[b-prwr32dm6r] {
    font-family: var(--font-mono);
    font-size: var(--font-xs);
    background: var(--bg-input);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-xs);
    padding: 1px var(--space-xs);
    color: var(--text-secondary);
}

.ld-bounds[b-prwr32dm6r] {
    font-family: var(--font-mono);
    font-size: var(--font-xs);
    white-space: nowrap;
}

.ld-status[b-prwr32dm6r] {
    font-size: var(--font-xs);
    font-weight: var(--font-semibold);
    white-space: nowrap;
}

.ld-status-on[b-prwr32dm6r] {
    color: var(--success-color);
}

.ld-status-off[b-prwr32dm6r] {
    color: var(--text-muted);
}

.actions-col[b-prwr32dm6r] {
    white-space: nowrap;
    text-align: right;
}

.actions-col .ld-btn[b-prwr32dm6r] {
    margin-left: var(--space-xs);
}

/* Loading / empty */
.ld-loading[b-prwr32dm6r] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-lg);
    color: var(--text-muted);
}

.ld-spinner[b-prwr32dm6r] {
    width: 16px;
    height: 16px;
    border: 2px solid var(--border-color);
    border-top-color: var(--accent-color);
    border-radius: 50%;
    animation: ld-spin-b-prwr32dm6r 0.8s linear infinite;
}

@keyframes ld-spin-b-prwr32dm6r {
    to { transform: rotate(360deg); }
}

.ld-empty[b-prwr32dm6r] {
    padding: var(--space-lg);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--font-sm);
}

.ld-empty-hint[b-prwr32dm6r] {
    font-size: var(--font-xs);
}

/* Responsive */
@media (max-width: 768px) {
    .ld-form-grid[b-prwr32dm6r] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ld-field-wide[b-prwr32dm6r] {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .ld-form-grid[b-prwr32dm6r] {
        grid-template-columns: 1fr;
    }

    .ld-field-wide[b-prwr32dm6r] {
        grid-column: span 1;
    }
}
/* _content/Ayva.Network.Coverage/Pages/DatasetRegistry.razor.rz.scp.css */
/* DatasetRegistry page (/rf-tools/datasets) — W5.2. */

.ds-root[b-g9bghpqsbp] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-xl) var(--space-lg);
    font-family: var(--font-primary);
    color: var(--text-primary);
}

.ds-header[b-g9bghpqsbp] {
    margin-bottom: var(--space-lg);
}

.ds-brand[b-g9bghpqsbp] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-muted);
    font-size: var(--font-sm);
    margin-bottom: var(--space-sm);
}

.ds-title[b-g9bghpqsbp] {
    margin: 0 0 var(--space-xs) 0;
    font-size: var(--font-2xl);
    font-weight: var(--font-bold);
}

.ds-subtitle[b-g9bghpqsbp] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-sm);
    max-width: 640px;
    line-height: 1.5;
}
/* _content/Ayva.Network.Coverage/Pages/LinkPlanner.razor.rz.scp.css */
/* LinkPlanner — staff RF link planner page. Glassmorphism dark theme. */

.planner-root[b-loejnfszcs] {
    min-height: 100vh;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: var(--font-primary);
    padding: var(--space-xl);
    max-width: 1200px;
    margin: 0 auto;
}

/* Header */
.planner-header[b-loejnfszcs] {
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--border-subtle);
}

.planner-brand[b-loejnfszcs] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--accent-color);
    font-family: var(--font-family);
    font-size: var(--font-sm);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-xs);
}

.planner-title[b-loejnfszcs] {
    font-size: var(--font-2xl);
    font-weight: var(--font-bold);
    margin: 0 0 var(--space-xs) 0;
    color: var(--text-primary);
}

.planner-subtitle[b-loejnfszcs] {
    margin: 0;
    max-width: 720px;
    color: var(--text-muted);
    font-size: var(--font-sm);
    line-height: 1.5;
}

/* Cards */
.planner-card[b-loejnfszcs] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    margin-bottom: var(--space-lg);
    backdrop-filter: blur(12px);
}

.planner-card.full-width[b-loejnfszcs] {
    width: 100%;
}

.planner-card-title[b-loejnfszcs] {
    font-size: var(--font-lg);
    font-weight: var(--font-semibold);
    margin: 0 0 var(--space-md) 0;
    color: var(--text-primary);
}

/* Form */
.planner-form-grid[b-loejnfszcs] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
    align-items: end;
}

.form-field[b-loejnfszcs] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.form-field label[b-loejnfszcs] {
    font-size: var(--font-xs);
    color: var(--text-secondary);
    font-weight: var(--font-medium);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.form-field label .optional[b-loejnfszcs] {
    text-transform: none;
    letter-spacing: 0;
    color: var(--text-muted);
    font-weight: var(--font-normal);
}

.planner-input[b-loejnfszcs] {
    background: var(--bg-input);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-base);
    font-family: var(--font-mono);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.planner-input:focus[b-loejnfszcs] {
    outline: none;
    border-color: var(--border-focus);
    box-shadow: var(--shadow-focus);
}

.planner-btn[b-loejnfszcs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    background: var(--accent-color);
    color: var(--text-inverse);
    border: none;
    border-radius: var(--radius-sm);
    padding: var(--space-sm) var(--space-lg);
    font-size: var(--font-base);
    font-weight: var(--font-semibold);
    font-family: var(--font-primary);
    cursor: pointer;
    transition: filter var(--transition-fast), box-shadow var(--transition-fast);
    min-height: 42px;
}

.planner-btn:hover:not(:disabled)[b-loejnfszcs] {
    filter: brightness(1.1);
    box-shadow: var(--shadow-accent);
}

.planner-btn:disabled[b-loejnfszcs] {
    opacity: 0.6;
    cursor: not-allowed;
}

.planner-error-banner[b-loejnfszcs] {
    margin-top: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    color: var(--error-text);
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
}

/* Loading */
.planner-loading[b-loejnfszcs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    padding: var(--space-3xl) 0;
    color: var(--text-muted);
}

.planner-spinner[b-loejnfszcs] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--border-subtle);
    border-top-color: var(--accent-color);
    border-radius: var(--radius-full);
    animation: planner-spin-b-loejnfszcs 0.8s linear infinite;
}

.planner-spinner-sm[b-loejnfszcs] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--border-subtle);
    border-top-color: var(--text-inverse);
    border-radius: var(--radius-full);
    animation: planner-spin-b-loejnfszcs 0.8s linear infinite;
}

@keyframes planner-spin-b-loejnfszcs {
    to { transform: rotate(360deg); }
}

/* Verdict banner */
.planner-verdict[b-loejnfszcs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    flex-wrap: wrap;
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-lg);
    border: 1px solid var(--border-color);
}

.planner-verdict.verdict-yes[b-loejnfszcs] {
    background: var(--success-bg);
    border-color: var(--success-border);
}

.planner-verdict.verdict-no[b-loejnfszcs] {
    background: var(--error-bg);
    border-color: var(--error-border);
}

.verdict-main[b-loejnfszcs] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.verdict-label[b-loejnfszcs] {
    font-size: var(--font-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-secondary);
}

.verdict-value[b-loejnfszcs] {
    font-size: var(--font-xl);
    font-weight: var(--font-bold);
    color: var(--text-primary);
}

.verdict-meta[b-loejnfszcs] {
    display: flex;
    gap: var(--space-xl);
}

.verdict-meta-item[b-loejnfszcs] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.meta-label[b-loejnfszcs] {
    font-size: var(--font-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-secondary);
}

.meta-value[b-loejnfszcs] {
    font-size: var(--font-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
}

/* Table */
.planner-table[b-loejnfszcs] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-sm);
}

.planner-table thead th[b-loejnfszcs] {
    text-align: left;
    padding: var(--space-sm) var(--space-md);
    color: var(--text-secondary);
    font-weight: var(--font-semibold);
    font-size: var(--font-xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--border-color);
    white-space: nowrap;
}

.planner-table thead th.num[b-loejnfszcs],
.planner-table tbody td.num[b-loejnfszcs] {
    text-align: right;
    font-family: var(--font-mono);
}

.planner-table tbody td[b-loejnfszcs] {
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-primary);
    vertical-align: middle;
}

.planner-table tbody tr:hover[b-loejnfszcs] {
    background: var(--bg-hover);
}

.planner-table td.rank[b-loejnfszcs] {
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.planner-table td.name[b-loejnfszcs] {
    font-weight: var(--font-medium);
}

.azimuth-cell[b-loejnfszcs] {
    white-space: nowrap;
}

/* Badges */
.badge[b-loejnfszcs] {
    display: inline-block;
    padding: 2px var(--space-sm);
    border-radius: var(--radius-full);
    font-size: var(--font-xs);
    font-weight: var(--font-semibold);
    line-height: 1.4;
}

.badge-conf[b-loejnfszcs] {
    margin-left: var(--space-xs);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.badge-conf.conf-high[b-loejnfszcs] {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.badge-conf.conf-low[b-loejnfszcs] {
    background: var(--warning-bg);
    color: var(--warning-text);
    border: 1px solid var(--warning-border);
}

.badge-los.los-clear[b-loejnfszcs] {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.badge-los.los-blocked[b-loejnfszcs] {
    background: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-border);
}

.badge-viability.viability-excellent[b-loejnfszcs] {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.badge-viability.viability-good[b-loejnfszcs] {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
    opacity: 0.85;
}

.badge-viability.viability-marginal[b-loejnfszcs] {
    background: var(--warning-bg);
    color: var(--warning-text);
    border: 1px solid var(--warning-border);
}

.badge-viability.viability-notviable[b-loejnfszcs] {
    background: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-border);
}

/* Empty states */
.planner-empty[b-loejnfszcs] {
    padding: var(--space-xl);
    text-align: center;
    color: var(--text-muted);
}

.planner-empty-hint[b-loejnfszcs] {
    font-size: var(--font-sm);
    margin-top: var(--space-sm);
}

.planner-empty-state[b-loejnfszcs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-3xl) var(--space-xl);
    color: var(--text-muted);
    text-align: center;
    background: var(--bg-card);
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-lg);
}

.planner-map-note[b-loejnfszcs] {
    margin: var(--space-md) 0 0 0;
    font-size: var(--font-xs);
    color: var(--text-muted);
    font-style: italic;
}

.planner-admin-section[b-loejnfszcs] {
    margin-top: var(--space-2xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--border-subtle);
}

/* Responsive */
@media (max-width: 768px) {
    .planner-form-grid[b-loejnfszcs] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .planner-form-grid[b-loejnfszcs] {
        grid-template-columns: 1fr;
    }
    .planner-verdict[b-loejnfszcs] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/Ayva.Network.Coverage/Pages/SharedAnalysis.razor.rz.scp.css */
/* SharedAnalysis — Public shared analysis page matching HUD aesthetic */

.shared-root[b-mrl1uaoivp] {
    min-height: 100vh;
    background: var(--bg-primary, rgba(15, 23, 42, 0.95));
    color: var(--text-primary, #f8fafc);
    font-family: var(--font-primary, -apple-system, BlinkMacSystemFont, sans-serif);
    padding: 24px;
    max-width: 900px;
    margin: 0 auto;
}

/* Loading */
.shared-loading[b-mrl1uaoivp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    gap: 16px;
    color: var(--text-muted, #94a3b8);
}

.shared-spinner[b-mrl1uaoivp] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
    border-top-color: var(--accent-color, #6366f1);
    border-radius: 50%;
    animation: spin-b-mrl1uaoivp 0.8s linear infinite;
}

@keyframes spin-b-mrl1uaoivp {
    to { transform: rotate(360deg); }
}

/* Error */
.shared-error[b-mrl1uaoivp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    gap: 16px;
    color: var(--text-muted, #94a3b8);
    text-align: center;
}

.shared-error h2[b-mrl1uaoivp] {
    color: var(--text-primary, #f8fafc);
    font-size: 24px;
    margin: 0;
}

.shared-error p[b-mrl1uaoivp] {
    margin: 0;
    max-width: 400px;
}

/* Expired view (W2.5 polish) */
.shared-expired .expired-brand[b-mrl1uaoivp] {
    margin-bottom: 8px;
}

.shared-expired .expired-when[b-mrl1uaoivp] {
    color: var(--text-secondary, #cbd5e1);
}

.shared-expired .expired-when strong[b-mrl1uaoivp] {
    color: var(--warning-color, #f59e0b);
    font-weight: 600;
}

.shared-expired .expired-why[b-mrl1uaoivp] {
    max-width: 460px;
    line-height: 1.5;
}

.shared-expired .expired-actions[b-mrl1uaoivp] {
    margin-top: 8px;
    padding: 10px 16px;
    border: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
    border-radius: var(--radius-md, 8px);
    background: var(--bg-secondary, rgba(30, 41, 59, 0.8));
}

.shared-expired .expired-hint[b-mrl1uaoivp] {
    font-size: 12px;
    color: var(--text-secondary, #cbd5e1);
}

/* Not-found view (W4) — parity with the expired card */
.shared-notfound .notfound-brand[b-mrl1uaoivp] {
    margin-bottom: 8px;
}

.shared-notfound .notfound-why[b-mrl1uaoivp] {
    max-width: 460px;
    line-height: 1.5;
}

.shared-notfound .notfound-actions[b-mrl1uaoivp] {
    margin-top: 8px;
    padding: 10px 16px;
    border: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
    border-radius: var(--radius-md, 8px);
    background: var(--bg-secondary, rgba(30, 41, 59, 0.8));
}

.shared-notfound .notfound-hint[b-mrl1uaoivp] {
    font-size: 12px;
    color: var(--text-secondary, #cbd5e1);
}

/* Header */
.shared-header[b-mrl1uaoivp] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
}

.shared-brand[b-mrl1uaoivp] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-color, #6366f1);
    font-family: var(--font-display, 'Comfortaa', sans-serif);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.shared-title[b-mrl1uaoivp] {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    color: var(--text-primary, #f8fafc);
}

.shared-header-right[b-mrl1uaoivp] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.shared-date[b-mrl1uaoivp],
.shared-expires[b-mrl1uaoivp] {
    font-size: 11px;
    font-family: var(--font-mono, monospace);
    color: var(--text-muted, #94a3b8);
}

/* W3.3 — staff deep link into the 3D viewer (share-token form, no coords) */
.shared-open-viewer[b-mrl1uaoivp] {
    font-size: 11px;
    font-family: var(--font-mono, monospace);
    color: var(--accent-color);
    border: 1px solid var(--accent-color);
    border-radius: var(--radius-sm);
    padding: 3px 10px;
    text-decoration: none;
    transition: var(--transition-fast);
}

.shared-open-viewer:hover[b-mrl1uaoivp] {
    background: var(--accent-color-10, rgba(99, 102, 241, 0.1));
}

/* W3.8 — coarse-coordinates honesty hint */
.shared-coarse-hint[b-mrl1uaoivp] {
    margin: 8px 0 0;
    font-size: 11px;
    color: var(--text-muted, #94a3b8);
    font-style: italic;
}

/* Viability Banner */
.shared-viability[b-mrl1uaoivp] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 20px;
    border-radius: var(--radius-md, 8px);
    margin-bottom: 20px;
    font-family: var(--font-mono, monospace);
}

.shared-viability.viability-excellent[b-mrl1uaoivp] { background: var(--success-bg, rgba(16, 185, 129, 0.15)); border: 1px solid var(--success-border, rgba(16, 185, 129, 0.3)); }
.shared-viability.viability-good[b-mrl1uaoivp] { background: var(--success-bg, rgba(16, 185, 129, 0.15)); border: 1px solid var(--success-border, rgba(16, 185, 129, 0.3)); }
.shared-viability.viability-marginal[b-mrl1uaoivp] { background: var(--warning-bg, rgba(245, 158, 11, 0.15)); border: 1px solid var(--warning-border, rgba(245, 158, 11, 0.3)); }
.shared-viability.viability-notviable[b-mrl1uaoivp] { background: var(--error-bg, rgba(239, 68, 68, 0.15)); border: 1px solid var(--error-border, rgba(239, 68, 68, 0.3)); }

.viability-label[b-mrl1uaoivp] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #94a3b8);
}

.viability-value[b-mrl1uaoivp] {
    font-size: 18px;
    font-weight: 700;
}

.viability-excellent .viability-value[b-mrl1uaoivp] { color: var(--success-color, #10b981); }
.viability-good .viability-value[b-mrl1uaoivp] { color: var(--success-text, #34d399); }
.viability-marginal .viability-value[b-mrl1uaoivp] { color: var(--warning-color, #f59e0b); }
.viability-notviable .viability-value[b-mrl1uaoivp] { color: var(--error-color, #ef4444); }

.viability-margin[b-mrl1uaoivp] {
    margin-left: auto;
    font-size: 13px;
    color: var(--text-secondary, #cbd5e1);
}

/* Provenance badges (W2.5) */
.shared-provenance[b-mrl1uaoivp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.prov-badge[b-mrl1uaoivp] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--radius-sm, 4px);
    font-size: 11px;
    font-family: var(--font-mono, monospace);
    letter-spacing: 0.03em;
}

.prov-badge.prov-real[b-mrl1uaoivp] {
    background: var(--success-bg, rgba(16, 185, 129, 0.15));
    border: 1px solid var(--success-border, rgba(16, 185, 129, 0.3));
    color: var(--success-text, #34d399);
}

.prov-badge.prov-synthetic[b-mrl1uaoivp] {
    background: var(--warning-bg, rgba(245, 158, 11, 0.15));
    border: 1px solid var(--warning-border, rgba(245, 158, 11, 0.3));
    color: var(--warning-color, #f59e0b);
}

.prov-badge.prov-source[b-mrl1uaoivp],
.prov-badge.prov-coverage[b-mrl1uaoivp] {
    background: var(--bg-secondary, rgba(30, 41, 59, 0.8));
    border: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
    color: var(--text-secondary, #cbd5e1);
}

.prov-note[b-mrl1uaoivp] {
    font-size: 11px;
    color: var(--warning-color, #f59e0b);
    flex-basis: 100%;
}

/* Terrain cross-section (W2.5) */
.shared-cross-section img[b-mrl1uaoivp] {
    width: 100%;
    display: block;
    border-radius: var(--radius-sm, 4px);
}

/* Screenshot */
.shared-screenshot[b-mrl1uaoivp] {
    margin-bottom: 20px;
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
    border: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
}

.shared-screenshot img[b-mrl1uaoivp] {
    width: 100%;
    display: block;
}

/* Grid */
.shared-grid[b-mrl1uaoivp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

/* Cards */
.shared-card[b-mrl1uaoivp] {
    background: var(--bg-secondary, rgba(30, 41, 59, 0.8));
    border: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
    border-radius: var(--radius-md, 8px);
    padding: 16px;
}

.shared-card.full-width[b-mrl1uaoivp] {
    margin-bottom: 16px;
}

.shared-card-title[b-mrl1uaoivp] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent-color-light, #a5b4fc);
    margin: 0 0 12px;
    font-weight: 600;
}

/* Endpoints */
.shared-endpoints[b-mrl1uaoivp] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.shared-endpoint[b-mrl1uaoivp] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex: 1;
}

.endpoint-role[b-mrl1uaoivp] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 2px;
}

.endpoint-role.source[b-mrl1uaoivp] { background: var(--accent-color-20, rgba(99, 102, 241, 0.2)); color: var(--accent-color, #6366f1); }
.endpoint-role.target[b-mrl1uaoivp] { background: var(--success-color-20, rgba(16, 185, 129, 0.2)); color: var(--success-color, #10b981); }

.endpoint-info[b-mrl1uaoivp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.endpoint-name[b-mrl1uaoivp] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary, #f8fafc);
}

.endpoint-coords[b-mrl1uaoivp] {
    font-size: 11px;
    font-family: var(--font-mono, monospace);
    color: var(--text-muted, #94a3b8);
}

.endpoint-height[b-mrl1uaoivp] {
    font-size: 11px;
    color: var(--text-muted, #94a3b8);
}

.shared-endpoint-arrow[b-mrl1uaoivp] {
    flex-shrink: 0;
}

.shared-equipment[b-mrl1uaoivp] {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.1));
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.equip-item[b-mrl1uaoivp] {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.equip-label[b-mrl1uaoivp] { color: var(--text-muted, #94a3b8); }
.equip-value[b-mrl1uaoivp] { color: var(--text-secondary, #cbd5e1); font-family: var(--font-mono, monospace); }

/* Metrics */
.shared-metrics[b-mrl1uaoivp] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.metric-item[b-mrl1uaoivp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.metric-label[b-mrl1uaoivp] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #94a3b8);
}

.metric-value[b-mrl1uaoivp] {
    font-size: 18px;
    font-weight: 600;
    font-family: var(--font-mono, monospace);
    color: var(--text-primary, #f8fafc);
}

.metric-value.highlight[b-mrl1uaoivp] {
    color: var(--accent-color, #6366f1);
}

.metric-unit[b-mrl1uaoivp] {
    font-size: 10px;
    color: var(--text-muted, #94a3b8);
}

/* Link Budget Table */
.shared-budget-table[b-mrl1uaoivp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.shared-budget-table th[b-mrl1uaoivp] {
    text-align: left;
    padding: 8px 12px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #94a3b8);
    border-bottom: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.15));
    font-weight: 600;
}

.shared-budget-table td[b-mrl1uaoivp] {
    padding: 6px 12px;
    border-bottom: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.08));
    color: var(--text-secondary, #cbd5e1);
}

.shared-budget-table .value-col[b-mrl1uaoivp] {
    text-align: right;
    font-family: var(--font-mono, monospace);
}

.shared-budget-table .gain-row .value-col[b-mrl1uaoivp] { color: var(--success-text, #34d399); }
.shared-budget-table .loss-row .value-col[b-mrl1uaoivp] { color: var(--error-text, #f87171); }

.shared-budget-table .total-row td[b-mrl1uaoivp] {
    border-top: 2px solid var(--accent-color-30, rgba(99, 102, 241, 0.3));
    border-bottom: none;
    padding-top: 10px;
    color: var(--accent-color, #6366f1);
}

/* Path Stats */
.shared-path-stats[b-mrl1uaoivp] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.stat-item[b-mrl1uaoivp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-label[b-mrl1uaoivp] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #94a3b8);
}

.stat-value[b-mrl1uaoivp] {
    font-size: 14px;
    font-family: var(--font-mono, monospace);
    color: var(--text-primary, #f8fafc);
}

/* Rain Note */
.rain-note p[b-mrl1uaoivp] {
    margin: 0;
    font-size: 13px;
}

.rain-warning[b-mrl1uaoivp] {
    color: var(--warning-color, #f59e0b);
}

.rain-ok[b-mrl1uaoivp] {
    color: var(--success-text, #34d399);
}

/* Footer */
.shared-footer[b-mrl1uaoivp] {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle, rgba(148, 163, 184, 0.1));
    font-size: 11px;
    color: var(--text-muted, #64748b);
    font-family: var(--font-mono, monospace);
}

/* Responsive */
@media (max-width: 640px) {
    .shared-root[b-mrl1uaoivp] { padding: 16px; }
    .shared-grid[b-mrl1uaoivp] { grid-template-columns: 1fr; }
    .shared-endpoints[b-mrl1uaoivp] { flex-direction: column; }
    .shared-endpoint-arrow[b-mrl1uaoivp] { transform: rotate(90deg); }
    .shared-path-stats[b-mrl1uaoivp] { grid-template-columns: repeat(2, 1fr); }
    .shared-header[b-mrl1uaoivp] { flex-direction: column; gap: 8px; }
    .shared-header-right[b-mrl1uaoivp] { align-items: flex-start; }
    .shared-viability[b-mrl1uaoivp] { flex-wrap: wrap; }
}
