/*  SIME - Folha de estilos única (mobile-first)
    Cores: primário #0066CC (azul Tauá) | sucesso #16a34a | aviso #f59e0b | erro #dc2626
*/

* { box-sizing: border-box; }
:root{
    --azul:#0d4ea6;
    --azul-claro:#3b82f6;
    --azul-bg:#eaf2ff;
    --verde:#16a34a;
    --amarelo:#f59e0b;
    --vermelho:#dc2626;
    --cinza-50:#f8fafc;
    --cinza-100:#f1f5f9;
    --cinza-200:#e2e8f0;
    --cinza-300:#cbd5e1;
    --cinza-500:#64748b;
    --cinza-700:#334155;
    --cinza-900:#0f172a;
    --raio:12px;
    --sombra:0 2px 12px rgba(15,23,42,.08);
    --sombra-hover:0 6px 20px rgba(15,23,42,.12);
}
html,body{margin:0;padding:0;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--cinza-50);color:var(--cinza-900);line-height:1.5;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--azul);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.25;}
h1{font-size:1.5rem;}
h2{font-size:1.25rem;}
h3{font-size:1.1rem;}

/* ===== Topo / Cabeçalho ===== */
.topbar{
    background:linear-gradient(135deg,var(--azul) 0%,var(--azul-claro) 100%);
    color:#fff;
    padding:14px 16px;
    box-shadow:var(--sombra);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    position:sticky;top:0;z-index:50;
}
.topbar .logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:1.05rem;}
.topbar .logo img{height:36px;width:auto;border-radius:6px;}
.topbar .menu-btn{
    background:rgba(255,255,255,.18);border:0;color:#fff;
    padding:8px 12px;border-radius:8px;cursor:pointer;font-size:1.2rem;
}
.user-chip{display:flex;align-items:center;gap:8px;}
.user-chip img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff;}

/* ===== Container principal ===== */
.container{max-width:1100px;margin:0 auto;padding:16px;}

/* ===== Sidebar (off-canvas no mobile) ===== */
.sidebar{
    position:fixed;top:0;left:-100%;height:100vh;width:80%;max-width:320px;
    background:#fff;box-shadow:6px 0 18px rgba(0,0,0,.1);transition:.25s left;
    z-index:100;padding:16px;overflow-y:auto;
}
.sidebar.aberta{left:0;}
.sidebar .fecha{float:right;background:none;border:0;font-size:1.6rem;color:var(--cinza-500);cursor:pointer;}
.sidebar h3{color:var(--azul);margin-top:1em;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;}
.sidebar a{
    display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;
    color:var(--cinza-700);font-weight:500;
}
.sidebar a:hover{background:var(--azul-bg);color:var(--azul);text-decoration:none;}
.sidebar a.ativo{background:var(--azul);color:#fff;}
.overlay{
    display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:90;
}
.overlay.aberta{display:block;}

/* ===== Cards ===== */
.card{
    background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);
    padding:18px;margin-bottom:16px;
}
.card-h{font-size:1.1rem;font-weight:600;color:var(--azul);margin:-4px 0 14px;
    padding-bottom:8px;border-bottom:2px solid var(--cinza-100);}

/* Grid responsivo */
.grid{display:grid;gap:14px;grid-template-columns:1fr;}
@media(min-width:600px){.grid-2{grid-template-columns:1fr 1fr;}}
@media(min-width:900px){
    .grid-3{grid-template-columns:repeat(3,1fr);}
    .grid-4{grid-template-columns:repeat(4,1fr);}
}

/* Card de atalho */
.atalho{
    background:#fff;border-radius:var(--raio);padding:18px;text-align:center;
    box-shadow:var(--sombra);transition:.2s;display:block;color:inherit;
    border-top:4px solid var(--azul);
}
.atalho:hover{transform:translateY(-3px);box-shadow:var(--sombra-hover);text-decoration:none;}
.atalho .icone{font-size:2rem;color:var(--azul);margin-bottom:8px;}
.atalho .num{font-size:2rem;font-weight:700;color:var(--azul);}
.atalho.verde{border-color:var(--verde);} .atalho.verde .icone,.atalho.verde .num{color:var(--verde);}
.atalho.amarelo{border-color:var(--amarelo);} .atalho.amarelo .icone,.atalho.amarelo .num{color:var(--amarelo);}
.atalho.vermelho{border-color:var(--vermelho);} .atalho.vermelho .icone,.atalho.vermelho .num{color:var(--vermelho);}

