/* Canonical Admin control states (style guide: Control state matrix, Do and do not):
   square corners for every control and alert surface (tags keep 4px by spec),
   44px minimum hitboxes, and the #3273DC shell focus ring. */

/* !important overrides Bulma's compound "outline: none" on form control focus */
:focus-visible {
    outline: 2px solid #3273dc !important;
    outline-offset: 2px;
}

.input,
.textarea,
.select select,
.button,
.file-cta,
.file-name,
.message,
.notification {
    border-radius: 0;
}

.input,
.select select,
.button,
.file-cta,
.file-name {
    min-height: 44px;
}

.textarea {
    min-height: 7rem;
}

.input:focus,
.textarea:focus,
.select select:focus,
.file-cta:focus,
.file-name:focus,
.pagination-previous:focus,
.pagination-next:focus,
.pagination-link:focus,
.pagination-ellipsis:focus,
.input.is-focused,
.textarea.is-focused,
.select select.is-focused,
.file-cta.is-focused,
.file-name.is-focused {
    border-color: #485fc7;
    box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}

.button:focus:not(:active),
.button.is-focused:not(:active),
.button.is-primary:focus:not(:active),
.button.is-primary.is-focused:not(:active) {
    box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}

.auth-primary-submit {
    background-color: #206FDF;
    border-color: #206FDF;
    border-radius: 0;
    color: #FFFFFF;
    font-weight: 800;
    width: 100%;
}

.auth-primary-submit:hover,
.auth-primary-submit:focus {
    background-color: #0B3992;
    border-color: #0B3992;
    color: #FFFFFF;
}

/* Standard primary paint (style guide: Buttons and links) for primary actions
   on authenticated pages; mirrors the guide's specimen class. */
.button.standard-primary {
    background-color: #206FDF;
    border-color: #206FDF;
    color: #FFFFFF;
}

.button.standard-primary:hover,
.button.standard-primary:focus,
.button.standard-primary:active {
    background-color: #0B3992;
    border-color: #0B3992;
    color: #FFFFFF;
}

/* Table row action bar (style guide: Buttons and links) - a right-aligned
   joined square icon bar; each segment is a 44px unit with no gaps. */
.button.is-square {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    width: 44px;
}

.table .buttons {
    margin: 0;
}

.table .buttons.has-addons {
    display: inline-flex;
    justify-content: flex-end;
}

.table .buttons.has-addons .button {
    margin: 0;
}

.table .buttons.has-addons .button + .button {
    margin-left: -1px;
}

/* Text "view" link in a table action cell (style guide: Buttons and links) -
   sits below the joined icon bar and names the destination. */
.table-link-action {
    margin-top: 0.35rem;
}

.table-link-action a,
.table-link-action .table-view-trigger {
    color: #485fc7;
    font-size: 0.75rem;
    font-weight: 600;
}

.table-link-action a:hover,
.table-link-action a:focus,
.table-link-action .table-view-trigger:hover,
.table-link-action .table-view-trigger:focus {
    color: #3642a2;
}

.table-view-trigger {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-family: inherit;
    line-height: inherit;
}

/* Masked verification-code disclosure (case-detail connection lists): the
   6-digit invite code is not shown at a glance. A native <details> keeps the
   value out of the collapsed cell and expands it on explicit click. Square,
   thin, and marker-less so it reads as a value rather than a nested section. */
.verification-code-cell {
    display: inline-block;
}

.verification-code-cell summary {
    cursor: pointer;
    list-style: none;
    color: #485fc7;
    font-weight: 600;
    letter-spacing: 0.1em;
    user-select: none;
}

.verification-code-cell summary::-webkit-details-marker {
    display: none;
}

.verification-code-cell summary::before {
    content: "Reveal  ";
    letter-spacing: 0;
    font-weight: 600;
    font-size: 0.75rem;
}

.verification-code-cell[open] summary::before {
    content: "Hide  ";
}

.verification-code-cell[open] code {
    display: block;
    margin-top: 0.35rem;
    color: #363636;
}

/* Flat underline tabs (shared with the portal shell standard): transparent
   background, 1px bottom border, no boxing. Replaces Bulma's .tabs.is-boxed. */
.tabs.admin-tabs {
    align-items: center;
    border-bottom: 1px solid #cbd8ea;
    display: flex;
    min-height: 56px;
    margin-bottom: 0;
}
.tabs.admin-tabs ul {
    background-color: transparent;
    border: none;
    border-radius: 0;
    display: flex;
    flex: 1 1 auto;
    gap: 0;
    list-style: none;
    margin: 0;
    min-width: 0;
    padding: 0;
}
.tabs.admin-tabs li {
    margin: 0;
}
.tabs.admin-tabs li a {
    align-items: center;
    border: none;
    border-bottom: 2px solid transparent;
    color: #4a4a4a;
    display: inline-flex;
    gap: 0.375rem;
    margin: 0;
    padding: 0.75rem 1rem;
    text-decoration: none;
    transition: color 0.15s, border-color 0.15s;
}
.tabs.admin-tabs li a:hover {
    color: #0a0a0a;
}
.tabs.admin-tabs li.is-active a {
    border-bottom-color: #206fdf;
    color: #206fdf;
    font-weight: 600;
    margin-bottom: -1px;
}
