:root{--pf-card:#fff;--pf-text:#17191d;--pf-muted:#69707a;--pf-border:#e5e7eb;--pf-primary:#111827}
.pf-wrap{max-width:560px;margin:32px auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--pf-text)}
.pf-card{background:var(--pf-card);border:1px solid var(--pf-border);border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(0,0,0,.05)}
.pf-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pf-top h2{margin:4px 0 0;font-size:26px}.pf-kicker{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--pf-muted)}.pf-logout{font-size:14px;color:var(--pf-muted)}
.pf-clock{font-size:58px;line-height:1;text-align:center;font-variant-numeric:tabular-nums;font-weight:750;margin:34px 0 8px}.pf-date{text-align:center;color:var(--pf-muted);text-transform:capitalize;margin-bottom:26px}
.pf-location-box{padding:16px;border:1px solid var(--pf-border);background:#fafafa;border-radius:12px;margin-bottom:12px}#pf-location-detail{font-size:13px;color:var(--pf-muted);margin-top:5px}
.pf-btn{display:block;width:100%;box-sizing:border-box;border:none;border-radius:12px;padding:15px 18px;font-weight:700;font-size:16px;text-align:center;cursor:pointer;text-decoration:none;margin-top:10px}.pf-primary{background:var(--pf-primary);color:#fff}.pf-secondary{background:#eef0f3;color:#17191d}.pf-btn:disabled{opacity:.45;cursor:not-allowed}
.pf-message{margin-top:16px;line-height:1.55}.pf-success{padding:14px;background:#ecfdf3;border-radius:12px}.pf-error{padding:14px;background:#fff1f2;border-radius:12px}.pf-last{margin-top:18px;padding-top:18px;border-top:1px solid var(--pf-border);font-size:14px;color:var(--pf-muted)}.pf-warning{margin-top:16px;padding:12px;background:#fff8e6;border-radius:10px}
.pf-receipt{margin-top:16px;border:1px solid var(--pf-border);border-radius:14px;padding:16px;background:#fafafa;line-height:1.6}.pf-receipt-title{font-weight:800;font-size:18px;margin-bottom:8px}.pf-receipt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pf-mini-btn{border:1px solid var(--pf-border);background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer}.pf-small-msg{font-size:13px;color:var(--pf-muted);margin-top:9px}
.pf-history{max-width:980px;margin:24px auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pf-table-wrap{overflow:auto}.pf-table{width:100%;border-collapse:collapse}.pf-table th,.pf-table td{padding:12px;border-bottom:1px solid var(--pf-border);text-align:left;white-space:nowrap}.pf-form{display:grid;gap:12px;margin-bottom:22px}.pf-form label{display:grid;gap:5px}.pf-form input,.pf-form select,.pf-form textarea{padding:10px;border:1px solid var(--pf-border);border-radius:8px}
@media(max-width:600px){.pf-wrap{margin:16px 12px}.pf-card{padding:18px;border-radius:14px}.pf-clock{font-size:48px}.pf-history{margin:16px 12px}.pf-receipt-actions{display:grid}.pf-mini-btn{width:100%}}
.pf-month-filter{display:flex;gap:10px;align-items:end;margin:14px 0}.pf-month-filter label{display:grid;gap:5px}.pf-month-summary{padding:14px;background:#f6f7f9;border-radius:10px;margin:16px 0}.pf-confirm-box{padding:16px;border:1px solid var(--pf-border);border-radius:12px;margin:16px 0}.pf-confirm-box label{display:flex;gap:10px;align-items:flex-start}.pf-confirmed{margin:16px 0}.pf-month-sheet{max-width:1100px}

.pf-adjustment-box{margin-top:16px;padding:16px;background:#fafafa;border:1px solid var(--pf-border);border-radius:12px}


/* Ponto Fácil v6 — Portal e login personalizado Espetão Gaúcho */
.pf-login-shell{
  min-height:78vh;
  display:grid;
  place-items:center;
  padding:32px 16px;
  background:#f3f3f1;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.pf-login-card{
  width:min(100%,420px);
  background:#fff;
  border:1px solid #e6e6e3;
  border-radius:24px;
  padding:34px 30px 28px;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}
.pf-brand-logo{
  display:block;
  width:min(100%,290px);
  height:auto;
  margin:0 auto 26px;
  object-fit:contain;
}
.pf-login-heading{text-align:center;margin-bottom:24px}
.pf-login-heading h1{font-size:28px;line-height:1.15;margin:6px 0 8px;color:#111}
.pf-login-heading p{margin:0;color:#737373}
.pf-login-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;color:#777}
.pf-login-form{display:grid;gap:8px}
.pf-login-form>label:not(.pf-remember){font-size:13px;font-weight:700;color:#303030;margin-top:7px}
.pf-login-form input[type=text],
.pf-login-form input[type=password]{
  width:100%;
  box-sizing:border-box;
  padding:14px 14px;
  border:1px solid #d8d8d5;
  border-radius:11px;
  background:#fafafa;
  font-size:16px;
  outline:none;
}
.pf-login-form input:focus{border-color:#111;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.pf-password-wrap{position:relative}
.pf-password-wrap input{padding-right:80px!important}
.pf-password-toggle{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  border:0;background:transparent;font-size:12px;font-weight:700;cursor:pointer;color:#555;padding:8px
}
.pf-remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;font-size:13px;color:#555;margin:7px 0 3px}
.pf-remember input{margin:0}
.pf-login-submit{margin-top:5px!important;background:#0b0b0b!important}
.pf-forgot{display:block;text-align:center;margin-top:16px;color:#333;font-size:13px;text-decoration:none}
.pf-login-foot{text-align:center;border-top:1px solid #eee;margin-top:24px;padding-top:18px;color:#888;font-size:11px}
.pf-portal-shell{max-width:1040px;margin:0 auto;padding:20px 12px 50px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.pf-portal-brand{
  display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e8e8e6;border-radius:16px;
  padding:12px 16px;margin-bottom:10px
}
.pf-portal-brand img{width:145px;height:auto}
.pf-portal-brand div{display:grid;gap:2px}
.pf-portal-brand strong{font-size:15px}.pf-portal-brand span{font-size:13px;color:#777}
.pf-portal-nav{
  position:sticky;top:8px;z-index:20;display:flex;gap:6px;overflow:auto;background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);border:1px solid #e8e8e6;border-radius:14px;padding:7px;margin-bottom:18px
}
.pf-portal-nav a{white-space:nowrap;color:#222;text-decoration:none;font-size:13px;font-weight:700;padding:9px 12px;border-radius:9px}
.pf-portal-nav a:hover{background:#f1f1ef}
@media(max-width:600px){
  .pf-login-shell{min-height:100svh;padding:18px 12px}
  .pf-login-card{padding:28px 20px 22px;border-radius:18px}
  .pf-brand-logo{width:250px;margin-bottom:22px}
  .pf-login-heading h1{font-size:25px}
  .pf-portal-brand img{width:120px}
  .pf-portal-brand{align-items:center}
}
