/* RAWA Master — visual próprio do operador da plataforma. */
:root { color-scheme: light; font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; }
body.rawa-master { margin: 0; min-width: 320px; min-height: 100vh; color: #142139; background: #fff; }
[hidden] { display: none !important; }
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
.master-shell { display: grid; grid-template-columns: minmax(320px, 46%) minmax(0, 54%); min-height: 100vh; }
.master-aside {
    position: relative; display: flex; align-items: center; justify-content: center; min-height: 100vh;
    overflow: hidden; padding: clamp(36px, 6vw, 90px); color: #f6f9ff;
    background:
       radial-gradient(circle at 85% 10%, rgba(91,91,246,.22), transparent 39%),
       radial-gradient(circle at 10% 95%, rgba(14,109,188,.12), transparent 45%),
       linear-gradient(145deg,#0a1630,#1b2356 90%);
}
.master-aside::before {
    content: ""; position: absolute; inset: 0; opacity: .18; pointer-events: none;
    background-image: radial-gradient(#7292ea 0.8px,transparent 0.8px);
    background-size: 29px 29px;
}
.master-aside-inner { position: relative; width: 100%; max-width: 550px; }
.master-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 60px; font-size: 22px; font-weight: 850; letter-spacing: -.02em; }
.master-brand img { width: 45px; height: 45px; object-fit: contain; }
.master-brand b { font-size: 10px; vertical-align: middle; font-weight: 850; letter-spacing: .14em; color: #9fc5ff; border: 1px solid rgba(163,197,248,.34); border-radius: 999px; padding: 5px 7px; margin-left: 5px; }
.master-kicker, .master-eyebrow { font-size: 10px; font-weight: 850; letter-spacing: .17em; }
.master-kicker { color: #80b9ff; }
.master-aside h1 { margin: 21px 0 18px; font-size: clamp(35px,3.5vw,59px); letter-spacing: -.058em; line-height: 1.1; }
.master-aside h1 em { font-style: normal; color: #84bdff; }
.master-aside p { max-width: 450px; margin: 0; font-size: 15px; line-height: 1.75; color: #bacbea; }
.master-aside-note { max-width: 460px; margin-top: 55px; padding: 18px 20px; border: 1px solid rgba(148,174,226,.19); border-radius: 13px; background: rgba(226,237,255,.05); color: #a5bfe4; font-size: 12px; line-height: 1.65; }
.master-auth-side, .master-picker-side { min-width: 0; background: #fff; }
.master-auth-side { display: grid; place-items: center; padding: 35px clamp(22px,6vw,88px); }
.master-auth-card { width: 100%; max-width: 430px; }
.master-lock { width: 45px; height: 45px; display: grid; place-items: center; font-size: 21px; color: #5b63e6; border-radius: 13px; background: #f0f0ff; margin-bottom: 26px; }
.master-eyebrow { margin: 0 0 7px; color: #5e78a0; }
.master-auth-card h2, .master-picker-header h2 { margin: 0 0 8px; font-size: clamp(25px,2.4vw,32px); letter-spacing: -.037em; color: #0e1b31; }
.master-auth-card > p:not(.master-eyebrow):not(.master-hint), .master-picker-header p:last-child { margin: 0 0 26px; font-size: 13px; color: #7c8da7; line-height: 1.6; }
#master-login-form { display: grid; gap: 16px; margin-top: 30px; }
#master-totp-fields:not([hidden]) { display: grid; gap: 15px; }
#master-totp-fields[hidden] { display: none; }
#master-totp-code { font-variant-numeric: tabular-nums; letter-spacing: .12em; }
#master-login-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 720; color: #253551; }
#master-login-form input { width: 100%; min-height: 48px; border: 1px solid #cbd5e5; border-radius: 11px; outline: none; padding: 0 15px; color: #1a2943; background: #f7f9fe; transition: box-shadow .2s,border-color .2s; }
#master-login-form input:focus { border-color: #6675ec; box-shadow: 0 0 0 4px rgba(82,100,221,.10); background: #fff; }
#master-login-form input::placeholder { color: #9eacc0; }
.master-primary { display: flex; justify-content: center; align-items: center; gap: 12px; border: 0; border-radius: 12px; padding: 15px; margin-top: 8px; color: white; font-size: 14px; font-weight: 800; background: #17233b; box-shadow: 0 10px 22px rgba(15,28,48,.17); transition: background .2s,transform .2s; }
.master-primary:hover:not(:disabled) { background: #283c66; transform: translateY(-1px); }
.master-primary:disabled { opacity: .55; cursor: wait; }
.master-back { display: inline-block; margin: 25px 0 0; font-size: 12px; text-decoration: none; font-weight: 650; color: #697f9b; }
.master-back:hover { color: #334cc0; }
.master-hint { margin: 26px 0 0; padding-top: 16px; border-top: 1px solid #e8edf5; color: #9daabc; font-size: 11px; line-height: 1.6; }
.master-alert { margin: 0; border: 1px solid #f6b8b8; border-radius: 10px; padding: 12px 14px; background: #fff3f3; color: #a23434; font-size: 12px; line-height: 1.55; }
.master-picker-side { overflow: auto; padding: clamp(32px,5vw,76px) clamp(22px,6vw,82px); }
.master-picker-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 26px; }
.master-picker-header p:last-child { margin-bottom: 0; }
.master-logout { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #dce3ee; border-radius: 9px; color: #586e8e; background: #fff; font-size: 12px; font-weight: 750; }
.master-logout:hover { border-color: #a4b4d3; color: #1b356c; }
.master-choice { display: flex; width: 100%; align-items: center; text-align: left; gap: 16px; min-height: 81px; border: 1px solid #dfe5f0; border-radius: 14px; padding: 14px 16px; margin: 0 0 10px; background: #fff; color: #0e1a2e; transition: border-color .2s,background .2s,transform .2s; }
.master-choice:hover, .master-choice:focus-visible { border-color: #8ca9ef; background: #f9faff; transform: translateY(-1px); }
.master-admin-choice { border-color: #b6c3ff; box-shadow: 0 6px 21px rgba(67,83,225,.055); }
.master-choice-icon { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid #e4e9f1; border-radius: 13px; background: #f1f4f9; color: #879bb9; font-size: 18px; font-weight: 800; }
.master-admin-icon { background: linear-gradient(140deg,#4866f0,#9851ed); color: white; border: 0; box-shadow: 0 6px 14px rgba(91,83,232,.20); }
.master-choice-copy { min-width: 0; flex: 1; display: grid; gap: 5px; }
.master-choice-copy strong { font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }
.master-choice-copy small { font-size: 11px; color: #8996aa; overflow-wrap: anywhere; line-height: 1.4; }
.master-choice-arrow { color: #bdc8d9; font-size: 20px; font-weight: 700; }
.master-list-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 28px 0 15px; }
.master-list-title h3 { margin: 0; font-size: 14px; color: #293854; }
.master-list-title span { font-size: 11px; color: #93a2b8; }
.master-tenant-list { display: grid; gap: 10px; }
.master-empty { color: #7586a0; background: #f7f9fd; border: 1px dashed #d4ddea; border-radius: 12px; padding: 20px; text-align: center; font-size: 13px; line-height: 1.5; }
.master-more { margin: 17px 0 0; width: 100%; padding: 11px; border: 1px solid #dbe4f3; border-radius: 11px; background: white; color: #4767a7; font-size: 12px; font-weight: 700; }
.master-detail { padding: 22px; margin-top: 24px; border: 1px solid #c6d4f0; border-radius: 15px; background: #f6f9ff; }
.master-detail-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.master-detail-heading h3 { margin: 0; font-size: 17px; color: #17284b; }
#master-detail-close { border: 0; font-size: 25px; line-height: 1; background: transparent; color: #8798b3; }
.master-detail p { color: #60718d; font-size: 13px; line-height: 1.65; }
.master-detail-list { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.master-detail-list div { border-radius: 10px; background: #fff; padding: 12px; border: 1px solid #e1e9f5; min-width: 0; }
.master-detail-list dt { font-size: 10px; color: #8c9bb1; margin-bottom: 4px; }
.master-detail-list dd { margin: 0; color: #233657; font-size: 12px; font-weight: 750; overflow-wrap: anywhere; }
.master-readonly { padding: 10px 12px; border-radius: 10px; margin-top: 14px; color: #6b598c !important; background: #f1edfb; font-size: 12px !important; }
.master-back-picker { display: inline-block; margin-top: 30px; }
@media (max-width: 940px) {
    .master-shell { grid-template-columns: minmax(270px,40%) minmax(0,60%); }
    .master-aside { padding: 35px 30px; }
    .master-picker-side, .master-auth-side { padding: 36px 26px; }
    .master-aside h1 { font-size: 37px; }
}
@media (max-width: 680px) {
    .master-shell { display: block; }
    .master-aside { min-height: 0; padding: 32px 25px 25px; }
    .master-brand { margin-bottom: 16px; font-size: 18px; }
    .master-brand img { width: 32px; height: 32px; }
    .master-aside h1 { font-size: 31px; margin: 13px 0 8px; }
    .master-aside p { font-size: 13px; line-height: 1.5; }
    .master-aside-note { display: none; }
    .master-auth-side, .master-picker-side { padding: 32px 22px 50px; }
    .master-picker-header h2 { font-size: 25px; }
    .master-choice { min-height: 75px; padding: 12px; }
    .master-choice-icon { width: 41px; height: 41px; flex-basis: 41px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; }
}

/* Painel Master B — consulta global isolada, legível e sem métricas inventadas. */
.master-dashboard-summary { margin: 0 0 18px; padding: 19px; border: 1px solid #dbe5f4; border-radius: 15px; background: #fafcff; }
.master-dashboard-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.master-dashboard-heading h3 { margin:0; font-size:15px; color:#213353; }
.master-dashboard-heading span { font-size:11px; color:#8093af; }
.master-kpi-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.master-kpi { background:#fff; border:1px solid #e1e9f5; border-radius:11px; padding:16px; }
.master-kpi small { display:block; font-size:11px; color:#667e9c; line-height:1.4; }
.master-kpi strong { display:block; font-size:29px; color:#1c3156; margin-top:7px; font-variant-numeric:tabular-nums; }
.master-distribution { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.master-distribution span { display:inline-block; padding:5px 8px; border-radius:8px; background:#edf3fc; color:#456384; font-size:11px; }
.master-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(105px,135px) auto auto; align-items:end; gap:9px; margin:0 0 15px; }
.master-filters label { display:grid; gap:5px; font-size:11px; font-weight:720; color:#556c8b; }
.master-filters input, .master-filters select { width:100%; min-width:0; height:41px; padding:0 10px; border:1px solid #d2dfee; border-radius:9px; background:#fff; color:#233655; outline:none; font:inherit; }
.master-filters input:focus-visible, .master-filters select:focus-visible { outline:2px solid #7d96e7; outline-offset:2px; }
.master-filter-button, .master-filter-reset { height:41px; padding:0 12px; border:1px solid #d2dfee; border-radius:9px; background:#fff; color:#31527e; font-size:12px; font-weight:750; }
.master-filter-button { background:#1f3154; border-color:#1f3154; color:#fff; }
.master-filter-button:disabled, .master-filter-reset:disabled { opacity:.55; cursor:wait; }
@media (max-width: 790px) {
  .master-filters { grid-template-columns: minmax(0,1fr) minmax(115px,1fr); }
  .master-filter-button, .master-filter-reset { width:100%; }
}
@media (max-width: 410px) {
  .master-kpi-grid { grid-template-columns:1fr; }
  .master-filters { grid-template-columns:1fr; }
}

/* Preparação administrativa só é exibida após capability=true vinda do servidor. */
.master-new-tenant { margin:16px 0 20px; }
.master-tenant-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:20px; margin-top:12px; border:1px solid #cad9ef; border-radius:14px; background:#f8fbff; }
.master-tenant-form h3, .master-tenant-form p { grid-column:1/-1; margin:0; }
.master-tenant-form h3 { font-size:15px; color:#23395c; }
.master-tenant-form p { font-size:12px; line-height:1.6; color:#687c98; }
.master-tenant-form label { display:grid; gap:6px; min-width:0; font-size:11px; font-weight:750; color:#415979; }
.master-tenant-form input { display:block; min-width:0; width:100%; height:43px; border:1px solid #d2dfee; background:#fff; color:#1e344f; border-radius:9px; padding:0 11px; font:inherit; }
.master-tenant-form input:focus-visible { outline:2px solid #7d96e7; outline-offset:2px; }
.master-tenant-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; }
.master-tenant-actions button { flex:1; min-width:145px; }
.master-suspend { margin-top:14px; border-color:#e5c6c6; color:#a34747; }
.master-suspend:hover { background:#fff3f3; }
@media (max-width:560px) { .master-tenant-form { grid-template-columns:1fr; } }

/* Trilha de auditoria exclusiva da plataforma; valores vindos de texto seguro. */
.master-audit-list { display:grid; gap:8px; margin:14px 0; max-height:480px; overflow-y:auto; }
.master-audit-item { display:grid; gap:5px; background:#fff; border:1px solid #dce6f3; border-radius:11px; padding:12px 14px; }
.master-audit-item strong { color:#1e385e; font-size:12px; overflow-wrap:anywhere; }
.master-audit-item small { color:#657e9a; font-size:11px; line-height:1.55; overflow-wrap:anywhere; }
