﻿/* ============================================================
   ONE PHARMACY - Shared styles for standalone pages
   (signup, setup, password reset). Matches the in-app look.
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --brand:#714b8f; --brand-2:#5c3b75; --brand-3:#3b2752;
  --ink:#1f1b29; --muted:#6b6577; --line:#e8e6ee; --bg:#f5f6fb;
  --ok:#10b981; --danger:#e4576b; --warn:#f0ad4e;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;line-height:1.5}
a{color:var(--brand);text-decoration:none}
code{background:#f1eef7;color:var(--brand);padding:2px 7px;border-radius:5px;font-size:.9em}

/* ---------- Split layout (signup) ---------- */
.wrap{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}
.brand{position:relative;overflow:hidden;color:#fff;padding:54px 56px;display:flex;flex-direction:column;
  background:linear-gradient(155deg,var(--brand-3) 0%,var(--brand) 58%,var(--brand-2) 100%)}
.brand::after{content:"";position:absolute;right:-120px;bottom:-120px;width:360px;height:360px;
  border-radius:50%;border:60px solid rgba(255,255,255,.06)}
.brand-logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:19px;letter-spacing:-.3px}
.brand-logo .mark{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center;font-size:18px}
.brand-head{margin-top:auto}
.brand h1{font-size:34px;line-height:1.18;font-weight:800;letter-spacing:-.6px;margin-bottom:14px;max-width:460px}
.brand p.sub{font-size:15px;color:rgba(255,255,255,.8);max-width:420px;line-height:1.6}
.feat{margin-top:30px;display:grid;gap:14px;max-width:430px}
.feat .row{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;color:rgba(255,255,255,.92)}
.feat .ic{width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.18);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px}
.brand-foot{margin-top:42px;font-size:13px;color:rgba(255,255,255,.62)}
.panel{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:#fff}
.form-wrap{width:100%;max-width:430px}
.panel-logo{display:none;align-items:center;gap:10px;font-weight:800;font-size:18px;margin-bottom:28px}
.panel-logo .mark{width:36px;height:36px;border-radius:10px;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center}

/* ---------- Centered card layout (setup, reset) ---------- */
.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.card-auth{width:100%;max-width:480px;background:#fff;border:1px solid var(--line);border-radius:16px;
  overflow:hidden}
.card-auth .head{padding:28px 30px 22px;text-align:center;border-bottom:1px solid var(--line)}
.card-auth .head .mark{width:54px;height:54px;border-radius:13px;color:#fff;font-size:22px;margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,var(--brand),var(--brand-2))}
.card-auth .head h2{font-size:1.35rem}
.card-auth .head p{color:var(--muted);font-size:13.5px;margin-top:4px}
.card-auth .body{padding:26px 30px}
.card-auth .foot{padding:14px 24px;border-top:1px solid var(--line);text-align:center;background:#fbfafd}

/* ---------- Shared components ---------- */
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.4px;color:var(--brand);text-transform:uppercase}
h2{font-size:25px;font-weight:800;letter-spacing:-.5px;margin:8px 0 6px}
.lead{color:var(--muted);font-size:14.5px;margin-bottom:24px}
label{display:block;font-size:13.5px;font-weight:600;color:#3a3548;margin-bottom:7px}
.field{margin-bottom:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:14.5px;
  font-family:inherit;color:var(--ink);background:#fff;transition:border .15s,box-shadow .15s}
input::placeholder{color:#a39db2}
input:focus,select:focus{outline:none;border-color:var(--brand)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:none;cursor:pointer;
  background:var(--brand);color:#fff;font-family:inherit;font-weight:700;font-size:15px;border-radius:10px;
  padding:13px;transition:background .15s}
.btn:hover{background:var(--brand-2)}
.btn-ghost{background:#f3f2f7;color:#3a3548}
.btn-ghost:hover{background:#e9e7f0}
.note{font-size:12.5px;color:var(--muted);text-align:center;margin-top:18px}
.muted{color:var(--muted)}

.err{background:#fdecee;border:1px solid #f6c9d0;color:#a4283a;border-radius:10px;padding:11px 14px;
  font-size:13.5px;margin-bottom:18px;display:flex;gap:9px;align-items:flex-start}
.ok-msg{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:10px;padding:11px 14px;
  font-size:13.5px;margin-bottom:18px;display:flex;gap:9px;align-items:flex-start}
.warn-msg{background:#fffbeb;border:1px solid #fde68a;color:#92600a;border-radius:10px;padding:11px 14px;
  font-size:13px;margin:14px 0 0;display:flex;gap:9px;align-items:flex-start}

.ok-badge{width:54px;height:54px;border-radius:50%;background:#ecfdf5;color:var(--ok);
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.cred{border:1px solid var(--line);border-radius:11px;padding:13px 15px;margin-bottom:11px;background:#fbfafd}
.cred small{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.4px;margin-bottom:3px}
.cred .v{font-weight:700;font-size:15px;word-break:break-all;color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:7px;background:#fffbeb;border:1px solid #fde68a;color:#92600a;
  font-size:13px;border-radius:9px;padding:9px 13px;margin:6px 0 4px}

/* checklist (setup) */
.check-row{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;
  border-bottom:1px solid var(--line);font-size:14px;color:#475569}
.check-row:last-child{border-bottom:none}
.check-ok{color:var(--ok);font-weight:700}
.check-fail{color:var(--danger);font-weight:700}

/* user list (reset) */
.ulist{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:18px}
.ulist .u{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;
  border-bottom:1px solid var(--line);font-size:13.5px}
.ulist .u:last-child{border-bottom:none}
.tag{font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px}
.tag-role{background:#f1eef7;color:var(--brand)}
.tag-active{background:#ecfdf5;color:#065f46}
.tag-off{background:#fdecee;color:#a4283a}

@media (max-width:860px){
  .wrap{grid-template-columns:1fr}
  .brand{display:none}
  .panel-logo{display:flex}
  .panel{padding:36px 22px}
}

@media (max-width:600px){
  .panel{padding:24px 16px}
  .form-wrap{max-width:100%}
  .card-auth .head{padding:22px 18px 18px}
  .card-auth .body{padding:20px 18px}
  .card-auth .foot{padding:12px 18px}
  .center{padding:12px}
}

@media (max-width:480px){
  .grid2{grid-template-columns:1fr}   /* stack name fields */
  .card-auth{border-radius:12px}
  h2{font-size:22px}
  input,select{font-size:14px;padding:10px 12px}
  .btn{font-size:14px;padding:12px}
}
