/* /Components/Common/AccessStatusCard.razor.rz.scp.css */
.access-status-card[b-pg4rbxvp9p] {
    box-sizing: border-box;
    width: min(100%, 30rem);
    padding: 2rem;
    overflow-wrap: anywhere;
    text-align: center;
    color: var(--ink);
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

.access-status-icon[b-pg4rbxvp9p] {
    display: inline-flex;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 1.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.access-status-icon.brand[b-pg4rbxvp9p] {
    color: var(--brand);
    background-color: var(--brand-tint);
}

.access-status-icon.danger[b-pg4rbxvp9p] {
    color: var(--danger);
    background-color: var(--danger-tint);
}

.access-status-icon.warning[b-pg4rbxvp9p] {
    color: var(--warn);
    background-color: var(--warn-tint);
}

.access-status-icon .material-symbols-outlined[b-pg4rbxvp9p] {
    font-size: 2rem;
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

h1[b-pg4rbxvp9p] {
    margin: 0 0 .75rem;
    color: var(--ink);
    font-family: var(--font-head);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
}

p[b-pg4rbxvp9p] {
    max-width: 38ch;
    margin: 0 auto;
    color: var(--ink-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.access-status-action[b-pg4rbxvp9p] {
    display: inline-block;
    margin-top: 1.5rem;
    color: var(--brand);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: .08em;
    text-underline-offset: .18em;
}

.access-status-action:hover[b-pg4rbxvp9p] {
    color: var(--brand);
    text-decoration-thickness: .12em;
}

.access-status-action:focus-visible[b-pg4rbxvp9p] {
    border-radius: .25rem;
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    .access-status-card[b-pg4rbxvp9p] {
        padding: 1.5rem 1.25rem;
    }
}
/* /Components/Common/BankIdAnimatedQr.razor.rz.scp.css */
/* shared styling for both buttons */
.qr-button[b-rg6z91esx2],
.extend-button[b-rg6z91esx2] {
    /* remove native chrome */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    padding: 0;
    background: none;
    /* custom “Edge-like” look */
    background-color: #f2f2f2;
    border: 1px solid #000000; /* your black border */
    border-radius: 2px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
    /* ensure proper sizing & SVG/text alignment */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1; /* normal line height for text */
    padding: 0.5em 1em; /* give your text some breathing room */
    font: inherit; /* match parent font */
    cursor: pointer;
}

    /* kill Firefox’s inner focus padding */
    .qr-button[b-rg6z91esx2]::-moz-focus-inner,
    .extend-button[b-rg6z91esx2]::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

    /* custom focus ring */
    .qr-button:focus[b-rg6z91esx2],
    .extend-button:focus[b-rg6z91esx2] {
        outline: 2px solid #6ca0dc;
        outline-offset: 0;
    }
/* /Components/Common/FeatureCard.razor.rz.scp.css */
.feature-card[b-z65cdkudhr] {
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 100%;
    padding: 22px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-card);
    cursor: pointer;
    animation: scaFade .4s ease both;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

    .feature-card:hover[b-z65cdkudhr] {
        border-color: var(--brand-border);
        box-shadow: var(--shadow-card-hover);
        transform: translateY(-2px);
    }

    .feature-card:focus-visible[b-z65cdkudhr] {
        outline: 2px solid var(--brand);
        outline-offset: 2px;
    }

.feature-card-top[b-z65cdkudhr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.feature-card-icon-tile[b-z65cdkudhr] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: var(--brand-tint);
    color: var(--brand);
    font-size: 1.35rem;
    flex: 0 0 auto;
}

.feature-card-cat[b-z65cdkudhr] {
    font: 500 11px/1 var(--font-body);
    color: var(--ink-soft);
    background: var(--app-bg);
    padding: 6px 10px;
    border-radius: 20px;
    white-space: nowrap;
}

.feature-card-body[b-z65cdkudhr] {
    margin-top: 18px;
}

.feature-card-title[b-z65cdkudhr] {
    font: 600 16px/1.25 var(--font-body);
    color: var(--ink);
}

.feature-card-desc[b-z65cdkudhr] {
    font: 400 13px/1.55 var(--font-body);
    color: var(--ink-soft);
    margin-top: 7px;
}

.feature-card-action[b-z65cdkudhr] {
    display: flex;
    align-items: center;
    /* auto pushes the action to the card bottom so it aligns across cards
       regardless of description length; 18px keeps a minimum gap. */
    margin-top: auto;
    padding-top: 18px;
}

.feature-card-start[b-z65cdkudhr] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font: 600 12.5px/1 var(--font-body);
    color: var(--brand);
}

    .feature-card-start .bi[b-z65cdkudhr] {
        transition: transform .15s ease;
    }

.feature-card:hover .feature-card-start .bi[b-z65cdkudhr] {
    transform: translateX(3px);
}
/* /Components/Common/HistoryDropdown.razor.rz.scp.css */
/* Tidigare samtal – WCAG: läsbarhet, kontrast, fokus (2.4.7, 1.4.12, 2.5.5) */

.history-clock[b-iejfsu1pm0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.75rem;
    min-height: 2.35rem;
    background-color: transparent;
    border: none;
    border-radius: 9px;
    width: 100%;
    color: var(--side-dim);
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.35;
    letter-spacing: normal;
    text-align: center;
    transition: background-color 0.15s ease;
}

.history-clock:hover[b-iejfsu1pm0] {
    background-color: var(--side-surface);
    color: var(--side-ink);
}

.history-clock:focus-visible[b-iejfsu1pm0] {
    outline: 2px solid var(--side-accent);
    outline-offset: 2px;
}

.history-clock .time-main[b-iejfsu1pm0] {
    font-size: 0.9375rem;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.history-separator[b-iejfsu1pm0] {
    border: 0;
    border-top: 1px solid var(--side-line);
    margin: 0.35rem 0.75rem;
    width: 60%;
    align-self: center;
}

.history-clock.active[b-iejfsu1pm0] {
    background-color: var(--side-accent-tint);
    color: var(--side-ink);
}

.history-item[b-iejfsu1pm0] {
    width: 100%;
    display: block;
    padding: 0.4rem 1rem;
    min-height: 2.75rem;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 0.90rem;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: normal;
    background-color: transparent;
    border-radius: 9px;
    text-align: left;
    border: none;
    color: var(--side-dim);
    text-decoration: none;
    transition: background-color 0.15s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}

.history-item:hover[b-iejfsu1pm0] {
    background-color: var(--side-surface);
    color: var(--side-ink);
}

.history-item:focus-visible[b-iejfsu1pm0] {
    outline: 2px solid var(--side-accent);
    outline-offset: 2px;
}

.history-item.active[b-iejfsu1pm0] {
    background-color: var(--side-accent-tint);
    color: var(--side-ink);
}

.history-row[b-iejfsu1pm0] {
    display: flex;
    align-items: center;
    min-width: 0;
}


/* Grupprubriker (Idag, Igår …) – tydlig kontrast WCAG AA */
[b-iejfsu1pm0] .dropdown-header {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    line-height: 1.35;
    padding-top: 0.6rem;
    padding-bottom: 0.35rem;
    color: var(--side-dim);
    /* Quieter than the meeting rows so the date acts as a section label,
       while still clearing WCAG AA (~5.6-6.2:1 across palettes). */
    opacity: 0.72;
}

/* /Components/Common/KebabMenu.razor.rz.scp.css */
.kebab-wrap[b-4pfvdbxp1f] {
    position: relative;
    display: inline-flex;
}

.kebab-btn[b-4pfvdbxp1f] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    border: none;
    background: transparent;
    color: var(--ink-soft);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background .15s ease, color .15s ease;
}

    .kebab-btn:hover[b-4pfvdbxp1f] {
        background: var(--inset);
        color: var(--ink);
    }

    /* Variant for dark surfaces (e.g. the sidebar recent-calls list) */
    .kebab-btn.on-dark[b-4pfvdbxp1f] {
        color: var(--side-dim);
    }

        .kebab-btn.on-dark:hover[b-4pfvdbxp1f] {
            background: var(--side-surface);
            color: var(--side-ink);
        }

.kebab-backdrop[b-4pfvdbxp1f] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: transparent;
}

.kebab-panel[b-4pfvdbxp1f] {
    /* position / top / left / visibility are set inline by KebabMenu (fixed, or absolute fallback) */
    z-index: 1001;
    min-width: 200px;
    padding: 6px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-card-hover);
    display: flex;
    flex-direction: column;
    gap: 2px;
    animation: scaPop .14s ease both;
}

/* Menu rows — also applied to buttons rendered by child components (Delete/Clean) */
[b-4pfvdbxp1f] .kebab-item {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    text-align: left;
    justify-content: flex-start;
    padding: 9px 11px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font: 500 13.5px/1.2 var(--font-body);
    color: var(--ink-mid);
    cursor: pointer;
    white-space: nowrap;
}

    [b-4pfvdbxp1f] .kebab-item:hover:not(:disabled) {
        background: var(--inset);
        color: var(--ink);
    }

    [b-4pfvdbxp1f] .kebab-item:disabled {
        opacity: .55;
        cursor: not-allowed;
    }

    [b-4pfvdbxp1f] .kebab-item.danger {
        color: var(--danger);
    }

        [b-4pfvdbxp1f] .kebab-item.danger:hover:not(:disabled) {
            background: var(--danger-bg);
            color: var(--danger);
        }
/* /Components/Common/SessionExpiredModal.razor.rz.scp.css */
/* /Components/Common/SettingsDialog.razor.rz.scp.css */
.settings-body[b-09ifd1jjes] {
    padding: 4px 2px 6px;
}

.settings-section-label[b-09ifd1jjes] {
    font: 600 13px/1 var(--font-body);
    color: var(--ink);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.settings-section-desc[b-09ifd1jjes] {
    font: 400 13.5px/1.5 var(--font-body);
    color: var(--ink-soft);
    margin-top: 7px;
}

.theme-grid[b-09ifd1jjes] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 18px;
}

.theme-card[b-09ifd1jjes] {
    display: flex;
    align-items: center;
    gap: 13px;
    text-align: left;
    padding: 14px;
    border-radius: 14px;
    border: 2px solid var(--border);
    background: var(--card);
    cursor: pointer;
    transition: transform .12s ease, border-color .12s ease, background .12s ease;
}

    .theme-card:hover[b-09ifd1jjes] {
        transform: translateY(-2px);
    }

    .theme-card.active[b-09ifd1jjes] {
        border-color: var(--brand);
        background: var(--brand-tint);
    }

.theme-swatch[b-09ifd1jjes] {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.theme-meta[b-09ifd1jjes] {
    min-width: 0;
    flex: 1 1 0;
}

.theme-name[b-09ifd1jjes] {
    display: block;
    font: 600 14px/1.2 var(--font-body);
    color: var(--ink);
}

.theme-state[b-09ifd1jjes] {
    display: block;
    font: 500 11.5px/1.2 var(--font-body);
    color: var(--ink-faint);
    margin-top: 3px;
}

    .theme-state.selected[b-09ifd1jjes] {
        color: var(--brand);
    }

.settings-divider[b-09ifd1jjes] {
    height: 1px;
    background: var(--border);
    margin: 22px 0 18px;
}

.settings-logout[b-09ifd1jjes] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
    padding: 11px 18px;
    border-radius: 11px;
    border: 1px solid var(--danger-border);
    background: var(--danger-bg);
    color: var(--danger);
    font: 600 14px/1 var(--font-body);
    cursor: pointer;
    transition: transform .12s ease, filter .15s ease;
}

    .settings-logout:hover:not(:disabled)[b-09ifd1jjes] {
        transform: translateY(-1px);
    }

    .settings-logout:disabled[b-09ifd1jjes] {
        opacity: .7;
        cursor: not-allowed;
    }
/* /Components/CustomControls/LoginMethodSelector.razor.rz.scp.css */
.icon-container[b-zm5om8za9f] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem; /* fixed width matches fixed height */
    height: 5rem; /* replaces min-height/max-height */
}

.material-symbols-outlined.icon-symbol[b-zm5om8za9f] {
    font-size: 2.75rem; 
}

/* Example border states */
.border-subtle[b-zm5om8za9f] {
    border: 1px solid var(--bs-secondary); /* or whatever “subtle” gray you prefer */
    border-radius: 0.25rem;
}

.border-dark[b-zm5om8za9f] {
    border: 1px solid #000; /* on hover */
    border-radius: 0.25rem;
}

.border-secondary[b-zm5om8za9f] {
    border: 1px solid var(--bs-secondary); /* when selected */
    border-radius: 0.25rem;
}

.check-circle[b-zm5om8za9f] {
    position: absolute;
    top: -0.75rem;
    right: -0.75rem;
    font-size: 2rem;
    color: #28a745;
    background-color: white;
}

.material-symbols-outlined[b-zm5om8za9f] {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.login-container[b-zm5om8za9f] {
    width: fit-content;
    cursor: pointer;
}

/* Reset native button chrome so the control keeps its original look */
.login-method-btn[b-zm5om8za9f] {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: center;
}

/* Hover state (previously mouse-only via C#) now works for pointer and is
   mirrored by :focus-visible so keyboard users get the same affordance. */
.login-method-btn:hover .icon-container[b-zm5om8za9f] {
    border-color: #000 !important;
}

.login-method-btn:focus-visible[b-zm5om8za9f] {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
    border-radius: 0.5rem;
}

.bankid-icon[b-zm5om8za9f] {
    max-width: 100%;
    max-height: 100%;
}
/* /Components/CustomControls/Meeting/AudioLevelIndicator.razor.rz.scp.css */
/* Borderless waveform strip (brand bars on the card background). */
.audio-level-wrapper[b-e77uq0paum] {
    display: flex;
    justify-content: center;
    margin: 22px 0;
}

.canvas-container[b-e77uq0paum] {
    width: 100%;
    max-width: 440px;
}

canvas[b-e77uq0paum] {
    display: block;
    width: 100%;
    height: 72px;
    background: transparent;
}

.audio-level-wrapper.paused canvas[b-e77uq0paum] {
    opacity: 0.45;
    filter: grayscale(60%);
}
/* /Components/CustomControls/Meeting/MeetingFeedback.razor.rz.scp.css */
/* Feedback component wrapper and card styling */
.feedback-widget[b-4ulk86i58x] {
    background: var(--card); /* light gray background */
    border: 1px solid var(--border); /* subtle border */
    border-radius: 10px; /* rounded corners */
    padding: 0.75rem 0.75rem; /* internal spacing */
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    box-shadow: var(--shadow-card); /* slight drop shadow */
    transition: box-shadow 150ms;
    max-width: 400px; /* fixed max width */
    width: 100%; /* full width up to max */
    margin: 0.5rem auto; /* center horizontally */
    margin-top: 0.75rem;
    margin-bottom: 0.5rem;
    text-align: center;
    font-family: var(--font-body);
    position: relative;
}

    .feedback-widget.idle:hover[b-4ulk86i58x] {
        box-shadow: var(--shadow-card-hover);
    }

    /* Question text */
    .feedback-widget .question[b-4ulk86i58x] {
        margin-top: 0;
        margin-bottom: 0.4rem;
        font-size: 0.88rem;
    }

/* Emoji slider layout */
.emoji-slider[b-4ulk86i58x] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.4rem;
}

/* Each emoji item */
.emoji-item[b-4ulk86i58x] {
    position: relative;
    flex: 1;
    text-align: center;
}

    .emoji-item input[type="radio"][b-4ulk86i58x] {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

/* Material Symbols styling for emojis */
.emoji.material-symbols-outlined[b-4ulk86i58x] {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    color: var(--ink-faint);
    transition: transform 150ms, color 150ms;
    cursor: pointer;
}

    .emoji.material-symbols-outlined:hover[b-4ulk86i58x],
    .emoji.material-symbols-outlined.selected[b-4ulk86i58x] {
        color: var(--brand); /* accent color */
        transform: scale(1.3);
    }

/* Labels under the first and last emoji */
.labels[b-4ulk86i58x] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    font-size: 0.72rem;
    color: var(--ink-soft);
    margin-bottom: 0.4rem;
}

.labels span[b-4ulk86i58x] {
    white-space: nowrap;
}

.label-left[b-4ulk86i58x] {
    grid-column: 1;
    text-align: center;
}

.label-right[b-4ulk86i58x] {
    grid-column: 5;
    text-align: center;
}

/* Submit button (if you keep it) */
.btn-submit[b-4ulk86i58x] {
    background-color: var(--brand);
    border: none;
    color: #fff;
    padding: 0.6rem 1.4rem;
    font-size: 1rem;
    border-radius: 4px;
    cursor: pointer;
}

    .btn-submit:disabled[b-4ulk86i58x] {
        background-color: var(--border);
        cursor: not-allowed;
    }

/* Tiny countdown badge with subtle background + better contrast */
.autohide-timer[b-4ulk86i58x] {
    --size: 18px;
    --ring: #198754; /* progress color (success) */
    --track: rgba(0,0,0,.18); /* darker for contrast */
    --bg: rgba(25,135,84,.06); /* faint green tint */
    --border: rgba(25,135,84,.18);
    position: absolute;
    top: 6px;
    right: 6px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: var(--bg);
    box-shadow: inset 0 0 0 1px var(--border);
    display: grid;
    place-items: center;
}

.autohide-ring[b-4ulk86i58x] {
    width: 86%;
    height: 86%; /* small inner padding */
    transform-origin: 50% 50%;
    transform: rotate(-90deg) scaleY(-1);
}

    .autohide-ring .track[b-4ulk86i58x] {
        fill: none;
        stroke: var(--track);
        stroke-width: 2.5;
    }

    .autohide-ring .progress[b-4ulk86i58x] {
        --autohide-duration: 5s; /* tweak if needed */
        fill: none;
        stroke: var(--ring);
        stroke-width: 2.5;
        stroke-linecap: round;
        stroke-dasharray: 100;
        stroke-dashoffset: 0; /* FULL at start */
        filter: drop-shadow(0 0 1px rgba(25,135,84,.35)); /* subtle glow */
        animation: autohide-ring-drain-b-4ulk86i58x var(--autohide-duration) linear forwards;
    }

@keyframes autohide-ring-drain-b-4ulk86i58x {
    to {
        stroke-dashoffset: 100;
    }
    /* drain to empty */
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .autohide-ring .progress[b-4ulk86i58x] {
        animation: none;
    }
}

/* Default visible state */
.feedback-component[b-4ulk86i58x] {
    opacity: 1;
    transform: translateY(0);
    max-height: 400px; /* > widget height; adjust if needed */
    margin-top: 1rem; /* keep your current spacing */
    margin-bottom: .5rem;
    overflow: hidden;
    transition: opacity .3s ease, transform .3s ease, max-height .3s ease, margin .3s ease;
    will-change: opacity, transform, max-height, margin;
}

    /* Fade-out state */
    .feedback-component.is-hiding[b-4ulk86i58x] {
        opacity: 0;
        transform: translateY(-6px);
        max-height: 0;
        margin-top: 0;
        margin-bottom: 0;
        overflow: hidden; /* avoid content flash during collapse */
        pointer-events: none;
    }

/* Reduce motion support */
@media (prefers-reduced-motion: reduce) {
    .feedback-component[b-4ulk86i58x] {
        transition: none;
    }
}
/* /Components/CustomControls/Meeting/MeetingInfo.razor.rz.scp.css */
/* Mötesinformation as a top header divider (matches the demo). */
.meeting-header[b-2v6awihy6v] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding: 6px 2px 18px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 22px;
}

