/* =============================================
   SiGeFiS — Estilo Global
   Sistema de Gerenciamento de Filas e Senhas
   ============================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --bg-dark:#0d1117; --bg-card:#161b22; --bg-card2:#21262d; --border:#30363d; --primary:#2f81f7; --primary-hover:#388bfd; --success:#3fb950; --danger:#f85149; --warning:#d29922; --text:#e6edf3; --text-muted:#8b949e; --cyan:#39c5cf; --radius:10px; --shadow:0 4px 24px rgba(0,0,0,0.4); }
body { background: linear-gradient(135deg, #0d1117 0%, #161b22 60%, #0d1b2a 100%); color: var(--text); font-family:'Segoe UI', system-ui, -apple-system, sans-serif; font-size:15px; min-height:100vh; }
a { color: var(--primary); text-decoration:none; } a:hover { color:var(--primary-hover); text-decoration:underline; }
.site-header { background:rgba(22,27,34,.95); border-bottom:1px solid var(--border); padding:0 2rem; min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:1rem; backdrop-filter:blur(8px); position:sticky; top:0; z-index:100; }
.site-header .brand { font-size:1.1rem; font-weight:700; color:var(--text); letter-spacing:.02em; } .site-header .brand span{color:var(--cyan)} .site-header nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.site-header nav a{color:var(--text-muted);font-size:.9rem;transition:color .2s}.site-header nav a:hover{color:var(--text);text-decoration:none}
.page-wrapper { min-height:calc(100vh - 60px); display:flex; flex-direction:column; }.container{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.page-title{font-size:1.6rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.page-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem}.hero{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 0}.hero h1{font-size:1.8rem}.hero p{color:var(--text-muted);margin-top:.4rem}.eyebrow{color:var(--cyan);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.narrow{max-width:560px;margin:2rem auto}.card-header{border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1.5rem}.card-header h2,.card h2{font-size:1.1rem;font-weight:600;color:var(--text);margin:1rem 0}.card-subtitle{color:var(--text-muted);margin:.5rem 0 1.25rem}
.form-group,label{display:block;margin-bottom:1.25rem}.form-group label,label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}input,select,textarea,.form-control{width:100%;background:var(--bg-card2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem;padding:.65rem .9rem;transition:border-color .2s,box-shadow .2s;outline:none;margin-top:.5rem}textarea{min-height:110px}input:focus,select:focus,textarea:focus,.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,129,247,.15)}select.form-control,select{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap;background:var(--primary);color:#fff}.btn:hover{background:var(--primary-hover);color:#fff;text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-success,.btn.success{background:var(--success);color:#fff}.btn-danger,.btn.danger{background:var(--danger);color:#fff}.btn-warning{background:var(--warning);color:#fff}.btn-secondary,.btn.secondary{background:var(--bg-card2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover,.btn.secondary:hover{background:var(--border);color:var(--text)}.btn-lg,.btn.large{padding:.85rem 2rem;font-size:1rem}.btn-block{width:100%}.actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.alert{padding:.85rem 1rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem;border:1px solid transparent}.alert-danger,.error{background:rgba(248,81,73,.1);border:1px solid rgba(248,81,73,.3);color:#ffa198;padding:.85rem 1rem;border-radius:6px;margin-bottom:1rem}.alert-success,.success{background:rgba(63,185,80,.1);border:1px solid rgba(63,185,80,.3);color:#56d364;padding:.85rem 1rem;border-radius:6px;margin-bottom:1rem}.alert-warning{background:rgba(210,153,34,.1);border-color:rgba(210,153,34,.3);color:#e3b341}.table-wrapper,.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);margin:1rem 0}table{width:100%;border-collapse:collapse;font-size:.9rem}thead,table tr:first-child{background:var(--bg-card2)}th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}td{padding:.85rem 1rem;color:var(--text);vertical-align:middle;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:.25rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600;background:rgba(47,129,247,.15);color:#79c0ff}.badge-success{background:rgba(63,185,80,.15);color:#56d364}.badge-danger{background:rgba(248,81,73,.15);color:#ffa198}.badge-warning{background:rgba(210,153,34,.15);color:#e3b341}.badge-muted{background:rgba(139,148,158,.15);color:#8b949e}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#0d1117 0%,#0d1b2a 100%)}.login-box{width:100%;max-width:420px}.login-logo{text-align:center;margin-bottom:2rem}.login-logo h1{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1.3}.login-logo p{color:var(--cyan);font-size:.85rem;margin-top:.4rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.auth-body .wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{width:100%;max-width:420px}
.attendant-grid{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;padding:1.5rem;min-height:calc(100vh - 60px)}.grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;padding:1.5rem}.ticket-display{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.ticket-code,.current-code{font-size:5rem;font-weight:900;color:var(--cyan);letter-spacing:.05em;line-height:1;text-shadow:0 0 40px rgba(57,197,207,.3)}.ticket-meta{color:var(--text-muted);font-size:.9rem;margin-top:1rem}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2rem;width:100%;max-width:400px}.queue-panel{display:flex;flex-direction:column;gap:1rem}.queue-list,.list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:.75rem 0}.queue-list-header{background:var(--bg-card2);padding:.75rem 1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border)}.queue-item,.list-item{padding:.65rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}.queue-item:last-child,.list-item:last-child{border-bottom:none}.queue-item .code{font-weight:700;color:var(--primary)}.empty-state{color:var(--text-muted);padding:1rem;background:rgba(255,255,255,.02);border-radius:8px}.form-grid,.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.current{text-align:center;margin:2rem 0}.ticket-issue-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:2rem}.ticket-result{text-align:center;padding:2rem}.ticket-result .issued-code,.ticket .issued-code,.ticket span{font-size:5rem;font-weight:900;color:var(--cyan);line-height:1;text-shadow:0 0 40px rgba(57,197,207,.3);display:block}.ticket-result .issued-msg{color:var(--text-muted);margin-top:1rem;font-size:.95rem}.admin-header{background:var(--bg-card);border-bottom:1px solid var(--border);padding:2rem 0 1.5rem;margin-bottom:2rem}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem auto;max-width:1200px;padding:0 1.5rem}.admin-card,.module-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;text-align:center;transition:border-color .2s,transform .2s;cursor:pointer;text-decoration:none;display:block}.admin-card:hover,.module-card:hover{border-color:var(--primary);transform:translateY(-2px);text-decoration:none}.admin-card-icon{font-size:2.5rem;margin-bottom:.75rem}.admin-card-title,.module-card strong{font-size:1rem;font-weight:700;color:var(--text);display:block}.admin-card-desc,.module-card span{font-size:.8rem;color:var(--text-muted);margin-top:.25rem;display:block}
.tv-page,.tv{min-height:100vh;background:#000;color:#fff;display:grid;grid-template-columns:280px 1fr 280px;overflow:hidden}.tv-main,.tv section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border-inline:2px solid #1a1a2e;text-align:center}.tv-institution{font-size:1.1rem;color:#8b949e;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1rem}.tv-label{font-size:1.5rem;color:#8b949e;text-transform:uppercase;letter-spacing:.2em}.tv-ticket,.tv-current{font-size:9rem;font-weight:900;color:#39c5cf;line-height:1;text-shadow:0 0 60px rgba(57,197,207,.4);animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.8}}.tv-guiche{font-size:2.5rem;font-weight:700;color:#fff;margin-top:1rem}.tv-atendente,#meta{color:#8b949e;font-size:1rem;margin-top:.5rem}.tv-sidebar,.tv aside{background:#0d1117;display:flex;flex-direction:column;overflow:hidden}.tv-sidebar-title,.tv aside h2{background:#161b22;padding:.75rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#8b949e;border-bottom:1px solid #21262d}.tv-sidebar-list{list-style:none;overflow-y:auto;flex:1}.tv .list{border:0;border-radius:0;background:transparent}.tv .list-item{border-color:#21262d}.tv .empty-state{background:transparent;color:#8b949e}
@media(max-width:768px){.attendant-grid,.grid,.tv-page,.tv{grid-template-columns:1fr}.tv-sidebar,.tv aside{display:none}.tv-ticket,.tv-current{font-size:5rem}.action-buttons{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr 1fr}.site-header{padding:1rem;height:auto;align-items:flex-start;flex-direction:column}}@media(max-width:480px){.admin-grid{grid-template-columns:1fr}.ticket-code,.current-code{font-size:3.5rem}}

/* Tela dedicada de emissão de senhas (/emitir) */
.site-header:has(+ .page-wrapper .ticket-kiosk),
body:has(.ticket-kiosk) > footer {
    display: none !important;
}

