/* ===== «Заявки на Т2» — дизайн «Космос» (основной): глубокий фиолетовый, стекло, мягкое свечение, Manrope ===== */
:root{
  --font:'Manrope',system-ui,sans-serif;
  --r-sm:12px; --r:20px; --r-lg:26px;
  --bg:#070514; --panel:rgba(13,9,32,.9); --th:rgba(12,8,28,.97);
  --glass:rgba(255,255,255,.03); --glass-2:rgba(255,255,255,.06);
  --line:rgba(255,255,255,.075); --line-2:rgba(255,255,255,.12); --line-3:rgba(255,255,255,.22);
  --text:#F1EEFA; --text-2:#A39DBE; --text-3:#6A6488;
  --amber:#F2B544; --blue:#6EA8F5; --green:#45C99B; --red:#F06A80; --grey:#8E96A8;
  --a1:#5B2EBF; --a2:#2E1A7A;
  --grad:linear-gradient(135deg,#4A24A8,#2A1468);
  --btn:linear-gradient(180deg,#3F1F92,#271160); --btn-line:rgba(167,139,250,.3);
  --acc:#8B6CF0; --acc-text:#B9A6F5; --acc-soft:rgba(109,64,217,.15); --acc-line:rgba(139,108,240,.42); --acc-glow:rgba(91,46,191,.45);
  --pill-bg:#2B1766; --pill-ink:#F1EEFA;
  --neb:22%; --scrim:rgba(5,3,16,.55); --shadow:0 30px 80px rgba(3,1,12,.6);
  color-scheme:dark;
}
[data-theme=light]{
  --bg:#F2F0F8; --panel:rgba(255,255,255,.9); --th:rgba(250,249,253,.97);
  --glass:rgba(255,255,255,.7); --glass-2:rgba(255,255,255,.95);
  --line:rgba(30,18,70,.09); --line-2:rgba(30,18,70,.15); --line-3:rgba(30,18,70,.28);
  --text:#150F2B; --text-2:#55506E; --text-3:#9792AE;
  --amber:#C27803; --blue:#1D5FD6; --green:#047857; --red:#D11F48; --grey:#5F6B7D;
  --acc-text:#4C2A9E; --acc-soft:rgba(91,46,191,.09); --pill-ink:#FFFFFF;
  --neb:14%; --scrim:rgba(40,24,90,.22); --shadow:0 30px 70px rgba(76,29,149,.16);
  color-scheme:light;
}
/* Совместимость с общими шаблонами (в разметке встречаются переменные «золотой» версии) */
:root{--gold:var(--acc-text);--gold-2:var(--acc-text);--gold-ink:#fff;--gold-soft:var(--acc-soft);--gold-glow:var(--acc-glow)}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:#030209;-webkit-font-smoothing:antialiased}
[data-theme=light] body{background:#DCD6EE}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:var(--acc-text);text-decoration:none}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--text-2)} .faint{color:var(--text-3)}
.hide{display:none!important}
.d-only{display:none!important}

/* ===== Каркас: фон-туманность ===== */
#stage{height:100%}
#frame{position:relative;width:100%;height:100vh;overflow:hidden;container-type:inline-size;container-name:app;
  background:
    radial-gradient(900px 560px at 92% -12%,color-mix(in srgb,var(--a1) var(--neb),transparent),transparent 65%),
    radial-gradient(760px 520px at -14% 38%,color-mix(in srgb,var(--a2) calc(var(--neb) * .6),transparent),transparent 65%),
    radial-gradient(900px 600px at 55% 118%,color-mix(in srgb,var(--a1) calc(var(--neb) * .7),transparent),transparent 65%),
    var(--bg)}
#scroll{height:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}
#overlay{position:absolute;inset:0;pointer-events:none;z-index:40}
#overlay>*{pointer-events:auto}
body.phone #stage{display:grid;place-items:center;min-height:100vh;padding:28px}
body.phone #frame{width:390px;height:min(844px,calc(100vh - 56px));border-radius:46px;border:10px solid #000;box-shadow:0 0 0 1px #2b2445,0 40px 120px rgba(0,0,0,.6)}
body.phone #scroll::-webkit-scrollbar{width:0}

/* ===== Шапка ===== */
.hdr{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--line)}
.hdr-in{max-width:1280px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand-mark{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:#fff;background:var(--grad);border:1px solid var(--btn-line);box-shadow:0 6px 18px -8px var(--acc-glow)}
.brand-name{font-size:15px;font-weight:700;letter-spacing:-.01em}
.brand-name span{color:var(--text-3);font-weight:500}
.hdr-r{display:flex;align-items:center;gap:8px;margin-left:auto}
.roles+.hdr-r{margin-left:0}
.icon-btn{width:36px;height:36px;border-radius:50%;background:var(--glass);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--text-2);transition:.2s}
.icon-btn:hover{color:var(--text);border-color:var(--line-3)}
.icon-btn svg{width:16px;height:16px}
.me{display:flex;align-items:center;gap:8px;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:var(--glass)}
.me .nm{font-size:13px;font-weight:600;padding-right:10px;display:none}
.ava{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 70%,#1b1340),color-mix(in srgb,var(--a2) 55%,#1b1340));flex:none}
.ava.sm{width:22px;height:22px;font-size:8.5px}
.roles{order:3;width:100%;display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--glass);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.role{flex:1;white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-2);display:flex;align-items:center;justify-content:center;gap:7px;transition:.2s}
.role:hover{color:var(--text)}
.role.on{background:var(--pill-bg);color:var(--pill-ink);box-shadow:inset 0 0 0 1px var(--acc-line),0 6px 18px -10px var(--acc-glow)}
.cnt{min-width:19px;height:19px;padding:0 6px;border-radius:999px;font-size:10.5px;font-weight:700;display:inline-grid;place-items:center;background:var(--pill-bg);color:var(--acc-text);border:1px solid var(--acc-line)}
[data-theme=light] .cnt{color:#fff}

/* ===== Страница ===== */
.page{max-width:1280px;margin:0 auto;padding:22px 16px 120px}
.page-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.eyebrow{font-size:12px;font-weight:600;color:var(--acc-text);margin-bottom:6px}
h1{font-size:27px;font-weight:700;letter-spacing:-.025em;line-height:1.15}
h2{font-size:18px;font-weight:700;letter-spacing:-.015em}
h3{font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.sec{margin-top:28px}
.sec-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}

/* ===== KPI ===== */
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kpis.k1{grid-template-columns:1fr}
.kpis.k2 .kpi.hero{grid-column:auto}
.kpi{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;min-width:0;overflow:hidden}
.kpi-l{font-size:12.5px;font-weight:600;color:var(--text-2)}
.kpi-v{font-size:32px;font-weight:700;letter-spacing:-.03em;margin-top:8px;line-height:1.05;font-variant-numeric:tabular-nums}
.kpi-v small{font-size:13px;color:var(--text-3);font-weight:500;margin-left:6px;letter-spacing:0}
.kpi-s{margin-top:12px;font-size:12.5px;color:var(--text-2);display:grid;gap:4px;font-variant-numeric:tabular-nums}
.kpi-s .row{display:flex;justify-content:space-between;gap:8px}
.kpi-s .row .faint{font-weight:600;font-size:11.5px}
.kpi.hero{grid-column:1/-1;border-color:transparent;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--a1) 22%,transparent),transparent 55%),var(--glass)}
.kpi.hero::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.16),var(--acc-line) 45%,transparent 80%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.kpi.hero .kpi-l{color:var(--acc-text)}
.kpi.hero .kpi-v{font-size:44px;font-weight:600}
.kpi .dot{position:absolute;top:18px;right:18px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 6px currentColor}

