/* Glav Partner — стили из прототипа (Hallmark · Mulish · #227CD2). Единый источник дизайна.
 * Scoped под .glav-partner, чтобы не конфликтовать с темой сайта. */
@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900&display=swap');

.glav-partner{
  --blue:#227cd2; --blue-2:#1b64ab; --blue-3:#154e85;
  --blue-soft:#e9f2fc; --blue-soft-2:#d7e8fa;
  --ink:#2f2f38; --ink-2:#5c5e6a; --ink-3:#9296a3;
  --bg1:#eef1f6; --bg2:#ced0db;
  --card:#ffffff; --line:#e7eaf1; --line-2:#dfe3ec;
  --gold:#c98a2b; --gold-soft:#fbf1df;
  --rose:#c2485a; --rose-soft:#fbe9ec;
  --green:#2f9e6f; --green-soft:#e4f5ee;
  --font:"Mulish",system-ui,sans-serif;
  --r-card:26px; --r-mid:18px; --r-field:14px; --pill:100px;
  --sh:0 24px 60px -34px rgba(40,52,84,.30);
  --sh-sm:0 1px 2px rgba(40,52,84,.05),0 10px 30px -18px rgba(40,52,84,.20);
  --sh-lift:0 1px 2px rgba(40,52,84,.05),0 22px 50px -28px rgba(40,52,84,.34);
  --sh-bal:0 1px 2px rgba(40,52,84,.05),0 24px 52px -26px rgba(34,124,210,.30);
  --ease:cubic-bezier(.2,.7,.3,1); --dur:.2s;
  font-family:var(--font);color:var(--ink);line-height:1.45;-webkit-font-smoothing:antialiased;
}
.glav-partner *{box-sizing:border-box}
.glav-partner h1,.glav-partner h2,.glav-partner h3{font-weight:800;letter-spacing:-.02em;line-height:1.05;overflow-wrap:anywhere;color:var(--ink)}
.glav-partner button{font-family:inherit;cursor:pointer}
.glav-partner .mono,.glav-partner .codebig,.glav-partner .bal .amt,.glav-partner .stat .v,.glav-partner .fee,.glav-partner .cl-phone{font-variant-numeric:tabular-nums lining-nums}
.glav-partner .blue{color:var(--blue)}

/* buttons */
.glav-partner .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;
  font-family:inherit;font-weight:800;font-size:15px;color:#fff;background:var(--blue);
  border-radius:var(--pill);padding:15px 26px;transition:all var(--dur) var(--ease);
  box-shadow:0 8px 20px -10px rgba(34,124,210,.6);text-decoration:none}
