/* Личный кабинет: боковая панель, вкладки, карточки заявок, статистика, диалоги */
.lk-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:start}
.lk-side{position:sticky;top:calc(var(--header-h) + 24px);display:flex;flex-direction:column;gap:18px;min-width:0}
.lk-main{min-width:0}
.lk-guest{margin-bottom:20px}

.lk-me{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 18px;border:1px solid var(--line);background:var(--surface)}
.lk-av{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--grad-blue);color:var(--on-accent);font-family:var(--font-head);font-size:2rem;font-weight:500;margin-bottom:6px}
.lk-me strong{font-family:var(--font-head);font-weight:500;font-size:1.35rem;line-height:1.15}
.lk-ver{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
.tag.ok{border-color:var(--blue);color:var(--accent-t)}

.lk-nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.lk-nav button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 14px 13px 12px;background:none;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;color:var(--muted);font-size:.92rem;text-align:left;cursor:pointer;transition:color .25s ease,background .25s ease,border-color .25s ease}
.lk-nav button:hover{color:var(--text);background:var(--surface-2)}
.lk-nav button[aria-selected="true"]{color:var(--text);border-left-color:var(--blue);background:var(--surface-2);font-weight:500}
.cnt{margin-left:auto;min-width:22px;padding:1px 7px;border:1px solid var(--blue);font-size:.72rem;color:var(--accent-t);text-align:center}
.lk-out{align-self:flex-start}

.lk-tab{animation:tabIn .5s var(--e-out) both}
@keyframes tabIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.lk-card{border:1px solid var(--line);background:var(--surface);padding:clamp(18px,2.4vw,28px);margin-bottom:20px}
.lk-card-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.lk-card-h h2{font-family:var(--font-head);font-weight:500;font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.1}
.lk-rows > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 16px;padding:14px 0;border-top:1px solid var(--line)}
.lk-rows dt{color:var(--faint);font-size:var(--fs-small)}
.lk-rows dd{margin:0;word-break:break-word}
.lk-rows .tag{margin:0 0 0 10px}
.accent{color:var(--accent-t);font-weight:500}
.lk-status{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--blue);background:rgba(0,136,187,.08);margin-bottom:14px}
.lk-status b{font-family:var(--font-head);font-weight:500;font-size:1.5rem}
.lk-status span{color:var(--muted);font-size:.92rem}
.lk-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lk-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;border:1px solid var(--line);background:var(--surface-2)}
.lk-tile b{font-family:var(--font-head);font-weight:500;font-size:1.25rem}
.lk-tile span{font-size:.88rem;color:var(--muted);margin-bottom:8px}
.lk-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}
.lk-tools .input{max-width:320px}
.chips{display:flex;flex-wrap:wrap;gap:8px}

/* карточки заявок и заказов */
.app{position:relative;border:1px solid var(--line);border-left:4px solid var(--blue);background:var(--surface);padding:16px 18px;margin-bottom:14px}
.app.gray{border-left-color:var(--faint)}.app.yellow{border-left-color:var(--yellow)}.app.red{border-left-color:var(--red)}
.app.new{animation:cardIn .6s var(--e-out) both}
.app-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.app-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-bottom:8px;font-size:.78rem;color:var(--faint)}
.app h3{font-family:var(--font-head);font-weight:500;font-size:1.4rem;line-height:1.15;margin-bottom:6px}
.app-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.88rem;color:var(--muted)}
.badge{display:inline-block;padding:4px 12px;border:1px solid var(--blue);font-size:.78rem;color:var(--accent-t);background:rgba(0,136,187,.08);white-space:nowrap}
.badge.gray{border-color:var(--line-strong);color:var(--muted);background:var(--surface-2)}
.badge.yellow{border-color:var(--yellow);color:var(--text);background:rgba(255,187,68,.18)}
.badge.red{border-color:var(--red);color:var(--red);background:rgba(238,17,51,.07)}
.app-det{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:12px 14px;margin:12px 0;background:var(--surface-2)}
.app-det small{display:block;font-size:.7rem;color:var(--faint)}
.app-det span{font-size:.9rem}
.prog{height:4px;background:var(--line);margin:12px 0}
.prog i{display:block;height:100%;background:var(--grad-blue);transform-origin:left;animation:progIn 1s var(--e-out) both}
.app.gray .prog i{background:var(--faint)}.app.yellow .prog i{background:var(--yellow)}.app.red .prog i{background:var(--red)}
@keyframes progIn{from{transform:scaleX(0)}to{transform:none}}
.app-act{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:.85rem}
.app-act .done-note{color:var(--muted)}
.ord-mgr{margin-top:8px;padding:9px 12px;background:rgba(0,136,187,.07);font-size:.86rem;color:var(--muted)}

