:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#15283d;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}header{background:#14263d;color:white;padding:18px 18px 16px}header h1{font-size:20px;margin:0}header small{color:#c2d8e9}.wrap{max-width:850px;margin:auto;padding:15px 15px 110px}.card{background:white;border:1px solid #e1e7ee;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 2px 10px #172f4810}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:#63748a;font-size:13px}.pill{font-size:12px;padding:5px 9px;border-radius:100px;background:#e8f3f9;color:#16608a}.tabs{display:flex;overflow-x:auto;gap:7px;padding:12px 15px;background:white;position:sticky;top:0;z-index:3;border-bottom:1px solid #e1e7ee}.tabs button{border:0;border-radius:12px;padding:10px 14px;background:#eef3f7;color:#243c52;white-space:nowrap}.tabs button.active,.primary{background:#1479a5!important;color:white!important}.primary{border:0;border-radius:10px;padding:11px 16px;font-weight:650}.secondary{background:white;border:1px solid #b8c7d5;color:#29445a;border-radius:10px;padding:9px 12px}.danger{color:#9c3030}input,textarea,select{width:100%;border:1px solid #ccd7e0;background:white;border-radius:10px;padding:11px;margin:5px 0 12px;color:#14263d}textarea{min-height:75px}.fieldlabel{font-size:13px;font-weight:650}.item{border-top:1px solid #e5ebf1;padding:13px 0}.item:first-child{border-top:0}.item strong{display:block}.item p{margin:5px 0}.item.done strong{text-decoration:line-through;color:#8191a0}.mini{font-size:12px}.login{max-width:420px;margin:10vh auto;padding:20px}.login h1{font-size:25px}.alert{background:#fff2df;padding:10px;border-radius:10px;color:#7b4e0c}.good{color:#16815b}.bottom{position:fixed;bottom:0;background:#fff;border-top:1px solid #ddd;width:100%;padding:10px;text-align:center;font-size:12px;color:#536c80}.floating{position:fixed;right:18px;bottom:70px;width:58px;height:58px;border-radius:50%;border:0;background:#1479a5;color:white;box-shadow:0 4px 20px #0003;z-index:5;font-size:24px;touch-action:none}.chat{position:fixed;bottom:137px;right:14px;width:min(350px,calc(100vw - 28px));max-height:60vh;overflow:auto;background:white;border-radius:18px;padding:15px;box-shadow:0 5px 30px #0004;z-index:5}.loading{text-align:center;padding:30px}.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi>div{background:#eaf2f8;padding:13px;border-radius:12px;text-align:center}.kpi strong{font-size:25px;display:block}.logo{max-height:70px;max-width:190px;object-fit:contain}h2{font-size:19px}h3{font-size:16px}.hidden{display:none!important}

.item .pill{display:inline-block;margin:3px 4px 4px 0}.item strong{overflow-wrap:anywhere}button:focus-visible,input:focus-visible{outline:3px solid #1479a5;outline-offset:2px}

/* Rodrigues Gestão — Login v3.1 */
body:has(.login) {
    min-height: 100vh;
    min-height: 100dvh;
    background:
        radial-gradient(circle at 15% 20%, #244b75 0%, transparent 35%),
        linear-gradient(135deg, #091728, #142d4b 65%, #0c2036);
}

.login.card {
    max-width: 440px;
    margin: 8vh auto;
    padding: 38px;
    border: 1px solid #dce6f0;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.login h1 {
    color: #14263d;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.8px;
    margin-bottom: 12px;
}

.login .muted {
    color: #63748a;
    line-height: 1.6;
}

.login form {
    margin-top: 28px;
}

.login label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #263f59;
    margin-bottom: 4px;
}

.login input {
    min-height: 48px;
    padding: 12px 14px;
    margin-bottom: 18px;
    border: 1px solid #cbd7e4;
    border-radius: 11px;
    background: #f8fafc;
}

.login input:focus {
    border-color: #1479a5;
    outline: 3px solid #1479a530;
}

.login .primary {
    min-height: 49px;
    border-radius: 11px;
    font-size: 15px;
    background: linear-gradient(110deg, #116c9a, #1488b8)!important;
    box-shadow: 0 5px 14px #1479a533;
}

.login .primary:hover {
    filter: brightness(1.08);
}

@media (max-width: 520px) {
    body:has(.login) {
        padding: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .login.card {
        width: 100%;
        margin: 0;
        padding: 28px 23px;
        border-radius: 18px;
    }

    .login h1 {
        font-size: 26px;
    }
}

/* Ajustes finais do login v3.2 */
body:has(.login) {
    display: grid;
    place-items: center;
    padding: 24px;
}

body:has(.login) #app {
    width: 100%;
}

.login.card {
    margin: 0 auto;
    width: 100%;
    max-width: 450px;
}

.login h1 {
    line-height: 1.2;
}

.login .primary {
    transition: transform .15s ease, filter .15s ease;
}

.login .primary:active {
    transform: scale(.99);
}

@media (max-width: 520px) {
    body:has(.login) {
        padding: 16px;
    }
}
