/* FOODOS V6_27 / 84.63.1
   Scope: requested premium tenant-login UI and auth-first-paint gate only. */

.pc-auth-boot{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:24px;
  background:
    radial-gradient(circle at 78% 16%, rgba(14,165,233,.12), transparent 34%),
    radial-gradient(circle at 15% 88%, rgba(37,99,235,.08), transparent 38%),
    #f8fafc;
  color:#0f172a;
}
.pc-auth-boot__mark{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:linear-gradient(145deg,#0ea5e9,#2563eb);
  box-shadow:0 18px 42px rgba(37,99,235,.22);
}
.pc-auth-boot__mark svg{width:32px;height:32px;fill:#fff}
.pc-auth-boot__spinner{
  width:28px;
  height:28px;
  border:3px solid rgba(37,99,235,.16);
  border-top-color:#2563eb;
  border-radius:50%;
  animation:pc-auth-spin .8s linear infinite;
}
.pc-auth-boot__text{font-size:.88rem;font-weight:800;color:#64748b}
@keyframes pc-auth-spin{to{transform:rotate(360deg)}}

.pc-login-overlay{
  position:fixed;
  inset:0;
  z-index:10010;
  display:none;
  align-items:center;
  justify-content:center;
  overflow:auto;
  padding:max(20px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 82% 12%, rgba(14,165,233,.13), transparent 32%),
    radial-gradient(circle at 10% 90%, rgba(37,99,235,.08), transparent 36%),
    #f8fafc;
  box-sizing:border-box;
}
.pc-login-shell{width:min(100%,440px);margin:auto}
.pc-login-card{
  width:100%;
  box-sizing:border-box;
  padding:30px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 30px 80px rgba(15,23,42,.14),0 8px 24px rgba(15,23,42,.06);
  color:#0f172a;
}
.pc-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:27px}
.pc-login-brand__mark{
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,#0ea5e9,#2563eb);
  box-shadow:0 12px 30px rgba(37,99,235,.22);
}
.pc-login-brand__mark svg{width:26px;height:26px;fill:#fff}
.pc-login-brand__copy{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.pc-login-brand__copy strong{font-size:1rem;font-weight:950;letter-spacing:-.01em;color:#0f172a}
.pc-login-brand__copy span{font-size:.72rem;font-weight:750;color:#64748b}
.pc-login-heading{margin-bottom:24px}
.pc-login-heading h2{margin:0 0 8px;font-size:1.48rem;line-height:1.5;font-weight:950;letter-spacing:-.025em;color:#0f172a}
.pc-login-heading p{margin:0;max-width:34rem;font-size:.86rem;line-height:2;color:#64748b}
.pc-login-form{display:grid;gap:17px}
.pc-login-field{display:grid;gap:8px;margin:0}
.pc-login-label{font-size:.79rem;font-weight:850;color:#334155;padding-inline:2px}
.pc-login-control{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #dbe3ee;
  border-radius:15px;
  background:#fff;
  padding:0 14px;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
  box-sizing:border-box;
}
.pc-login-control:focus-within{border-color:#38bdf8;box-shadow:0 0 0 4px rgba(14,165,233,.10)}
.pc-login-field__icon{width:20px;height:20px;flex:0 0 20px;fill:#94a3b8}
.pc-login-control input{
  min-width:0;
  width:100%;
  height:52px;
  padding:0;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#0f172a!important;
  font:inherit;
  font-size:.92rem;
  font-weight:700;
}
.pc-login-control input::placeholder{color:#94a3b8;font-weight:650}
.pc-login-password-toggle{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#64748b;
  cursor:pointer;
}
.pc-login-password-toggle:hover{background:#f1f5f9}
.pc-login-password-toggle:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}
.pc-login-eye{width:20px;height:20px;fill:currentColor}
.pc-login-eye--hide{display:none}
.pc-login-password-toggle[aria-pressed="true"] .pc-login-eye--show{display:none}
.pc-login-password-toggle[aria-pressed="true"] .pc-login-eye--hide{display:block}
.pc-login-submit{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:3px;
  padding:0 20px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,#0284c7,#2563eb);
  color:#fff;
  font-size:.93rem;
  font-weight:950;
  box-shadow:0 13px 28px rgba(37,99,235,.24);
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.pc-login-submit:hover{filter:brightness(1.025);box-shadow:0 16px 34px rgba(37,99,235,.28)}
.pc-login-submit:active{transform:translateY(1px)}
.pc-login-submit:disabled{cursor:wait;opacity:.78;transform:none}
.pc-login-submit__spinner{
  display:none;
  width:18px;
  height:18px;
  border:2px solid rgba(255,255,255,.36);
  border-top-color:#fff;
  border-radius:50%;
  animation:pc-auth-spin .7s linear infinite;
}
.pc-login-submit.is-loading .pc-login-submit__spinner{display:block}
.pc-login-submit.is-loading .pc-login-submit__text{opacity:.88}
.pc-login-error{
  display:none;
  align-items:flex-start;
  gap:9px;
  padding:11px 12px;
  border:1px solid rgba(239,68,68,.16);
  border-radius:13px;
  background:#fff1f2;
  color:#be123c;
  font-size:.78rem;
  font-weight:750;
  line-height:1.8;
}
.pc-login-error svg{width:18px;height:18px;flex:0 0 18px;margin-top:3px;fill:currentColor}
.pc-login-security{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-top:21px;
  padding-top:19px;
  border-top:1px solid #eef2f7;
  color:#94a3b8;
  font-size:.72rem;
  font-weight:700;
  line-height:1.7;
  text-align:center;
}
.pc-login-security svg{width:16px;height:16px;flex:0 0 16px;fill:#94a3b8}

html.pc-dark-mode .pc-auth-boot,
html.pc-dark-mode .pc-login-overlay{
  background:
    radial-gradient(circle at 82% 12%, rgba(14,165,233,.15), transparent 32%),
    radial-gradient(circle at 10% 90%, rgba(37,99,235,.12), transparent 36%),
    #07101f;
}
html.pc-dark-mode .pc-auth-boot{color:#e2e8f0}
html.pc-dark-mode .pc-auth-boot__text{color:#94a3b8}
html.pc-dark-mode .pc-login-card{background:rgba(15,23,42,.97);border-color:rgba(148,163,184,.17);box-shadow:0 30px 80px rgba(0,0,0,.38)}
html.pc-dark-mode .pc-login-brand__copy strong,
html.pc-dark-mode .pc-login-heading h2{color:#f8fafc}
html.pc-dark-mode .pc-login-brand__copy span,
html.pc-dark-mode .pc-login-heading p{color:#94a3b8}
html.pc-dark-mode .pc-login-label{color:#cbd5e1}
html.pc-dark-mode .pc-login-control{background:#0b1527;border-color:#263349}
html.pc-dark-mode .pc-login-control:focus-within{border-color:#38bdf8;box-shadow:0 0 0 4px rgba(14,165,233,.12)}
html.pc-dark-mode .pc-login-control input{color:#f8fafc!important}
html.pc-dark-mode .pc-login-password-toggle{color:#94a3b8}
html.pc-dark-mode .pc-login-password-toggle:hover{background:#162238}
html.pc-dark-mode .pc-login-error{background:rgba(127,29,29,.24);border-color:rgba(248,113,113,.22);color:#fecdd3}
html.pc-dark-mode .pc-login-security{border-top-color:#1e293b;color:#64748b}
html.pc-dark-mode .pc-login-security svg{fill:#64748b}

@media (max-width:520px){
  .pc-login-overlay{align-items:center;padding-left:14px;padding-right:14px}
  .pc-login-card{padding:24px 20px 22px;border-radius:24px}
  .pc-login-brand{margin-bottom:22px}
  .pc-login-heading{margin-bottom:21px}
  .pc-login-heading h2{font-size:1.3rem}
  .pc-login-heading p{font-size:.82rem;line-height:1.9}
  .pc-login-form{gap:15px}
  .pc-login-control,.pc-login-submit{min-height:52px}
}

@media (max-width:350px){
  .pc-login-card{padding:21px 16px 19px;border-radius:21px}
  .pc-login-brand__mark{width:46px;height:46px;flex-basis:46px;border-radius:14px}
  .pc-login-heading h2{font-size:1.18rem}
}

@media (prefers-reduced-motion:reduce){
  .pc-auth-boot__spinner,.pc-login-submit__spinner{animation-duration:1.4s}
  .pc-login-control,.pc-login-submit{transition:none}
}
