/* staff-portal.css — the /staff/ login and portal chrome, plus a small stand-in for the
   wp-admin form/button/table classes the desk and dashboard apps use (they run outside
   wp-admin here). Everything is scoped to .pnc-staff. */

.pnc-staff { margin: 0; background: #f3f4f1; color: #1d2327; font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.pnc-staff *, .pnc-staff *::before, .pnc-staff *::after { box-sizing: border-box; }
.pnc-staff a { color: #0b5c3a; }

/* ---------- Login ---------- */
.pnc-staff--login { min-height: 100vh; display: grid; place-items: center; padding: 20px; background: #123020; }
.pnc-login { width: 100%; max-width: 400px; background: #fff; border-radius: 16px; padding: 32px 28px; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.pnc-login__brand { font-weight: 800; font-size: 22px; color: #123020; letter-spacing: -.02em; }
.pnc-login__brand span { color: #E8801C; }
.pnc-login h1 { margin: 18px 0 16px; font-size: 24px; }
.pnc-login form { display: grid; gap: 14px; }
.pnc-login label { display: grid; gap: 6px; font-weight: 600; font-size: 13px; }
.pnc-login input[type=text], .pnc-login input[type=password] { width: 100%; padding: 12px 14px; border: 1px solid #c3c4c7; border-radius: 10px; font-size: 16px; }
.pnc-login input:focus { outline: 2px solid #E8801C; outline-offset: 1px; border-color: #E8801C; }
.pnc-login__remember { display: flex !important; align-items: center; gap: 8px !important; font-weight: 500 !important; }
.pnc-login button { padding: 13px; border: 0; border-radius: 999px; background: #E8801C; color: #123020; font-weight: 800; font-size: 16px; cursor: pointer; }
.pnc-login button:hover { background: #f09434; }
.pnc-login__msg { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; font-weight: 600; }
.pnc-login__msg.is-error { background: #fcebea; color: #8a1f17; }
.pnc-login__msg.is-ok { background: #e6f4ea; color: #1e5a2e; }
.pnc-login__help, .pnc-login__back { margin: 14px 0 0; font-size: 13px; color: #646970; }

/* ---------- Portal chrome ---------- */
.pnc-portal-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; background: #123020; color: #fff; padding: 10px 20px; position: sticky; top: 0; z-index: 90; }
.pnc-portal-bar a, .pnc-portal-bar .pnc-linkbtn { color: #fff; }
.pnc-portal-bar__brand { font-weight: 800; font-size: 18px; text-decoration: none; }
.pnc-portal-bar__brand span { color: #E8801C; }
.pnc-portal-bar__brand small { font-weight: 600; opacity: .7; margin-left: 4px; }
.pnc-portal-bar__nav { display: flex; gap: 6px; flex: 1; }
.pnc-portal-bar__nav a { text-decoration: none; padding: 7px 14px; border-radius: 999px; font-weight: 600; opacity: .85; }
.pnc-portal-bar__nav a[aria-current] { background: rgba(255,255,255,.16); opacity: 1; }
.pnc-portal-bar__user { display: flex; gap: 14px; align-items: center; font-size: 13px; }
.pnc-linkbtn { background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; cursor: pointer; }
.pnc-portal-main { padding: 16px 20px 40px; max-width: 1600px; margin: 0 auto; }
.pnc-staff .pnc-desk-flash { top: 64px; }

.pnc-portal-modal { position: fixed; inset: 0; z-index: 100001; background: rgba(0,0,0,.5); display: grid; place-items: center; padding: 16px; }
.pnc-portal-modal[hidden] { display: none; }
.pnc-portal-modal form { background: #fff; border-radius: 12px; padding: 22px; width: 100%; max-width: 380px; display: grid; gap: 12px; }
.pnc-portal-modal h2 { margin: 0; font-size: 18px; }
.pnc-portal-modal label { display: grid; gap: 4px; font-weight: 600; font-size: 12px; }
.pnc-portal-modal input { padding: 9px 10px; border: 1px solid #c3c4c7; border-radius: 6px; font-size: 15px; }
.pnc-portal-modal .pnc-portal-msg { min-height: 1.2em; font-weight: 600; color: #a02a22; }
.pnc-portal-modal .pnc-portal-msg.is-ok { color: #1e5a2e; }
.pnc-portal-modal .row { display: flex; gap: 8px; justify-content: flex-end; }

/* ---------- Stand-ins for wp-admin classes used by the apps ---------- */
.pnc-staff .wrap { margin: 0; }
.pnc-staff .button { display: inline-block; padding: 7px 12px; border: 1px solid #8c8f94; border-radius: 6px; background: #f6f7f7; color: #1d2327; font: inherit; font-size: 13px; line-height: 1.3; cursor: pointer; text-decoration: none; min-height: 34px; }
.pnc-staff .button:hover { background: #fff; border-color: #123020; }
.pnc-staff .button-primary { background: #123020; border-color: #123020; color: #fff; }
.pnc-staff .button-primary:hover { background: #1c4a31; color: #fff; }
.pnc-staff .button-large { padding: 11px 20px; font-size: 15px; }
.pnc-staff .button-link-delete { color: #a02a22; border-color: #e3b5b2; background: #fff; }
.pnc-staff .button[disabled] { opacity: .55; cursor: default; }
.pnc-staff input[type=text], .pnc-staff input[type=tel], .pnc-staff input[type=email], .pnc-staff input[type=number], .pnc-staff input[type=date], .pnc-staff input[type=search], .pnc-staff select, .pnc-staff textarea {
	padding: 7px 9px; border: 1px solid #8c8f94; border-radius: 6px; background: #fff; font: inherit; font-size: 14px; color: #1d2327; min-height: 34px; max-width: 100%;
}
.pnc-staff textarea { width: 100%; }
.pnc-staff input:focus, .pnc-staff select:focus, .pnc-staff textarea:focus { outline: 2px solid #E8801C; outline-offset: 0; border-color: #E8801C; }
.pnc-staff .small-text { width: 80px; }
.pnc-staff .description { color: #646970; font-size: 13px; margin: 4px 0 12px; }
.pnc-staff .widefat { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #dcdcde; border-radius: 8px; overflow: hidden; }
.pnc-staff .widefat th { text-align: left; padding: 9px 10px; background: #f6f7f7; border-bottom: 1px solid #dcdcde; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: #50575e; }
.pnc-staff .widefat td { padding: 9px 10px; border-bottom: 1px solid #f0f0f1; }
.pnc-staff .widefat.striped tbody tr:nth-child(odd) { background: #fafafa; }

@media (max-width: 700px) {
	.pnc-portal-main { padding: 12px 10px 40px; }
	.pnc-portal-bar { padding: 10px 12px; }
	.pnc-staff .widefat { display: block; overflow-x: auto; }
}