.meeting-title[b-2v6awihy6v] {
    font: 600 24px/1.1 var(--font-head);
    color: var(--ink);
    margin: 0;
}

.status-pill[b-2v6awihy6v] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font: 600 12px/1 var(--font-body);
    padding: 7px 12px;
    border-radius: 30px;
    background: var(--brand-tint);
    color: var(--brand);
    white-space: nowrap;
}

    .status-pill .status-dot[b-2v6awihy6v] {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: currentColor;
    }

    .status-pill.paused[b-2v6awihy6v] {
        background: var(--warn-tint);
        color: var(--warn);
    }

    .status-pill.error[b-2v6awihy6v] {
        background: var(--danger-bg);
        color: var(--danger);
    }

.meeting-purpose[b-2v6awihy6v] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    margin: 0 0 1rem;
    text-align: left;
    font-size: 0.95rem;
}

.meeting-purpose-label[b-2v6awihy6v] {
    color: var(--ink-soft);
    font-weight: 600;
}

.meeting-purpose-value[b-2v6awihy6v] {
    color: var(--ink);
    font-weight: 600;
}

.meeting-status-text[b-2v6awihy6v] {
    min-height: 1.25rem;
    margin-bottom: 1rem;
    color: var(--ink-soft);
    text-align: left;
}

    .meeting-status-text.is-error[b-2v6awihy6v] {
        color: var(--danger);
    }