body:has(.ticket-kiosk) .page-wrapper,
body:has(.ticket-kiosk) main.container {
    min-height: 100vh;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.ticket-kiosk {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.25rem, 4vw, 3.5rem);
    background:
        radial-gradient(circle at 20% 18%, rgba(37, 99, 235, .34), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(245, 158, 11, .18), transparent 28%),
        linear-gradient(135deg, #020617 0%, #08213a 48%, #111827 100%);
}

.ticket-kiosk__panel {
    width: min(980px, 100%);
    padding: clamp(1.5rem, 4vw, 3.25rem);
    border: 1px solid rgba(148, 215, 236, .22);
    border-radius: 32px;
    background: rgba(3, 16, 31, .74);
    box-shadow: 0 28px 90px rgba(0, 0, 0, .45);
    text-align: center;
}

.ticket-kiosk__panel--print {
    width: min(520px, 100%);
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: 20px;
    box-shadow: 0 16px 42px rgba(0, 0, 0, .28);
}

.ticket-kiosk__title {
    margin: 0;
    color: #d9ecf8;
    font-size: clamp(1.15rem, 2.6vw, 1.75rem);
    font-weight: 750;
    line-height: 1.18;
}

.ticket-kiosk__institution {
    margin: .8rem 0 0;
    color: #f8fbff;
    font-size: clamp(1.55rem, 4.4vw, 3rem);
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ticket-kiosk__sector {
    margin: .7rem 0 0;
    color: #67e8f9;
    font-size: clamp(1.3rem, 3.3vw, 2.15rem);
    font-weight: 850;
}

.ticket-kiosk__subtitle {
    margin: 1.5rem auto 0;
    max-width: 620px;
    color: #a8c4d4;
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    line-height: 1.55;
}

.ticket-kiosk__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(200px, 1fr));
    gap: clamp(1rem, 3vw, 1.5rem);
    margin-top: clamp(2rem, 5vw, 3.25rem);
}