/* ===== Вкладки и фильтры ===== */
.stabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.stab{position:relative;padding:10px 0 12px;font-size:14px;font-weight:600;color:var(--text-3);white-space:nowrap;display:flex;gap:7px;align-items:center}
.stab:hover{color:var(--text-2)}
.stab.on{color:var(--text)}
.stab.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--acc);box-shadow:0 0 10px var(--acc-glow)}
.tabs-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:14px}
.tabs-row .stabs{flex:1 0 100%;margin:0}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.chip{padding:6px 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--glass);font-size:12.5px;font-weight:500;color:var(--text-2);display:inline-flex;gap:6px;align-items:center;transition:.2s;white-space:nowrap}
.chip:hover{color:var(--text);border-color:var(--line-3)}
.chip.on{border-color:var(--acc-line);color:var(--text);background:var(--acc-soft)}
.chip .c{color:var(--text-3);font-size:11.5px;font-weight:600}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.search{flex:1;min-width:180px;position:relative}
.search input{width:100%;height:40px;padding:0 14px 0 38px;border-radius:999px;border:1px solid var(--line-2);background:var(--glass);outline:none}
.search input:focus{border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}
.search svg{position:absolute;left:13px;top:12px;width:16px;height:16px;color:var(--text-3)}

/* ===== Список заявок (все карточки одинаковые — активность видна по статусу) ===== */
.rlist{display:grid;gap:10px}
.rhead{display:none}
.rrow{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:15px 17px;border:1px solid var(--line);border-radius:18px;background:var(--glass);text-align:left;width:100%;min-width:0;transition:.2s}
.rrow:hover{border-color:var(--line-3);background:var(--glass-2)}
.r-top,.r-bot{display:flex;align-items:center;gap:10px;min-width:0}
.r-bot{margin-top:2px}
.rrow .c-num{font-size:12.5px;font-weight:700;color:var(--text-3);white-space:nowrap}
.rrow .c-who{font-size:12.5px;font-weight:500;color:var(--text-2);display:flex;gap:8px;align-items:center;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow .c-amt{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:2px}
.rrow .c-why{font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow .c-ctr{font-size:11.5px;font-weight:600;color:var(--acc-text);white-space:nowrap}
.rrow .c-date{font-size:12px;color:var(--text-3);margin-left:auto;white-space:nowrap}
.cur{font-size:.56em;font-weight:600;color:var(--text-3);margin-left:6px;letter-spacing:.03em}
.empty{padding:40px 20px;text-align:center;color:var(--text-3);border:1px dashed var(--line-2);border-radius:var(--r);background:var(--glass)}

/* ===== Статусы: цветные «таблетки» ===== */
.st{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--grey);background:color-mix(in srgb,currentColor 14%,transparent);border:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.st-approval{color:var(--amber)} .st-approval::before{animation:pulse 1.8s infinite}
.st-payout{color:var(--blue)} .st-issued{color:var(--green)} .st-rejected{color:var(--red)}
@keyframes pulse{50%{opacity:.35;box-shadow:none}}
.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid var(--line-2);color:var(--text-2);white-space:nowrap}
.tag.gold{border-color:var(--acc-line);color:var(--text);background:var(--acc-soft)}
.tag.red{color:var(--red);background:color-mix(in srgb,var(--red) 14%,transparent);border-color:transparent}

/* ===== Кнопки: глубокий фиолетовый ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-size:14px;font-weight:700;white-space:nowrap;transition:.2s}
.btn svg{width:17px;height:17px}
.btn-gold{background:var(--btn);color:#F1EEFA;border-color:var(--btn-line);box-shadow:0 12px 30px -16px var(--acc-glow),inset 0 1px 0 rgba(255,255,255,.1)}
.btn-gold:hover{border-color:var(--acc);box-shadow:0 14px 34px -14px var(--acc-glow),inset 0 1px 0 rgba(255,255,255,.14)}
.btn-line{border-color:var(--line-2);background:var(--glass);color:var(--text)}
.btn-line:hover{border-color:var(--line-3);background:var(--glass-2)}
.btn-ghost{color:var(--text-2)} .btn-ghost:hover{color:var(--text)}
.btn-red{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-color:color-mix(in srgb,var(--red) 30%,transparent)}
.btn-red:hover{background:color-mix(in srgb,var(--red) 16%,transparent)}
.btn-sm{height:34px;padding:0 14px;font-size:12.5px}
.btn-block{width:100%}
.btn[disabled]{opacity:.4;pointer-events:none}
.link{color:var(--acc-text);font-weight:600;font-size:13px}
.link:hover{text-decoration:underline}
.link[disabled]{color:var(--text-3);cursor:default;text-decoration:none}

/* ===== Формы ===== */
.field{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:18px}
.field>label,.lbl{font-size:12.5px;font-weight:600;color:var(--text-2)}
.hint{font-size:12px;color:var(--text-3)}
.inp{width:100%;padding:13px 16px;border-radius:14px;border:1px solid var(--line-2);background-color:var(--glass);outline:none;font-size:15px;transition:.2s}
.inp:focus{border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}
.inp.err{border-color:var(--red)}
textarea.inp{min-height:100px;resize:vertical;line-height:1.5}
select.inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
select.inp option{background:#160f33;color:#f1eefa}
[data-theme=light] select.inp option{background:#fff;color:#150F2B}
.amount-inp{position:relative;display:flex;align-items:baseline;gap:8px;padding:4px 0 10px;border-bottom:1px solid var(--line-2)}
.amount-inp::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:.3s;box-shadow:0 0 12px var(--acc-glow)}
.amount-inp:focus-within::after{transform:scaleX(1)}
.amount-inp input{flex:1;min-width:0;width:100%;border:0;background:none;outline:none;font-size:44px;font-weight:700;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.amount-inp input::placeholder{color:var(--text-3)}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{min-width:60px;height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--glass);font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--text-2);transition:.2s}
.seg button:hover{border-color:var(--line-3);color:var(--text)}
.seg button.on{border-color:var(--acc-line);color:var(--text);background:var(--acc-soft)}
.err-msg{font-size:12.5px;color:var(--red)}
.sw{position:relative;width:44px;height:26px;flex:none}
.sw input{opacity:0;position:absolute;inset:0;cursor:pointer;z-index:1}
.sw i{position:absolute;inset:0;border-radius:999px;background:var(--glass-2);border:1px solid var(--line-2);transition:.25s}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-3);transition:.25s}
.sw input:checked+i{background:var(--grad);border-color:var(--btn-line)}
.sw input:checked+i::after{left:21px;background:#fff}
.check{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;cursor:pointer}
.check input{accent-color:var(--a1);width:16px;height:16px}

/* ===== Код ===== */
.otp{display:flex;gap:8px;justify-content:center}
.otp input{width:52px;height:60px;text-align:center;font-size:24px;font-weight:700;border-radius:16px;border:1px solid var(--line-2);background:var(--glass);outline:none;font-variant-numeric:tabular-nums;transition:.2s}
.otp input:focus{border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}
.otp.bad input{border-color:var(--red);animation:shake .3s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* ===== Карточка заявки (стеклянная панель) ===== */
.scrim{position:absolute;inset:0;background:var(--scrim);backdrop-filter:blur(6px);animation:fade .2s}
.sheet{position:absolute;inset:0;background:var(--panel);backdrop-filter:blur(28px) saturate(140%);display:flex;flex-direction:column;animation:up .3s cubic-bezier(.2,.8,.2,1)}
.sheet::before{content:"";position:absolute;inset:0 0 auto 0;height:260px;background:radial-gradient(70% 100% at 80% 0%,color-mix(in srgb,var(--a1) 16%,transparent),transparent 70%);pointer-events:none}
.sheet>*{position:relative}
.sheet-hd{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--line)}
.sheet-hd .t{font-size:16px;font-weight:700;margin-right:auto}
.sheet-hd.two{align-items:flex-start}
.sheet-hd .ttl{margin-right:auto;min-width:0}
.sheet-hd .ttl .t{font-size:18px;margin:0}
.sheet-hd .ttl .sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;font-size:12.5px;color:var(--text-3)}
.sheet-bd{flex:1;overflow-y:auto;padding:22px 16px 28px}
.sheet-ft{padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:8px}
.sheet-ft .row{display:flex;gap:8px}.sheet-ft .row>*{flex:1}
@keyframes up{from{transform:translateY(24px);opacity:0}}
@keyframes side{from{transform:translateX(30px);opacity:0}}
@keyframes fade{from{opacity:0}}
.big-amt{font-size:46px;font-weight:600;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:tabular-nums}
.big-amt .cur{font-size:16px}
.why{font-size:15px;line-height:1.55;color:var(--text);margin-top:12px}
.params{display:grid;gap:10px;margin-top:20px;padding:14px 16px;border-radius:16px;background:var(--glass);border:1px solid var(--line)}
.params>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:center;font-size:13.5px}
.params dt{font-size:12.5px;color:var(--text-3)}
.params dd{display:flex;align-items:center;gap:8px;min-width:0;font-weight:500}
.notice{display:flex;gap:10px;padding:12px 14px;border-radius:16px;font-size:13px;line-height:1.45;border:1px solid var(--line-2);background:var(--glass);margin-top:12px;color:var(--text-2)}
.notice svg{width:18px;height:18px;flex:none;margin-top:1px}
.notice.gold{border-color:var(--acc-line);background:var(--acc-soft);color:var(--text)} .notice.gold svg{color:var(--acc-text)}
.notice.red{border-color:color-mix(in srgb,var(--red) 35%,transparent);background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);font-weight:600} .notice.red svg{color:var(--red)}
.notice.blue{border-color:color-mix(in srgb,var(--blue) 35%,transparent);background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--text)} .notice.blue svg{color:var(--blue)}