/* /Components/CustomControls/Meeting/MeetingParticipantInput.razor.rz.scp.css */
/* Named away from Bootstrap's own ".input-group" — reusing that name made this
   row inherit Bootstrap's "joined group" corner-squaring rules (which zero the
   border-radius on adjoining sibling edges), so corners stayed square even once
   this row stacks vertically on mobile, where that join effect makes no sense. */
.participant-form .participant-input-row[b-7dej39yypg] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
    align-items: center;
}

    .participant-form .participant-input-row input[b-7dej39yypg],
    .participant-form .participant-input-row select[b-7dej39yypg] {
        padding: 10px;
        border: 1px solid var(--border);
        border-radius: 8px;
    }

    /* Always stretch input */
    .participant-form .participant-input-row input[b-7dej39yypg] {
        flex: 1 1 100%;
        min-width: 200px;
    }

    .participant-form .participant-input-row select[b-7dej39yypg] {
        flex: 1 1 auto; /* <-- select will grow to fill remaining width */
        min-width: 150px; /* Optional: to prevent it getting too small */
    }

    .participant-form .participant-input-row .button[b-7dej39yypg] {
        flex: 0 0 auto; /* <-- button stays natural width */
        white-space: nowrap;
    }

.button[b-7dej39yypg] {
    background: var(--brand);
    color: white;
    padding: 8px 15px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

    .button:hover[b-7dej39yypg] {
        background: var(--brand);
    }

/* Large screens: inline everything */
@media (min-width: 1310px) {
    .participant-form .participant-input-row input[b-7dej39yypg] {
        flex: 2 1 auto; /* Most space */
        min-width: 300px;
    }

    .participant-form .participant-input-row select[b-7dej39yypg] {
        flex: 1 1 auto; /* Select gets reasonable space */
        min-width: 200px;
    }

    .participant-form .participant-input-row button[b-7dej39yypg] {
        flex: 0 0 auto; /* Button stays compact */
    }
}

/* Stack elements vertically on very narrow screens */
@media (max-width: 576px) {
    .participant-form .participant-input-row input[b-7dej39yypg],
    .participant-form .participant-input-row select[b-7dej39yypg] {
        flex: 1 1 100%;
        margin-bottom: 0.5rem;
    }

    .participant-form .participant-input-row .button[b-7dej39yypg] {
        flex: 0 0 auto;
        width: 100%;
    }
}
/* /Components/CustomControls/Meeting/MeetingParticipantList.razor.rz.scp.css */
/* Base visual styles shared with MeetingInfo via .sidebar */
.participantlist-panel[b-41zmqssuq9] {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-card);
    padding: 18px;
    width: 20rem;
    text-align: left;
    height: 100%;
}

.participant-list[b-41zmqssuq9] {
    list-style: none;
    padding: 0;
}

/* Compact variant shown only alongside the finished summary. Smaller, shrinks to
   fit its participants (no full-height stretch) and can be dismissed via the X
   in its header (brought back from the summary kebab menu). */
.participantlist-panel--compact[b-41zmqssuq9] {
    padding: 14px;
    width: 14rem;
    height: auto;
}

    .participantlist-panel--compact .participant-list-header h3[b-41zmqssuq9] {
        font-size: 1rem;
        font-weight: normal;
    }

    .participantlist-panel--compact .participant-count[b-41zmqssuq9] {
        color: var(--ink-soft);
        font-weight: normal;
        margin-left: 4px;
    }

    .participantlist-panel--compact .participant-collapse-btn[b-41zmqssuq9] {
        background: none;
        border: none;
        color: var(--ink-soft);
        padding: 2px 6px;
        display: flex;
        align-items: center;
    }

        .participantlist-panel--compact .participant-collapse-btn:hover[b-41zmqssuq9] {
            color: var(--ink);
        }

    .participantlist-panel--compact .participant-list[b-41zmqssuq9] {
        margin-top: 10px;
        margin-bottom: 6px;
    }

.participant-item[b-41zmqssuq9] {
    padding: 10px 14px;
    border-radius: 13px;
    background: var(--inset);
    border: 1px solid var(--border);
    margin-bottom: 8px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.participant-info[b-41zmqssuq9] {
    display: flex;
    flex-direction: column; /* Stack name and role */
}

.participant-name[b-41zmqssuq9] {
    font-weight: bold;
    color: var(--ink);
}

.participant-role[b-41zmqssuq9] {
    font-size: 0.9em;
    color: var(--ink-soft);
}

.participant-remove-btn[b-41zmqssuq9] {
    background: none;
    border: none;
    color: var(--danger);
    padding: 0;
    display: flex;
    align-items: center;
    font-size: 1.75rem;
}

    .participant-remove-btn:hover[b-41zmqssuq9] {
        color: var(--danger);
    }

.participant-actions[b-41zmqssuq9] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.voice-record-btn[b-41zmqssuq9] {
    background: none;
    border: 1px solid var(--brand);
    color: var(--brand);
    padding: 2px 6px;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85rem;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}

    .voice-record-btn:hover:not(:disabled)[b-41zmqssuq9] {
        background: var(--brand);
        color: white;
    }

    .voice-record-btn:disabled[b-41zmqssuq9] {
        opacity: 0.5;
        cursor: default;
    }

    .voice-record-btn.recording[b-41zmqssuq9] {
        border-color: var(--danger);
        color: var(--danger);
        animation: pulse-border-b-41zmqssuq9 1s ease-in-out infinite;
    }

    .voice-record-btn.done[b-41zmqssuq9] {
        border-color: #198754;
        color: #198754;
    }

        .voice-record-btn.done:hover:not(:disabled)[b-41zmqssuq9] {
            background: #198754;
            color: white;
        }

.voice-countdown[b-41zmqssuq9] {
    font-size: 0.75rem;
    font-weight: bold;
    min-width: 1ch;
}

.voice-error[b-41zmqssuq9] {
    margin-bottom: 0;
}

@keyframes pulse-border-b-41zmqssuq9 {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.5; }
}

/* On mobile every variant of the panel spans the full row (the compact one too, so each
   participant stacks vertically across the whole width and the X stays in the top-right). */
@media (max-width: 991.98px) {
    .participantlist-panel[b-41zmqssuq9] {
        width: 100% !important;
    }
}
/* /Components/CustomControls/Meeting/MeetingRecordingControls.razor.rz.scp.css */
.recording-controls[b-leipo7z0rh] {
    display: flex !important;
    gap: 0.75rem;
    align-items: center;
    justify-content: center;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}

/* Match the demo: brand primary + neutral "card" secondary, rounded 12px */
.start-button[b-leipo7z0rh], .end-button[b-leipo7z0rh], .resume-button[b-leipo7z0rh], .pause-button[b-leipo7z0rh] {
    border-radius: 12px;
}