.glav-partner .btn:hover{background:var(--blue-2);transform:translateY(-1px)}
.glav-partner .btn:active{transform:translateY(0)}
.glav-partner .btn:focus-visible{outline:3px solid var(--blue-soft-2);outline-offset:2px}
.glav-partner .btn:disabled{background:#c7cbd6;box-shadow:none;cursor:not-allowed}
.glav-partner .btn .ar{transition:transform var(--dur) var(--ease)}
.glav-partner .btn:hover .ar{transform:translate(2px,-2px)}
.glav-partner .btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.glav-partner .btn.ghost:hover{background:var(--blue-soft);color:var(--blue-2);box-shadow:inset 0 0 0 1.5px var(--blue-soft-2)}
.glav-partner .btn.sm{padding:10px 18px;font-size:13.5px}

/* login-button on partner page */
.glav-lk-btn{display:inline-flex;align-items:center;gap:8px;font-family:"Mulish",system-ui,sans-serif;font-weight:800;font-size:15px;
  color:#fff;background:#227cd2;border-radius:100px;padding:12px 24px;text-decoration:none;
  box-shadow:0 8px 20px -10px rgba(34,124,210,.6);transition:all .2s cubic-bezier(.2,.7,.3,1)}
.glav-lk-btn:hover{background:#1b64ab;transform:translateY(-1px);color:#fff}

/* pills / statuses */
.glav-partner .pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:5px 12px;border-radius:var(--pill);white-space:nowrap}
.glav-partner .pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.glav-partner .pill.new{color:var(--blue);background:var(--blue-soft)}
.glav-partner .pill.talk{color:var(--gold);background:var(--gold-soft)}
.glav-partner .pill.paid{color:var(--green);background:var(--green-soft)}
.glav-partner .pill.lost{color:var(--rose);background:var(--rose-soft)}

/* ---------- Клиентская форма /bonus/ ---------- */
.glav-bonus{max-width:1120px;margin:0 auto}
.glav-bonus .hero-card{background:var(--card);border-radius:34px;box-shadow:var(--sh);position:relative;overflow:hidden;
  display:grid;grid-template-columns:1.08fr .92fr}
.glav-bonus .hero-l{padding:clamp(26px,4vw,52px) clamp(28px,3.2vw,54px);display:flex;flex-direction:column;justify-content:center}
.glav-bonus .ey{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue);background:var(--blue-soft);padding:7px 14px;border-radius:var(--pill);margin-bottom:20px}
.glav-bonus .hero-l h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:900}
.glav-bonus .hero-l h1 em{font-style:normal;color:var(--blue)}
.glav-bonus .hero-l .sub{font-size:clamp(15px,1.3vw,18px);color:var(--ink-2);max-width:38ch;margin:18px 0 24px;font-weight:500}
.glav-bonus .pts{display:flex;flex-direction:column;gap:11px}
.glav-bonus .pt{display:flex;gap:12px;align-items:center;font-size:14.5px;font-weight:600;color:var(--ink-2)}
.glav-bonus .pt i{flex:none;width:26px;height:26px;border-radius:9px;background:var(--blue-soft);color:var(--blue-2);display:grid;place-items:center;font-style:normal;font-weight:900;font-size:13px}
.glav-bonus .pt b{color:var(--ink);font-weight:800}
.glav-bonus .hero-r{background:linear-gradient(180deg,#f7f9fc,#eef2f8);border-left:1px solid var(--line);
  padding:clamp(24px,3.4vw,46px) clamp(26px,2.6vw,44px);display:flex;flex-direction:column;justify-content:center;position:relative}
.glav-bonus .hero-r h2{font-size:clamp(1.4rem,1.9vw,1.9rem);font-weight:900}
.glav-bonus .hero-r .h2sub{font-size:13.5px;color:var(--ink-2);margin:6px 0 20px;font-weight:600}
.glav-partner .field{margin-bottom:14px}
.glav-partner .field label{display:block;font-size:12.5px;font-weight:800;margin-bottom:7px;color:var(--ink-2)}
.glav-partner .field input{width:100%;font-family:inherit;font-size:15.5px;font-weight:600;padding:14px 16px;border:1.5px solid var(--line-2);
  border-radius:var(--r-field);background:#fff;color:var(--ink);transition:all var(--dur) var(--ease)}
.glav-partner .field input::placeholder{color:var(--ink-3);font-weight:500}
.glav-partner .field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.glav-partner .field input.code{letter-spacing:.3em;font-weight:800;font-size:21px;text-align:center}
.glav-partner .consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--ink-2);margin:6px 0 16px;font-weight:500;line-height:1.4}
.glav-partner .consent input{margin-top:2px;accent-color:var(--blue);width:15px;height:15px;flex:none}
.glav-partner .consent a{color:var(--blue);font-weight:700}
.glav-bonus .hero-r .btn{width:100%}
.glav-partner .formnote{font-size:11.5px;color:var(--ink-3);text-align:center;margin-top:11px;font-weight:600}
.glav-partner .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.glav-partner .ok-state{text-align:center;display:none}
.glav-partner .ok-state .ok{width:66px;height:66px;margin:0 auto 18px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:32px;font-weight:900}
.glav-partner .ok-state h2{font-size:1.7rem}
.glav-partner .ok-state p{color:var(--ink-2);font-weight:600;margin:12px auto 0;max-width:30ch;font-size:14px}
.glav-partner .err{color:var(--rose);font-size:12.5px;font-weight:700;margin-top:8px;min-height:16px}