/* диалоги */
.dlg-lk{width:min(560px,calc(100vw - 24px));max-height:88dvh;margin:6vh auto 0}
.dlg-wide{width:min(760px,calc(100vw - 24px))}
.dlg-lk .dlg-bar{position:sticky;top:0;background:var(--surface);z-index:2;align-items:flex-start}
.dlg-body{padding:18px}
.dlg-body h3{font-family:var(--font-head);font-weight:500;font-size:1.25rem;margin:18px 0 8px}
.dlg-body h3:first-child{margin-top:0}
.pick .pk{display:block;position:relative;border:1px solid var(--line);padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .25s ease,background .25s ease}
.pick .pk:hover{border-color:var(--line-strong)}
.pick .pk input{position:absolute;opacity:0}
.pick .pk:has(input:checked){border-color:var(--blue);background:rgba(0,136,187,.08)}
.pick .pk:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:3px}
.pick .pk b{display:block;font-family:var(--font-head);font-weight:500;font-size:1.2rem;line-height:1.15}
.pick .pk span{display:block;font-size:.82rem;color:var(--muted)}
.mrow{padding:10px 12px;margin-bottom:6px;background:var(--surface-2);border-left:3px solid var(--line-strong)}
.mrow.win{border-left-color:var(--blue);background:rgba(0,136,187,.07)}.mrow.loss{border-left-color:var(--red)}
.mrow-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mrow-h span:first-child{flex:1;min-width:0;font-size:.9rem}
.mrow-h b{font-family:var(--font-head);font-size:1.4rem;font-weight:500}
.mrow small{display:block;margin-top:3px;font-size:.76rem;color:var(--faint)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));border:1px solid var(--line)}
.tiles div{padding:14px 8px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0}
.tiles b{display:block;font-family:var(--font-head);font-weight:500;font-size:1.7rem;line-height:1}
.tiles small{font-size:.72rem;color:var(--faint)}
.roster li{display:flex;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:.9rem}
.roster li.me{border-left:3px solid var(--blue);background:rgba(0,136,187,.07)}
.ini{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;font-size:.7rem;color:var(--muted)}
.me .ini{border-color:var(--blue);color:var(--accent-t)}
.roster small{color:var(--faint)}
.roster .tag{margin:0 0 0 auto}
.subs li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.pm-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line)}