.ticket-kiosk__button {
    min-width: 200px;
    min-height: 120px;
    width: 100%;
    border: 0;
    border-radius: 26px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    box-shadow: 0 22px 48px rgba(0, 0, 0, .28);
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.ticket-kiosk__button:hover,
.ticket-kiosk__button:focus-visible {
    filter: brightness(1.08);
    transform: translateY(-4px);
    box-shadow: 0 28px 62px rgba(0, 0, 0, .36);
    outline: none;
}

.ticket-kiosk__button--normal {
    background: linear-gradient(135deg, #0284c7, #2563eb);
}

.ticket-kiosk__button--priority {
    background: linear-gradient(135deg, #f59e0b, #ea580c);
}

.ticket-kiosk__button strong {
    display: block;
    font-size: clamp(2rem, 5vw, 3.15rem);
    line-height: 1;
    text-transform: uppercase;
}

.ticket-kiosk__button span {
    display: block;
    margin-top: .75rem;
    font-size: clamp(.95rem, 2vw, 1.1rem);
    font-weight: 700;
    opacity: .9;
}

.ticket-kiosk__notice {
    margin-top: 2rem;
    padding: 1rem 1.2rem;
    border: 1px solid rgba(245, 158, 11, .36);
    border-radius: 18px;
    background: rgba(245, 158, 11, .12);
    color: #ffedd5;
    line-height: 1.5;
}

.ticket-print {
    color: #f8fbff;
    text-align: center;
}

.ticket-print__system {
    margin: .35rem 0 0;
    color: #d9ecf8;
    font-size: clamp(.95rem, 2vw, 1.1rem);
    line-height: 1.3;
}

.ticket-print__institution {
    margin: .35rem 0 0;
    color: #fff;
    font-size: clamp(1.15rem, 2.7vw, 1.45rem);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: .04em;
}

.ticket-print__sector {
    margin: .45rem 0 0;
    color: #dff7ff;
    font-size: clamp(1.05rem, 2.4vw, 1.3rem);
    font-weight: 850;
}

.ticket-print__code {
    display: block;
    margin: .8rem 0 .65rem;
    color: #67e8f9;
    font-size: clamp(3.1rem, 10vw, 5.4rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: .04em;
    text-shadow: none;
}

.ticket-print__meta,
.ticket-print__datetime,
.ticket-print__message {
    margin: .35rem auto 0;
    max-width: 420px;
    color: #e0f2fe;
    font-size: clamp(.95rem, 2vw, 1.1rem);
    line-height: 1.4;
}

.ticket-print__datetime {
    color: #bfd5e2;
    font-size: clamp(.8rem, 1.8vw, .95rem);
}

.ticket-print__message {
    margin-top: .8rem;
}

@media (max-width: 680px) {
    .ticket-kiosk__actions {
        grid-template-columns: 1fr;
    }
}


@media print {
    @page {
        size: auto;
        margin: 4mm;
    }

    body,
    body:has(.ticket-kiosk) {
        min-height: auto;
        background: #fff !important;
        color: #000 !important;
        font-family: "Courier New", Courier, monospace;
    }

    body:has(.ticket-kiosk) .page-wrapper,
    body:has(.ticket-kiosk) main.container,
    .ticket-kiosk {
        min-height: auto;
        display: block;
        padding: 0;
        background: #fff !important;
    }

    .ticket-kiosk__panel--print {
        width: 72mm;
        max-width: 100%;
        margin: 0 auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff !important;
        box-shadow: none;
    }

    .ticket-print,
    .ticket-print * {
        color: #000 !important;
        text-shadow: none !important;
    }

    .ticket-print__datetime { font-size: 9pt; }
    .ticket-print__system { font-size: 10pt; }
    .ticket-print__institution { font-size: 12pt; }
    .ticket-print__sector { font-size: 11pt; }
    .ticket-print__meta,
    .ticket-print__message { font-size: 10pt; }
    .ticket-print__code {
        margin: 8pt 0;
        font-size: 28pt;
        letter-spacing: .02em;
    }
}

/* Tela de configurações administrativas */
.settings-card { max-width: 1100px; margin: 1.5rem auto 0; }
.settings-form { display: grid; gap: 1.25rem; }
.settings-section { padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: rgba(33, 38, 45, .35); }
.settings-section__header { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; }
.settings-section__header > span { display: inline-flex; align-items: center; justify-content: center; width: 2.15rem; height: 2.15rem; border-radius: 999px; background: rgba(57, 197, 207, .14); color: var(--cyan); font-weight: 800; border: 1px solid rgba(57, 197, 207, .32); }
.settings-section__header h2 { margin: 0; }
.settings-section__header p, .settings-toggle-row small, .priority-ratio-field small { display: block; color: var(--text-muted); font-size: .82rem; margin-top: .3rem; text-transform: none; letter-spacing: 0; font-weight: 500; }
.settings-grid { margin-bottom: .25rem; }
.settings-toggle-list { display: grid; gap: .85rem; }
.settings-toggle-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid rgba(48, 54, 61, .85); border-radius: 12px; background: rgba(13, 17, 23, .35); }
.settings-label { display: block; color: var(--text); font-size: .92rem; font-weight: 700; text-transform: none; letter-spacing: 0; }
.segmented-toggle { display: inline-grid; grid-template-columns: 1fr 1fr; min-width: 220px; padding: .25rem; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-dark); }
.segmented-toggle input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.segmented-toggle label { margin: 0; padding: .5rem .8rem; border-radius: 999px; color: var(--text-muted); text-align: center; cursor: pointer; font-size: .82rem; text-transform: none; letter-spacing: 0; transition: background .2s, color .2s, box-shadow .2s; }
.segmented-toggle input:checked + label { background: var(--primary); color: #fff; box-shadow: 0 8px 22px rgba(47, 129, 247, .28); }
.segmented-toggle input:focus-visible + label { outline: 2px solid var(--cyan); outline-offset: 2px; }
.priority-ratio-field.is-disabled { opacity: .62; }
.priority-ratio-field.is-disabled input { cursor: not-allowed; border-style: dashed; }
.settings-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; padding-top: .5rem; }
@media(max-width:680px){ .settings-toggle-row { align-items: stretch; flex-direction: column; } .segmented-toggle { width: 100%; min-width: 0; } .settings-actions { justify-content: stretch; } .settings-actions .btn { width: 100%; } }

/* Cabeçalho autenticado e navegação padronizada */
.authenticated-header {
    min-height: 72px;
    padding: .85rem clamp(1rem, 3vw, 2rem);
    background: linear-gradient(180deg, rgba(22, 27, 34, .98), rgba(13, 17, 23, .94));
    box-shadow: 0 12px 32px rgba(0, 0, 0, .22);
}

.authenticated-header .brand {
    display: flex;
    align-items: baseline;
    gap: .55rem;
    white-space: nowrap;
}

.authenticated-header .brand small {
    color: var(--text-muted);
    font-size: .74rem;
    font-weight: 500;
    letter-spacing: 0;
}

.auth-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    flex-wrap: wrap;
}

.site-header .auth-nav .nav-button,
.nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .5rem .9rem;
    border: 1px solid rgba(139, 148, 158, .28);
    border-radius: 999px;
    background: rgba(33, 38, 45, .72);
    color: var(--text);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .16);
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.site-header .auth-nav .nav-button:hover,
.site-header .auth-nav .nav-button:focus-visible {
    transform: translateY(-1px);
    background: rgba(48, 54, 61, .92);
    border-color: rgba(57, 197, 207, .55);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .22);
    outline: none;
}