.pause-button[b-leipo7z0rh] {
    background: var(--card);
    color: var(--ink);
    border: 1px solid var(--border);
}

    .pause-button:hover:not(:disabled)[b-leipo7z0rh] {
        background: var(--inset);
        color: var(--ink);
        border-color: var(--border);
    }

 
.recording-controls.paused-layout .end-button.small[b-leipo7z0rh],
.recording-controls.paused-layout .cancel-button[b-leipo7z0rh] {
    width: min(200px, 100%);
    font-size: 1rem;
    padding: 0.45rem 1rem;
    white-space: normal;
    word-break: break-word;
    line-height: 1.3;
    text-align: center;
}

.resume-button[b-leipo7z0rh] {
    width: min(238px, 100%);
    padding: 0.75rem 2rem;
    min-height: 44px;
}

.pause-notice[b-leipo7z0rh] {
    margin-bottom: 0.75rem;
    text-align: center;
    color: var(--danger);
    background: var(--danger-bg);
    border: 1px solid var(--danger-border);
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-weight: 600;
}

.start-button[b-leipo7z0rh], .end-button[b-leipo7z0rh] {
    padding: 0.5rem 2rem;
    font-size: 1.1rem;
    width: min(238px, 100%);
    min-height: 44px;
}

.pause-button[b-leipo7z0rh],
.cancel-button[b-leipo7z0rh] {
    min-width: 80px;
    min-height: 44px;
}

@media (max-width: 400px) {
    .recording-controls[b-leipo7z0rh] {
        width: 100%;
        flex-wrap: wrap !important;
    }

    .start-button[b-leipo7z0rh], .end-button[b-leipo7z0rh], .resume-button[b-leipo7z0rh], .cancel-button[b-leipo7z0rh] {
        width: 100%;
    }

    .control-buttons[b-leipo7z0rh] {
        width: 100%;
    }

    .pause-button[b-leipo7z0rh] {
        width: 100%;
    }
}

.control-buttons[b-leipo7z0rh] {
    display: flex;
    gap: 0.5rem;
}
/* /Components/CustomControls/Meeting/MeetingStateManager.razor.rz.scp.css */
.card[b-sseif3tf9z] {
    background: var(--card);
    padding: 40px;
    padding-top: 30px;
    padding-bottom: 30px;
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    width: 100%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    height: fit-content;
    min-height: 316px;
    overflow: visible;
}

@media (max-width: 575.98px) {
    .card[b-sseif3tf9z] {
        padding: 20px 16px;
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .card[b-sseif3tf9z] {
        padding: 24px 22px;
        padding-top: 22px;
        padding-bottom: 22px;
    }
}

/* Summary header on small viewports: title truncates; delete is icon-only beside it */
.summary-page-title-mobile[b-sseif3tf9z] {
    font-size: clamp(1rem, 4.2vw, 1.2rem);
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
}

.summary-delete-icon-mobile[b-sseif3tf9z] {
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.summary-header-text .summary-page-title[b-sseif3tf9z] {
    font-family: var(--font-head);
    font-size: 1.4rem;
}

.summary-meta[b-sseif3tf9z] {
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink-soft);
    letter-spacing: normal;
}

.summary-info-note[b-sseif3tf9z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--inset);
    border: 1px solid var(--border);
    color: var(--ink-soft);
    border-radius: 8px;
    padding: 0.4rem 0.75rem;
    text-align: left;
    font-size: 0.85rem;
    line-height: 1.3;
}

    .summary-info-note .bi-info-circle-fill[b-sseif3tf9z] {
        flex-shrink: 0;
    }

/* ---------- Live recording view (demo-style: SPELAR IN, timer, waveform, description) ---------- */
.live-view[b-sseif3tf9z] {
    max-width: 680px;
    margin: 0 auto;
}

.live-card[b-sseif3tf9z] {
    min-height: auto;
    padding: 38px 34px;
}

.rec-indicator[b-sseif3tf9z] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.rec-dot[b-sseif3tf9z] {
    position: relative;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rec);
    flex: 0 0 auto;
}

.rec-indicator.is-live .rec-dot[b-sseif3tf9z]::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--rec);
    animation: scaPing 1.6s ease-out infinite;
}

.rec-indicator.is-idle .rec-dot[b-sseif3tf9z] {
    background: var(--ink-faint);
}

.rec-label[b-sseif3tf9z] {
    font: 600 13px/1 var(--font-body);
    letter-spacing: .06em;
    color: var(--warn);
}

.rec-indicator.is-idle .rec-label[b-sseif3tf9z] {
    color: var(--ink-soft);
}

.rec-timer[b-sseif3tf9z] {
    font: 600 48px/1 var(--font-body);
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    margin-top: 14px;
}

.rec-countdown[b-sseif3tf9z] {
    font: 600 13px/1.4 var(--font-body);
    color: var(--warn);
    margin: 12px 0 0;
}

.live-controls[b-sseif3tf9z] {
    margin-top: 28px;
}

.button[b-sseif3tf9z] {
    background: var(--brand);
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 9px;
    cursor: pointer;
    margin-top: 10px;
}

    .button:hover[b-sseif3tf9z] {
        filter: brightness(0.94);
    }

.start-button[b-sseif3tf9z] {
    margin-top: 10px;
    padding: 0.5rem 2rem;
    font-size: 1.1rem;
    background: var(--brand);
    color: white;
    border: none;
    border-radius: 11px;
}

    .start-button:hover[b-sseif3tf9z] {
        filter: brightness(0.94);
    }

.start-row[b-sseif3tf9z] {
    column-gap: 1.5rem;
    row-gap: 1rem;
}

/* Deliberately low-key: read-only note, not a control the user acts on. */
.voice-recognition-status[b-sseif3tf9z] {
    text-align: left;
}

    .voice-recognition-status .status-text[b-sseif3tf9z] {
        font-size: 0.8125rem;
        font-weight: 400;
        color: var(--ink-faint);
        line-height: 1.3;
    }

    /* Toned down from the brand-coloured default so the row reads as a note, not an action. */
    .voice-recognition-status .info-tooltip-wrapper[b-sseif3tf9z] {
        width: 1.25rem;
        height: 1.25rem;
        font-size: 0.875rem;
        color: var(--ink-faint);
    }

.info-tooltip-wrapper[b-sseif3tf9z] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--brand);
    cursor: help;
    font-size: 1.125rem;
    margin-left: 0.25rem;
    flex-shrink: 0;
}

    .info-tooltip-wrapper:hover[b-sseif3tf9z],
    .info-tooltip-wrapper:focus-visible[b-sseif3tf9z] {
        background-color: rgba(10, 88, 202, 0.1);
        outline: none;
    }

    .info-tooltip-wrapper:focus-visible[b-sseif3tf9z] {
        box-shadow: 0 0 0 2px var(--brand);
    }

.info-tooltip[b-sseif3tf9z] {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    max-width: calc(100vw - 2rem);
    background: var(--ink);
    color: white;
    padding: 0.85rem 1rem;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    word-wrap: break-word;
    z-index: 1080;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;
    pointer-events: none;
}

    .info-tooltip[b-sseif3tf9z]::before {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border: 6px solid transparent;
        border-top-color: var(--ink);
    }

.info-tooltip-wrapper:hover .info-tooltip[b-sseif3tf9z],
.info-tooltip-wrapper:focus .info-tooltip[b-sseif3tf9z],
.info-tooltip-wrapper:focus-within .info-tooltip[b-sseif3tf9z] {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 575.98px) {
    .info-tooltip[b-sseif3tf9z] {
        left: auto;
        right: -0.5rem;
        transform: none;
        width: min(300px, calc(100vw - 2rem));
    }

        .info-tooltip[b-sseif3tf9z]::before {
            left: auto;
            right: 1rem;
            transform: none;
        }
}

.voice-sample-instructions[b-sseif3tf9z] {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--ink);
    text-align: left;
}

.voice-sample-list[b-sseif3tf9z] {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
    text-align: left;
}

.voice-sample-item[b-sseif3tf9z] {
    padding: 10px 14px;
    border-radius: 6px;
    background: var(--inset);
    border: 1px solid var(--border);
    margin-bottom: 8px;
}

.participant-info[b-sseif3tf9z] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.participant-name[b-sseif3tf9z] {
    font-weight: 600;
    font-size: 1rem;
    color: var(--ink);
    line-height: 1.3;
}

.participant-role[b-sseif3tf9z] {
    font-size: 0.875rem;
    color: var(--ink-soft);
    line-height: 1.3;
}

