/* Администрирование — те же токены, что и у сайта эксперта (app.css) */
.adm #app{position:relative; z-index:1; min-height:100vh}
.adm .code-card .field{margin-bottom:14px}

.a-top{position:sticky; top:0; z-index:10; background:color-mix(in srgb, var(--bg) 86%, transparent); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--line)}
.a-top-in{max-width:1320px; margin:0 auto; padding:0 24px; height:64px; display:flex; align-items:center; gap:28px}
.tabs{display:flex; gap:4px; overflow-x:auto; scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab-btn{appearance:none; border:0; background:none; font:inherit; font-size:.92rem; font-weight:500; color:var(--ink-2); padding:8px 14px; border-radius:9px; cursor:pointer; white-space:nowrap; transition:background .15s, color .15s}
.tab-btn:hover{color:var(--ink); background:var(--bg-2)}
.tab-btn[aria-selected="true"]{color:var(--ink); background:var(--surface); box-shadow:0 0 0 1px var(--line), 0 1px 2px rgba(22,27,34,.06)}
.a-user{margin-left:auto; display:flex; align-items:center; gap:6px; font-size:.88rem; color:var(--ink-3); white-space:nowrap}
.a-user .sep-dot{color:var(--line); margin:0 2px}
.a-user a.link-back{color:var(--brand); text-decoration:none}
.a-main{max-width:1320px; margin:0 auto; padding:34px 24px 90px; animation:rise .4s var(--ease) both}

.a-h{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:0 0 22px}
.a-h h1{font-family:var(--display); font-weight:600; font-size:1.8rem; letter-spacing:-.025em; margin:0}
.a-h p{margin:6px 0 0; color:var(--ink-2); font-size:.92rem}
.a-h2{font-family:var(--text); font-size:.76rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); margin:36px 0 12px}
.toolbar, .toolbar-r{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.toolbar{margin-bottom:14px}

.kpis{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0}
.kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi{background:var(--surface); border-radius:14px; padding:18px 20px; box-shadow:0 0 0 1px var(--line-2)}
.kpi dt{font-size:.8rem; color:var(--ink-3)}
.kpi dd{margin:6px 0 0; font-family:var(--display); font-weight:600; font-size:2rem; line-height:1.1; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.kpi .sub{font-size:.82rem; color:var(--ink-2); margin-top:4px}

.panel{background:var(--surface); border-radius:16px; box-shadow:0 0 0 1px var(--line-2), 0 18px 40px -34px rgba(22,27,34,.3); overflow:hidden}
.panel-foot{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:14px 16px; border-top:1px solid var(--line-2); background:color-mix(in srgb, var(--bg) 50%, var(--surface))}
.tbl-wrap{overflow-x:auto}
table.tbl{width:100%; border-collapse:collapse; font-size:.9rem}
.tbl th{text-align:left; font-size:.75rem; font-weight:600; color:var(--ink-3); padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap}
.tbl td{padding:12px 14px; border-bottom:1px solid var(--line-2); vertical-align:middle}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:color-mix(in srgb, var(--bg) 45%, var(--surface))}
.tbl .num{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
.tbl tr.inactive td{opacity:.55}
.empty{padding:34px 20px; text-align:center; color:var(--ink-3); margin:0}
.muted{color:var(--ink-3)} .small{font-size:.8rem} .err{color:var(--err)}
.p-name{font-weight:600; display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.note{font-size:.82rem; line-height:1.6; color:var(--ink-3); max-width:90ch; margin:14px 2px 0}

.pill{display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 9px; border-radius:999px; font-size:.77rem; font-weight:500; white-space:nowrap; background:var(--bg-2); color:var(--ink-2)}
.pill::before{content:''; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.75}
.pill.ok{background:#E5F1E6; color:#2E6B32}
.pill.warn{background:#FAEFD8; color:#835510}
.pill.bad{background:#F9E3DF; color:#9E321E}
.pill.ink{background:var(--ink); color:#fff}

.btn-sm{height:34px; padding:0 12px; border-radius:9px; font-size:.84rem; gap:6px}
.btn-line.danger{color:var(--err)}
.btn-line.danger:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--err) 55%, transparent); background:#FDF3F1}
.btn-danger{background:var(--err); color:#fff; box-shadow:0 8px 20px -10px rgba(180,35,24,.6)}
.btn-danger:hover{background:#962016}
.danger-note{padding:10px 12px; border-radius:10px; background:#FDF3F1; color:#8A2A1D; font-size:.86rem; line-height:1.45; margin:10px 0 16px}
.row-actions{white-space:nowrap}
.deadline-btn{padding:4px 2px; font-size:.84rem; color:var(--brand)}
.ready-head{display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:16px 20px; border-bottom:1px solid var(--line-2); font-size:.93rem}
.ready-list{list-style:none; margin:0; padding:6px 20px 12px}
.ready-list li{display:grid; grid-template-columns:24px 1fr auto; gap:10px; align-items:center; padding:9px 0; font-size:.9rem; color:var(--ink-2)}
.ready-list li + li{border-top:1px dashed var(--line-2)}
.ready-list b{font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums}
.ready-mark{width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:.72rem; font-weight:700; box-shadow:inset 0 0 0 1.5px var(--line)}
.ready-list li.ok .ready-mark{background:var(--brand); color:#fff; box-shadow:none}
.banner-bad{background:#FBE7E3; color:#8A2A1D}
.banner-bad a{color:inherit; font-weight:600}
.mail-tools{display:grid; grid-template-columns:1fr 1fr; margin-top:12px}
.mail-tool{padding:18px 20px}
.mail-tool + .mail-tool{border-left:1px solid var(--line-2)}
.mail-tool .toolbar{margin:10px 0 0}
.mail-tool .inp{width:min(260px,100%); height:38px}
.mail-err{max-width:420px; margin-top:4px; white-space:normal}
@media (max-width:760px){ .mail-tools{grid-template-columns:1fr} .mail-tool + .mail-tool{border-left:0; border-top:1px solid var(--line-2)} }
a.btn{text-decoration:none}
.banner{display:flex; gap:12px; align-items:flex-start; padding:13px 16px; border-radius:12px; background:#FAEFD8; color:#6B4510; font-size:.9rem; line-height:1.5; margin-bottom:20px}
.banner-soft{background:var(--surface); color:var(--ink-2); box-shadow:0 0 0 1px var(--line-2); margin-top:14px}

.field{display:flex; flex-direction:column; gap:6px}
.field > span{font-size:.8rem; font-weight:500; color:var(--ink-2)}
.inp{width:100%; height:44px; border:0; border-radius:10px; padding:0 12px; font:inherit; font-size:.95rem; color:var(--ink); background:var(--bg); box-shadow:inset 0 0 0 1px var(--line); transition:box-shadow .15s, background .15s}
.inp:focus{outline:none; background:var(--surface); box-shadow:inset 0 0 0 1.5px var(--ink), 0 0 0 4px rgba(22,27,34,.08)}
textarea.inp{height:auto; padding:10px 12px; line-height:1.5; resize:vertical}
select.inp{appearance:auto}
.search{width:min(340px,100%)}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.form-grid .wide{grid-column:1 / -1}
/* строка с галкой в форме (не путать с .check — зелёной плашкой экрана благодарности) */
.form-check{display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:10px; background:var(--bg); font-size:.9rem; line-height:1.45; color:var(--ink-2); cursor:pointer}
.form-check input{flex:none; width:18px; height:18px; margin:1px 0 0; accent-color:var(--brand); cursor:pointer}
.form-check input:disabled{cursor:not-allowed}
.form-check input:disabled + span{color:var(--ink-3)}

dialog.dlg{border:0; padding:0; border-radius:18px; width:min(660px, calc(100% - 32px)); max-height:calc(100vh - 40px); background:var(--surface); color:var(--ink); box-shadow:0 30px 80px -20px rgba(22,27,34,.45)}
dialog.dlg[open]{animation:rise .3s var(--ease) both}
dialog.dlg::backdrop{background:rgba(22,27,34,.36); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px)}
.dlg-in{padding:28px 28px 24px}
.dlg h2{font-family:var(--display); font-weight:600; font-size:1.35rem; letter-spacing:-.02em; margin:0 0 16px}
.dlg-lead{margin:0 0 6px; color:var(--ink-2); line-height:1.55}
.dlg-actions{display:flex; justify-content:flex-end; gap:10px; margin-top:22px; flex-wrap:wrap}
.dlg .code-err{margin:0}

.code-big{display:flex; gap:6px; justify-content:center; padding:20px; border-radius:14px; background:var(--bg); margin:10px 0 18px}
.code-big b{width:46px; height:58px; display:grid; place-items:center; background:var(--surface); border-radius:10px; box-shadow:inset 0 0 0 1px var(--line); font-family:var(--display); font-size:1.6rem; font-weight:600}
.code-big b:nth-child(4){box-shadow:inset 0 0 0 1px var(--ink-3); margin:0 6px}
.code-chip{appearance:none; border:0; cursor:pointer; font:inherit; font-family:var(--display); font-weight:600; letter-spacing:.06em; font-variant-numeric:tabular-nums; padding:4px 9px; border-radius:7px; color:var(--ink); background:var(--bg); box-shadow:inset 0 0 0 1px var(--line); white-space:nowrap}
.code-chip:hover{box-shadow:inset 0 0 0 1px var(--ink-3)}

.seg{display:inline-flex; padding:3px; border-radius:10px; background:var(--bg-2); gap:2px}
.seg button{appearance:none; border:0; background:none; font:inherit; font-size:.85rem; font-weight:500; color:var(--ink-2); padding:6px 12px; border-radius:8px; cursor:pointer; white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--surface); color:var(--ink); box-shadow:0 1px 2px rgba(22,27,34,.12)}

.prog{width:160px; height:6px; border-radius:3px; background:var(--bg-2); overflow:hidden; margin-bottom:4px}
.prog span{display:block; height:100%; background:var(--scale-gradient); background-size:160px 100%}
.tab-btn[aria-selected="true"]{box-shadow:0 0 0 1px var(--line), 0 1px 2px rgba(22,27,34,.06), inset 0 -2px 0 var(--s5)}
.kpi dd{color:var(--ink)}
.kpi:first-child dd{color:var(--brand)}

/* матрица эксперт × утверждение */
.mx-wrap{max-height:calc(100vh - 230px); overflow:auto}
.mx{border-collapse:separate; border-spacing:0; font-size:.82rem}
.mx th, .mx td{padding:6px 3px; text-align:center; border-bottom:1px solid var(--line-2); white-space:nowrap}
.mx thead th{font-weight:600; color:var(--ink-3); font-size:.72rem; position:sticky; top:0; background:var(--surface); z-index:2; padding:10px 3px; cursor:help}
.mx .who{position:sticky; left:0; z-index:1; background:var(--surface); text-align:left; padding:8px 16px; min-width:230px; border-right:1px solid var(--line-2)}
.mx thead th.who{z-index:3; cursor:default}
.mx td.num{padding:6px 12px; text-align:right; font-variant-numeric:tabular-nums}
.mx td.flags{text-align:left; padding:6px 14px}
.mx tr.flagged td, .mx tr.flagged .who{background:#FDF6F4}
.mx tfoot td{font-weight:600; color:var(--ink-2); border-top:1px solid var(--line); border-bottom:0; background:var(--surface); position:sticky; bottom:0}
.cv{display:inline-grid; place-items:center; width:25px; height:25px; border-radius:6px; font-weight:600; font-size:.78rem; color:#fff; font-variant-numeric:tabular-nums; background:var(--bg-2)}
.cv[data-v="1"]{background:var(--s1)} .cv[data-v="2"]{background:var(--s2)} .cv[data-v="3"]{background:var(--s3)} .cv[data-v="4"]{background:var(--s4)} .cv[data-v="5"]{background:var(--s5)}
.cv.empty{color:var(--ink-3); background:transparent; box-shadow:inset 0 0 0 1px var(--line-2)}
.flag{display:inline-flex; height:22px; align-items:center; padding:0 8px; border-radius:999px; font-size:.72rem; font-weight:500; background:#F9E3DF; color:#9E321E; white-space:nowrap; margin:1px 2px; cursor:help}

/* анализ */
.an-grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr); gap:12px; margin-bottom:6px}
.w-card{display:flex; align-items:center; gap:24px; padding:20px 24px}
.w-big{font-family:var(--display); font-size:3rem; font-weight:600; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums}
.w-t{font-weight:600; margin-bottom:4px}
.dist{display:flex; width:160px; height:10px; border-radius:5px; overflow:hidden; background:var(--bg-2); gap:1px}
.dist span{height:100%}
.dist span[data-v="1"]{background:var(--s1)} .dist span[data-v="2"]{background:var(--s2)} .dist span[data-v="3"]{background:var(--s3)} .dist span[data-v="4"]{background:var(--s4)} .dist span[data-v="5"]{background:var(--s5)}
.dist-n{display:grid; grid-template-columns:repeat(5,1fr); width:160px; font-size:.68rem; color:var(--ink-3); margin-top:4px; font-variant-numeric:tabular-nums; text-align:center}
.stmt{max-width:560px; line-height:1.45; min-width:260px}
.stmt .sec{display:block; font-size:.73rem; color:var(--ink-3); margin-bottom:2px}
.sum-cell .pill{height:22px; font-size:.72rem}
.sum-cell .small{margin-top:4px}

@media (max-width:980px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .an-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .a-top-in{height:auto; flex-wrap:wrap; padding:12px 16px; gap:8px 16px}
  .tabs{order:3; width:100%}
  .a-main{padding:22px 16px 60px}
  .a-h h1{font-size:1.5rem}
  .form-grid{grid-template-columns:1fr}
  .kpis-3{grid-template-columns:1fr 1fr 1fr}
  .kpi dd{font-size:1.6rem}
  .w-big{font-size:2.4rem}
  .dlg-in{padding:22px 18px 18px}
  .code-big b{width:36px; height:48px; font-size:1.3rem}
}