/* ===== Маршрут ===== */
.route{margin-top:6px}
.stage{position:relative;padding:0 0 20px 34px}
.stage::before{content:"";position:absolute;left:12px;top:28px;bottom:2px;width:2px;border-radius:2px;background:var(--line-2)}
.stage.done::before{background:linear-gradient(color-mix(in srgb,var(--green) 60%,transparent),var(--line-2))}
.stage:last-child{padding-bottom:0}
.stage:last-child::before{display:none}
.stage-node{position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-3);background:var(--bg);display:grid;place-items:center;font-size:11.5px;font-weight:700;color:var(--text-3)}
.stage-node svg{width:12px;height:12px}
.stage.done .stage-node{background:color-mix(in srgb,var(--green) 18%,var(--bg));border-color:color-mix(in srgb,var(--green) 55%,transparent);color:var(--green)}
.stage.now .stage-node{background:var(--grad);border-color:var(--acc-line);color:#fff;box-shadow:0 0 0 4px var(--acc-soft),0 0 18px var(--acc-glow)}
.stage.fail .stage-node{background:color-mix(in srgb,var(--red) 18%,var(--bg));border-color:color-mix(in srgb,var(--red) 55%,transparent);color:var(--red)}
.stage-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:26px}
.stage-hd b{font-size:14px;font-weight:700}
.stage-hd .rule{font-size:12px;color:var(--text-3)}
.stage-hd .tag{margin-left:auto}
.mems{margin-top:8px;border:1px solid var(--line);border-radius:16px;background:var(--glass);overflow:hidden}
.stage.wait .mems{opacity:.55}
.mem{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}
.mem:first-child{border-top:0}
.mem .n{font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:6px;min-width:0}
.mem .n .star{color:var(--amber);font-size:12px}
.mem .n .you{font-size:10.5px;font-weight:700;color:#fff;background:var(--grad);border:1px solid var(--btn-line);border-radius:999px;padding:0 7px}
.mem .w{font-size:12px;color:var(--text-3);text-align:right;white-space:nowrap}
.mem .cm-btn{grid-column:2/-1;justify-self:start;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--acc-text);margin-top:-3px}
.mem .cm-btn svg{width:13px;height:13px}
.mem .cm-btn:hover{text-decoration:underline}
.cm-full{font-size:14.5px;line-height:1.55;white-space:pre-wrap;padding:14px 16px;border-radius:16px;border:1px solid var(--line-2);background:var(--glass)}
.di{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid}
.di svg{width:11px;height:11px}
.di.q{border-color:var(--line-3);color:var(--text-3)}
.di.ok{border-color:transparent;background:color-mix(in srgb,var(--green) 22%,transparent);color:var(--green)}
.di.no{border-color:transparent;background:color-mix(in srgb,var(--red) 22%,transparent);color:var(--red)}
.di.skip{border-color:var(--line-2);color:var(--text-3);border-style:dashed}