.participant-actions[b-sseif3tf9z] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.voice-record-btn[b-sseif3tf9z] {
    background: var(--card);
    border: 1.5px solid var(--brand);
    color: var(--brand);
    padding: 0.4rem 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.2;
    border-radius: 6px;
    min-height: 40px;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

    .voice-record-btn:hover:not(:disabled)[b-sseif3tf9z] {
        background: var(--brand);
        color: white;
    }

    .voice-record-btn:focus-visible[b-sseif3tf9z] {
        outline: 2px solid var(--brand);
        outline-offset: 2px;
    }

    .voice-record-btn:disabled[b-sseif3tf9z] {
        opacity: 0.65;
        cursor: not-allowed;
    }

    .voice-record-btn.recording[b-sseif3tf9z] {
        border-color: var(--danger);
        color: var(--danger);
        background: #fff5f5;
        animation: pulse-border-b-sseif3tf9z 1s ease-in-out infinite;
    }

    .voice-record-btn.done[b-sseif3tf9z] {
        border-color: #146c43;
        color: #146c43;
        background: #f0fdf4;
    }

        .voice-record-btn.done:hover:not(:disabled)[b-sseif3tf9z] {
            background: #146c43;
            color: white;
        }

        .voice-record-btn.done:focus-visible[b-sseif3tf9z] {
            outline-color: #146c43;
        }

.voice-error[b-sseif3tf9z] {
    margin-bottom: 0;
    font-size: 0.9375rem;
}

.voice-sample-actions[b-sseif3tf9z] {
    margin-top: 1rem;
}

.voice-action-btn[b-sseif3tf9z] {
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.45rem 1.1rem;
    min-height: 40px;
    min-width: 160px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1.2;
}

    .voice-action-btn:focus-visible[b-sseif3tf9z] {
        outline: 2px solid var(--brand);
        outline-offset: 2px;
    }

    .voice-action-btn:disabled[b-sseif3tf9z] {
        opacity: 0.65;
        cursor: not-allowed;
    }

.voice-action-btn--primary[b-sseif3tf9z] {
    background: var(--brand);
    border-color: var(--brand);
    color: white;
}

    .voice-action-btn--primary:hover:not(:disabled)[b-sseif3tf9z] {
        background: var(--brand);
        border-color: var(--brand);
        color: white;
    }

    .voice-action-btn--primary:focus-visible[b-sseif3tf9z] {
        outline-color: var(--brand);
    }

@keyframes pulse-border-b-sseif3tf9z {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.6; }
}

@media (max-width: 575.98px) {
    .voice-record-btn[b-sseif3tf9z] {
        width: 100%;
        justify-content: center;
    }

    .participant-actions[b-sseif3tf9z] {
        width: 100%;
    }
}
/* /Components/CustomControls/Meeting/MeetingSummary.razor.rz.scp.css */
/* Override for the OK (perform) button */
button.rz-button.rz-primary[b-3b8ouufeve] {
    background-color: var(--brand) !important; /* A blue shade */
    border-color: var(--brand) !important;
    color: white !important;
}

/* Override for the Avbryt (cancel) button */
button.rz-button.rz-secondary[b-3b8ouufeve] {
    background-color: var(--border) !important; /* A light gray shade */
    border-color: var(--border) !important;
    color: var(--ink) !important;
}

[b-3b8ouufeve] .rz-html-editor-button {
    padding: 0.3rem;
    margin: 0.4rem 0.2rem;
}

[b-3b8ouufeve] button[title="Hämtar fil.."] {
    animation: spin 2s linear infinite;
}

/* Mobile-first: label above, each entry stacked with name only (time hidden) */
.signature-footer[b-3b8ouufeve] {
    background-color: var(--inset);
    border: 1px solid var(--border);
    border-top: none;
    padding: 0.75rem 1rem;
    text-align: left;
}

.signature-label[b-3b8ouufeve] {
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 2px solid var(--ink-soft);
    margin-bottom: 1rem;
    padding-bottom: 0.25rem;
}

.signature-list[b-3b8ouufeve] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.signature-entry[b-3b8ouufeve] {
    display: flex;
    align-items: center;
    /* no indent on mobile */
}

.signature-name[b-3b8ouufeve] {
    /* always truncate */
    display: inline-block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 575px) {
    .signature-name[b-3b8ouufeve] {
        font-weight: 500 !important;
    }
}

/* Desktop & up: keep label on its own row; entries still one per row */
@media (min-width: 576px) {
    .signature-footer[b-3b8ouufeve] {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .signature-label[b-3b8ouufeve] {
        border-bottom: none;
        /* shrink this from 1rem to 0.5rem */
        margin-bottom: 0.5rem;
        padding-bottom: 0.25rem;
    }

    .signature-list[b-3b8ouufeve] {
        /* switch to a column of rows (same as mobile) */
        flex-direction: column;
        gap: 0.5rem;
    }

    .signature-entry[b-3b8ouufeve] {
        /* on desktop, time is visible (d-sm-inline) and comes first */
        justify-content: flex-start;
    }

    .signature-time[b-3b8ouufeve] {
        /* ensure it shows on desktop */
        display: inline;
    }

    .signature-name[b-3b8ouufeve] {
        margin-left: 1rem;
    }
}

/* Loading skeleton that mirrors the loaded layout so nothing shifts when the
   real content replaces it: a stub for the translate-controls row on top and
   an editor-sized area below (same clamp as .editor-transcript-row — a single
   vh figure scales consistently on every screen height instead of jumping
   between fixed breakpoints). */
.placeholder-controls[b-3b8ouufeve] {
    /* same height as the Bootstrap input-group in .translate-controls */
    height: 38px;
    width: min(220px, 100%);
    background: var(--inset);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.placeholder-editor[b-3b8ouufeve] {
    height: clamp(340px, 85vh, 100vh);
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--card);
}


/* On large screens the action buttons should sit left-aligned at their natural
   width (like the rest of the app) instead of stretching to fill the row. */
@media (min-width: 992px) {
    .summary-action-btn[b-3b8ouufeve] {
        width: auto;
    }
}

/* ---------- Swedish reset button ---------- */
.btn-reset-sv[b-3b8ouufeve] {
    background-color: transparent !important;
    border: none !important;
    padding: 0.25rem 0.25rem;
    min-width: unset;
    height: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--ink-soft); /* default secondary text */
    font-weight: 500;
}

/* Hover effect on desktop */
@media (hover: hover) and (min-width: 576px) {
    .btn-reset-sv:hover[b-3b8ouufeve] {
        color: var(--brand); /* bootstrap primary */
        text-decoration: underline;
    }
}

/* ---------- Translation controls layout ---------- */
.translate-input-group[b-3b8ouufeve] {
    width: auto;
    flex: 0 0 auto;
}

@media (max-width: 575.98px) {
    .translate-controls[b-3b8ouufeve] {
        flex-direction: row;
        width: 100%;
        gap: 1rem;
    }

    .translate-input-group[b-3b8ouufeve] {
        flex: 1 1 auto;
        min-width: 0;
    }

    /* hide translate icon on mobile */
    .translate-input-group .input-group-text[b-3b8ouufeve] {
        display: none;
    }

    .btn-reset-sv[b-3b8ouufeve] {
        flex: 0 0 auto;
        width: auto;
        min-width: 120px;
    }
}

.transcript-toggle[b-3b8ouufeve] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.editor-transcript-row[b-3b8ouufeve] {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
    height: clamp(340px, 85vh, 100vh);
    overflow: hidden;
}

.editor-col[b-3b8ouufeve] {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
}

.transcript-side-panel[b-3b8ouufeve] {
    flex: 0 0 38%;
    min-width: 0;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background-color: var(--inset);
    padding: 0.75rem;
    margin-top: 0.25rem;
}

.transcript-content[b-3b8ouufeve] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    text-align: left;
    font-size: 0.875rem;
    line-height: 1.6;
}

/* ---------- Mobile tab switch (summary / transcript) ---------- */
.mobile-tab-switch[b-3b8ouufeve] {
    border-bottom: 1px solid var(--border);
    margin-top: 0.5rem;
}

.tab-btn[b-3b8ouufeve] {
    flex: 1 1 50%;
    background: none;
    border: none;
    padding: 0.5rem 0.75rem;
    font-weight: 500;
    color: var(--ink-soft);
    border-bottom: 2px solid transparent;
}

.tab-btn.active[b-3b8ouufeve] {
    color: var(--brand);
    border-bottom-color: var(--brand);
}

@media (max-width: 767.98px) {
    .editor-transcript-row[b-3b8ouufeve] {
        flex-direction: column;
    }

    .editor-transcript-row.mobile-show-summary .transcript-side-panel[b-3b8ouufeve] {
        display: none;
    }

    .editor-transcript-row.mobile-show-transcript .editor-col[b-3b8ouufeve] {
        display: none;
    }

    .editor-transcript-row.mobile-show-transcript .transcript-side-panel[b-3b8ouufeve] {
        flex: 1 1 auto;
        width: 100%;
        margin-top: 0;
    }
}
/* /Components/CustomControls/MicrophoneTestComponent.razor.rz.scp.css */
/* Compact microphone-test widget, docked below the home header text, left-aligned. */

.mic-test-card[b-sh0fje025o] {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-card);
    padding: 13px 19px;
    /* Left edge stays anchored (parent is left-aligned); growing content when
       the waveform appears during testing expands the card to the right
       instead of stretching to fill the header's full width. */
    width: fit-content;
}

.mic-test-row[b-sh0fje025o] {
    display: flex;
    align-items: center;
    gap: 19px;
    flex-wrap: nowrap;
}

.mic-test-icon[b-sh0fje025o] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    border-radius: 14px;
    background: var(--brand-tint);
    color: var(--brand);
    font-size: 1.54rem;
    flex: 0 0 auto;
}

.mic-test-text[b-sh0fje025o] {
    flex: 0 0 auto;
    text-align: left;
}