/* ---------- Вход ---------- */
.glav-auth{display:grid;place-items:center;padding:20px}
.glav-auth .auth-card{width:100%;max-width:400px;background:#fff;border-radius:var(--r-card);padding:40px 36px;box-shadow:var(--sh)}
.glav-auth h1{text-align:center;font-size:1.55rem;margin-bottom:26px}
.glav-auth .btn{width:100%;margin-top:6px}
.glav-auth .auth-foot{text-align:center;font-size:12.5px;color:var(--ink-2);margin-top:18px;font-weight:600}
.glav-auth .auth-foot a{color:var(--blue);font-weight:800}

/* ---------- Кабинет ---------- */
.glav-app{max-width:1120px;margin:0 auto}
.glav-app .app-top{display:flex;align-items:center;gap:22px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.glav-app .app-nav{display:flex;gap:4px}
.glav-app .app-nav button{background:transparent;border:none;font-family:inherit;font-size:14px;font-weight:800;color:var(--ink-2);
  padding:9px 16px;border-radius:var(--pill);transition:all var(--dur) var(--ease)}
.glav-app .app-nav button:hover{background:var(--blue-soft);color:var(--blue-2)}
.glav-app .app-nav button[aria-current="true"]{background:var(--blue);color:#fff}
.glav-app .who{margin-left:auto;display:flex;align-items:center;gap:11px;font-weight:800;font-size:14px}
.glav-app .who .av{width:36px;height:36px;border-radius:50%;background:linear-gradient(160deg,#2f8ce0,#1b64ab);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.glav-app .app-body{padding:24px 0}
.glav-app .tab{display:none}.glav-app .tab.on{display:block}
.glav-app .greet{font-size:1.05rem;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.glav-app .transp{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);font-weight:700;
  background:var(--blue-soft);padding:7px 14px;border-radius:var(--pill);margin-bottom:14px}
.glav-app .transp b{color:var(--blue-2)}
.glav-app .card{background:#fff;border-radius:var(--r-card);padding:20px 24px;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.glav-app .lab{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.glav-app .dash{display:grid;grid-template-columns:1fr 1.15fr;gap:13px;align-items:start}
.glav-app .card.bal{background:linear-gradient(180deg,#ffffff,#f5f9ff);box-shadow:var(--sh-bal)}
.glav-app .bal .amt{font-weight:900;font-size:52px;line-height:1;color:var(--blue)}
.glav-app .bal .amt small{font-size:24px;color:var(--ink-3)}
.glav-app .bal .sub{display:flex;gap:28px;margin:10px 0 8px;flex-wrap:wrap}
.glav-app .bal .sub div{font-size:12.5px;color:var(--ink-2);font-weight:600}
.glav-app .bal .sub b{display:block;font-size:15px;color:var(--ink-2);font-weight:700;margin-top:3px}
.glav-app .bal .btn{width:100%}
.glav-app .feenote{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--ink-2);margin:0 0 10px}
.glav-app .feenote b{color:var(--blue-2)}
.glav-app .codebox{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.glav-app .codebig{font-weight:600;font-size:30px;letter-spacing:.14em;color:var(--ink);cursor:pointer}
.glav-app .codebig:hover{color:var(--blue)}
.glav-app .linkrow{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);flex-wrap:wrap}
.glav-app .linkrow code{font-size:13px;font-weight:700;color:var(--ink-2);border:1px solid var(--line);padding:9px 13px;border-radius:11px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.glav-app .statrow{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.glav-app .stat{background:#fff;border-radius:var(--r-mid);padding:15px 18px;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.glav-app .stat .v{font-weight:600;font-size:26px;color:var(--ink)}
.glav-app .stat .k{font-size:12.5px;color:var(--ink-3);margin-top:5px;font-weight:700;display:flex;align-items:center;gap:7px}
.glav-app .stat .k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-3)}
.glav-app .stat.s-new .k::before{background:var(--blue)}
.glav-app .stat.s-talk .k::before{background:var(--gold)}
.glav-app .stat.s-paid .k::before{background:var(--green)}
.glav-app .sec-h{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px;gap:14px}
.glav-app .sec-h h3{font-size:1.05rem;font-weight:800}
.glav-app .sec-h a{font-size:13px;font-weight:800;color:var(--blue);cursor:pointer}
.glav-app .upd{font-size:11.5px;color:var(--ink-3);font-weight:600}
.glav-app .tablewrap{background:#fff;border-radius:var(--r-mid);box-shadow:var(--sh-sm);overflow:hidden}
.glav-app table{width:100%;border-collapse:collapse;font-size:13.5px}
.glav-app thead th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:10px 22px;border-bottom:1px solid var(--line)}
.glav-app tbody td{padding:9px 22px;border-bottom:1px solid var(--line);font-weight:600}
.glav-app tbody tr:last-child td{border-bottom:none}
.glav-app tbody tr:hover{background:#f7f9fc}
.glav-app .cl-date{color:var(--ink-3);font-weight:700;white-space:nowrap;font-size:12.5px}
.glav-app .cl-phone{font-weight:600;color:var(--ink-2);white-space:nowrap}
.glav-app .cl-name{font-weight:800;color:var(--ink)}
.glav-app .fee{font-weight:800}.glav-app .fee.on{color:var(--green)}.glav-app .fee.wait{color:var(--gold);font-weight:700}.glav-app .fee.no{color:var(--ink-3);font-weight:700}
.glav-app .fee small{display:block;font-size:10.5px;color:var(--ink-3);font-weight:700;margin-top:2px}
.glav-app .fpills{display:flex;align-items:center;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.glav-app .fpill{background:#fff;border:1px solid var(--line-2);color:var(--ink-2);font-weight:700;font-size:12.5px;padding:7px 14px;border-radius:var(--pill);cursor:pointer}
.glav-app .fpill[aria-current="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.glav-app .terms .card{margin-bottom:12px;max-width:820px}
.glav-app .terms h4{font-size:14.5px;font-weight:800;margin-bottom:6px}
.glav-app .terms p{font-size:13.5px;color:var(--ink-2);font-weight:500;line-height:1.55}
.glav-app .paysum{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}

/* modal */
.glav-partner .mbg{position:fixed;inset:0;background:rgba(40,52,84,.42);backdrop-filter:blur(4px);display:none;place-items:center;z-index:99999;padding:20px}
.glav-partner .mbg.on{display:grid}
.glav-partner .modal{background:#fff;border-radius:var(--r-card);width:100%;max-width:460px;padding:34px;box-shadow:0 40px 90px -30px rgba(40,52,84,.5)}
.glav-partner .modal h3{font-size:1.5rem}
.glav-partner .modal .x{float:right;background:none;border:none;font-size:24px;color:var(--ink-3);line-height:1}
.glav-partner .modal .avail{font-weight:900;font-size:36px;color:var(--blue);margin:14px 0}
.glav-partner .modal .btn{width:100%;margin-top:14px}
.glav-partner .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(18px);background:var(--ink);color:#fff;
  font-size:13px;font-weight:800;padding:11px 22px;border-radius:var(--pill);opacity:0;pointer-events:none;transition:all var(--dur) var(--ease);z-index:100000}
.glav-partner .toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

@media (max-width:900px){
  .glav-bonus .hero-card,.glav-app .dash{grid-template-columns:1fr}
  .glav-bonus .hero-r{border-left:none;border-top:1px solid var(--line)}
  .glav-app .statrow,.glav-app .paysum{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .glav-app thead{display:none}
  .glav-app table,.glav-app tbody,.glav-app tr,.glav-app td{display:block;width:100%}
  .glav-app tbody tr{padding:12px 16px}
  .glav-app tbody td{border:none;padding:3px 0;display:flex;align-items:baseline;justify-content:space-between;gap:14px}
  .glav-app tbody td::before{content:attr(data-l);color:var(--ink-3);font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;flex:none}
}
@media (prefers-reduced-motion:reduce){.glav-partner *{animation-duration:.001ms!important;transition-duration:.001ms!important}}