/* ===== Журнал ===== */
.jrnl{margin-top:28px}
.jrnl summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-3)}
.jrnl summary::-webkit-details-marker{display:none}
.jrnl summary svg{width:14px;height:14px;transition:.2s}
.jrnl[open] summary svg{transform:rotate(90deg)}
.jrnl ol{list-style:none;margin-top:14px;display:grid;gap:10px;padding-left:4px;border-left:2px solid var(--line)}
.jrnl li{display:grid;grid-template-columns:92px 1fr;gap:10px;font-size:12.5px;color:var(--text-2);padding-left:12px}
.jrnl li time{color:var(--text-3);font-variant-numeric:tabular-nums}

/* ===== Модальные окна, уведомления ===== */
.mwrap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;z-index:60}
.modal{position:relative;width:100%;background:var(--panel);backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line-2);border-radius:26px 26px 0 0;padding:24px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow);animation:up .3s cubic-bezier(.2,.8,.2,1);max-height:92%;overflow-y:auto}
.modal h2{margin-bottom:8px}
.modal .lead{color:var(--text-2);font-size:14px;margin-bottom:18px}
.modal .acts{display:flex;gap:8px;margin-top:20px}
.modal .acts>*{flex:1}
.modal-ic{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;margin-bottom:16px;color:#fff;background:var(--grad);border:1px solid var(--btn-line);box-shadow:0 10px 26px -12px var(--acc-glow)}
.modal-ic svg{width:21px;height:21px}
.modal-ic .ava{background:none;width:auto;height:auto;font-size:13px}
.modal-ic.red{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent);box-shadow:none}
.toast{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--panel);backdrop-filter:blur(20px);border:1px solid var(--line-2);box-shadow:var(--shadow);font-size:13.5px;font-weight:500;white-space:nowrap;animation:up .25s}
.toast svg{width:17px;height:17px;color:var(--green)}
.fab{position:absolute;right:16px;bottom:22px;z-index:30;height:54px;padding:0 22px 0 18px}
.demo-hint{font-size:11.5px;color:var(--text-3);text-align:center;margin-top:12px;padding:8px;border:1px dashed var(--line-2);border-radius:12px}