/* ===== Formulários ===== */
.form-row{display:grid;gap:12px;grid-template-columns:1fr;}
@media(min-width:600px){
    .col-2{grid-template-columns:1fr 1fr;}
    .col-3{grid-template-columns:1fr 1fr 1fr;}
    .col-4{grid-template-columns:repeat(4,1fr);}
}
label{display:block;font-weight:600;font-size:.85rem;color:var(--cinza-700);margin-bottom:4px;}
input[type=text],input[type=email],input[type=password],input[type=date],
input[type=number],input[type=tel],input[type=file],input[type=search],select,textarea{
    width:100%;padding:11px 12px;border:1px solid var(--cinza-300);border-radius:8px;
    font-size:16px;background:#fff;color:var(--cinza-900);font-family:inherit;
    transition:.15s border-color, .15s box-shadow;
}
input[disabled]{background:var(--cinza-100);color:var(--cinza-500);cursor:not-allowed;}
input:focus,select:focus,textarea:focus{
    outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(13,78,166,.15);
}
textarea{min-height:90px;resize:vertical;}
.help{font-size:.78rem;color:var(--cinza-500);margin-top:3px;}

/* ===== Botões ===== */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:11px 18px;border-radius:8px;border:0;font-weight:600;font-size:.95rem;
    cursor:pointer;transition:.15s;background:var(--azul);color:#fff;text-decoration:none;
}
.btn:hover{background:#0a3f87;transform:translateY(-1px);text-decoration:none;color:#fff;}
.btn.secundario{background:var(--cinza-200);color:var(--cinza-700);}
.btn.secundario:hover{background:var(--cinza-300);color:var(--cinza-900);}
.btn.verde{background:var(--verde);}
.btn.verde:hover{background:#15803d;}
.btn.vermelho{background:var(--vermelho);}
.btn.vermelho:hover{background:#b91c1c;}
.btn.bloco{width:100%;}
.btn.pequeno{padding:6px 12px;font-size:.85rem;}

/* ===== Alertas ===== */
.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;font-weight:500;}
.alert-erro{background:#fee2e2;color:var(--vermelho);border-left:4px solid var(--vermelho);}
.alert-ok{background:#dcfce7;color:#166534;border-left:4px solid var(--verde);}
.alert-info{background:var(--azul-bg);color:var(--azul);border-left:4px solid var(--azul);}

/* ===== Tabelas / Listas (mobile-first) ===== */
.lista-item{
    display:flex;align-items:flex-start;gap:12px;padding:12px;border-bottom:1px solid var(--cinza-200);
}
.lista-item:last-child{border-bottom:0;}
.lista-item .info{flex:1;}
.lista-item .info strong{display:block;color:var(--cinza-900);}
.lista-item .info span{font-size:.85rem;color:var(--cinza-500);}
.lista-item .acoes{display:flex;gap:6px;flex-wrap:wrap;}

/* ===== Avatar / Foto ===== */
.avatar-grande{width:140px;height:140px;border-radius:50%;object-fit:cover;
    border:4px solid #fff;box-shadow:var(--sombra);background:#eee;margin:0 auto 12px;}
.foto-uploader{position:relative;display:inline-block;}
.foto-uploader input[type=file]{display:none;}
.foto-uploader .change{
    position:absolute;bottom:6px;right:6px;background:var(--azul);color:#fff;
    width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    cursor:pointer;box-shadow:var(--sombra);border:2px solid #fff;
}

/* ===== Pílulas / Status ===== */
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;}
.tag.aberta{background:#dcfce7;color:#166534;}
.tag.fechada{background:#fee2e2;color:#991b1b;}
.tag.cinza{background:var(--cinza-200);color:var(--cinza-700);}

/* ===== Login ===== */
.login-wrap{max-width:420px;margin:30px auto;}
.login-wrap .logo{text-align:center;margin-bottom:20px;}
.login-wrap .logo img{height:80px;margin:0 auto;}

/* Vagas - cards */
.vaga-card{background:#fff;border-radius:var(--raio);padding:16px;margin-bottom:14px;
    box-shadow:var(--sombra);border-left:4px solid var(--azul);}
.vaga-card h3{color:var(--azul);margin-bottom:6px;}
.vaga-card .meta{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0;font-size:.85rem;color:var(--cinza-500);}
.vaga-card .meta span{display:flex;align-items:center;gap:4px;}

/* Currículo (impressão) */
@media print{
    .topbar,.sidebar,.menu-btn,.btn,.no-print{display:none !important;}
    body{background:#fff;}
    .container{max-width:100%;padding:0;}
    .card{box-shadow:none;border:1px solid var(--cinza-200);}
}

/* Utilidades */
.text-center{text-align:center;}
.mt-2{margin-top:1rem;} .mt-3{margin-top:1.5rem;}
.mb-2{margin-bottom:1rem;} .mb-3{margin-bottom:1.5rem;}
.flex{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.entre{justify-content:space-between;}
.muted{color:var(--cinza-500);}
.divisor{border:0;border-top:1px solid var(--cinza-200);margin:14px