.nav-button-primary { background: linear-gradient(135deg, var(--primary), #39c5cf); border-color: rgba(57, 197, 207, .42); color: #fff; }
.nav-button-tv { background: rgba(57, 197, 207, .14); border-color: rgba(57, 197, 207, .34); color: #c9f8ff; }
.nav-button-admin { background: rgba(210, 153, 34, .16); border-color: rgba(210, 153, 34, .4); color: #f6d58d; }
.nav-button-danger { background: rgba(248, 81, 73, .16); border-color: rgba(248, 81, 73, .42); color: #ffb4ae; }

.user-summary {
    display: flex;
    align-items: center;
    gap: .5rem .7rem;
    flex-wrap: wrap;
    margin-left: .35rem;
    padding: .45rem .7rem;
    border: 1px solid rgba(139, 148, 158, .24);
    border-radius: 14px;
    background: rgba(13, 17, 23, .58);
    color: var(--text-muted);
    font-size: .78rem;
    line-height: 1.25;
}

.user-summary strong {
    color: var(--text);
    font-weight: 750;
}

@media(max-width:768px){
    .authenticated-header .brand { white-space: normal; }
    .auth-nav { justify-content: flex-start; width: 100%; }
    .user-summary { width: 100%; margin-left: 0; }
}

/* Cabeçalho autenticado e painel do atendente */
.authenticated-header { min-height: 72px; padding-block: .7rem; }
.site-header .brand { display: inline-flex; flex-direction: column; gap: .12rem; min-width: max-content; text-decoration: none; line-height: 1.05; }
.site-header .brand .brand-name { color: var(--text); white-space: nowrap; font-size: 1.28rem; font-weight: 850; letter-spacing: .01em; }
.site-header .brand .brand-name::first-letter { color: var(--cyan); }
.site-header .brand small { display: block; color: var(--text-muted); font-size: .68rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
.auth-nav { justify-content: flex-end; }
.nav-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.15rem; padding: .45rem .8rem; border: 1px solid rgba(139,148,158,.22); border-radius: 999px; background: rgba(33,38,45,.72); white-space: nowrap; }
.nav-button-primary { border-color: rgba(47,129,247,.42); background: rgba(47,129,247,.16); }
.nav-button-admin { border-color: rgba(57,197,207,.42); background: rgba(57,197,207,.12); }
.nav-button-tv { border-color: rgba(210,153,34,.42); background: rgba(210,153,34,.12); }
.nav-button-danger { border-color: rgba(248,81,73,.42); background: rgba(248,81,73,.12); }
.user-summary { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; padding: .35rem; border: 1px solid rgba(139,148,158,.18); border-radius: 999px; background: rgba(13,17,23,.46); color: var(--text-muted); font-size: .78rem; }
.user-summary span { padding: .25rem .5rem; border-radius: 999px; background: rgba(255,255,255,.035); white-space: nowrap; }
.user-summary strong { color: var(--text); }
.operator-info { display: flex; flex-wrap: wrap; gap: .65rem; margin: .9rem 0 1.2rem; color: var(--text-muted); }
.operator-info span { padding: .55rem .75rem; border: 1px solid rgba(139,148,158,.18); border-radius: 999px; background: rgba(33,38,45,.58); }
.operator-info strong { color: var(--text); }
.operator-info.compact { display: grid; gap: .6rem; margin-bottom: 1.4rem; }
.operator-info.compact span { border-radius: 12px; }
.panel-tools { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; justify-content: flex-end; }
.attendant-entry h1, .attendant-panel-header h1 { margin-top: .25rem; }
button:disabled { opacity: .55; cursor: not-allowed; }
.modal-backdrop { position: fixed; inset: 0; z-index: 500; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(1,4,9,.72); backdrop-filter: blur(6px); }
.modal-backdrop[hidden] { display: none; }
.modal-card { width: min(460px, 100%); padding: 1.5rem; border: 1px solid var(--border); border-radius: 18px; background: var(--bg-card); box-shadow: 0 24px 80px rgba(0,0,0,.55); }
.modal-card h2 { margin: 0 0 1rem; }
@media(max-width:768px){ .site-header .brand small { white-space: normal; } .user-summary { border-radius: 16px; } }
.modal-card-wide { width: min(860px, 100%); max-height: min(86vh, 760px); overflow-y: auto; }
.modal-ticket-list { display: grid; gap: .9rem; margin: 1rem 0; }
.modal-ticket-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid rgba(139,148,158,.18); border-radius: 14px; background: rgba(33,38,45,.58); }
.modal-ticket-item > div, .modal-ticket-item header { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; color: var(--text-muted); }
.modal-ticket-item strong { color: var(--cyan); font-size: 1.15rem; }
.modal-ticket-item-stacked { display: block; }
.modal-ticket-item-stacked header { margin-bottom: .85rem; }
.modal-ticket-actions { display: grid; grid-template-columns: minmax(160px, auto) 1fr; gap: 1rem; align-items: start; }
.modal-ticket-actions form:last-child { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)) auto; gap: .75rem; align-items: end; }
.modal-ticket-actions label { margin-bottom: 0; }
@media(max-width:768px){ .modal-ticket-item { align-items: stretch; flex-direction: column; } .modal-ticket-actions, .modal-ticket-actions form:last-child { grid-template-columns: 1fr; } }
.finish-progress { margin: .75rem 0 0; color: var(--text-muted); font-weight: 700; }
.modal-ticket-item.is-resolved { border-color: rgba(63,185,80,.45); background: rgba(46,160,67,.12); }
.modal-ticket-item.is-resolved [data-finish-status] { background: rgba(46,160,67,.22); color: #8ff0a4; }