.mic-test-title[b-sh0fje025o] {
    font: 600 19px/1.2 var(--font-body);
    color: var(--ink);
}

.mic-test-sub[b-sh0fje025o] {
    font: 400 15px/1.4 var(--font-body);
    color: var(--ink-soft);
    margin-top: 3px;
    max-width: 264px;
}

.mic-status.ok[b-sh0fje025o] {
    color: var(--brand);
    font-weight: 600;
}

.mic-status.error[b-sh0fje025o] {
    color: var(--danger);
    font-weight: 500;
}

.mic-status.testing[b-sh0fje025o] {
    color: var(--ink-mid);
    font-weight: 500;
}

/* Slim, borderless waveform strip — only visible while testing */
.mic-test-screen[b-sh0fje025o] {
    flex: 0 0 auto;
    width: 172px;
    display: none;
}

.mic-test-card.is-testing .mic-test-screen[b-sh0fje025o] {
    display: block;
}

#micTestCanvas[b-sh0fje025o] {
    display: block;
    width: 100%;
    height: 48px;
    background: transparent;
}

.mic-test-btn[b-sh0fje025o] {
    flex: 0 0 auto;
    background: var(--brand-tint);
    color: var(--brand);
    border: none;
    font: 600 18px/1 var(--font-body);
    padding: 13px 21px;
    border-radius: 13px;
    cursor: pointer;
    transition: transform .12s ease, background .15s ease, color .15s ease;
}

    .mic-test-btn:hover[b-sh0fje025o] {
        transform: translateY(-1px);
    }

    .mic-test-btn.active[b-sh0fje025o] {
        background: var(--brand);
        color: #fff;
    }

@media (max-width: 575.98px) {
    .mic-test-card[b-sh0fje025o] {
        width: 100%;
    }

    .mic-test-row[b-sh0fje025o] {
        flex-wrap: wrap;
        /* Button and waveform are full-width rows here, so the first row only
           holds icon + text — space-between would shove them to opposite edges. */
        gap: 13px;
    }

    .mic-test-text[b-sh0fje025o] {
        flex: 1 1 auto;
    }

    .mic-test-screen[b-sh0fje025o] {
        width: 100%;
        order: 5;
    }

    .mic-test-btn[b-sh0fje025o] {
        width: 100%;
        order: 4;
    }
}
/* /Components/CustomControls/TokenInput.razor.rz.scp.css */
.token-box[b-e9dfn8iouf] {
    width: 48px;
    height: 48px;
    font-size: 24px;
    text-align: center;
    border-radius: 5px;
    border: 1px solid #ccc;
    caret-color: transparent;
}
/* /Components/Layout/LogoutNavLink.razor.rz.scp.css */
.nav-item[b-x2y1kqytvs] {
    font-size: 0.91rem;
    padding-bottom: 0.5rem;
}

    .nav-item[b-x2y1kqytvs]  a {
        color: var(--side-dim);
        border-radius: 11px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

        .nav-item[b-x2y1kqytvs]  a.active {
            background-color: var(--side-line);
            color: var(--side-ink);
        }

        .nav-item[b-x2y1kqytvs]  a:hover {
            background-color: var(--side-surface);
            color: var(--side-ink);
        }

.logout-nav[b-x2y1kqytvs] {
    cursor: pointer;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
}

.logout-nav-icon[b-x2y1kqytvs] {
    display: inline-block;
    position: relative;
    width: 20px;
    background-size: cover;
    margin-right: 0.75rem;
    font-size: 1.5rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-swa8dmdowo] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-swa8dmdowo] {
    flex: 1;
}

.sidebar[b-swa8dmdowo] {
    background-color: var(--side-bg);
}

.top-row[b-swa8dmdowo] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-swa8dmdowo]  a, .top-row[b-swa8dmdowo]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-swa8dmdowo]  a:hover, .top-row[b-swa8dmdowo]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-swa8dmdowo]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* Align with Bootstrap lg (992px): phones + tablets portrait use full-width main; fixed sidebar from lg up */
@media (max-width: 991.98px) {
    /* .top-row and the dropdown menu are position:fixed on mobile (see NavMenu.razor.css),
       so they no longer contribute to .sidebar's height — collapse it explicitly instead
       of leaving it to shrink-wrap, so its dark background can't show up as empty space
       above/beside the page content. */
    .sidebar[b-swa8dmdowo] {
        height: 0;
        min-height: 0;
        overflow: visible;
    }

    .top-row[b-swa8dmdowo] {
        justify-content: space-between;
    }

    .top-row[b-swa8dmdowo]  a, .top-row[b-swa8dmdowo]  .btn-link {
        margin-left: 0;
    }

    /* Fixed sidebar + margin-left must not apply below lg — avoids cramped content on tablets */
    .sidebar.layout-sidebar-expanded[b-swa8dmdowo],
    .sidebar.layout-sidebar-icon[b-swa8dmdowo] {
        width: 100%;
        max-width: 100%;
    }

    main.layout-main-expanded[b-swa8dmdowo],
    main.layout-main-icon[b-swa8dmdowo] {
        margin-left: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        /* .top-row is now position:fixed (see NavMenu.razor.css) so it no longer takes
           up space in the flow — push content down by its height so it isn't covered. */
        padding-top: 3.75rem;
    }
}

@media (min-width: 992px) {
    .page[b-swa8dmdowo] {
        flex-direction: row;
    }

    .sidebar[b-swa8dmdowo] {
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100;
        overflow-y: auto;
    }

    .sidebar.layout-sidebar-expanded[b-swa8dmdowo] {
        width: 270px;
    }

    .sidebar.layout-sidebar-icon[b-swa8dmdowo] {
        width: 3.3rem;
    }

    main.layout-main-expanded[b-swa8dmdowo] {
        margin-left: 270px;
    }

    main.layout-main-icon[b-swa8dmdowo] {
        margin-left: 3.3rem;
    }

    .top-row[b-swa8dmdowo] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-swa8dmdowo]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-swa8dmdowo], article[b-swa8dmdowo] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-p18i9zh4g4] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-p18i9zh4g4] {
    height: 3.75rem;
    background-color: var(--side-bg);
    padding-inline: 1rem;
}

.sidebar-brand[b-p18i9zh4g4] {
    gap: 11px;
    text-decoration: none;
    white-space: nowrap;
}

/* Optically align the brand tile with the nav-item icons below it. The tile
   (38px) is larger than the nav glyphs (20px), so we align *centres*, not edges:
   removing Bootstrap's .container-fluid side padding puts the tile's left edge at
   top-row's 1rem, giving centre ≈35px — matching the nav icon centre (0.5rem nav
   pad + 1rem ps-3 + half a 20px icon ≈34px). */
.top-row .container-fluid[b-p18i9zh4g4] {
    padding-inline: 0;
}

.brand-mark[b-p18i9zh4g4] {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--brand);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

    .brand-mark .material-symbols-outlined[b-p18i9zh4g4] {
        color: #fff;
        font-size: 22px;
    }

.brand-name[b-p18i9zh4g4] {
    font: 600 14px/1 var(--font-body);
    color: var(--side-ink);
}

.sidebar-bottom[b-p18i9zh4g4] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 12px;
    padding-inline: 0.5rem;
}

.sidebar-divider[b-p18i9zh4g4] {
    height: 1px;
    background: var(--side-line);
    margin: 4px 0.25rem 2px;
}

.navbar-brand[b-p18i9zh4g4] {
    font-size: 1.1rem;
}

.bi[b-p18i9zh4g4] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-p18i9zh4g4] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-p18i9zh4g4] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-p18i9zh4g4] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-microphone-nav-menu[b-p18i9zh4g4] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-microphone' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z'/%3E%3Cpath d='M10 8a2 2 0 1 1-4 0V3a2 2 0 1 1 4 0v5zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z'/%3E%3C/svg%3E");
}

.bi-clock-fill-nav-menu[b-p18i9zh4g4] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-clock-fill' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z'/%3E%3C/svg%3E");
}

.nav-item[b-p18i9zh4g4] {
    font-size: 0.91rem;
    padding-bottom: 0.5rem;
}
    .nav-item[b-p18i9zh4g4]  a {
        color: var(--side-dim);
        border-radius: 11px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

        .nav-item[b-p18i9zh4g4]  a.active {
            background-color: var(--side-line);
            color: var(--side-ink);
        }

        .nav-item[b-p18i9zh4g4]  a:hover {
            background-color: var(--side-surface);
            color: var(--side-ink);
        }



@media (min-width: 992px) {
    .navbar-toggler[b-p18i9zh4g4] {
        display: none;
    }

    .collapse[b-p18i9zh4g4] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    /* Fill the sidebar height so the bottom group (help/settings/logout) pins to the bottom */
    .menu-fill[b-p18i9zh4g4] {
        min-height: calc(100vh - 3.75rem);
    }

        .menu-fill nav.flex-column[b-p18i9zh4g4] {
            flex: 1 1 auto;
        }
}

nav.flex-column[b-p18i9zh4g4] {
    padding-inline: 0.5rem;
    padding-top: 0.5rem;
}

@media (max-width: 991.98px) {
    /* Keep the horizontal top bar pinned to the viewport top while the page scrolls,
       and make sure it always spans the full width edge-to-edge. Fixed (not sticky) —
       its parent .sidebar is barely taller than the bar itself on mobile, which would
       leave sticky no room to actually stay in place while scrolling. */
    .top-row[b-p18i9zh4g4] {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1040;
    }

    .collapse[b-p18i9zh4g4] {
        /* hide when collapsed; overridden by d-lg-flex but not active */
    }

    .flex-column.d-lg-flex:not(.collapse)[b-p18i9zh4g4] {
        /* Fixed (not absolute) to match .top-row above — otherwise this would anchor
           to the unscrolled document position instead of tracking the fixed bar. */
        position: fixed;
        top: 3.75rem; /* height of top row */
        left: 0;
        width: 100%;
        background-color: var(--side-bg); /* same sidebar color */
        z-index: 1040; /* above content */
    }

    .nav-overlay[b-p18i9zh4g4] {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0); /* transparent clickable layer */
        z-index: 1030; /* below sidebar so sidebar remains clickable */
    }
}
/* /Components/Layout/NavMenuHistoryItem.razor.rz.scp.css */
.bi[b-tr4y0iy0fb] {
    display: inline-block;
    vertical-align: middle;
}