/* ===== Вход: глубокая планета и звёзды ===== */
.auth{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:26px 20px 40px;position:relative;overflow:hidden}
.auth::before{content:"";position:absolute;left:50%;top:74%;width:210%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(55% 14% at 50% 0%,color-mix(in srgb,var(--acc) 35%,transparent),transparent 100%),linear-gradient(180deg,var(--a1) 0%,color-mix(in srgb,var(--a1) 32%,var(--bg)) 8%,var(--bg) 30%);
  box-shadow:0 -8px 60px 0 var(--acc-glow),0 -1px 14px rgba(255,255,255,.16),inset 0 1px 0 rgba(205,190,255,.5),inset 0 20px 50px color-mix(in srgb,var(--a1) 40%,transparent)}
.auth::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;
  background-image:radial-gradient(1px 1px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 78% 12%,#fff,transparent),radial-gradient(1.5px 1.5px at 64% 34%,#fff,transparent),radial-gradient(1px 1px at 28% 52%,#fff,transparent),radial-gradient(1px 1px at 88% 48%,#fff,transparent),radial-gradient(1.5px 1.5px at 42% 8%,#fff,transparent),radial-gradient(1px 1px at 6% 66%,#fff,transparent),radial-gradient(1px 1px at 94% 70%,#fff,transparent)}
[data-theme=light] .auth::after{opacity:0}
/* светлая тема: цвет идёт от ободка планеты внутрь — одинаковый по всей дуге и плавно растворяется в фоне до низа экрана */
[data-theme=light] .auth::before{
  background:radial-gradient(circle closest-side,
    var(--bg) calc(100% - 240px),
    color-mix(in srgb,var(--a1) 9%,var(--bg)) calc(100% - 170px),
    color-mix(in srgb,var(--a1) 25%,var(--bg)) calc(100% - 100px),
    color-mix(in srgb,var(--a1) 47%,var(--bg)) calc(100% - 35px),
    color-mix(in srgb,var(--a1) 66%,#fff) 100%);
  box-shadow:0 -10px 60px 0 color-mix(in srgb,var(--a1) 26%,transparent),inset 0 2px 0 rgba(255,255,255,.9)}
.auth-top,.auth-card{position:relative;z-index:1;width:min(400px,100%)}
.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-mid{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:24px 0 120px}
.auth-brand{display:flex;align-items:center;gap:12px}
.auth-brand .brand-mark{width:38px;height:38px;font-size:14px;border-radius:13px}
.auth h1{font-size:34px;font-weight:600;letter-spacing:-.035em;margin-bottom:8px}
.auth .lead{color:var(--text-2);margin-bottom:28px;font-size:14.5px}
.auth .sub-act{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:13px}
.timer{font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}
.auth-foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--text-3);display:flex;justify-content:space-between;gap:12px}
.steps{display:grid;gap:12px;margin:6px 0 24px;counter-reset:s}
.steps li{list-style:none;display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;font-size:14px;color:var(--text-2)}
.steps li::before{counter-increment:s;content:counter(s);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--grad);border:1px solid var(--btn-line)}
.spinner{width:36px;height:36px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--acc);animation:spin 1s linear infinite;margin:0 auto 18px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== Telegram-превью ===== */
.tg{background:#0E1621;border-radius:18px;padding:16px;display:grid;gap:10px;max-height:60vh;overflow-y:auto}
.tg-hd{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #1c2733;color:#e9edf1;font-size:14px;font-weight:600}
.tg-hd small{display:block;font-weight:400;font-size:12px;color:#6c7883}
.tg-msg{background:#182533;color:#e9edf1;border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:13.5px;line-height:1.45;max-width:92%;font-family:system-ui,sans-serif}
.tg-msg a{color:#6ab3f3}
.tg-msg time{display:block;text-align:right;font-size:11px;color:#6c7883;margin-top:4px}
.tg-msg code{font-family:ui-monospace,monospace;background:#22303f;padding:1px 6px;border-radius:5px;font-size:15px;letter-spacing:.12em}
.tg-sep{text-align:center;font-size:11.5px;color:#6c7883}

/* ===== Таблицы ===== */
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--glass)}
table.t{width:100%;border-collapse:collapse;font-size:13px}
.t th{position:sticky;top:0;background:var(--th);text-align:left;font-size:12px;font-weight:600;color:var(--text-3);padding:13px 14px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.t td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.t tr:last-child td{border-bottom:0}
.t tbody tr{cursor:pointer;transition:.15s}
.t tbody tr:hover td{background:var(--glass-2)}
.t td.r,.t th.r{text-align:right}
.t td.wrap{white-space:normal;min-width:220px;max-width:340px;color:var(--text-2)}
.t.bind tbody tr{cursor:default}
.t tr.over td{background:var(--acc-soft)}

/* ===== Админка ===== */
.adm-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}
.adm-nav button{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-2);white-space:nowrap;border:1px solid var(--line-2);background:var(--glass);transition:.2s}
.adm-nav button svg{width:15px;height:15px;opacity:.85}
.adm-nav button:hover{color:var(--text)}
.adm-nav button.on{color:var(--pill-ink);background:var(--pill-bg);border-color:transparent;box-shadow:inset 0 0 0 1px var(--acc-line),0 6px 18px -10px var(--acc-glow)}
.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.card+.card{margin-top:12px}
.rchips{display:flex;gap:4px;flex-wrap:wrap}
.state-dot{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600}
.state-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.scn{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 16px 12px;transition:.2s}
.scn+.scn{margin-top:10px}
.scn:hover{border-color:var(--line-3)}
.scn.dragging{opacity:.4}
.scn.over{border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}
.handle{cursor:grab;color:var(--text-3);display:grid;place-items:center;height:26px}
.handle svg{width:16px;height:16px}
.scn-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.scn-hd .prio{min-width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:#fff;background:var(--grad);border:1px solid var(--btn-line)}
.scn-hd h3{font-size:15px}
.scn-cond{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.scn-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;color:var(--text-2)}
.scn-flow .st-box{border:1px solid var(--line-2);border-radius:999px;padding:4px 11px;background:var(--glass)}
.scn-flow .arr{color:var(--acc-text)}
.cond-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.cond-row:first-child{border-top:0}
.cond-row select.inp{width:auto;padding:8px 32px 8px 12px;font-size:13px}
.and{font-size:11.5px;font-weight:700;color:var(--acc-text)}
.stage-ed{border:1px solid var(--line-2);border-radius:var(--r);padding:16px;background:var(--glass)}
.stage-ed+.stage-ed{margin-top:10px}
.stage-ed-hd{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.stage-ed-hd .stage-node{border-color:var(--btn-line);color:#fff;background:var(--grad)}
.stage-ed-hd b{font-size:14px}
.pick{display:flex;flex-wrap:wrap;gap:6px}
.pk{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;font-size:12.5px;font-weight:500;color:var(--text-3);transition:.2s}
.pk.on{border-color:var(--acc-line);color:var(--text);background:var(--acc-soft)}
.pk .pm{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px}
.pk .ps{padding:3px 10px 3px 0;font-size:14px;color:var(--text-3)}
.pk .ps.on{color:var(--amber)}
.nm-row{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--text-2);flex-wrap:wrap}
.nm-row select{width:auto;padding:8px 32px 8px 12px;font-size:13px}
.amt-rows{display:grid;gap:8px;margin-top:10px}
.amt-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-3)}
.amt-row .c{width:40px;font-size:12px;font-weight:700;color:var(--acc-text)}
.amt-row .inp{width:150px;padding:9px 12px;font-size:13.5px;color:var(--text)}
.bind-grid{display:grid;gap:14px}
.sel-sm{width:auto;padding:7px 32px 7px 12px;font-size:12.5px}
.tg-list{display:grid;gap:6px}
.tgc{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:14px;border:1px solid var(--line-2);background:var(--glass);font-size:12.5px;cursor:grab;transition:.2s}
.tgc:hover{border-color:var(--acc-line)}
.tgc svg{width:14px;height:14px;color:var(--text-3);flex:none}
.tgc b{font-weight:700}
.tgc small{display:block;color:var(--text-3);font-size:11.5px;margin-top:1px}
.set-row{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 0;border-top:1px solid var(--line)}
.set-row:first-child{border-top:0;padding-top:4px}
.set-row .ttl{font-size:14px;font-weight:600}
.set-row .ctl{display:flex;align-items:center;gap:8px}
.set-row .ctl .inp{width:110px;padding:9px 14px;font-size:14px}
.thr{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.thr label{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:999px;padding:4px 6px 4px 14px;background:var(--glass);font-size:12px;font-weight:700;color:var(--acc-text)}
.thr input{flex:1;min-width:0;border:0;background:none;outline:none;padding:6px;text-align:right;font-size:14px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}

/* ===== Супервизор ===== */
.month{display:flex;align-items:center;gap:2px;border:1px solid var(--line-2);border-radius:999px;padding:3px;background:var(--glass)}
.month button{width:30px;height:30px;border-radius:50%;color:var(--text-2);display:grid;place-items:center}
.month button:hover{background:var(--acc-soft);color:var(--text)}
.month button svg{width:15px;height:15px}
.month span{font-size:13px;font-weight:600;padding:0 8px;min-width:118px;text-align:center}

/* ===== Десктоп ===== */
@container app (min-width:900px){
  .hdr-in{padding:12px 32px;flex-wrap:nowrap}
  .brand{margin-right:0}
  .roles{order:0;width:auto;margin:0 auto}
  .role{flex:none;padding:8px 18px}
  .me .nm{display:block}
  .page{padding:34px 32px 80px}
  h1{font-size:32px}
  .kpis{grid-template-columns:repeat(4,1fr);gap:14px}
  .kpis.k1{grid-template-columns:minmax(0,500px)}
  .kpis.k2{grid-template-columns:repeat(2,minmax(0,400px))}
  .kpis.k3{grid-template-columns:1.4fr 1fr 1fr}
  .kpi.hero{grid-column:auto}
  .kpi{padding:20px 22px}
  .rlist{gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--glass);overflow:hidden}
  .rhead,.rrow{display:grid;grid-template-columns:var(--cols);gap:16px;align-items:center;padding:13px 22px}
  .rhead{font-size:12px;font-weight:600;color:var(--text-3);border-bottom:1px solid var(--line-2)}
  .rhead .r{text-align:right}
  .rrow{border:0;border-radius:0;border-top:1px solid var(--line);background:transparent}
  .rhead+.rrow{border-top:0}
  .rrow:hover{background:var(--glass-2)}
  .r-top,.r-bot{display:contents}
  .rrow .c-num{order:1} .rrow .c-date{order:2;margin:0} .rrow .c-st{order:3}
  .rrow .c-who{order:4;font-size:13px;color:var(--text)}
  .rrow .c-amt{order:5;font-size:15px;text-align:right;margin:0}
  .rrow .c-why{order:6}
  .rrow .c-ctr{order:7}
  .tabs-row{flex-wrap:nowrap;border-bottom:1px solid var(--line)}
  .tabs-row .stabs{flex:0 1 auto;border:0}
  .tabs-row .month,.tabs-row .tr-r{margin-left:auto;margin-bottom:6px}
  .fab{display:none}
  .m-only{display:none}
  .d-only{display:inline-flex!important}
  .sheet{left:auto;width:min(580px,100%);border-left:1px solid var(--line-2);border-radius:28px 0 0 28px;overflow:hidden;box-shadow:var(--shadow);animation:side .3s cubic-bezier(.2,.8,.2,1)}
  .sheet-hd{padding:22px 28px}
  .sheet-bd{padding:28px 28px 32px}
  .sheet-ft{padding:16px 28px}
  .mwrap{align-items:center}
  .modal{width:460px;border-radius:26px;padding:28px}
  .bind-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}
  .set-row{grid-template-columns:1fr auto;align-items:center}
  .set-row.wide{grid-template-columns:1fr}
  .auth{padding-top:40px}
  .auth::before{width:150%;top:70%}
  .auth-mid{padding-bottom:160px}
}
