/* Secure Ticket Credentials — all selectors are prefixed with .stc- */

/* ---------- Client panel (Bootstrap 4 / Twenty-One) ---------- */
.stc-panel {
    --stc-accent: #0d6efd;
    --stc-accent-soft: #eaf2ff;
    --stc-ink: #1f2933;
    --stc-muted: #5b6770;
    --stc-ok: #1e7e34;
    --stc-ok-soft: #e6f4ea;
    border: 1px solid #d5dde5;
    border-left: 5px solid var(--stc-accent);
    border-radius: 6px;
    margin: 1.25rem 0;
    color: var(--stc-ink);
}
.stc-title {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0 0 .9rem;
}
.stc-lock { color: var(--stc-accent); flex: 0 0 auto; }
.stc-notice {
    background: var(--stc-accent-soft);
    border: 1px solid #c7dbff;
    border-radius: 6px;
    padding: .85rem 1rem;
    margin-bottom: 1rem;
}
.stc-notice-lead {
    font-weight: 700;
    font-size: 1rem;
    margin: 0 0 .4rem;
}
.stc-notice-list {
    margin: 0;
    padding-left: 1.2rem;
}
.stc-notice-list li { margin: .15rem 0; }
.stc-alert { margin-bottom: 1rem; }
.stc-req { color: #b02a37; }
.stc-row { margin-bottom: 0; }
.stc-password { display: flex; gap: .4rem; }
.stc-password .form-control { flex: 1 1 auto; }
.stc-toggle { white-space: nowrap; flex: 0 0 auto; }
.stc-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: .5rem;
}
.stc-inline-form { display: inline; margin: 0; }
.stc-stored { margin-bottom: .75rem; }
.stc-stored-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    margin-bottom: .5rem;
}
.stc-badge {
    display: inline-block;
    background: var(--stc-ok-soft);
    color: var(--stc-ok);
    border: 1px solid #b7dfc2;
    border-radius: 999px;
    padding: .1rem .65rem;
    font-size: .85rem;
    font-weight: 600;
}
.stc-muted { color: var(--stc-muted); font-size: .9rem; }
.stc-dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .25rem 1rem;
    margin: 0 0 .5rem;
}
.stc-dl dt { font-weight: 600; }
.stc-dl dd { margin: 0; word-break: break-all; }
.stc-status {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1rem;
    border-radius: 6px;
    background: #f3f5f7;
    border: 1px solid #d5dde5;
}
.stc-status-purged {
    background: var(--stc-ok-soft);
    border-color: #b7dfc2;
    color: var(--stc-ok);
    font-weight: 600;
}
.stc-panel .btn:focus-visible,
.stc-panel .form-control:focus-visible,
.stc-panel a:focus-visible,
.stc-panel select:focus-visible,
.stc-panel textarea:focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
    box-shadow: none;
}
@media (max-width: 575.98px) {
    .stc-dl { grid-template-columns: 1fr; }
    .stc-dl dt { margin-top: .35rem; }
    .stc-actions .btn, .stc-actions form { width: 100%; }
    .stc-actions .btn { display: block; }
}
@media (prefers-reduced-motion: no-preference) {
    .stc-panel { transition: box-shadow .2s ease; }
    .stc-panel:target { box-shadow: 0 0 0 4px #c7dbff; }
}

/* ---------- Open-ticket notice (client, Bootstrap 4) ---------- */
.stc-submit-notice {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
    background: #eaf2ff;
    border: 1px solid #c7dbff;
    border-left: 5px solid #0d6efd;
    border-radius: 6px;
    padding: .9rem 1rem;
    margin: 0 0 1rem;
    color: #1f2933;
}
.stc-submit-notice-icon { color: #0d6efd; flex: 0 0 auto; margin-top: .1rem; }
.stc-submit-notice-body { flex: 1 1 auto; min-width: 0; }
.stc-submit-notice-title { font-weight: 700; font-size: 1rem; margin: 0 0 .3rem; }
.stc-submit-notice-text { margin: 0 0 .25rem; }
.stc-submit-notice-text:last-child { margin-bottom: 0; }
@media (max-width: 575.98px) {
    .stc-submit-notice { flex-direction: column; gap: .4rem; }
}

/* ---------- Admin panel (Bootstrap 3 / Blend) ---------- */
.stc-admin-panel {
    border: 1px solid #d5dde5;
    border-left: 5px solid #0d6efd;
    border-radius: 4px;
    background: #fff;
    padding: 12px 15px;
    margin: 12px 0;
}
.stc-admin-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.stc-admin-head .stc-lock { color: #0d6efd; }
.stc-admin-audit-link { margin-left: auto; font-size: 12px; }
.stc-admin-status { margin: 4px 0; }
.stc-admin-status-ok { color: #1e7e34; font-weight: 600; }
.stc-admin-status-warn { color: #8a6d3b; }
.stc-admin-meta { margin: 0 0 8px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.stc-admin-table { margin-bottom: 8px; }
.stc-admin-table th { width: 130px; }
.stc-admin-value {
    display: inline-block;
    min-width: 120px;
    max-width: 100%;
    white-space: pre-wrap;
    word-break: break-all;
    user-select: all;
}
.stc-admin-copy-cell { width: 80px; text-align: right; }
.stc-admin-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.stc-admin-msg { font-size: 12px; color: #5b6770; }
.stc-admin-hint { margin: 6px 0 0; }
.stc-admin-page .stc-admin-nav { margin-bottom: 15px; }
.stc-tool-form { margin-bottom: 15px; }
.stc-audit-filter { margin-bottom: 10px; }
.stc-audit-filter label { margin: 0 4px 0 8px; }
.stc-audit-table .stc-ua { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stc-admin-panel .btn:focus-visible, .stc-admin-panel a:focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}

.stc-narrow { max-width: 420px; }
.stc-keygen { border: 1px solid #f0d58c; background: #fff8e1; border-radius: 4px; padding: 12px 15px; margin: 12px 0; }
.stc-keygen h4 { margin-top: 0; }
.stc-sidebar-body { padding: 8px 12px; }