.bi-clock-fill-nav-menu[b-tr4y0iy0fb] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='white'%20class='bi%20bi-clock-fill'%20viewBox='0%200%2016%2016'%3E%3Cpath%20d='M16%208A8%208%200%201%201%200%208a8%208%200%200%201%2016%200M8%203.5a.5.5%200%200%200-1%200V9a.5.5%200%200%200%20.252.434l3.5%202a.5.5%200%200%200%20.496-.868L8%208.71z'/%3E%3C/svg%3E");
}

.nav-item[b-tr4y0iy0fb] {
    font-size: 0.91rem;
    padding-bottom: 0.5rem;
}

    .nav-item[b-tr4y0iy0fb]  a {
        color: var(--side-dim);
        border-radius: 11px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        cursor: pointer;
    }

        .nav-item[b-tr4y0iy0fb]  a.active {
            background-color: var(--side-line);
            color: var(--side-ink);
        }

        .nav-item[b-tr4y0iy0fb]  a:hover {
            background-color: var(--side-surface);
            color: var(--side-ink);
        }

.hide-scrollbar[b-tr4y0iy0fb] {
    overflow: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
    /* For Chrome, Safari, Edge */
}

    .hide-scrollbar[b-tr4y0iy0fb]::-webkit-scrollbar {
        display: none;
    }

/* /Components/Layout/NavMenuItem.razor.rz.scp.css */
.bi[b-qp0bn95b7x] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-qp0bn95b7x] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-qp0bn95b7x] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-qp0bn95b7x] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-clock-fill-nav-menu[b-qp0bn95b7x] {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='white'%20class='bi%20bi-clock-fill'%20viewBox='0%200%2016%2016'%3E%3Cpath%20d='M16%208A8%208%200%201%201%200%208a8%208%200%200%201%2016%200M8%203.5a.5.5%200%200%200-1%200V9a.5.5%200%200%200%20.252.434l3.5%202a.5.5%200%200%200%20.496-.868L8%208.71z'/%3E%3C/svg%3E");
}

.bi-info-nav-menu[b-qp0bn95b7x] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-info-circle-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2'/%3E%3C/svg%3E");
}

.nav-item[b-qp0bn95b7x] {
    font-size: 0.91rem;
    padding-bottom: 0.5rem;
}

    .nav-item[b-qp0bn95b7x]  a {
        color: var(--side-dim);
        border-radius: 11px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

        .nav-item[b-qp0bn95b7x]  a.active {
            background-color: var(--side-line);
            color: var(--side-ink);
        }

        .nav-item[b-qp0bn95b7x]  a:hover {
            background-color: var(--side-surface);
            color: var(--side-ink);
        }
/* /Components/Layout/SidebarFooter.razor.rz.scp.css */
.sidebar-footer[b-d1pvsuv96m] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 2px;
    white-space: nowrap;
}

    .sidebar-footer.collapsed[b-d1pvsuv96m] {
        flex-direction: column;
        gap: 8px;
    }

.footer-spacer[b-d1pvsuv96m] {
    flex: 1 1 0;
}

.tenant-name[b-d1pvsuv96m] {
    min-width: 0;
    flex: 1 1 0;
    font: 600 12.5px/1.3 var(--font-body);
    color: var(--side-ink);
    overflow: hidden;
    text-overflow: ellipsis;
}

.footer-icon-btn[b-d1pvsuv96m] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0;
    background: transparent;
    color: var(--side-dim);
    transition: background .15s ease, color .15s ease;
}

    .footer-icon-btn:hover[b-d1pvsuv96m] {
        background: var(--side-surface);
        color: var(--side-ink);
    }

    .footer-icon-btn .material-symbols-outlined[b-d1pvsuv96m] {
        font-size: 20px;
    }

/* Gear gets the accent treatment so it reads as the primary footer action */
.settings-gear[b-d1pvsuv96m] {
    background: var(--side-accent-tint);
    color: var(--side-accent);
}

    .settings-gear:hover[b-d1pvsuv96m] {
        background: var(--side-line);
        color: var(--side-accent);
    }

/* Collapsing to icon-mode only applies to the persistent desktop sidebar.
   Below this breakpoint the sidebar becomes a horizontal top navbar instead
   (see NavMenu.razor.css), so there is nothing to collapse. */
@media (max-width: 991.98px) {
    .collapse-toggle[b-d1pvsuv96m] {
        display: none;
    }
}
/* /Components/Pages/About.razor.rz.scp.css */
.about-page[b-xbofscrx9y] {
    padding: 8px 24px 40px;
}

.about-header[b-xbofscrx9y] {
    padding: 10px 2px 0;
    margin-bottom: 26px;
}

.about-title[b-xbofscrx9y] {
    font: 600 28px/1.15 var(--font-head);
    color: var(--ink);
    margin: 0;
}

.about-subtitle[b-xbofscrx9y] {
    font: 400 14px/1.5 var(--font-body);
    color: var(--ink-soft);
    margin: 6px 0 0;
}

.about-cards[b-xbofscrx9y] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 760px;
}

.about-card[b-xbofscrx9y] {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 22px;
    background: var(--card);
}

.about-card-icon[b-xbofscrx9y] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: var(--brand-tint);
    color: var(--brand);
    font-size: 1.35rem;
    flex: 0 0 auto;
}

.about-card-body[b-xbofscrx9y] {
    flex: 1 1 auto;
    min-width: 0;
}

.about-card-title-row[b-xbofscrx9y] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-height: 22px; /* matches .about-pill's rendered height, so the row doesn't grow once the version arrives */
}

/* Reserves the final loaded height up front so the card doesn't visibly grow
   once the link/version/contact info arrives a moment after the page renders. */
.about-card-extra[b-xbofscrx9y] {
    min-height: 23.5px; /* one .about-card-link line, incl. its margin-top */
}

.about-card-extra-contact[b-xbofscrx9y] {
    min-height: 97px; /* the two-row .about-contact-list block, incl. its margin-top */
}

.about-card-title[b-xbofscrx9y] {
    font: 600 17px/1.3 var(--font-body);
    color: var(--ink);
    margin: 0;
}

.about-pill[b-xbofscrx9y] {
    font: 600 12px/1 var(--font-body);
    color: var(--brand);
    background: var(--brand-tint);
    padding: 5px 11px;
    border-radius: 20px;
    white-space: nowrap;
}

.about-card-desc[b-xbofscrx9y] {
    font: 400 13.5px/1.55 var(--font-body);
    color: var(--ink-soft);
    margin: 6px 0 0;
}

.about-muted[b-xbofscrx9y] {
    font-style: italic;
}

.about-card-link[b-xbofscrx9y] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font: 600 13.5px/1 var(--font-body);
    color: var(--brand);
    text-decoration: none;
}

    .about-card-link:hover[b-xbofscrx9y] {
        text-decoration: underline;
    }

    .about-card-link i[b-xbofscrx9y] {
        font-size: 0.85em;
    }

.about-contact-list[b-xbofscrx9y] {
    margin-top: 14px;
}

.about-contact-row[b-xbofscrx9y] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 0;
}

    .about-contact-row i[b-xbofscrx9y] {
        color: var(--ink-soft);
        font-size: 0.95rem;
        flex: 0 0 auto;
    }

.about-contact-label[b-xbofscrx9y] {
    color: var(--ink-soft);
    font: 500 13.5px/1 var(--font-body);
    flex: 0 0 auto;
}

.about-contact-value[b-xbofscrx9y] {
    margin-left: auto;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font: 600 13.5px/1 var(--font-body);
    color: var(--brand);
    text-decoration: none;
    text-align: right;
    overflow-wrap: anywhere;
}

    .about-contact-value:hover[b-xbofscrx9y] {
        text-decoration: underline;
    }

.about-contact-sep[b-xbofscrx9y] {
    border: 0;
    border-top: 1px solid var(--border);
    margin: 0;
}

@media (max-width: 575.98px) {
    .about-page[b-xbofscrx9y] {
        padding: 8px 16px 32px;
    }

    .about-header[b-xbofscrx9y] {
        padding-top: 18px;
        margin-bottom: 20px;
    }

    .about-title[b-xbofscrx9y] {
        font-size: 24px;
    }

    .about-card[b-xbofscrx9y] {
        padding: 18px;
        gap: 14px;
    }

    .about-card-icon[b-xbofscrx9y] {
        width: 44px;
        height: 44px;
        font-size: 1.2rem;
    }
}