/* статистика */
.pl-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.pl-num{display:grid;place-items:center;width:64px;height:64px;border:2px solid var(--blue);font-family:var(--font-head);font-size:2rem;font-weight:500;color:var(--accent-t)}
.pl-head h3{font-family:var(--font-head);font-weight:500;font-size:1.6rem;line-height:1.1;margin:0}
.pl-head p{font-size:.88rem;color:var(--muted)}
.big2{display:flex;gap:28px;margin-bottom:18px}
.big2 b{display:block;font-family:var(--font-head);font-weight:500;font-size:2.6rem;line-height:1}
.big2 small{font-size:.76rem;color:var(--faint)}
.eff{display:grid;gap:12px;margin-top:6px}
.eff div{display:grid;grid-template-columns:150px minmax(0,1fr) 44px;gap:12px;align-items:center;font-size:.88rem}
.eff i{display:block;height:6px;background:var(--line)}
.eff u{display:block;height:100%;background:var(--grad-blue);transform-origin:left;animation:progIn 1s var(--e-out) both}
.eff b{font-weight:500;text-align:right}
.team-h{display:flex;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.team-logo{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;background:var(--grad-blue);color:var(--on-accent);font-family:var(--font-head);font-size:1.8rem;font-weight:500}
.team-t{flex:1;min-width:0}
.team-h h3{font-family:var(--font-head);font-weight:500;font-size:1.7rem;line-height:1.1;margin:0 0 2px}
.team-place{text-align:right;flex:none}
.team-place b{display:block;font-family:var(--font-head);font-weight:500;font-size:2.4rem;line-height:1;color:var(--accent-t)}
.team-place small{font-size:.74rem;color:var(--faint)}
.youcard{padding:14px 18px;margin-bottom:6px;border:1px solid var(--line);border-left:3px solid var(--blue);background:var(--surface-2)}
.yc-l{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.yc-row{display:flex;flex-wrap:wrap;gap:10px 0}
.yc-row > div{padding:0 22px;border-left:1px solid var(--line-strong)}
.yc-row > div:first-child{padding-left:0;border-left:0}
.yc-row small{display:block;font-size:.72rem;color:var(--faint)}
.yc-row b{font-family:var(--font-head);font-weight:500;font-size:1.3rem;line-height:1.2}
.yc-row b .accent{font-family:var(--font-body);font-weight:600;font-size:1rem}

.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pcard{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .25s ease,transform .4s var(--e-out),box-shadow .3s ease}
.pcard:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow)}
.pcard.me{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.pph{position:relative;display:block;aspect-ratio:5/4;overflow:hidden;background:#c8e0e8}
.pph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 14%;transition:transform .6s var(--e-out)}
.pcard:hover .pph img{transform:scale(1.04)}
.pph .no{position:absolute;left:10px;top:6px;font-family:var(--font-head);font-weight:600;font-size:1.9rem;line-height:1;color:#0b3b57;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.pph .ct{position:absolute;left:10px;top:10px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#0b4f73}
.pph .you{position:absolute;right:8px;top:8px;padding:2px 9px;background:var(--grad-blue);color:var(--on-accent);font-size:.68rem;font-weight:600;letter-spacing:.04em}
.pin{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px 14px}
.pin b{font-weight:600;font-size:.98rem;line-height:1.25}
.pin span{font-size:.86rem;color:var(--muted)}
.pin small{font-size:.76rem;color:var(--faint)}
.pin em{margin-top:6px;padding:2px 9px;border:1px solid var(--blue);font-style:normal;font-size:.72rem;color:var(--accent-t)}
.pin em.plain{border-color:var(--line-strong);color:var(--muted)}
.pager{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px}
.pager button{min-width:40px;height:40px;padding:0 6px;border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer;transition:all .25s ease}
.pager .pga{border-radius:50%;width:40px}
.pager button:hover:not(:disabled){border-color:var(--blue);color:var(--accent-t)}
.pager .pgn[aria-current]{background:var(--grad-blue);border-color:transparent;color:var(--on-accent);font-weight:600}
.pager button:disabled{opacity:.35;cursor:default}

/* окно игрока */
.dlg-pm{padding:0;overflow:auto}
.pm-head{position:relative;display:flex;align-items:stretch;background:linear-gradient(135deg,#00668f 0%,#0088bb 100%)}
.pm-photo{flex:none;width:150px;height:200px;object-fit:cover;object-position:50% 12%;background:#c8e0e8}
.pm-info{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:18px 64px 18px 22px;color:#fff}
.pm-bar{width:42px;height:4px;background:rgba(255,255,255,.4);margin-bottom:8px}
.pm-info strong{font-family:var(--font-head);font-weight:600;font-size:clamp(1.5rem,3.4vw,2rem);line-height:1.08}
.pm-pos{font-size:1rem;font-weight:600;color:#c4f0ff}
.pm-info small{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.pm-x{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;cursor:pointer;transition:background .25s ease}
.pm-x:hover{background:rgba(255,255,255,.34)}
.pm-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:0 18px;border-bottom:1px solid var(--line)}
.pm-meta div{padding:16px 10px;text-align:center;border-left:1px solid var(--line)}
.pm-meta div:first-child{border-left:0}
.pm-meta b{display:block;font-family:var(--font-head);font-weight:500;font-size:1.35rem;line-height:1.1}
.pm-meta small{font-size:.72rem;color:var(--faint)}
.pm-nav{position:sticky;bottom:0;background:var(--surface)}

.empty{padding:36px 12px;text-align:center;color:var(--muted)}
.empty b{display:block;font-family:var(--font-head);font-weight:500;font-size:1.6rem;color:var(--text);margin-bottom:6px}
.tcard{border:1px solid var(--line);padding:16px 18px;margin-bottom:14px;background:var(--surface)}
.tcard .tiles{margin:12px 0}

.sw small{display:block;font-size:.74rem}

@media (max-width:1000px){
  .lk-grid{grid-template-columns:minmax(0,1fr)}
  .lk-side{position:static}
  .lk-me{flex-direction:row;text-align:left;align-items:center;flex-wrap:wrap;padding:14px 16px;gap:4px 14px}
  .lk-me .lk-av{margin:0;width:56px;height:56px;font-size:1.6rem}
  .lk-me strong,.lk-me > span{flex:1 1 calc(100% - 80px)}
  .lk-ver{flex-basis:100%;justify-content:flex-start;margin-top:4px}
  .lk-nav{flex-direction:row;overflow-x:auto;border:1px solid var(--line);border-width:1px 0;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}
  .lk-nav::-webkit-scrollbar{display:none}
  .lk-nav button{flex:0 0 auto;width:auto;white-space:nowrap;border-bottom:0;border-left:0;box-shadow:inset 0 -3px 0 transparent;padding:14px 14px}
  .lk-nav button[aria-selected="true"]{box-shadow:inset 0 -3px 0 var(--blue);background:none}
  .lk-out{display:none}
}
@media (max-width:640px){
  .lk-rows > div{grid-template-columns:minmax(0,1fr);gap:2px}
  .lk-two{grid-template-columns:minmax(0,1fr)}
  .lk-tools{flex-direction:column;align-items:stretch}
  .lk-tools .input{max-width:none}
  .eff div{grid-template-columns:104px minmax(0,1fr) 38px}
  .big2{gap:22px}
  .dlg-lk{margin:0 auto;width:100vw;max-width:100vw;max-height:100dvh;height:100dvh}
  .app-act .btn{padding:11px 14px}
}

/* фильтры и переключатели в кабинете листаются по горизонтали, а не сжимаются */
.lk-tools .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}
.lk-tools .seg::-webkit-scrollbar{display:none}
.lk-tools .seg button{flex:0 0 auto;white-space:nowrap}
.lk-guest{padding:10px 14px;font-size:.88rem}
@media (max-width:640px){.lk-tools .seg{display:flex;width:100%}}

@media (max-width:900px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .pgrid{gap:10px}
  .pph{aspect-ratio:1/1}
  .pph .no{font-size:1.5rem}
  .pin{padding:10px 11px 12px}.pin b{font-size:.9rem}.pin span{font-size:.8rem}
  .team-h{gap:12px}.team-logo{width:46px;height:46px;font-size:1.5rem}.team-h h3{font-size:1.4rem}.team-place b{font-size:2rem}
  .yc-row{flex-direction:column;gap:10px}.yc-row > div{padding:0;border-left:0}
  .pm-photo{width:108px;height:150px}
  .pm-info{padding:14px 56px 14px 16px}
  .pm-x{right:10px;top:10px}
  .pm-meta{margin:0 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-meta div:nth-child(odd){border-left:0}
  .pm-nav{padding:10px 12px}.pm-nav .btn{padding:11px 12px;font-size:.85rem}
}
@media (max-width:340px){.pgrid{grid-template-columns:minmax(0,1fr)}.pph{aspect-ratio:4/3}}
