/* ЛК партнёров EFELE — дизайн-система перенесена из утверждённых макетов (mockups.html) */
:root{
  --red:#C40007;
  --red-dark:#9A0005;
  --red-pale:#FDF0F1;
  --navy:#033B75;
  --yellow:#FDC100;
  --green:#00A62E;
  --ink:#1D1D1D;
  --ink-2:#4A4A4A;
  --muted:#969BA5;
  --line:#E3E7ED;
  --line-2:#EFF2F6;
  --bg:#F2F5FA;
  --panel:#FFFFFF;
  --graphite:#14161A;
  --graphite-2:#1E2127;

  --display:'Roboto Condensed','Bahnschrift','DejaVu Sans Condensed',sans-serif;
  --ui:'Golos Text','Segoe UI','DejaVu Sans',sans-serif;
  --mono:'JetBrains Mono','Consolas','DejaVu Sans Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);font-family:var(--ui);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* ——— каркас ——— */
.app{display:flex;min-height:100vh}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.body{padding:22px 26px;flex:1}

/* ——— марка EFELE ——— */
.mark{display:inline-flex;align-items:center;gap:9px}
.mark-bar{width:10px;height:26px;background:var(--red);clip-path:polygon(38% 0,100% 0,100% 100%,0 100%)}
.mark-txt{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:.05em;color:var(--red);line-height:1}
.mark--light .mark-txt{color:#fff}

/* ——— сайдбар ——— */
.side{width:236px;background:var(--graphite);color:#fff;display:flex;flex-direction:column;flex:none;position:sticky;top:0;height:100vh}
.side-top{padding:22px 22px 20px;border-bottom:1px solid #262A31}
.side-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6E7683;margin-top:9px;font-family:var(--display);font-weight:600}
.nav{padding:16px 12px;flex:1;overflow-y:auto}
.nav-lbl{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#5A6270;padding:0 10px;margin:14px 0 8px;font-family:var(--display);font-weight:600}
.nav-lbl:first-child{margin-top:0}
.nav-i{display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:3px;color:#B9C0CB;font-size:14px;margin-bottom:2px;position:relative;transition:background .12s,color .12s}
.nav-i:hover{background:#1A1D22;color:#fff}
.nav-i svg{width:16px;height:16px;flex:none;opacity:.85}
.nav-i.on{background:var(--graphite-2);color:#fff;font-weight:600}
.nav-i.on::before{content:'';position:absolute;left:-12px;top:6px;bottom:6px;width:3px;background:var(--red)}
.nav-i .cnt{margin-left:auto;font-family:var(--mono);font-size:11px;color:#7B8492}
.nav-i.on .cnt{color:#fff}
.nav-i .cnt.hot{background:var(--red);color:#fff;padding:1px 6px;border-radius:9px;font-size:10.5px}
.side-user{padding:14px 18px;border-top:1px solid #262A31;display:flex;align-items:center;gap:11px}
.ava{width:34px;height:34px;background:var(--red);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:13px;flex:none;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.side-user .nm{font-size:13px;font-weight:600;line-height:1.25}
.side-user .rl{font-size:11px;color:#6E7683;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase}
.side-user .out{color:#6E7683;font-size:11.5px;white-space:nowrap}
.side-user .out:hover{color:#fff}

/* ——— шапка ——— */
.top{min-height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:10px 26px;gap:18px;flex:none;flex-wrap:wrap}
.top h2{font-family:var(--display);font-weight:600;font-size:21px}
.crumb{font-size:12px;color:var(--muted);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase}
.top-r{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* поиск в шапке — настоящее поле */
.search{position:relative}
.search input{width:250px;height:34px;border:1px solid var(--line);border-radius:2px;padding:0 11px 0 30px;font:inherit;font-size:13px;color:var(--ink);background:#fff}
.search input::placeholder{color:var(--muted)}
.search input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(196,0,7,.10);outline:0}
.search svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--muted);pointer-events:none}

.btn{height:34px;padding:0 15px;border:0;border-radius:2px;font-family:var(--display);font-weight:600;font-size:13.5px;letter-spacing:.03em;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:background .12s,border-color .12s}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-dark)}
.btn-gh{background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.btn-gh:hover{border-color:#C6CDD6;color:var(--ink)}
.btn-dk{background:var(--graphite);color:#fff}
.btn-dk:hover{background:var(--graphite-2)}

/* ——— плитки сводки ——— */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.tile{background:#fff;border:1px solid var(--line);padding:15px 17px;position:relative;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.tile .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:var(--display);font-weight:600}
.tile .v{font-family:var(--display);font-weight:700;font-size:34px;line-height:1.05;margin-top:7px}
.tile .d{font-size:12px;color:var(--ink-2);margin-top:4px}
.tile .v em{font-style:normal;color:var(--red)}

/* ——— панель ——— */
.panel{background:#fff;border:1px solid var(--line)}
.p-head{display:flex;align-items:center;gap:12px;padding:13px 17px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.p-head h3{font-family:var(--display);font-weight:600;font-size:15.5px}
.p-head .hint{font-size:12px;color:var(--muted)}
.p-head .r{margin-left:auto;display:flex;gap:8px}

/* фильтры */
.filters{display:flex;gap:8px;align-items:center;padding:11px 17px;border-bottom:1px solid var(--line-2);background:#FAFBFD;flex-wrap:wrap}
.chip{height:28px;padding:0 12px;border:1px solid var(--line);background:#fff;border-radius:14px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);transition:border-color .12s}
.chip:hover{border-color:#C6CDD6}
.chip.on{background:var(--graphite);border-color:var(--graphite);color:#fff;font-weight:600}
.chip .x{color:var(--muted);font-size:14px}
.chip.on .x{color:#B9C0CB}
.f-lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:var(--display);font-weight:600;margin-right:2px}
.f-count{margin-left:auto;font-size:12px;color:var(--muted)}

/* ——— таблица ——— */
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#6B7481;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:#FBFCFD;white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--line-2);font-size:13.5px;vertical-align:middle}
tbody tr{transition:background .1s}
tbody tr:hover{background:#FAFBFD}
tr:last-child td{border-bottom:0}
.c{text-align:center}
.ttl{font-weight:600;font-size:14px}
.sub{font-size:11.5px;color:var(--muted);margin-top:2px}
.mono{font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}
.yes{color:var(--green);font-size:15px;font-weight:700}
.no{color:#CBD2DA;font-size:14px}
.wait{color:var(--red);font-weight:700;font-size:14px}
.free{color:var(--muted);font-style:italic;font-size:12.5px}
.locked{color:#AAB2BD}
.locked .ttl{color:#7C8592;font-weight:500}

/* пилюли статусов */
.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:11px;font-size:11.5px;font-weight:600;white-space:nowrap}
.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.pill-g{background:#E6F7EC;color:#0B7A2B}
.pill-r{background:var(--red-pale);color:var(--red)}
.pill-y{background:#FFF6DA;color:#8A6800}
.pill-n{background:#EEF1F5;color:#5B6470}
.pill-b{background:#E8F0FA;color:var(--navy)}

/* чипы направлений в ячейках */
.tagset{display:flex;gap:5px;flex-wrap:wrap}
.tag{border:1px solid var(--line);background:#FAFBFD;font-size:11.5px;padding:2px 8px;border-radius:2px;color:var(--ink-2)}

/* ——— карточки направлений ——— */
.dirs{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.dir{background:#fff;border:1px solid var(--line);padding:16px 17px;display:flex;gap:13px;align-items:flex-start;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.dir .n{font-family:var(--display);font-weight:700;font-size:13px;color:#fff;background:var(--graphite);width:26px;height:26px;display:grid;place-items:center;flex:none}
.dir .t{font-family:var(--display);font-weight:600;font-size:15px;margin-bottom:3px}
.dir .x{font-size:12.5px;color:var(--ink-2);line-height:1.4}
.dir .m{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:7px}

/* жёлтая плашка-хайлайт — приём с efele.ru */
.hl{background:var(--yellow);padding:1px 7px;font-family:var(--display);font-weight:600}

/* шаги процесса */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#FAFBFD}
.step{padding:15px 18px;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:0}
.step::after{content:'';position:absolute;right:-6px;top:50%;width:11px;height:11px;background:#FAFBFD;border-top:1px solid var(--line);border-right:1px solid var(--line);transform:translateY(-50%) rotate(45deg);z-index:2}
.step:last-child::after{display:none}
.step .sn{font-family:var(--display);font-weight:700;font-size:11px;color:#fff;background:var(--red);width:20px;height:20px;display:grid;place-items:center;margin-bottom:8px}
.step .st{font-family:var(--display);font-weight:600;font-size:14px;margin-bottom:2px}
.step .sx{font-size:12px;color:var(--muted)}

/* полосы охвата */
.cov{padding:15px 17px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px 24px}
.cov-i .cl{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}
.cov-i .cl b{font-family:var(--mono);font-size:12px;color:var(--ink-2);font-weight:400}
.bar{height:6px;background:#EDF0F4}
.bar i{display:block;height:100%;background:var(--red)}

.rule-box{background:#fff;border:1px solid var(--line);border-left:3px solid var(--red);padding:14px 17px}
.rule-box .t{font-family:var(--display);font-weight:600;font-size:14.5px;margin-bottom:4px}
.rule-box .x{font-size:12.5px;color:var(--ink-2);line-height:1.45}

.note-line{font-size:11.5px;color:var(--muted);padding:9px 17px;border-top:1px solid var(--line-2);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.legend{display:flex;gap:14px;align-items:center;font-size:11.5px;color:var(--muted);flex-wrap:wrap}
.legend b{font-weight:700}

/* ——— формы ——— */
.fld{margin-bottom:17px}
.fld label{display:block;font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#6B7481;margin-bottom:7px}
.inp,select.inp,textarea.inp{width:100%;height:46px;border:1px solid var(--line);border-radius:2px;padding:0 14px;font:inherit;font-size:14.5px;color:var(--ink);background:#fff}
textarea.inp{height:auto;min-height:66px;padding:9px 11px;resize:vertical}
.inp:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(196,0,7,.10);outline:0}
.inp.err{border-color:var(--red)}
.f-err{color:var(--red);font-size:12.5px;margin-top:6px}
.inp-sm,select.inp-sm{height:34px;font-size:13.5px;padding:0 10px;border:1px solid var(--line);border-radius:2px;background:#fff;font-family:inherit;color:var(--ink)}
.inp-sm:focus{border-color:var(--red);outline:0}

/* ——— вход ——— */
.auth{min-height:100vh;display:flex}
.auth-l{width:52%;background:var(--graphite);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:54px 60px}
.auth-l::after{content:'';position:absolute;right:-180px;top:-120px;width:620px;height:620px;background:var(--red);opacity:.13;clip-path:polygon(38% 0,100% 0,100% 100%,0 100%)}
.auth-l::before{content:'';position:absolute;left:0;right:0;bottom:0;height:280px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 46px)}
.auth-hd{position:relative;z-index:2}
.auth-big{position:relative;z-index:2;color:#fff;max-width:520px}
.auth-big .k{font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:#FF8A8E;margin-bottom:16px}
.auth-big h1{font-family:var(--display);font-weight:700;font-size:47px;line-height:1.08;letter-spacing:-.01em}
.auth-big p{color:#98A1AE;font-size:15px;line-height:1.6;margin-top:16px;max-width:430px}
.auth-foot{position:relative;z-index:2;display:flex;gap:34px;color:#6E7683;font-size:12px;font-family:var(--mono);flex-wrap:wrap}
.auth-r{width:48%;background:#fff;display:grid;place-items:center;padding:40px 90px}
.auth-form{width:100%;max-width:378px}
.auth-form .h{font-family:var(--display);font-weight:700;font-size:27px;margin-bottom:6px}
.auth-form .s{color:var(--muted);font-size:13.5px;margin-bottom:30px}
.pass-wrap{position:relative}
.pass-wrap .inp{padding-right:86px}
.eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px}
.eye:hover{color:var(--ink-2)}
.auth-row{display:flex;align-items:center;justify-content:space-between;margin:6px 0 24px;font-size:13px}
.cbx{display:flex;align-items:center;gap:8px;color:var(--ink-2);cursor:pointer}
.cbx input{width:15px;height:15px;accent-color:var(--red)}
.lnk{color:var(--red);font-weight:600}
.lnk:hover{color:var(--red-dark)}
.btn-lg{height:48px;width:100%;background:var(--red);color:#fff;font-family:var(--display);font-weight:600;font-size:15.5px;letter-spacing:.04em;border:0;display:grid;place-items:center;border-radius:2px;transition:background .12s}
.btn-lg:hover{background:var(--red-dark)}
.auth-note{margin-top:22px;background:#F7F9FC;border-left:3px solid var(--line);padding:12px 14px;font-size:12.5px;color:#5B6470;line-height:1.5}
.auth-err{margin-bottom:18px;background:var(--red-pale);border-left:3px solid var(--red);padding:11px 14px;font-size:13px;color:var(--red-dark)}

/* ——— заявки: список + панель решения ——— */
.split{display:grid;grid-template-columns:1fr 372px;gap:16px;align-items:start}
.req{padding:14px 17px;border-bottom:1px solid var(--line-2);display:flex;gap:14px;align-items:flex-start;transition:background .1s}
.req:hover{background:#FAFBFD}
.req:last-child{border-bottom:0}
.req.sel{background:#FFF9F9;box-shadow:inset 3px 0 0 var(--red)}
.req .who{font-family:var(--display);font-weight:700;font-size:12px;width:34px;height:34px;background:#EEF1F5;color:#5B6470;display:grid;place-items:center;flex:none;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.req.sel .who{background:var(--red);color:#fff}
.req .g{flex:1;min-width:0}
.req .l1{display:flex;align-items:center;gap:9px;margin-bottom:3px;flex-wrap:wrap}
.req .nm{font-weight:600;font-size:14px}
.req .l2{font-size:12.5px;color:var(--ink-2)}
.req .l3{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:5px}
.dec{padding:16px 17px}
.dec .lbl{font-family:var(--display);font-weight:600;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:#6B7481;margin-bottom:7px}
.dec .val{font-size:14px;margin-bottom:15px}
.dec .val b{font-weight:600}
.two{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:15px}
.mini{border:1px solid var(--line);padding:9px 11px}
.mini .k{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:var(--display);font-weight:600}
.mini .v{font-family:var(--mono);font-size:14px;margin-top:4px}
.mini input,.mini select{border:0;font-family:var(--mono);font-size:14px;margin-top:4px;width:100%;padding:0;background:none}
.mini input:focus,.mini select:focus{outline:0}
.dec-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-ok{height:42px;background:var(--green);color:#fff;font-family:var(--display);font-weight:600;font-size:14px;display:grid;place-items:center;border-radius:2px;transition:filter .12s}
.btn-ok:hover{filter:brightness(.92)}
.btn-no{height:42px;background:#fff;border:1px solid var(--line);color:#5B6470;font-family:var(--display);font-weight:600;font-size:14px;display:grid;place-items:center;border-radius:2px}
.btn-no:hover{border-color:#C6CDD6;color:var(--ink)}
.timer{display:flex;align-items:center;gap:8px;background:#FFF6DA;border:1px solid #F5DFA0;padding:9px 12px;font-size:12.5px;color:#8A6800;margin-bottom:15px}
.timer b{font-family:var(--mono);font-weight:700}
.dec-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:13px}

/* баннер роли партнёра */
.role-bar{display:flex;align-items:center;gap:12px;background:#0E2A4D;color:#fff;padding:9px 26px;font-size:13px;flex:none;flex-wrap:wrap}
.role-bar .tag2{font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;background:var(--red);padding:3px 8px}
.role-bar .r{margin-left:auto;color:#9FB4CC;font-size:12px}

/* ——— флэши ——— */
.flash{position:fixed;right:20px;top:20px;z-index:50;display:flex;flex-direction:column;gap:8px;max-width:420px}
.flash .f{background:var(--graphite);color:#fff;padding:12px 16px;font-size:13.5px;box-shadow:0 8px 24px rgba(20,30,50,.25);border-left:3px solid var(--green);animation:fin .25s ease-out}
.flash .f.warn{border-left-color:var(--yellow)}
.flash .f.err{border-left-color:var(--red)}
@keyframes fin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* одноразовый пароль */
.pw-box{background:#FFF6DA;border:1px solid #F5DFA0;padding:13px 16px;margin-bottom:16px;font-size:13px;color:#6B5200}
.pw-box .pw{font-family:var(--mono);font-weight:700;font-size:17px;color:var(--ink);margin-top:5px;user-select:all}

/* пустые состояния */
.empty{padding:44px 20px;text-align:center;color:var(--muted)}
.empty .t{font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink-2);margin-bottom:5px}
.empty .x{font-size:13px;max-width:420px;margin:0 auto;line-height:1.5}

/* ——— адаптив ——— */
@media (max-width:1240px){
  .tiles{grid-template-columns:repeat(2,1fr)}
  .dirs{grid-template-columns:repeat(2,1fr)}
  .cov{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step::after{display:none}
}
@media (max-width:1024px){
  .side{position:fixed;left:0;top:0;bottom:0;z-index:40;transform:translateX(-100%);transition:transform .2s ease-out}
  .side.open{transform:none}
  .side-toggle{display:inline-flex}
  .auth{flex-direction:column}
  .auth-l,.auth-r{width:100%}
  .auth-l{min-height:340px;padding:34px 30px}
  .auth-big h1{font-size:32px}
  .auth-r{padding:40px 24px}
}
.side-toggle{display:none;width:34px;height:34px;border:1px solid var(--line);border-radius:2px;align-items:center;justify-content:center;color:var(--ink-2)}
@media (min-width:1025px){.side-scrim{display:none!important}}
.side-scrim{position:fixed;inset:0;background:rgba(10,12,15,.45);z-index:30}
