/* GMC · painel de administração */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0}

:root{--brand:#10b0cc;--brand-600:#0a97b0;--brand-700:#07788d;--brand-50:#e8f8fb;--ink:#0b2433;--muted:#64788a;--line:#e3edf1;--bg:#f4f8fa;--radius:14px;--side:264px}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);font-size:.95rem;-webkit-font-smoothing:antialiased}
a{color:var(--brand-600);text-decoration:none}a:hover{color:var(--brand-700)}
.text-brand{color:var(--brand)}
.btn{font-weight:600;border-radius:10px}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover,.btn-brand:focus{background:var(--brand-600);border-color:var(--brand-600);color:#fff}
.btn-outline-brand{color:var(--brand-700);border-color:var(--brand);background:transparent}
.btn-outline-brand:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.form-control,.form-select{border-radius:10px;border-color:#d3e1e7;padding:.6rem .85rem}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .22rem rgba(16,176,204,.2)}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}
.form-label{font-weight:600;font-size:.88rem}
.form-text{font-size:.8rem}

/* Estrutura */
.admin-shell{display:flex;min-height:100vh}
.sidebar{width:var(--side);background:#0a2231;color:#b9ccd8;position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:1040;padding:18px 14px 28px;transition:transform .3s}
.sidebar-brand{display:flex;align-items:center;gap:.7rem;color:#fff;font-weight:800;padding:6px 10px 18px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-brand img{background:#fff;border-radius:9px;padding:3px 6px;height:38px;width:auto}
.nav-group{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800;color:#6f8798;padding:18px 12px 6px}
.side-link{display:flex;align-items:center;gap:.75rem;color:#c5d6e0;padding:.58rem .8rem;border-radius:10px;font-weight:600;transition:background .2s,color .2s}
.side-link i{font-size:1.1rem;width:20px;text-align:center}
.side-link:hover{background:rgba(255,255,255,.07);color:#fff}
.side-link.active{background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(16,176,204,.3)}
.side-link .count{margin-left:auto;background:#ef4a5c;color:#fff;font-style:normal;font-size:.7rem;font-weight:800;border-radius:999px;padding:.1rem .5rem}
.sidebar-backdrop{display:none}
.admin-main{margin-left:var(--side);flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:1030;display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.7rem 1.5rem}
.icon-btn{border:0;background:var(--brand-50);color:var(--brand-700);border-radius:10px;width:42px;height:42px;font-size:1.4rem;display:grid;place-items:center}
.user-chip{display:flex;align-items:center;gap:.55rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.25rem .8rem .25rem .3rem;font-weight:600;color:var(--ink)}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800}
.content{padding:1.8rem 1.5rem 3rem;max-width:1280px;width:100%}

/* Cabeçalhos e cartões */
.page-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.4rem}
.page-head h1{font-size:1.55rem;font-weight:800;margin:0;display:flex;align-items:center;gap:.6rem}
.page-head h1>i{color:var(--brand)}
.page-head p{margin:.2rem 0 0;color:var(--muted)}
.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 22px rgba(11,36,51,.04);background:#fff}
.card-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}
.card-head h2{font-size:1.02rem;font-weight:800;margin:0}
.table{--bs-table-bg:transparent}
.table thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800;border-bottom-color:var(--line);padding:.85rem 1rem;white-space:nowrap}
.table td{padding:.8rem 1rem;border-color:var(--line)}
.table tbody tr:hover{background:#fafdfe}
.thumb{width:64px;height:48px;object-fit:cover;border-radius:8px;background:var(--brand-50);display:block}
.badge{font-weight:700;border-radius:999px;padding:.4em .75em}
.st-ok,.st-confirmada{background:#dcf7e6;color:#16793f}
.st-off{background:#e9eef2;color:#586b7a}
.st-pendente{background:#fff0cf;color:#9a6200}
.st-concluida{background:#dbeafe;color:#1d4ed8}
.st-cancelada{background:#fde2e4;color:#b42335}
.st-info{background:var(--brand-50);color:var(--brand-700)}

/* Dashboard */
.stat-tile{display:flex;flex-direction:column;gap:.1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;color:var(--ink);transition:transform .2s,box-shadow .2s;height:100%}
.stat-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(11,36,51,.08);color:var(--ink)}
.stat-tile i{font-size:1.5rem;color:var(--brand);margin-bottom:.3rem}
.stat-tile strong{font-size:1.9rem;line-height:1.1}
.stat-tile span{color:var(--muted);font-size:.85rem;font-weight:600}
.stat-tile.warn i{color:#e69a00}.stat-tile.info i{color:#2f80ed}
.msg-row.unread{background:var(--brand-50)}
.row-unread td{background:#f6fcfd}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-right:.4rem}

/* Formulários */
.lang-tabs .nav-link{font-weight:700;color:var(--muted)}
.lang-tabs .nav-link.active{color:var(--brand-700);border-bottom-color:#fff}
.scroll-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;white-space:nowrap}
.scroll-tabs .nav-link{font-weight:700;color:var(--muted)}
.scroll-tabs .nav-link.active{color:var(--brand-700)}
.lang-tag{font-weight:800;font-size:.72rem;background:var(--brand-50);color:var(--brand-700);border-color:#d3e1e7}
.input-group>.form-control,.input-group>textarea{min-width:0}
.form-actions{position:sticky;bottom:0;margin:1.5rem -1.5rem -3rem;padding:1rem 1.5rem;background:rgba(244,248,250,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:.7rem;z-index:5}
.current-image{background:var(--bg);border:1px dashed #cbdce4;border-radius:12px;padding:.7rem;display:block;width:fit-content;max-width:100%}
.current-image img{max-height:130px;max-width:100%;border-radius:8px;display:block}
.preview-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.preview-row img{height:80px;width:auto;border-radius:8px;border:1px solid var(--line)}
.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px}
.icon-grid button{border:1px solid var(--line);background:#fff;border-radius:9px;height:42px;font-size:1.15rem;color:var(--muted);transition:all .15s}
.icon-grid button:hover{border-color:var(--brand);color:var(--brand)}
.icon-grid button.active{background:var(--brand);border-color:var(--brand);color:#fff}
.detail-list{display:grid;grid-template-columns:150px 1fr;gap:.7rem 1rem;margin:0}
.detail-list dt{color:var(--muted);font-weight:700;font-size:.85rem}
.detail-list dd{margin:0;font-weight:500}
.message-body{font-size:1.02rem;line-height:1.75}
.pill-filter{display:flex;flex-wrap:wrap;gap:.5rem}
.pill-filter a{background:#fff;border:1px solid var(--line);color:var(--ink);padding:.4rem .9rem;border-radius:999px;font-weight:700;font-size:.85rem}
.pill-filter a em{font-style:normal;color:var(--muted);margin-left:.3rem}
.pill-filter a.active{background:var(--brand);border-color:var(--brand);color:#fff}
.pill-filter a.active em{color:rgba(255,255,255,.85)}
.pagination{margin:0}
.page-link{color:var(--brand-700);border-radius:8px!important;margin:0 2px}
.active>.page-link{background:var(--brand);border-color:var(--brand)}

/* Login */
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#082436,#0d4560 60%,#0b86a0);padding:1.2rem}
.login-card{width:100%;max-width:420px;background:#fff;border-radius:22px;padding:2.4rem 2rem;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.login-card h1{font-size:1.5rem;font-weight:800}

/* Responsivo */
@media (max-width:991.98px){
  .sidebar{transform:translateX(-100%)}
  body.sidebar-open .sidebar{transform:none;box-shadow:0 0 60px rgba(0,0,0,.4)}
  body.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(7,30,44,.5);z-index:1035}
  .admin-main{margin-left:0}
  .content{padding:1.2rem 1rem 3rem}
  .form-actions{margin:1.5rem -1rem -3rem;padding:.9rem 1rem}
  .detail-list{grid-template-columns:1fr;gap:.1rem}
  .detail-list dd{margin-bottom:.6rem}
}
