/* =====================================================================
   Plaza Centro — shared design system
   One look for every tool on chickfilaplazacentro.com.
   Loaded LAST in every page so these tokens and styles win.

   Fonts      Poppins (titles, numbers) · Inter (everything else) · IBM Plex Mono (amounts, IDs)
   Colors     red #DD0033 · ink #1F2328 · paper #FAFAF8 · line #E5E1DC
   Status     ok green · warn amber · bad red (always text + soft background)
   Shapes     cards 14px · buttons/inputs 10px · pills 999px
   ===================================================================== */

:root{
  /* --- core tokens --- */
  --pc-red:#DD0033; --pc-red-dark:#A8001F; --pc-red-light:#FCE8ED;
  --pc-ink:#1F2328; --pc-ink-2:#2A2F36; --pc-ink-soft:#5B6168; --pc-muted:#6B6B70; --pc-faint:#9AA0A6;
  --pc-paper:#FAFAF8; --pc-card:#FFFFFF; --pc-line:#E5E1DC; --pc-line-soft:#F0EDE8; --pc-head-bg:#F4F2EE;
  --pc-ok:#1E8E5A; --pc-ok-bg:#E7F5EE; --pc-warn:#B8720A; --pc-warn-bg:#FBF0DD; --pc-bad:#C0263E; --pc-bad-bg:#FBE7EA;
  --pc-radius:14px; --pc-radius-sm:10px;
  --pc-shadow:0 1px 2px rgba(31,35,40,.04), 0 4px 14px rgba(31,35,40,.05);
  --pc-shadow-lg:0 12px 32px rgba(31,35,40,.16);
  --pc-font:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --pc-font-display:'Poppins','Inter',system-ui,sans-serif;
  --pc-font-mono:'IBM Plex Mono',ui-monospace,monospace;

  /* --- the same tokens under the names each tool already uses --- */
  --red:var(--pc-red); --red-dark:var(--pc-red-dark); --red-light:var(--pc-red-light);
  --red-d:var(--pc-red-dark); --red-l:var(--pc-red-light); --red-mid:var(--pc-red-light);
  --ink:var(--pc-ink); --ink-soft:var(--pc-ink-soft); --gray:var(--pc-muted); --muted:var(--pc-muted);
  --line:var(--pc-line); --bg:var(--pc-paper); --paper:var(--pc-paper); --card:var(--pc-card); --panel:var(--pc-card);
  --green:var(--pc-ok); --green-bg:var(--pc-ok-bg); --green-light:var(--pc-ok-bg); --green-l:var(--pc-ok-bg);
  --amber:var(--pc-warn); --amber-bg:var(--pc-warn-bg); --amber-light:var(--pc-warn-bg);
  --yellow:var(--pc-warn); --yellow-l:var(--pc-warn-bg);
  --rose:var(--pc-bad); --rose-bg:var(--pc-bad-bg);
  --balanced:var(--pc-ok); --balanced-bg:var(--pc-ok-bg); --over:var(--pc-warn); --over-bg:var(--pc-warn-bg); --short:var(--pc-bad); --short-bg:var(--pc-bad-bg);
  --ok:var(--pc-ok); --warn:var(--pc-warn); --bad:var(--pc-bad); --na:var(--pc-faint);
  --navy:var(--pc-ink); --white:#FFFFFF;
  --gray-50:var(--pc-paper); --gray-100:var(--pc-line-soft); --gray-200:var(--pc-line); --gray-300:#D3CEC6; --gray-400:var(--pc-faint); --gray-600:var(--pc-ink-soft); --gray-800:var(--pc-ink);
  --text:var(--pc-ink); --text2:var(--pc-ink-soft); --text3:var(--pc-faint); --border:var(--pc-line); --border-l:var(--pc-line-soft); --bg2:var(--pc-line-soft);
  --alert-bg:var(--pc-bad-bg); --alert-tx:var(--pc-bad); --alert-bd:#F2C4CD;
  --radius:var(--pc-radius); --radius-sm:var(--pc-radius-sm); --r:var(--pc-radius);
  --shadow:var(--pc-shadow); --shadow-md:var(--pc-shadow-lg);
  --font-display:var(--pc-font-display); --font-body:var(--pc-font); --font-mono:var(--pc-font-mono);
}

