:root{--gold:#b69a62;--ink:#191919;--muted:#6b6b6b;--line:#dedbd4;--paper:#f7f5f0;--red:#b42318;--redbg:#fee4e2;--green:#067647;--greenbg:#d1fadf}*{box-sizing:border-box}body{margin:0;font:15px system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff}header{min-height:68px;display:flex;align-items:center;gap:14px;padding:10px max(18px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);background:#fff}header img{width:46px;height:46px;object-fit:cover;border-radius:10px}header strong{flex:1}header nav{display:flex;gap:8px;flex-wrap:wrap}a,button{color:inherit}header a,header button{border:0;background:none;text-decoration:none;padding:9px;cursor:pointer}.wrap{max-width:1180px;margin:0 auto;padding:26px 18px}.login{min-height:100vh;display:grid;place-items:center;background:var(--paper);padding:20px}.login-card{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:20px;padding:28px;text-align:center}.logo{width:150px;border-radius:14px}.login-card form{display:grid;gap:14px;text-align:left;margin:24px 0}.login-card label,.form-grid label{display:grid;gap:6px;font-weight:600}.login-card input,.form-grid input,.form-grid select,.company-switch select{padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit}.login-card button,.form-grid button,.detail button{padding:12px;border:0;border-radius:10px;background:var(--gold);font-weight:700;cursor:pointer}.company-grid{display:grid;gap:12px}.company{display:grid;gap:5px;border:1px solid var(--line);padding:18px;border-radius:14px;text-decoration:none}.company span{color:var(--muted)}.company em{font-style:normal;color:var(--red)}.company-switch{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px;background:var(--paper);border-radius:14px}.company-switch div{display:grid;gap:3px}.toolbar{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:26px}.toolbar button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 16px;font-size:20px}.legend{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:8px 0 18px}.red{color:var(--red)!important}.green{color:var(--green)!important}.week,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week span{text-align:center;color:var(--muted);font-size:12px}.calendar button,.calendar i{min-height:84px;border:1px solid var(--line);border-radius:10px;background:white;padding:8px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.calendar button{cursor:pointer}.calendar .pending{background:var(--redbg);color:var(--red);border-color:#f7b8b3}.calendar .seen{background:var(--greenbg);color:var(--green);border-color:#8bd8ad}.detail,.panel{margin-top:22px;border:1px solid var(--line);border-radius:14px;padding:18px}.detail article{display:flex;align-items:center;gap:15px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}.detail article b{min-width:210px}.detail article em{font-style:normal}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats article{background:var(--paper);padding:18px;border-radius:14px;display:grid}.stats b{font-size:28px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.check{display:flex!important;align-items:center;flex-direction:row;grid-column:1/-1}.table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.tr{display:grid;grid-template-columns:160px 1.2fr 1fr 1.4fr;gap:12px;padding:12px;border-top:1px solid var(--line)}.tr:first-child{border:0}.head{background:var(--paper);font-weight:700}@media(max-width:720px){header{align-items:flex-start;flex-wrap:wrap}header nav{width:100%}.company-switch{align-items:stretch;flex-direction:column}.calendar button,.calendar i{min-height:58px;padding:4px}.calendar small{font-size:9px}.stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.tr{grid-template-columns:1fr}.head{display:none}}
:root{--historical:#46566e;--historical-bg:#e9edf2}.calendar .historical{background:var(--historical-bg);color:var(--historical);border-color:#b8c4d1}.detail em.historical{color:var(--historical);font-weight:700}.audit-month{padding:14px 18px;margin:20px 0 0;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:18px}.audit-event{border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:8px 0;display:grid;grid-template-columns:165px 1fr 1fr;gap:12px}.audit-event p{margin:5px 0}.audit-event small{color:var(--muted)}@media(max-width:720px){.audit-event{grid-template-columns:1fr}}
/* Login: opção permanente e opção momentânea para visualizar a senha. */
.login-card .password-field{display:grid;gap:6px;text-align:left;font-weight:600}
.login-card .password-controls{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;align-items:stretch}
.login-card .password-controls input{width:100%;min-width:0}
.login-card .password-controls .password-action{padding:0 10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:15px;white-space:nowrap}
.login-card .password-controls .password-action[aria-pressed="true"]{background:var(--paper);border-color:var(--gold)}
.login-card .password-controls .password-action:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.login-card .hold-password-icon{display:block;width:24px;height:24px;margin:auto}
.login-card .password-field small{color:var(--muted);font-weight:400;line-height:1.4}
