/* ============================================================
   Prêmio Manchester Catarinense — Tema do redesign (light)
   Verde-limão como ACENTO; sidebar/botões escuros.
   Escopo: telas migradas (login e, nas próximas fases, o app).
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

.auth,.auth *,.app,.app *{box-sizing:border-box}
:root{
  --brand:#AADC00; --brand-600:#98c400; --brand-700:#7EA800;
  --brand-soft:rgba(170,220,0,.15);
  --ink:#12150E; --ink-2:#1a1e14;
  --bg:#F3F5EF; --surface:#FFFFFF; --line:#E7EAE1;
  --text:#191d13; --text-2:#5c6350; --muted:#949b86;
  --amber:#EAA300; --amber-soft:rgba(234,163,0,.15);
  --radius:14px;
  --shadow:0 1px 2px rgba(20,25,10,.04), 0 10px 26px -14px rgba(20,25,10,.14);
}

/* ---------- Auth (login) ---------- */
body.rd-auth{margin:0;font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.rd-auth h1,.rd-auth h2{font-family:'Barlow Condensed','Inter',sans-serif;letter-spacing:.2px;margin:0}
.rd-auth a{text-decoration:none;color:inherit}
.auth{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}
.auth-brand{background:radial-gradient(1100px 480px at -10% -10%,#20261a,var(--ink));color:#dfe6d2;display:flex;flex-direction:column;justify-content:center;padding:64px;position:relative;overflow:hidden}
.auth-brand>img{width:236px;max-width:70%;position:relative;z-index:2}
.auth-brand h2{font-size:46px;line-height:1.03;margin:28px 0 14px;color:#fff;max-width:13ch;position:relative;z-index:2}
.auth-brand h2 em{color:var(--brand);font-style:normal}
.auth-brand p{color:#9aa588;font-size:15px;max-width:40ch;line-height:1.6;position:relative;z-index:2}
.bubble{position:absolute;border-radius:42% 58% 60% 40%/50% 45% 55% 50%;background:var(--brand);opacity:.13;filter:blur(1px)}
.b1{width:380px;height:380px;right:-130px;bottom:-130px}
.b2{width:150px;height:150px;right:110px;top:56px;opacity:.09}
.chips{display:flex;gap:10px;margin-top:34px;position:relative;z-index:2}
.chips span{border:1px solid rgba(255,255,255,.15);color:#c3cbb4;font-size:12.5px;padding:6px 13px;border-radius:20px}
.auth-form{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--surface)}
.auth-card{width:100%;max-width:400px}
.auth-card .eyebrow{color:#7a8368;font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}
.auth-card h1{font-size:33px;margin:8px 0 4px;font-weight:700}
.auth-card .sub{color:var(--text-2);font-size:14px;margin-bottom:24px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
.input{position:relative}
.input>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.input input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 16px 12px 42px;font-size:14.5px;background:#fbfcf9;outline:none;color:var(--text);font-family:'Inter',sans-serif}
.input input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:#fff}
.frow{display:flex;align-items:center;justify-content:space-between;margin:2px 0 20px;flex-wrap:wrap;gap:8px}
.frow a{color:var(--ink);font-size:13px;font-weight:600;border-bottom:1px solid var(--brand)}
.check{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px;cursor:pointer}
.check input{accent-color:var(--brand);width:15px;height:15px}
.auth-alt{text-align:center;margin-top:22px;color:var(--text-2);font-size:14px}
.auth-alt a{color:var(--ink);font-weight:700;border-bottom:1px solid var(--brand)}
.auth-fine{text-align:center;margin-top:12px;color:var(--muted);font-size:12.5px;line-height:1.5}
.auth-fine a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--brand)}
.auth-copy{text-align:center;margin-top:20px;color:var(--muted);font-size:12px}

/* alerts */
.rd-alert{border-radius:12px;padding:12px 14px;font-size:13.5px;margin-bottom:16px;border:1px solid;line-height:1.5}
.rd-alert.success{background:var(--brand-soft);border-color:#cfe89a;color:#4d6a00}
.rd-alert.warn{background:var(--amber-soft);border-color:#f2d59a;color:#8a5d00}
.rd-alert h4{font-size:15px;margin:0 0 4px;font-family:'Barlow Condensed',sans-serif}

/* buttons — modificadores autossuficientes; a base .btn fica escopada ao
   login para NÃO alterar os botões Bootstrap das telas ainda não migradas. */
.rd-auth .btn,.btn-brand,.btn-lime,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;line-height:1.2;border-radius:24px;padding:10px 18px;border:1px solid transparent;cursor:pointer;font-family:'Inter',sans-serif;text-decoration:none}
.btn-brand{background:var(--ink);color:#eef3e4}
.btn-brand:hover{background:#0a0c06;color:#fff}
.btn-lime{background:var(--brand);color:#12150b}
.btn-lime:hover{background:var(--brand-600)}
.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--text-2)}
.btn-ghost:hover{border-color:#c9d4b4;color:var(--text)}
.btn-sm{padding:7px 13px;font-size:13px}
.btn-block{width:100%;padding:13px 18px;font-size:15px}

/* ============================================================
   App shell (telas internas) — sidebar escura + topbar clara.
   Escopo em .rd-shell / .app para não vazar para telas legadas.
   ============================================================ */
body.rd-shell{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh;font-family:'Inter',sans-serif}
.app h1,.app h2,.app h3,.app h4{font-family:'Barlow Condensed','Inter',sans-serif}

/* sidebar */
.rd-sidebar{background:var(--ink);color:#cdd3c2;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.rd-sidebar .brand{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:8px}
.rd-sidebar .brand img{width:158px;display:block}
.rd-sidebar-body{flex:1;padding:0 10px 16px}
.rd-navlabel{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#6f7963;margin:16px 10px 6px;font-weight:600}
.rd-navlink{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:#c3cbb4;font-size:14px;font-weight:500;margin:2px 0;text-decoration:none;transition:background .14s,color .14s}
.rd-navlink i{font-size:17px;width:20px;text-align:center;color:#8f9a7c}
.rd-navlink:hover{background:rgba(255,255,255,.05);color:#fff}
.rd-navlink.active{background:var(--brand-soft);color:#eaffb0;box-shadow:inset 3px 0 0 var(--brand)}
.rd-navlink.active i{color:var(--brand)}
.rd-sidebar-foot{border-top:1px solid rgba(255,255,255,.06);padding:12px 10px 14px}
.rd-sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.05)}
.rd-sidebar-user .av{width:34px;height:34px;border-radius:50%;background:var(--brand);color:var(--ink);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rd-sidebar-user .av-info{min-width:0}
.rd-sidebar-user .av-info b{display:block;font-size:13px;color:#e4e9d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-sidebar-user .av-info small{font-size:11.5px;color:#8f9a7c}

/* main column */
.rd-main{display:flex;flex-direction:column;min-height:100vh;background:var(--bg);min-width:0}

/* topbar */
.rd-topbar{background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 28px;height:64px;position:sticky;top:0;z-index:1030}
.rd-topbar-title{flex:1;min-width:0}
.rd-topbar-title .crumb{font-size:11.5px;color:var(--muted);font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1px}
.rd-topbar-title h1{font-family:'Barlow Condensed','Inter',sans-serif;font-size:22px;font-weight:700;color:var(--text);margin:0;line-height:1.1}
.rd-badge-role{display:inline-flex;align-items:center;gap:5px;background:var(--ink);color:#d8e8b0;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:20px;letter-spacing:.04em}
.rd-badge-role i{color:var(--brand);font-size:12px}
.rd-badge-role.jurado{background:var(--amber-soft);color:#7a5400}
.rd-badge-role.jurado i{color:var(--amber)}
.rd-topbar .dropdown-toggle::after{display:none}
.rd-topbar-avatar{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#d8e8b0;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;border:none}
.rd-topbar-avatar .dot{position:absolute;width:9px;height:9px;background:var(--brand);border-radius:50%;border:2px solid var(--surface);bottom:0;right:0}
.rd-topbar .dropdown-menu{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);font-size:14px;padding:6px}
.rd-topbar .dropdown-menu a{border-radius:8px;padding:8px 12px;color:var(--text);display:flex;align-items:center;gap:9px}
.rd-topbar .dropdown-menu a:hover{background:var(--bg)}
.rd-topbar .dropdown-menu i{color:var(--muted)}

/* content */
.rd-content{flex:1;padding:28px 28px 40px;min-width:0}
/* Neutraliza o layout legado do CORK no shell do redesign (seletores de ID vencem a classe):
   - #content{width:50%;flex-grow:8;margin-top:150px} espremia TODAS as páginas internas em meia largura;
   - #content .middle-content{padding:0 32px!important} duplicava o recuo lateral. */
body.rd-shell #content.rd-content{width:auto;max-width:none;flex:1 1 auto;margin:0}
body.rd-shell #content.rd-content>.middle-content{padding:0!important;margin:0}
.rd-page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px;gap:16px;flex-wrap:wrap}
.rd-page-head h2{font-family:'Barlow Condensed','Inter',sans-serif;font-size:28px;font-weight:700;color:var(--text);margin:0 0 3px}
.rd-page-head p{color:var(--text-2);font-size:14px;margin:0}

/* footer */
.rd-foot{border-top:1px solid var(--line);padding:16px 28px;color:var(--muted);font-size:12.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface)}
.rd-foot a{color:var(--text-2);border-bottom:1px solid var(--brand);text-decoration:none}

/* metric cards */
.rd-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.rd-metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.rd-metric-head{display:flex;align-items:center;justify-content:space-between}
.rd-metric-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}
.rd-metric-icon.ink{background:var(--ink);color:var(--brand)}
.rd-metric-icon.lime{background:var(--brand-soft);color:var(--brand-700)}
.rd-metric-icon.amber{background:var(--amber-soft);color:var(--amber)}
.rd-metric-val{font-family:'Barlow Condensed','Inter',sans-serif;font-size:36px;font-weight:700;color:var(--text);line-height:1}
.rd-metric-lbl{font-size:13px;color:var(--text-2);font-weight:500}

/* section title */
.rd-section-title{font-family:'Barlow Condensed','Inter',sans-serif;font-size:17px;font-weight:700;color:var(--text);letter-spacing:.02em;margin:0 0 14px}

/* action cards */
.rd-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rd-action-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;position:relative;transition:box-shadow .15s,border-color .15s;text-decoration:none;color:inherit}
.rd-action-card:hover{border-color:#c9d4b4;box-shadow:0 4px 20px -6px rgba(20,25,10,.12)}
.rd-action-tag{position:absolute;top:14px;right:14px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:12px}
.rd-action-tag.admin{background:var(--ink);color:var(--brand)}
.rd-action-tag.jurado{background:var(--amber-soft);color:#7a5400}
.rd-action-ico{width:44px;height:44px;border-radius:12px;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink);margin-bottom:4px}
.rd-action-card h4{font-family:'Barlow Condensed','Inter',sans-serif;font-size:17px;font-weight:700;color:var(--text);margin:0}
.rd-action-card p{font-size:13px;color:var(--text-2);margin:0;line-height:1.5}
.rd-action-go{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--ink);margin-top:6px}
.rd-action-go i{color:var(--brand);font-size:14px}

/* responsivo */
@media (max-width:1100px){.rd-metrics{grid-template-columns:repeat(2,1fr)}.rd-actions{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.app{grid-template-columns:1fr}.rd-actions,.rd-metrics{grid-template-columns:1fr}.rd-sidebar{position:fixed;top:0;left:0;z-index:1050;width:264px;height:100vh;transform:translateX(-100%);transition:transform .22s ease;box-shadow:0 0 40px rgba(0,0,0,.35)}.rd-sidebar.open{transform:translateX(0)}.rd-sidebar-body{display:block}}

/* ============================================================
   COMPONENTES DE PÁGINA (Fases 3–5) — consolidados dos mockups
   proposta2-inscricao (formulário) e proposta2-listagem (tabela).
   Escopo em .app para não vazar p/ login (.rd-auth) nem legado.
   Só markup nas views usa estas classes; o CSS mora aqui.
   ============================================================ */

/* ---------- Cabeçalho de página extra (reaproveita .rd-page-head) ---- */
.app .rd-page-head .btn-brand,.app .rd-page-head .btn-ghost{white-space:nowrap}

/* ---------- Painel de seção (form-card) ---------- */
.rd-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 28px;margin-bottom:20px}
.rd-panel-head{display:flex;align-items:center;gap:10px;font-family:'Barlow Condensed','Inter',sans-serif;font-size:17px;font-weight:700;color:var(--text);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rd-panel-head>i{width:32px;height:32px;border-radius:8px;background:var(--ink);color:#eef3e4;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.rd-panel-badge{margin-left:auto;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:3px 10px;letter-spacing:.02em}
.rd-panel-badge.opt{background:rgba(170,220,0,.12);border-color:rgba(170,220,0,.35);color:#4d6a00}

/* ---------- Campos de formulário (escopo .app) ---------- */
.app .field{margin-bottom:18px}
.app .field>label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--text)}
.app .field>label .opt,.app .field>label .req{font-size:11.5px;font-weight:400;color:var(--muted);margin-left:6px}
.app .field>label .req{color:#c0392b}
.app .field-input{position:relative}
.app .field-input>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px;pointer-events:none}
.app .field-input>i.top-icon{top:14px;transform:none}
.app .field-input input,.app .field-input textarea,.app .field-input select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px 11px 40px;font-size:14px;font-family:'Inter',sans-serif;background:#fbfcf9;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.app .field-input input.no-icon,.app .field-input textarea.no-icon,.app .field-input select.no-icon{padding-left:14px}
.app .field-input input:focus,.app .field-input textarea:focus,.app .field-input select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:#fff}
.app .field-input textarea{resize:vertical;min-height:88px}
.app .field-hint{font-size:12px;color:var(--muted);margin-top:5px}
.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.field-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 20px}
.field-span-2{grid-column:span 2}

/* ---------- Tipo de inscrição (radio → chips escuras) ---------- */
.inscricao-tipo{display:flex;gap:10px;flex-wrap:wrap}
.tipo-option{position:relative}
.tipo-option input[type="radio"]{position:absolute;opacity:0;width:0;height:0}
.tipo-option label{display:flex;align-items:center;gap:8px;padding:10px 18px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);font-size:13.5px;font-weight:500;color:var(--text-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}
.tipo-option label i{font-size:16px;color:var(--muted)}
.tipo-option input[type="radio"]:checked+label{border-color:var(--ink);background:var(--ink);color:#eef3e4}
.tipo-option input[type="radio"]:checked+label i{color:var(--brand)}

/* ---------- Categorias (checkbox → pílulas) ---------- */
.cat-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.cat-option{position:relative}
.cat-option input[type="checkbox"],.cat-option input.btn-check{position:absolute;opacity:0;width:0;height:0}
.cat-option label{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1.5px solid var(--line);border-radius:20px;background:var(--surface);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.cat-option label .cat-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex-shrink:0;transition:background .15s}
.cat-option input:checked+label{border-color:var(--brand);background:rgba(170,220,0,.12);color:#4d6a00}
.cat-option input:checked+label .cat-dot{background:var(--brand)}
.cat-option.cat-sub label{font-size:12px;padding:5px 11px;border-radius:16px;color:var(--muted);border-style:dashed}

/* ---------- Taxa de inscrição (radio list) ---------- */
.taxa-list{display:flex;flex-direction:column;gap:8px}
.taxa-option{position:relative}
.taxa-option input[type="radio"]{position:absolute;opacity:0;width:0;height:0}
.taxa-option label{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}
.taxa-option label .taxa-name{font-weight:500;display:flex;align-items:center;gap:10px}
.taxa-option label .taxa-radio-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:var(--surface);flex-shrink:0;transition:border-color .15s,background .15s}
.taxa-option label .taxa-price{font-weight:700;color:var(--text-2);font-size:14px}
.taxa-option input[type="radio"]:checked+label{border-color:var(--ink);background:rgba(18,21,14,.04)}
.taxa-option input[type="radio"]:checked+label .taxa-radio-dot{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 3px var(--surface)}

/* ---------- Upload (dropzone) ---------- */
.upload-area{border:2px dashed var(--line);border-radius:12px;background:#f8faf4;padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.upload-area:hover{border-color:var(--brand);background:rgba(170,220,0,.06)}
.upload-icon{width:48px;height:48px;border-radius:12px;background:var(--ink);color:#eef3e4;display:flex;align-items:center;justify-content:center;font-size:22px}
.upload-title{font-size:14.5px;font-weight:600;color:var(--text)}
.upload-sub{font-size:12.5px;color:var(--muted)}
.upload-formats{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.upload-formats span{background:var(--bg);border:1px solid var(--line);border-radius:6px;font-size:11.5px;font-weight:600;padding:3px 8px;color:var(--text-2)}
.upload-filename{font-size:12.5px;color:#4d6a00;font-weight:600;margin-top:6px}

/* ---------- Área de erro (VISÍVEL — JS injeta filhos aqui) ---------- */
.rd-error-area{margin-top:12px}
.rd-error-area>div{background:#fff4f4;border:1px solid #ffc8c8;border-radius:10px;padding:10px 14px;color:#c0392b;font-size:13.5px;margin-top:8px}

/* ---------- Nota / avaliação (radios 1–10) ---------- */
.nota-scale{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.nota-scale .form-check{position:relative;padding:0;margin:0}
.nota-scale .form-check-input{position:absolute;opacity:0;width:0;height:0}
.nota-scale .form-check-label{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);font-size:15px;font-weight:700;color:var(--text-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.nota-scale .form-check-input:checked+.form-check-label{border-color:var(--ink);background:var(--ink);color:var(--brand)}

/* ---------- Notas informativas ---------- */
.links-hint{font-size:13px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:18px;display:flex;gap:8px;align-items:flex-start}
.links-hint i{color:var(--brand);font-size:16px;flex-shrink:0;margin-top:1px}
.campos-empresa-note{font-size:12.5px;color:var(--muted);background:var(--brand-soft);border:1px solid rgba(170,220,0,.3);border-radius:8px;padding:8px 12px;margin-bottom:16px;display:flex;gap:7px;align-items:center}
.campos-empresa-note i{color:#5c7a00;font-size:14px}
.rd-instructions{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:13.5px;color:var(--text-2);line-height:1.6;margin-bottom:20px}

/* ---------- Barra de ações (submit) ---------- */
.form-actions{display:flex;align-items:center;gap:12px;padding-top:4px;flex-wrap:wrap}
.form-actions .btn-brand{padding:12px 28px;font-size:15px;border-radius:24px}
.form-actions .btn-ghost{padding:12px 20px;font-size:14px;border-radius:24px}

/* ============================================================
   TABELA / LISTAGEM — card + tema p/ DataTables (Bfrtip, BS5)
   Restiliza o markup GERADO pelo DataTables sem tocar no JS.
   ============================================================ */
.tbl-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px 4px 4px}
.tbl-card .dataTables_wrapper{padding:8px 14px 4px}
/* toolbar topo: botões export + busca */
.tbl-card .dt-buttons{margin:4px 0 12px;display:inline-flex;gap:8px;flex-wrap:wrap}
.tbl-card .dt-button,.tbl-card button.dt-button{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--text-2)!important;border-radius:20px!important;padding:7px 14px!important;font-size:13px!important;font-weight:600!important;font-family:'Inter',sans-serif!important;display:inline-flex;align-items:center;gap:6px;box-shadow:none!important;transition:background .13s,border-color .13s}
.tbl-card .dt-button:hover{background:#f0f2ec!important;border-color:#cdd3c4!important;color:var(--text)!important}
.tbl-card .dt-button span{color:inherit}
.tbl-card .dataTables_filter{margin-bottom:12px}
.tbl-card .dataTables_filter label{font-size:0;color:transparent;display:inline-flex;align-items:center}
.tbl-card .dataTables_filter input{margin:0;border:1px solid var(--line);background:#f5f7f2;border-radius:18px;padding:8px 14px;font-size:13px;font-family:'Inter',sans-serif;color:var(--text);min-width:220px;outline:none}
.tbl-card .dataTables_filter input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:#fff}
/* cabeçalho e corpo */
.tbl-card table.dataTable{width:100%!important;border-collapse:collapse;margin:0}
.tbl-card table.dataTable thead th{padding:11px 16px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#f8faf5;border-bottom:1px solid var(--line)!important;white-space:nowrap;text-align:left}
.tbl-card table.dataTable tbody tr{border-bottom:1px solid #f0f2ec;transition:background .12s}
.tbl-card table.dataTable tbody tr:hover{background:#f8faf5}
.tbl-card table.dataTable tbody td{padding:11px 16px;font-size:13.5px;color:var(--text);vertical-align:middle;border-top:none}
.tbl-card table.dataTable.no-footer{border-bottom:none}
/* célula participante */
.u{display:flex;align-items:center;gap:10px}
.u .av{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#eef3e4;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.u b{display:block;font-size:13.5px;font-weight:600;color:var(--text);line-height:1.2}
.u small{color:var(--muted);font-size:12px}
.work-title{font-weight:600;color:var(--text);font-size:13.5px;display:block;line-height:1.2}
.work-sub{font-size:12px;color:var(--muted);margin-top:1px;display:block}
.cat-tags{display:flex;flex-wrap:wrap;gap:4px}
.cat-tag{background:#f0f2ec;color:var(--text-2);font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}
.td-valor{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}
/* badges de status */
.badge-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
.badge-status .bs-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.badge-pago{background:rgba(170,220,0,.14);color:#5a7000;border:1px solid rgba(170,220,0,.35)}
.badge-pago .bs-dot{background:var(--brand)}
.badge-pend{background:rgba(234,163,0,.12);color:#8a5d00;border:1px solid rgba(234,163,0,.3)}
.badge-pend .bs-dot{background:var(--amber)}
.badge-cat{background:#f0f2ec;color:var(--text-2);font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:10px;display:inline-block;margin:2px 3px 2px 0}
/* ações por linha (ícones) — funcionam em <a>, <button> e dentro de <form> */
.row-actions{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end;flex-wrap:wrap}
.row-actions form{margin:0;display:inline-flex}
.ib{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-size:14px;text-decoration:none;transition:background .12s,color .12s,border-color .12s;padding:0;line-height:1}
.ib:hover{background:#f0f2ec;color:var(--text);border-color:#c8d0be}
.ib.view:hover{background:#e8f3ff;color:#1a56db;border-color:#a4c3f8}
.ib.pix{color:#00875a}
.ib.pix:hover{background:#e8fff1;color:#00875a;border-color:#6ee7b7}
.ib.toggle-pago{color:#1D6F42}
.ib.toggle-pago:hover{background:rgba(170,220,0,.12);color:#3a6600;border-color:rgba(170,220,0,.4)}
.ib.toggle-pend{color:var(--amber)}
.ib.toggle-pend:hover{background:rgba(234,163,0,.1);color:#8a5d00;border-color:rgba(234,163,0,.4)}
.ib.del{color:#c62828}
.ib.del:hover{background:#fff0f0;color:#c62828;border-color:#f5a3a3}
/* rodapé: info + paginação (DataTables BS5) */
.tbl-card .dataTables_info{font-size:12.5px;color:var(--muted);padding:12px 16px}
.tbl-card .dataTables_paginate{padding:10px 16px}
.tbl-card .pagination{gap:3px;margin:0}
.tbl-card .pagination .page-link{border:1px solid var(--line);border-radius:8px!important;color:var(--text-2);font-size:13px;font-weight:600;padding:6px 11px;background:var(--surface)}
.tbl-card .pagination .page-link:hover{background:#f0f2ec;color:var(--text)}
.tbl-card .pagination .page-item.active .page-link{background:var(--ink);border-color:var(--ink);color:#eef3e4}
.tbl-card .pagination .page-item.disabled .page-link{opacity:.45}
/* pílulas de resumo (opcional acima da tabela) */
.stat-row{display:flex;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.stat-pill{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 18px;display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-2)}
.stat-pill b{color:var(--text);font-size:15px;font-weight:700}
.stat-pill .sp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sp-dot.lime{background:var(--brand)}
.sp-dot.amber{background:var(--amber)}
.sp-dot.blue{background:#3B82F6}
/* estado vazio */
.rd-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 24px;text-align:center;color:var(--text-2);font-size:14px}
.rd-empty i{font-size:34px;color:var(--muted);display:block;margin-bottom:10px}

/* responsivo componentes */
@media (max-width:900px){.field-grid-2,.field-grid-3{grid-template-columns:1fr}.field-span-2{grid-column:span 1}}

/* ============================================================
   CORREÇÕES DASHBOARD — alinhamento dos cards, barra de rolagem
   da sidebar e faixa de identidade. Só CSS/markup (sem lógica).
   ============================================================ */

/* cards de acesso rápido: mesma altura + CTA sempre na base */
.rd-actions{align-items:stretch}
.rd-action-card{height:100%}
.rd-action-go{margin-top:auto;padding-top:4px}

/* barra de rolagem da sidebar: fina e no tom escuro (não "quebrada") */
.rd-sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}
.rd-sidebar::-webkit-scrollbar{width:6px}
.rd-sidebar::-webkit-scrollbar-track{background:transparent}
.rd-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:3px}
.rd-sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24)}

/* faixa de identidade do Dashboard (usa só dados já existentes) */
.rd-hero{align-items:center;background:radial-gradient(760px 260px at 100% -60%,rgba(170,220,0,.20),transparent 62%),linear-gradient(135deg,var(--ink),#1b2115);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 28px}
.rd-hero h2{color:#fff}
.rd-hero p{color:#9aa588}
.rd-hero .btn-brand{background:var(--brand);color:var(--ink);border-color:transparent}
.rd-hero .btn-brand:hover{background:var(--brand-600);color:var(--ink)}
@media (max-width:560px){.rd-hero{padding:20px}}

/* ============================================================
   AUTH pré-login (cadastro / recuperar senha) — reaproveita o
   tema do login (.rd-auth, .auth, .field, .input, .btn-*).
   Aqui só o que é específico: mensagens de validação (validacao.js
   usa .d-none/.d-block nos #...Invalid) e card mais largo p/ cadastro.
   ============================================================ */
.rd-auth .invalid-feedback{display:none;color:#c0392b;font-size:12.5px;margin-top:6px;font-weight:600;line-height:1.4}
.rd-auth .invalid-feedback.d-block{display:block}
.rd-auth .auth-card.wide{max-width:600px}
.rd-auth .auth-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.rd-auth .field .cpf,.rd-auth .field input{width:100%}
.rd-auth .toggle-row{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px;margin:2px 0 18px;cursor:pointer;user-select:none}
.rd-auth .toggle-row input{accent-color:var(--brand);width:15px;height:15px}
@media (max-width:560px){.rd-auth .auth-grid-2{grid-template-columns:1fr}}

/* ---------- SPEC 001: Auth mobile (login + cadastro) — colapsa o split ---------- */
@media (max-width:820px){
  .auth{grid-template-columns:1fr;min-height:100vh}
  .auth-brand{padding:20px 24px;min-height:auto;justify-content:center;align-items:center}
  .auth-brand h2,.auth-brand p,.auth-brand .chips,.auth-brand .bubble{display:none}
  .auth-brand>img{width:150px;max-width:55%;margin:0 auto}
  .auth-form{padding:26px 18px}
  .rd-auth .auth-card,.rd-auth .auth-card.wide{max-width:100%}
}

/* ---------- SPEC 002: Botão hambúrguer + backdrop (drawer mobile) ---------- */
.rd-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:var(--text);font-size:20px;cursor:pointer;flex-shrink:0;padding:0}
.rd-backdrop{display:none;position:fixed;inset:0;background:rgba(18,21,14,.5);z-index:1045}
.rd-backdrop.open{display:block}
@media (max-width:820px){.rd-menu-btn{display:inline-flex}}

/* ---------- SPEC 003: DataTables responsive — tema das linhas-filhas ---------- */
.tbl-card table.dataTable>tbody>tr>td.dtr-control,
.tbl-card table.dataTable>tbody>tr>th.dtr-control{cursor:pointer}
.tbl-card table.dataTable>tbody>tr>td.dtr-control:before,
.tbl-card table.dataTable>tbody>tr.parent>td.dtr-control:before{background-color:var(--ink);border:none;box-shadow:none;color:#eef3e4;font-weight:700}
.tbl-card table.dataTable>tbody>tr.child ul.dtr-details{width:100%;display:block}
.tbl-card table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #f0f2ec;padding:8px 4px;display:flex;gap:10px}
.tbl-card table.dataTable>tbody>tr.child .dtr-title{font-weight:700;color:var(--text-2);min-width:110px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.tbl-card table.dataTable>tbody>tr.child .dtr-data{font-size:13.5px;color:var(--text)}