/* ---------------- Base ---------------- */
html,body{font-family:var(--pc-font);background:var(--pc-paper);color:var(--pc-ink);-webkit-font-smoothing:antialiased;}
body{font-size:14.5px;line-height:1.45;}
button,input,select,textarea{font-family:inherit;}
h1,h2,h3{font-family:var(--pc-font-display);letter-spacing:-.01em;color:inherit;}
h1{font-weight:800;} h2{font-weight:700;} h3{font-weight:700;}
::selection{background:var(--pc-red);color:#fff;}
:focus-visible{outline:2px solid var(--pc-red);outline-offset:2px;}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=month],input[type=time],select,textarea{
  border:1.5px solid var(--pc-line);border-radius:var(--pc-radius-sm);background:#fff;color:var(--pc-ink);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pc-red);box-shadow:0 0 0 3px rgba(221,0,51,.12);}
.mono{font-family:var(--pc-font-mono);}
a.btn,a.pc-btn,a.btn:hover,a.pc-btn:hover{text-decoration:none;}

/* ---------------- Generic components (pc-*) ---------------- */
.pc-topbar{position:sticky;top:0;z-index:50;background:var(--pc-ink);color:#fff;display:flex;align-items:center;gap:12px;padding:10px 16px;min-height:56px;}
.pc-mark{width:32px;height:32px;border-radius:9px;background:var(--pc-red);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:16px;}
.pc-mark svg{width:18px;height:18px;}
.pc-title{font-family:var(--pc-font-display);font-weight:700;font-size:16px;line-height:1.15;margin:0;}
.pc-sub{font-size:11.5px;color:#C7CBD1;font-weight:500;}
.pc-icon-btn{background:rgba(255,255,255,.12);border:none;color:#fff;border-radius:9px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.pc-icon-btn:hover{background:rgba(255,255,255,.2);}
.pc-icon-btn svg{width:18px;height:18px;}

.pc-wrap{max-width:960px;margin:0 auto;padding:18px 16px 96px;}
.pc-page-title{font-family:var(--pc-font-display);font-weight:800;font-size:22px;margin:2px 0 4px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.pc-page-sub{color:var(--pc-ink-soft);font-size:13.5px;margin:0 0 14px;}
.pc-section{font-family:var(--pc-font-display);font-weight:700;font-size:16px;margin:22px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;}

.pc-card{background:var(--pc-card);border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:16px;margin-bottom:12px;box-shadow:var(--pc-shadow);}
.pc-card h3{font-size:15px;margin:0 0 8px;}

.pc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--pc-radius-sm);padding:10px 16px;font:700 14px/1.2 var(--pc-font);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s;}
.pc-btn-primary{background:var(--pc-red);color:#fff;} .pc-btn-primary:hover{background:var(--pc-red-dark);}
.pc-btn-ghost{background:#fff;color:var(--pc-ink);border:1.5px solid var(--pc-line);} .pc-btn-ghost:hover{border-color:var(--pc-red);color:var(--pc-red);}
.pc-btn-dark{background:var(--pc-ink);color:#fff;}
.pc-btn-ok{background:var(--pc-ok);color:#fff;}
.pc-btn-danger{background:#fff;color:var(--pc-bad);border:1.5px solid #F2C4CD;} .pc-btn-danger:hover{background:var(--pc-bad-bg);}
.pc-btn-sm{padding:7px 12px;font-size:13px;}
.pc-btn-block{width:100%;}
.pc-btn:disabled{opacity:.5;cursor:not-allowed;}

.pc-field{margin-bottom:14px;}
.pc-field label,.pc-label{display:block;font-size:12.5px;font-weight:600;color:var(--pc-ink-soft);margin-bottom:6px;}
.pc-field input,.pc-field select,.pc-field textarea{width:100%;padding:10px 12px;font-size:15px;}
.pc-field textarea{min-height:72px;resize:vertical;}
.pc-hint{font-size:12px;color:var(--pc-faint);margin-top:4px;}

.pc-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;}
.pc-ok{background:var(--pc-ok-bg);color:var(--pc-ok);} .pc-warn{background:var(--pc-warn-bg);color:var(--pc-warn);}
.pc-bad{background:var(--pc-bad-bg);color:var(--pc-bad);} .pc-na{background:#EEEDE8;color:var(--pc-ink-soft);}

.pc-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.pc-table th{background:var(--pc-head-bg);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--pc-ink-soft);font-weight:700;text-align:left;padding:9px 10px;}
.pc-table td{padding:9px 10px;border-bottom:1px solid var(--pc-line-soft);}

.pc-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;background:#fff;border-top:1px solid var(--pc-line);box-shadow:0 -2px 10px rgba(0,0,0,.05);padding-bottom:env(safe-area-inset-bottom,0);}
.pc-tabbar button{flex:1;border:none;background:none;padding:8px 2px 7px;display:flex;flex-direction:column;align-items:center;gap:2px;font:600 10.5px/1.2 var(--pc-font);color:var(--pc-muted);cursor:pointer;}
.pc-tabbar button svg{width:20px;height:20px;stroke:currentColor;}
.pc-tabbar button.active{color:var(--pc-red);}

.pc-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px;}
.pc-stat{background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:14px;box-shadow:var(--pc-shadow);}
.pc-stat .num{font-family:var(--pc-font-display);font-weight:800;font-size:26px;line-height:1;}
.pc-stat .lbl{font-size:12px;color:var(--pc-ink-soft);font-weight:600;margin-top:6px;}
.pc-stat.ok .num{color:var(--pc-ok);} .pc-stat.warn .num{color:var(--pc-warn);} .pc-stat.bad .num{color:var(--pc-bad);}

.pc-alert{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:var(--pc-radius-sm);background:var(--pc-bad-bg);border:1px solid #F2C4CD;margin-bottom:8px;font-size:13px;}
.pc-alert.warn{background:var(--pc-warn-bg);border-color:#EED9B0;}
.pc-alert.ok{background:var(--pc-ok-bg);border-color:#BEE3CC;}
.pc-empty{color:var(--pc-ink-soft);font-size:13.5px;padding:18px 4px;text-align:center;}

.pc-overlay{position:fixed;inset:0;background:rgba(31,35,40,.5);z-index:100;display:flex;align-items:flex-end;justify-content:center;}
.pc-modal{background:var(--pc-paper);width:100%;max-width:600px;max-height:92vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:20px 18px 24px;position:relative;}
@media(min-width:700px){.pc-overlay{align-items:center;}.pc-modal{border-radius:18px;max-height:88vh;}}
.pc-modal h2{font-size:18px;margin:0 0 4px;}
.pc-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:20px;color:var(--pc-ink-soft);cursor:pointer;}

/* QR codes — one look everywhere */
.pc-qr{background:#fff;border:1px solid var(--pc-line);border-radius:12px;padding:12px;display:inline-flex;flex-direction:column;align-items:center;gap:6px;}
.pc-qr-label{font-weight:700;font-size:13px;}

/* =====================================================================
   Bridges: give each existing tool the shared look without rewriting it
   ===================================================================== */

/* ---- Shared top bars ---- */
body.pg-chequeos .topbar,
body.pg-limpieza .topbar,
body.pg-cem .topbar,
body.pg-cajas .topbar{
  background:var(--pc-ink);color:#fff;box-shadow:none;min-height:56px;padding:10px 16px;
}
body.pg-chequeos .topbar .brand,
body.pg-limpieza .topbar .title,
body.pg-cem .topbar .title{font-family:var(--pc-font-display);font-weight:700;font-size:16px;}
body.pg-limpieza .topbar .title small,
body.pg-cem .topbar .title small,
body.pg-chequeos .topbar .brand .long{font-family:var(--pc-font);color:#C7CBD1;opacity:1;font-weight:500;font-size:12px;}
body.pg-chequeos .topbar .brand .dot{width:30px;height:30px;border-radius:9px;background:var(--pc-red);display:inline-flex;align-items:center;justify-content:center;}
body.pg-chequeos .topbar .brand .dot::after{content:'🤝';font-size:15px;}
body.pg-cem .tb-btn,body.pg-chequeos .topbar button{background:rgba(255,255,255,.12);border:none;border-radius:9px;}

/* ---- Cards / buttons / tables in the older tools ---- */
body.pg-chequeos .card,body.pg-limpieza .card,body.pg-cem .card,body.pg-cajas .card,body.pg-cajas .till-card{border-radius:var(--pc-radius);border-color:var(--pc-line);box-shadow:var(--pc-shadow);}
body.pg-chequeos .btn,body.pg-limpieza .btn,body.pg-cajas .btn{border-radius:var(--pc-radius-sm);font-weight:700;font-family:var(--pc-font);}
body.pg-chequeos .btn-sm,body.pg-limpieza .btn.sm,body.pg-cajas .btn-sm{border-radius:9px;}
body.pg-chequeos .btn-ghost,body.pg-cajas .btn-ghost,body.pg-limpieza .btn.ghost{background:#fff;color:var(--pc-ink);border:1.5px solid var(--pc-line);}
body.pg-chequeos .btn-ghost:hover,body.pg-cajas .btn-ghost:hover,body.pg-limpieza .btn.ghost:hover{border-color:var(--pc-red);color:var(--pc-red);}
body.pg-chequeos th,body.pg-cajas th,body.pg-cem table.hist th{background:var(--pc-head-bg);color:var(--pc-ink-soft);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;}
body.pg-chequeos .tablewrap{border-radius:var(--pc-radius);}
body.pg-chequeos h2,body.pg-limpieza h2,body.pg-cem h2{font-size:17px;}
body.pg-chequeos h3,body.pg-limpieza h3{font-size:15px;}
body.pg-chequeos .kpi .num,body.pg-cajas .stat-tile .num,body.pg-cem .tile .t-val{font-family:var(--pc-font-display);font-weight:800;}
body.pg-chequeos .pill,body.pg-cajas .badge,body.pg-cem .badge,body.pg-cem .tag{border-radius:999px;}

/* ---- Chequeos: sidebar + bottom tabs match the rest ---- */
body.pg-chequeos nav.side button{font-family:var(--pc-font);font-weight:600;font-size:14px;}
body.pg-chequeos nav.side button.active{background:var(--pc-red-light);color:var(--pc-red-dark);}
body.pg-chequeos nav.bottom-tabs button{font-size:10.5px;}
body.pg-chequeos .postile{border-radius:var(--pc-radius);box-shadow:var(--pc-shadow);}
body.pg-chequeos .postile-name{font-family:var(--pc-font-display);}
body.pg-chequeos .report-banner{border-radius:var(--pc-radius) var(--pc-radius) 0 0;}
body.pg-chequeos .tabs button,body.pg-cem .chip{font-family:var(--pc-font);}

/* ---- Limpieza: view tabs sit right under the dark bar ---- */
body.pg-limpieza .views{top:56px;}
body.pg-limpieza .views button{font-weight:700;}
body.pg-limpieza .area{border-radius:12px;box-shadow:var(--pc-shadow);}
body.pg-limpieza .area,body.pg-limpieza .seg button{font-family:var(--pc-font);}

/* ---- Cajas ---- */
body.pg-cajas .brand-mark{background:var(--pc-red);}
body.pg-cajas .page-title{font-family:var(--pc-font-display);font-size:22px;}
body.pg-cajas .eyebrow{color:var(--pc-red);}

/* ---- Equipos ---- */
body.pg-equipos{font-family:var(--pc-font);font-size:14.5px;}
body.pg-equipos .mach-name,body.pg-equipos .modal-title{font-family:var(--pc-font-display);}
body.pg-equipos .info-card,body.pg-equipos .hist-card{box-shadow:var(--pc-shadow);}
body.pg-equipos .bn-btn{font-size:10.5px;text-transform:none;letter-spacing:0;}
body.pg-equipos .submit-btn{border-radius:var(--pc-radius-sm);font-family:var(--pc-font);}
body.pg-equipos .fi{border-radius:var(--pc-radius-sm);}

/* ---- Entrenamiento (training tracker) ---- */
body.pg-entrenamiento{font-family:var(--pc-font);font-size:14px;}
body.pg-entrenamiento #auth-page{background:var(--pc-ink);}
body.pg-entrenamiento .auth-card{border-radius:20px;}
body.pg-entrenamiento .auth-logo .logo-text h1,body.pg-entrenamiento .page-header h1,body.pg-entrenamiento .topbar-title,body.pg-entrenamiento .modal h2,
body.pg-entrenamiento .stat-value,body.pg-entrenamiento .profile-info h1,body.pg-entrenamiento .card-name{font-family:var(--pc-font-display);}
body.pg-entrenamiento .page-header h1{font-size:22px;font-weight:800;}
body.pg-entrenamiento .sidebar{background:#fff;color:var(--pc-ink);border-right:1px solid var(--pc-line);}
body.pg-entrenamiento .sidebar-header{border-bottom:1px solid var(--pc-line);}
body.pg-entrenamiento .sidebar-title{color:var(--pc-ink);font-family:var(--pc-font-display);font-size:14px;}
body.pg-entrenamiento .sidebar-subtitle,body.pg-entrenamiento .nav-label{color:var(--pc-faint);}
body.pg-entrenamiento .nav-item{color:var(--pc-ink-soft);font-weight:600;}
body.pg-entrenamiento .nav-item:hover{background:var(--pc-line-soft);color:var(--pc-ink);}
body.pg-entrenamiento .nav-item.active{background:var(--pc-red-light);color:var(--pc-red-dark);}
body.pg-entrenamiento .sidebar-footer{border-top:1px solid var(--pc-line);}
body.pg-entrenamiento .user-chip{background:var(--pc-paper);border:1px solid var(--pc-line);}
body.pg-entrenamiento .user-name{color:var(--pc-ink);}
body.pg-entrenamiento .user-role,body.pg-entrenamiento .user-acct{color:var(--pc-faint);}
body.pg-entrenamiento .user-chip button{color:var(--pc-faint)!important;}
body.pg-entrenamiento .topbar{background:var(--pc-ink);border-bottom:none;height:56px;}
body.pg-entrenamiento .topbar-title{color:#fff;}
body.pg-entrenamiento .topbar .hamburger{color:#fff;}
body.pg-entrenamiento .topbar #rt-label{color:#C7CBD1;}
body.pg-entrenamiento .btn{border-radius:var(--pc-radius-sm);font-weight:700;}
body.pg-entrenamiento .btn-primary:hover{transform:none;}
body.pg-entrenamiento .stat-card,body.pg-entrenamiento .data-table,body.pg-entrenamiento .employee-card,body.pg-entrenamiento .profile-header,
body.pg-entrenamiento .phase-block,body.pg-entrenamiento .plantilla-phase-card{border-radius:var(--pc-radius);box-shadow:var(--pc-shadow);border:1px solid var(--pc-line);}
body.pg-entrenamiento .modal{border-radius:18px;}
body.pg-entrenamiento .toast-item{background:var(--pc-ink);border-radius:var(--pc-radius-sm);}
body.pg-entrenamiento .form-group label{text-transform:none;letter-spacing:0;font-size:12.5px;}
body.pg-entrenamiento .form-group input,body.pg-entrenamiento .form-group select,body.pg-entrenamiento .form-group textarea{border-radius:var(--pc-radius-sm);}

/* ---- CEM ---- */
body.pg-cem .tile{border-radius:12px;}

/* ---- Print: never print the app chrome ---- */
@media print{
  .pc-topbar,.pc-tabbar,.topbar,.bottom-tabs,.bottom-nav,.tabbar{display:none!important;}
  body{background:#fff;}
}