@media (max-width: 420px) {
    .about-contact-row[b-xbofscrx9y] {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .about-contact-value[b-xbofscrx9y] {
        margin-left: 0;
    }
}
/* /Components/Pages/Access.razor.rz.scp.css */
.access-page[b-rjqkphdp4t] {
    display: grid;
    min-height: 100%;
    padding-block: clamp(1rem, 4vh, 2rem);
    place-items: center;
}

@media (max-height: 32rem) {
    .access-page[b-rjqkphdp4t] {
        align-items: start;
    }
}
/* /Components/Pages/History.razor.rz.scp.css */
.card[b-13buualp5p] {
    background: var(--card);
    padding: 40px;
    padding-top: 30px;
    padding-bottom: 30px;
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    width: 100%;
    max-width: 1100px;
    text-align: center;
    height: fit-content;
    min-height: 316px;
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .card[b-13buualp5p] {
        padding: 24px 22px;
        padding-top: 22px;
        padding-bottom: 22px;
    }
}

@media (max-width: 575.98px) {
    .card[b-13buualp5p] {
        padding: 16px 14px;
        padding-top: 14px;
        padding-bottom: 14px;
    }
}

.summary-page-title-mobile[b-13buualp5p] {
    font-size: clamp(1rem, 4.2vw, 1.2rem);
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
}

.summary-delete-icon-mobile[b-13buualp5p] {
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.summary-header-text .summary-page-title[b-13buualp5p] {
    font-family: var(--font-head);
    font-size: 1.4rem;
}

.summary-meta[b-13buualp5p] {
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ink-soft);
    letter-spacing: normal;
}

.summary-info-note[b-13buualp5p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--inset);
    border: 1px solid var(--border);
    color: var(--ink-soft);
    border-radius: 8px;
    padding: 0.4rem 0.75rem;
    text-align: left;
    font-size: 0.85rem;
    line-height: 1.3;
}

    .summary-info-note .bi-info-circle-fill[b-13buualp5p] {
        flex-shrink: 0;
    }
/* /Components/Pages/Home.razor.rz.scp.css */
.home-page[b-ddbvtns9ur] {
    padding: 8px 24px 40px;
}

.home-header[b-ddbvtns9ur] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 4px 4px;
}

.home-header-text[b-ddbvtns9ur] {
    min-width: 280px;
}

.home-header-mic[b-ddbvtns9ur] {
    margin-top: 36px;
}

.home-title[b-ddbvtns9ur] {
    font: 600 30px/1.15 var(--font-head);
    color: var(--ink);
    margin: 0;
}

.home-toolbar[b-ddbvtns9ur] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 26px 0 18px;
    flex-wrap: wrap;
}

.home-section-title[b-ddbvtns9ur] {
    font: 600 16px/1 var(--font-body);
    color: var(--ink);
}

.home-search[b-ddbvtns9ur] {
    display: flex;
    align-items: center;
    gap: 9px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 11px;
    padding: 10px 14px;
}

    .home-search i[b-ddbvtns9ur] {
        color: var(--ink-soft);
        font-size: 0.95rem;
    }

    .home-search input[b-ddbvtns9ur] {
        border: none;
        outline: none;
        background: transparent;
        font: 400 14px/1 var(--font-body);
        color: var(--ink);
        width: 190px;
        max-width: 50vw;
    }

        .home-search input[b-ddbvtns9ur]::placeholder {
            color: var(--ink-faint);
        }

.home-chips[b-ddbvtns9ur] {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.home-chip[b-ddbvtns9ur] {
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--ink-soft);
    font: 500 13px/1 var(--font-body);
    padding: 9px 15px;
    border-radius: 30px;
    cursor: pointer;
    transition: transform .12s ease;
}

    .home-chip:hover[b-ddbvtns9ur] {
        transform: translateY(-1px);
    }

    .home-chip.active[b-ddbvtns9ur] {
        background: var(--brand);
        border-color: var(--brand);
        color: #fff;
        font-weight: 600;
    }

.home-card-grid[b-ddbvtns9ur] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
    gap: 18px;
}

.home-empty[b-ddbvtns9ur] {
    text-align: center;
    color: var(--ink-soft);
    font: 400 14px/1.5 var(--font-body);
    padding: 36px 0;
}

@media (max-width: 575.98px) {
    .home-header[b-ddbvtns9ur] {
        padding-top: 26px;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
[b-nprfc1onfi] .full-width-background {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

[b-nprfc1onfi] .centered-box {
    background-color: var(--card);
    padding: 24px;
    border-radius: 16px;
    box-shadow: var(--shadow-card);
    text-align: center;
    width: 300px;
}
/* /Components/Pages/Meeting.razor.rz.scp.css */
.meeting-container[b-zoder5krrs] {
    padding: 2rem;
}

.meeting-content[b-zoder5krrs] {
    max-width: 800px;
    margin: 2rem auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.waveform-placeholder[b-zoder5krrs], .waveform[b-zoder5krrs] {
    width: 100%;
    height: 150px;
    background: var(--card);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.baseline[b-zoder5krrs] {
    width: 90%;
    height: 2px;
    background: var(--ink);
}

.wave[b-zoder5krrs] {
    width: 90%;
    height: 100px;
    background: linear-gradient(to right, transparent 0%, var(--ink) 20%, var(--ink) 80%, transparent 100%);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -20 100 100'%3E%3Cpath d='M0,50 Q25,0 50,50 T100,50' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
    mask-size: 20px 100%;
    animation: wave-b-zoder5krrs 1s infinite linear;
}

.paused .wave[b-zoder5krrs] {
    animation-play-state: paused;
}

@keyframes wave-b-zoder5krrs {
    0% {
        mask-position: 0 0;
    }
    100% {
        mask-position: 20px 0;
    }
}

.transcription-container[b-zoder5krrs],
.summary-container[b-zoder5krrs] {
    width: 100%;
    background: var(--card);
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 1rem;
    box-shadow: var(--shadow-card);
}

.transcription-container h3[b-zoder5krrs],
.summary-container h3[b-zoder5krrs] {
    color: var(--ink);
    font-size: 1.2rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.transcription-text[b-zoder5krrs],
.summary-text[b-zoder5krrs] {
    color: var(--ink-mid);
    line-height: 1.6;
    white-space: pre-wrap;
    font-size: 1rem;
}

.transcription-text[b-zoder5krrs] {
    max-height: 200px;
    overflow-y: auto;
    padding-right: 1rem;
}

.summary-text[b-zoder5krrs] {
    font-weight: 500;
}

.bi-microphone-recording[b-zoder5krrs] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-microphone' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z'/%3E%3Cpath d='M10 8a2 2 0 1 1-4 0V3a2 2 0 1 1 4 0v5zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z'/%3E%3C/svg%3E");
}

.recording-controls[b-zoder5krrs] {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.start-button[b-zoder5krrs], .end-button[b-zoder5krrs] {
    padding: 0.5rem 2rem;
    font-size: 1.1rem;
}

.control-buttons[b-zoder5krrs] {
    display: flex;
    gap: 0.5rem;
}

.pause-button[b-zoder5krrs] {
    min-width: 100px;
}

.recordings-list[b-zoder5krrs] {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border);
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.recordings-list h3[b-zoder5krrs] {
    color: var(--ink-soft);
    font-size: 1rem;
    margin-bottom: 1rem;
}

.list-group-item[b-zoder5krrs] {
    padding: 1rem;
}

.recording-actions[b-zoder5krrs] {
    min-width: 100px;
    text-align: right;
}

audio[b-zoder5krrs] {
    height: 32px;
    margin: 0 1rem;
}

@media (max-width: 768px) {
    .list-group-item[b-zoder5krrs] {
        flex-direction: column;
        gap: 1rem;
    }

    audio[b-zoder5krrs] {
        width: 100%;
        margin: 0;
    }

    .recording-actions[b-zoder5krrs] {
        width: 100%;
        text-align: left;
    }
}

.meeting-wrapper[b-zoder5krrs] {
    max-width: none;
    min-width: 0;
}

/* Only the compact (post-meeting) sidebar shrinks to its content; the original
   full-size sidebar keeps stretching to match the meeting content's height. */
.participant-sidebar-wrapper--compact[b-zoder5krrs] {
    align-self: flex-start;
}

/* NOTE: the width logic for .meeting-wrapper--summary lives in the global app.css, because a
   Blazor-scoped :has() can't reach the transcript markup (it belongs to another component). */

@media (max-width: 991.98px) {
    .meeting-layout[b-zoder5krrs] {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .meeting-wrapper[b-zoder5krrs] {
        max-width: 100% !important;
    }

        .meeting-wrapper .row[b-zoder5krrs] {
            margin-left: 0 !important;
            margin-right: 0 !important; /* remove residual side gap on mobile */
        }

    .participant-sidebar-wrapper[b-zoder5krrs] {
        width: 100% !important;
        margin-top: 1rem;
    }

    .participantlist-panel[b-zoder5krrs] {
        margin-bottom: 0 !important; /* hand gap to next card */
    }
} 
