/* Launchpad — тёмная тема Django admin (провиж :8000). Токены из макета Pencil. */
:root, html[data-theme="light"], html[data-theme="dark"], html[data-theme="auto"] {
  --lp-bg: #0D0E10;
  --lp-surface: #15171A;
  --lp-surface-2: #1C1F23;
  --lp-border: #25292E;
  --lp-text: #ECEDEE;
  --lp-muted: #8B9098;
  --lp-faint: #5A5F67;
  --lp-accent: #D2F65A;
  --lp-on-accent: #0D0E10;
  --lp-run: #3DDC97;
  --lp-wait: #F2B84B;
  --lp-err: #FF6464;
  --lp-done: #6B7079;
  --lp-font: "Geist", -apple-system, "Segoe UI", system-ui, sans-serif;
  --lp-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --lp-side-w: 232px;

  /* переменные самой Django admin */
  --primary: #1C1F23;
  --secondary: #15171A;
  --accent: #D2F65A;
  --primary-fg: #ECEDEE;
  --body-fg: #ECEDEE;
  --body-bg: #0D0E10;
  --body-quiet-color: #8B9098;
  --body-medium-color: #B5B9BF;
  --body-loud-color: #FFFFFF;
  --header-color: #ECEDEE;
  --header-branding-color: #ECEDEE;
  --header-bg: #0D0E10;
  --header-link-color: #ECEDEE;
  --breadcrumbs-fg: #5A5F67;
  --breadcrumbs-link-fg: #8B9098;
  --breadcrumbs-bg: transparent;
  --link-fg: #ECEDEE;
  --link-hover-color: #D2F65A;
  --link-selected-fg: #D2F65A;
  --hairline-color: #25292E;
  --border-color: #25292E;
  --error-fg: #FF6464;
  --message-success-bg: rgba(61,220,151,.10);
  --message-warning-bg: rgba(242,184,75,.10);
  --message-error-bg: rgba(255,100,100,.10);
  --darkened-bg: #15171A;
  --selected-bg: #1C1F23;
  --selected-row: rgba(210,246,90,.06);
  --button-fg: #ECEDEE;
  --button-bg: #1C1F23;
  --button-hover-bg: #25292E;
  --default-button-bg: #D2F65A;
  --default-button-hover-bg: #C2E84A;
  --close-button-bg: #25292E;
  --close-button-hover-bg: #34393F;
  --delete-button-bg: rgba(255,100,100,.12);
  --delete-button-hover-bg: rgba(255,100,100,.22);
  --object-tools-fg: #ECEDEE;
  --object-tools-bg: #1C1F23;
  --object-tools-hover-bg: #25292E;
  --font-family-primary: var(--lp-font);
  --font-family-monospace: var(--lp-mono);
  color-scheme: dark;
}

html, body { background: var(--lp-bg); color: var(--lp-text); }
body { font-family: var(--lp-font); font-size: 14px; -webkit-font-smoothing: antialiased; }
a:link, a:visited { color: var(--lp-text); }
a:hover, a:focus { color: var(--lp-accent); text-decoration: none; }
::selection { background: rgba(210,246,90,.3); }
code, pre, kbd, tt, .mono { font-family: var(--lp-mono); }
h1, h2, h3, h4, h5 { color: var(--lp-text); font-family: var(--lp-font); }
.skip-to-content-link { background: var(--lp-accent); color: var(--lp-on-accent) !important; }

/* ---------- Каркас: сайдбар слева, контент справа ---------- */
#container { padding-left: var(--lp-side-w); min-width: 0; }
#header, #nav-sidebar, #toggle-nav-sidebar, .toggle-nav-sidebar, .theme-toggle { display: none !important; }
.main { display: block; }
.main > .content, #content-start { max-width: none; flex: 1; min-width: 0; }

#lp-side {
  position: fixed; inset: 0 auto 0 0; width: var(--lp-side-w); z-index: 50;
  display: flex; flex-direction: column; gap: 6px;
  background: var(--lp-bg); border-right: 1px solid var(--lp-border);
  padding: 18px 14px 14px; box-sizing: border-box; overflow-y: auto;
}
.lp-brand { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; padding: 2px 6px 10px; color: var(--lp-text) !important; }
.lp-logo { width: 26px; height: 26px; border-radius: 7px; background: var(--lp-accent); color: var(--lp-on-accent); display: grid; place-items: center; }
.lp-switch { display: flex; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 9px; padding: 3px; margin: 0 6px 14px; }
.lp-switch a { flex: 1; text-align: center; font-size: 12.5px; padding: 6px 4px; border-radius: 6px; color: var(--lp-muted) !important; display: flex; align-items: center; justify-content: center; gap: 6px; }
.lp-switch a.on { background: var(--lp-surface-2); color: var(--lp-text) !important; }
.lp-switch a i { width: 6px; height: 6px; border-radius: 50%; background: var(--lp-run); display: none; }
.lp-switch a.on i { display: inline-block; }
.lp-switch a:hover { color: var(--lp-text) !important; }

.lp-nav { display: flex; flex-direction: column; gap: 2px; }
.lp-nav a { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 8px; color: var(--lp-muted) !important; font-size: 13.5px; }
.lp-nav a:hover { background: var(--lp-surface); color: var(--lp-text) !important; }
.lp-nav a.on { background: var(--lp-surface-2); color: var(--lp-text) !important; font-weight: 500; }
.lp-nav a.on svg { color: var(--lp-accent); }
#lp-side svg, .lp-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.lp-sys { margin-top: auto; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 11px; padding: 12px; display: flex; flex-direction: column; gap: 9px; }
.lp-sys-h { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-faint); }
.lp-sys-row { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; color: var(--lp-muted); }
.lp-sys-row b { font-family: var(--lp-mono); font-weight: 400; font-size: 11.5px; color: var(--lp-text); }
.lp-sys-row .dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--lp-run); margin-right: 8px; }
.lp-sys form { margin: 0; }
button.lp-danger { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; background: transparent; border: 1px solid rgba(255,100,100,.45); color: var(--lp-err); border-radius: 8px; padding: 8px 10px; font: 500 12.5px var(--lp-font); cursor: pointer; }
button.lp-danger:hover { background: rgba(255,100,100,.1); }

.lp-user { display: flex; align-items: center; gap: 10px; padding: 12px 6px 2px; }
.lp-ava { width: 28px; height: 28px; border-radius: 50%; background: var(--lp-surface-2); border: 1px solid var(--lp-border); display: grid; place-items: center; font-size: 12px; font-weight: 600; }
.lp-uname { flex: 1; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-user form { margin: 0; display: inline; }
.lp-ico { background: none; border: 0; padding: 4px; color: var(--lp-muted) !important; cursor: pointer; display: grid; place-items: center; border-radius: 6px; }
.lp-ico:hover { color: var(--lp-text) !important; background: var(--lp-surface); }

/* ---------- Хлебные крошки, заголовок ---------- */
div.breadcrumbs { background: transparent; color: var(--lp-faint); padding: 18px 32px 0; font-size: 12.5px; border: 0; }
div.breadcrumbs a { color: var(--lp-muted) !important; }
div.breadcrumbs a:hover { color: var(--lp-text) !important; }
#content { padding: 18px 32px 40px; }
#content > h1, .lp-head h1 { font-size: 26px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 4px; }
#content > h2 { color: var(--lp-muted); font-size: 14px; font-weight: 400; }
.lp-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 18px; }
.lp-sub { color: var(--lp-muted); font-size: 13px; margin: 0; padding: 0; }
.help, p.help, form p.help, div.help, form div.help { color: var(--lp-faint); }

/* ---------- Кнопки ---------- */
.button, input[type=submit], input[type=button], .submit-row input, a.button, button.button {
  background: var(--lp-surface-2); color: var(--lp-text); border: 1px solid var(--lp-border);
  border-radius: 8px; padding: 9px 14px; font: 500 13px var(--lp-font); cursor: pointer; height: auto; line-height: 1.2;
}
.button:hover, input[type=submit]:hover, input[type=button]:hover, a.button:hover { background: var(--lp-border); color: var(--lp-text); }
.button.default, input[type=submit].default, .submit-row input.default {
  background: var(--lp-accent); color: var(--lp-on-accent); border-color: var(--lp-accent); font-weight: 600;
}
.button.default:hover, input[type=submit].default:hover, .submit-row input.default:hover { background: #C2E84A; color: var(--lp-on-accent); }

ul.object-tools { margin: -62px 0 18px; padding: 0; float: right; display: flex; gap: 10px; position: relative; z-index: 2; }
ul.object-tools li { margin: 0; display: block; float: none; }
ul.object-tools a, ul.object-tools a:link, ul.object-tools a:visited, .lp-btn {
  display: inline-flex; align-items: center; gap: 8px; background: var(--lp-surface); color: var(--lp-text) !important;
  border: 1px solid var(--lp-border); border-radius: 9px; padding: 9px 14px; font: 500 13px var(--lp-font);
  text-transform: none; letter-spacing: 0; float: none; height: auto; line-height: 1.2;
}
ul.object-tools a:hover { background: var(--lp-surface-2); }
ul.object-tools a.addlink, ul.object-tools a.addlink:link, ul.object-tools a.addlink:visited {
  background: var(--lp-accent) !important; color: var(--lp-on-accent) !important; border-color: var(--lp-accent); font-weight: 600; padding-right: 14px;
}
ul.object-tools a.addlink:hover { background: #C2E84A !important; }
ul.object-tools a.addlink::before { content: "+"; font-size: 17px; line-height: 1; margin-right: 2px; }
ul.object-tools a.addlink { background-image: none !important; }
ul.object-tools a.historylink { background-image: none; }
.change-form ul.object-tools, .change-list ul.object-tools { margin-top: -62px; }
.change-form ul.object-tools { margin-top: -54px; }

/* ---------- Поля форм ---------- */
input[type=text], input[type=password], input[type=email], input[type=url], input[type=number], input[type=tel],
input[type=search], textarea, select, .vTextField, .vDateField, .vTimeField {
  background: var(--lp-bg); color: var(--lp-text); border: 1px solid var(--lp-border); border-radius: 8px;
  padding: 8px 10px; font: 13.5px var(--lp-font); box-shadow: none;
}
.vDateField, .vTimeField, input[type=number] { font-family: var(--lp-mono); }
textarea { font-family: var(--lp-mono); font-size: 12.5px; line-height: 1.6; }
select { height: auto; padding-right: 28px; }
input:focus, textarea:focus, select:focus { border-color: var(--lp-accent); outline: none; box-shadow: 0 0 0 3px rgba(210,246,90,.12); }
input[type=checkbox] { accent-color: var(--lp-accent); width: 15px; height: 15px; }
input::placeholder, textarea::placeholder { color: var(--lp-faint); }

/* ---------- Сообщения ---------- */
ul.messagelist { padding: 18px 32px 0; margin: 0; }
ul.messagelist li { border-radius: 10px; border: 1px solid rgba(61,220,151,.35); background: rgba(61,220,151,.08) !important; color: var(--lp-text); padding: 11px 14px 11px 40px; background-position: 14px 50% !important; margin-bottom: 8px; }
ul.messagelist li.warning { border-color: rgba(242,184,75,.4); background-color: rgba(242,184,75,.08) !important; }
ul.messagelist li.error { border-color: rgba(255,100,100,.4); background-color: rgba(255,100,100,.08) !important; }
.errornote { background: rgba(255,100,100,.08); border: 1px solid rgba(255,100,100,.4); color: var(--lp-err); border-radius: 10px; }
ul.errorlist li { background: transparent; color: var(--lp-err); border: 0; padding: 4px 0; }

/* ---------- Список (changelist) ---------- */
#changelist { display: flex; gap: 20px; align-items: flex-start; }
#changelist .changelist-form-container { flex: 1; min-width: 0; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; overflow: hidden; }
#changelist #toolbar { background: transparent; border-bottom: 1px solid var(--lp-border); padding: 12px 16px; margin: 0; color: var(--lp-muted); }
#changelist #toolbar form input[type=text] { width: 300px; padding-left: 10px; }
#changelist #toolbar form #searchbar { height: auto; }
#changelist #toolbar form input[type=submit] { padding: 8px 14px; }
#changelist-search img { filter: invert(1) brightness(.6); }
#changelist .xfull { width: auto; }
.xfull .small, .quiet, #changelist .small { color: var(--lp-muted); }
#changelist .actions { background: transparent; border-bottom: 1px solid var(--lp-border); padding: 10px 16px; color: var(--lp-muted); margin: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#changelist .actions.selected { background: rgba(210,246,90,.05); }
#changelist .actions label { color: var(--lp-muted); font-size: 12.5px; }
#changelist .actions select { background: var(--lp-bg); min-width: 240px; }
#changelist .actions .button { padding: 7px 12px; }
#changelist .actions span.all, #changelist .actions span.action-counter, #changelist .actions span.clear, #changelist .actions span.question { color: var(--lp-muted); font-size: 12.5px; }

#changelist table, #result_list { width: 100%; border-collapse: collapse; }
#result_list thead th { background: transparent; border-bottom: 1px solid var(--lp-border); border-top: 0; color: var(--lp-faint); font-size: 10.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; padding: 10px 12px; }
#result_list thead th a { color: var(--lp-faint) !important; }
#result_list thead th a:hover { color: var(--lp-text) !important; }
#result_list thead th.sorted { background: transparent; }
#result_list thead th.sorted .text a { padding-right: 24px; }
#result_list thead th .sortoptions a { filter: invert(.6); }
table thead th.sorted a.sortremove { filter: invert(.6); }
#result_list tbody tr { background: transparent !important; }
#result_list tbody tr:hover { background: var(--lp-surface-2) !important; }
#result_list tbody tr.selected { background: rgba(210,246,90,.05) !important; }
#result_list td, #result_list th { border-bottom: 1px solid var(--lp-border); border-top: 0; padding: 13px 12px; vertical-align: middle; font-size: 13.5px; color: var(--lp-muted); line-height: 1.35; }
#result_list tbody tr:last-child td, #result_list tbody tr:last-child th { border-bottom: 0; }
#result_list th.field-model_username a, #result_list th a, #result_list td a { color: var(--lp-text) !important; font-weight: 500; }
#result_list th a:hover { color: var(--lp-accent) !important; }
#result_list .action-checkbox, #result_list .action-checkbox-column { width: 28px; padding-left: 16px; }
#result_list td[class*="time"], #result_list td[class*="_at"], #result_list td.field-position,
#result_list td.field-viewers, #result_list td.field-members_total, #result_list td.field-accounts_working,
#result_list td.field-requests_ok { font-family: var(--lp-mono); font-size: 12.5px; color: var(--lp-text); white-space: nowrap; }
#result_list td.field-batch { max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#result_list td.field-admin_username, #result_list td.field-creator { color: var(--lp-muted); }
#result_list img[src*="icon-yes"], #result_list img[src*="icon-no"], #result_list img[src*="icon-unknown"] { filter: saturate(.8); }

/* чипы статусов (admin.js оборачивает текст) */
.lp-chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 500; white-space: nowrap; background: rgba(107,112,121,.16); color: #A9AEB5; }
.lp-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.lp-chip.run { background: rgba(61,220,151,.12); color: var(--lp-run); }
.lp-chip.wait { background: rgba(242,184,75,.12); color: var(--lp-wait); }
.lp-chip.err { background: rgba(255,100,100,.12); color: var(--lp-err); }
.lp-chip.done { background: rgba(107,112,121,.16); color: #A9AEB5; }
.lp-chip.stop { background: rgba(107,112,121,.10); color: var(--lp-done); }

/* вкладки статусов над таблицей (admin.js переносит фильтр «Статус») */
.lp-tabs { display: flex; gap: 4px; padding: 10px 12px; border-bottom: 1px solid var(--lp-border); overflow-x: auto; }
.lp-tabs a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 8px; color: var(--lp-muted) !important; font-size: 13.5px; white-space: nowrap; }
.lp-tabs a:hover { color: var(--lp-text) !important; background: var(--lp-surface-2); }
.lp-tabs a.on { background: var(--lp-surface-2); color: var(--lp-text) !important; font-weight: 500; }
.lp-tabs a i { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
.lp-tabs a i.run { background: var(--lp-run); } .lp-tabs a i.wait { background: var(--lp-wait); } .lp-tabs a i.err { background: var(--lp-err); }
.lp-tabs a i.done, .lp-tabs a i.stop { display: none; }
.lp-tabs a small { font-family: var(--lp-mono); color: var(--lp-faint); font-size: 11.5px; }

/* пагинация */
#changelist .paginator, .paginator { background: transparent; border-top: 1px solid var(--lp-border); color: var(--lp-faint); padding: 12px 16px; margin: 0; font-size: 12.5px; line-height: 2; }
.paginator a:link, .paginator a:visited { background: var(--lp-surface-2); color: var(--lp-text) !important; border-radius: 6px; padding: 3px 8px; }
.paginator a:hover { background: var(--lp-border); }
.paginator .this-page { color: var(--lp-on-accent); background: var(--lp-accent); border-radius: 6px; padding: 3px 8px; font-weight: 600; }
.paginator a.showall { background: transparent; color: var(--lp-muted) !important; }
.paginator input[type=submit] { padding: 6px 12px; }

/* фильтры справа */
#changelist-filter { position: static; flex: 0 0 240px; width: 240px; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; padding: 6px 0 10px; margin: 0; order: 2; }
#changelist-filter h2 { background: transparent; color: var(--lp-faint); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; padding: 10px 16px 6px; border: 0; font-weight: 500; }
#changelist-filter h3, #changelist-filter summary { color: var(--lp-text); font-size: 13px; font-weight: 500; padding: 4px 16px; margin: 10px 0 4px; }
#changelist-filter details summary { color: var(--lp-muted); }
#changelist-filter ul { border: 0; padding: 0 8px 6px 8px; margin: 0; }
#changelist-filter li { padding: 0; margin: 0; }
#changelist-filter li a, #changelist-filter a { display: block; color: var(--lp-muted) !important; padding: 5px 8px; border-radius: 6px; font-size: 12.5px; }
#changelist-filter li a:hover { background: var(--lp-surface-2); color: var(--lp-text) !important; }
#changelist-filter li.selected { border-left: 0; padding-left: 0; margin-left: 0; }
#changelist-filter li.selected a { color: var(--lp-text) !important; background: var(--lp-surface-2); }
#changelist-filter li.selected a::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--lp-accent); margin-right: 8px; vertical-align: middle; }
#changelist-filter #changelist-filter-extra-actions { border-bottom: 1px solid var(--lp-border); padding: 4px 8px 10px; margin: 0 0 4px; }
#changelist-filter-clear a { color: var(--lp-accent) !important; }
#changelist-filter .viewlink, #changelist-filter .hidelink { background: none !important; padding-left: 8px; }

/* date hierarchy */
.xfull ul.toplinks, #changelist ul.toplinks { padding: 10px 16px; border-bottom: 1px solid var(--lp-border); margin: 0; background: transparent; }
ul.toplinks li a { color: var(--lp-muted) !important; }

/* ---------- Форма (change form) ---------- */
fieldset.module, .module { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; overflow: hidden; margin-bottom: 18px; }
.module h2, .module caption, .inline-group h2, fieldset.module h2, fieldset .fieldset-heading {
  background: transparent; color: var(--lp-text); font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0;
  padding: 14px 18px; border-bottom: 1px solid var(--lp-border); margin: 0;
}
.module .description, fieldset .description { color: var(--lp-muted); padding: 10px 18px 0; }
.form-row { border-bottom: 1px solid var(--lp-border); padding: 14px 18px; overflow: visible; }
.form-row:last-child { border-bottom: 0; }
.aligned label, form .aligned label, .aligned .flex-container > label { color: var(--lp-muted); font-size: 13px; font-weight: 400; padding-top: 8px; }
.aligned label.required, label.required { color: var(--lp-text); font-weight: 500; }
.aligned .readonly, div.readonly { color: var(--lp-text); font-family: var(--lp-mono); font-size: 13px; padding-top: 8px; }
.vTextField, form .wide .vTextField { width: 100%; max-width: 560px; }
.aligned textarea, .vLargeTextField { width: 100%; max-width: 760px; }
.datetime br { display: none; }
p.datetime { color: var(--lp-faint); font-size: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.datetimeshortcuts { margin-left: 4px; }
.datetimeshortcuts a { color: var(--lp-muted) !important; font-size: 12px; }
.datetimeshortcuts a:hover { color: var(--lp-accent) !important; }
.date-icon, .clock-icon, .related-widget-wrapper-link img, .related-lookup { filter: grayscale(1) invert(.8) brightness(1.2); }
.timezonewarning { color: var(--lp-faint); }
.related-widget-wrapper { gap: 6px; }
.related-widget-wrapper-link { opacity: .8; }

.submit-row { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; padding: 14px 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 18px 0; }
.submit-row input, .submit-row a.button { margin: 0; }
.submit-row a.deletelink, .submit-row a.deletelink:link, .submit-row a.deletelink:visited, a.deletelink {
  background: transparent; color: var(--lp-err) !important; border: 1px solid rgba(255,100,100,.45); border-radius: 8px; padding: 9px 14px; height: auto; line-height: 1.2; margin-left: auto;
}
.submit-row a.deletelink:hover { background: rgba(255,100,100,.1); }
.submit-row a.closelink { background: var(--lp-surface-2); border-radius: 8px; color: var(--lp-text) !important; }

/* inline / tabular */
.inline-related h3, .inline-group .tabular tr.has_original td, .inline-group thead th { background: var(--lp-surface-2); color: var(--lp-muted); border-color: var(--lp-border); }
table, thead th, tbody td, tbody th, tfoot td { border-color: var(--lp-border); }
thead th, tfoot td { background: var(--lp-surface-2); color: var(--lp-muted); }
tr:nth-child(odd), tr:nth-child(even), .row-form-errors { background: transparent; }
td, th { color: var(--lp-text); }

/* календарь и часы */
.calendarbox, .clockbox { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.5); color: var(--lp-text); }
.calendar caption, .calendarbox h2 { background: var(--lp-surface-2); color: var(--lp-text); }
.calendar th { background: transparent; color: var(--lp-faint); border: 0; }
.calendar td { background: transparent; border-color: var(--lp-border); }
.calendar td a, .timelist a { color: var(--lp-text) !important; }
.calendar td a:hover, .calendar td.selected a, .timelist a:hover { background: var(--lp-accent); color: var(--lp-on-accent) !important; }
.calendar td.nonday { background: transparent; }
.calendar td.today a { font-weight: 700; color: var(--lp-accent) !important; }
.calendar-shortcuts, .calendar-cancel { background: var(--lp-surface-2); border-color: var(--lp-border); }
.calendar-cancel:hover { background: var(--lp-border); }
.calendar-cancel a { color: var(--lp-muted) !important; }
.calendarnav-previous, .calendarnav-next { filter: invert(.8); }
.clockbox h2 { background: var(--lp-surface-2); color: var(--lp-text); }

/* ---------- Главная (index) ---------- */
.dashboard #content { max-width: 1200px; }
.dashboard .module table th, .dashboard .module table td { padding: 11px 18px; border-bottom: 1px solid var(--lp-border); }
.dashboard .module tr:last-child th, .dashboard .module tr:last-child td { border-bottom: 0; }
.dashboard .module caption a, .app-tasks.module caption a, .module caption a { color: var(--lp-text) !important; }
.dashboard .module table th a { font-weight: 500; }
.dashboard .module table { width: 100%; }
a.addlink, a.changelink, a.viewlink { color: var(--lp-muted) !important; background-image: none !important; padding-left: 0; }
a.addlink::before { content: "+ "; color: var(--lp-accent); }
a.addlink:hover, a.changelink:hover, a.viewlink:hover { color: var(--lp-accent) !important; }
#content-related, .dashboard #content-related { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; }
#content-related .module { background: transparent; border: 0; }
#content-related h3 { color: var(--lp-faint); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; padding: 0 18px; }
#recent-actions-module ul.actionlist { padding: 0 18px 8px; }
ul.actionlist li { color: var(--lp-muted); }
ul.actionlist .mini { color: var(--lp-faint); }
.app-list .current-app caption, .module.current-app { box-shadow: inset 2px 0 0 var(--lp-accent); }

/* ---------- Логин ---------- */
body.login #lp-side { display: none; }
body.login #container { padding-left: 0; background: transparent; border: 0; box-shadow: none; width: 380px; max-width: calc(100% - 32px); margin: 12vh auto 0; min-width: 0; }
body.login #content { padding: 28px 28px 24px; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 16px; }
body.login #content::before {
  content: "Launchpad"; display: block; font-size: 20px; font-weight: 600; margin-bottom: 4px;
  padding-left: 38px; line-height: 28px;
  background: no-repeat left center / 28px 28px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Crect width='28' height='28' rx='8' fill='%23D2F65A'/%3E%3Cg fill='none' stroke='%230D0E10' stroke-width='2' stroke-linecap='round' transform='translate(2 2)'%3E%3Cpath d='M4.9 16.1a10 10 0 0 1 0-14.2M7.8 13.2a6 6 0 0 1 0-8.4M16.2 4.8a6 6 0 0 1 0 8.4M19.1 1.9a10 10 0 0 1 0 14.2M9.5 22 12 11l2.5 11'/%3E%3Ccircle cx='12' cy='9' r='2'/%3E%3C/g%3E%3C/svg%3E");
}
body.login #content-main { margin-top: 18px; }
body.login .form-row { padding: 0 0 14px; border: 0; }
body.login .form-row label { display: block; color: var(--lp-muted); font-size: 12.5px; margin-bottom: 6px; padding: 0; }
body.login .form-row input { width: 100%; box-sizing: border-box; padding: 11px 12px; font-size: 14px; }
body.login .submit-row { background: transparent; border: 0; padding: 6px 0 0; margin: 0; }
body.login .submit-row input { width: 100%; padding: 11px; background: var(--lp-accent); color: var(--lp-on-accent); border-color: var(--lp-accent); font-weight: 600; font-size: 14px; }
body.login .submit-row input:hover { background: #C2E84A; }
body.login .password-reset-link { text-align: center; }
body.login .errornote { margin: 0 0 14px; }
body.login .main, body.login #content-start { background: transparent; }

/* ---------- Позиции: сводка (dashboard.html) ---------- */
.pos-table { background: var(--lp-surface); border: 1px solid var(--lp-border) !important; border-radius: 14px; border-collapse: separate !important; border-spacing: 0; overflow: hidden; }
.pos-table th { background: transparent !important; color: var(--lp-faint); font-size: 10.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--lp-border); padding: 10px 12px !important; }
.pos-table td { border-top: 1px solid var(--lp-border) !important; color: var(--lp-text); padding: 10px 12px !important; }
.pos-table th.reg, .pos-table td.reg { border-left: 1px solid var(--lp-border) !important; }
.pos-table .pos { font-family: var(--lp-mono); font-weight: 500; }
.up { color: var(--lp-run) !important; } .down { color: var(--lp-err) !important; } .muted { color: var(--lp-muted) !important; }

/* ---------- Расписание (tasks/schedule.html) ---------- */
.schedule-container { margin: 0; }
.schedule-container h1 { font-size: 26px; font-weight: 600; margin-bottom: 18px; }
.date-header { background: transparent !important; color: var(--lp-text) !important; font-size: 16px !important; padding: 0 0 10px !important; border-bottom: 1px solid var(--lp-border); }
.batch-group-header { background: transparent !important; color: var(--lp-faint) !important; border-bottom: 0 !important; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500 !important; padding: 10px 0 !important; }
.schedule-table { border: 1px solid var(--lp-border) !important; border-radius: 12px; overflow: hidden; background: var(--lp-surface); }
.time-header { background: var(--lp-surface) !important; border-bottom: 1px solid var(--lp-border) !important; }
.time-cell { border-right: 1px solid var(--lp-border) !important; color: var(--lp-faint); font-family: var(--lp-mono); font-size: 11px !important; }
.batch-name { background: var(--lp-surface-2) !important; border-right: 1px solid var(--lp-border) !important; color: var(--lp-text); }
.schedule-row { background: var(--lp-bg) !important; border-bottom: 1px solid var(--lp-border) !important; }
.schedule-row:last-child { border-bottom: 0 !important; }
.schedule-cell { border-right: 1px solid var(--lp-border) !important; }
.work-hour { background-color: rgba(210,246,90,.04) !important; }
.model-cell { background-color: rgba(210,246,90,.85) !important; border-right: 1px solid var(--lp-bg) !important; border-radius: 6px; }
.model-name { color: var(--lp-on-accent) !important; font-weight: 600 !important; }

/* ---------- Прочее ---------- */
#footer { display: none; }
.object-tools a.historylink { background-image: none; }
.selector .selector-available h2, .selector .selector-chosen h2 { background: var(--lp-surface-2); color: var(--lp-text); }
.selector select { background: var(--lp-bg); }
.selector-chosen h2 { background: var(--lp-accent) !important; color: var(--lp-on-accent) !important; }
.delete-confirmation ul, .delete-confirmation p { color: var(--lp-muted); }
.delete-confirmation form input[type=submit] { background: var(--lp-err); border-color: var(--lp-err); color: #fff; }
.delete-confirmation form .cancel-link { background: var(--lp-surface-2); color: var(--lp-text) !important; border-radius: 8px; }

@media (max-width: 1024px) {
  #changelist { flex-direction: column; }
  #changelist-filter { width: 100%; flex: none; box-sizing: border-box; }
  ul.object-tools { float: none; margin: 0 0 14px; }
}
@media (max-width: 860px) {
  #container { padding-left: 0; }
  #lp-side { position: static; width: auto; border-right: 0; border-bottom: 1px solid var(--lp-border); }
  .lp-nav { flex-direction: row; flex-wrap: wrap; }
  .lp-sys { margin-top: 8px; }
  #content, div.breadcrumbs, ul.messagelist { padding-left: 16px; padding-right: 16px; }
  #changelist #toolbar form input[type=text] { width: 100%; }
}

/* правки после первого просмотра */
#changelist .results { overflow-x: auto; }
#changelist-search #searchbar, #changelist #toolbar form input[type=text] { height: 36px; box-sizing: border-box; padding: 8px 12px; }
#changelist #toolbar form input[type=submit] { height: 36px; box-sizing: border-box; }
button.lp-danger { white-space: nowrap; font-size: 12px; padding: 8px 6px; }
#result_list td[class*="time"], #result_list td[class*="_at"] { font-size: 12px; }
#changelist-filter details > summary { cursor: pointer; list-style: none; }
#changelist-filter details > summary::before { content: '\203A'; display: inline-block; width: 12px; color: var(--lp-faint); font-weight: 400; transition: transform .15s; }
#changelist-filter details[open] > summary::before { content: '\203A'; transform: rotate(90deg); }
#result_list td[class*="time"], #result_list td[class*="_at"] { white-space: normal; min-width: 92px; max-width: 120px; line-height: 1.45; }
#result_list td.field-batch { max-width: 260px; }
#result_list thead th { white-space: normal; min-width: 60px; }
#container { box-sizing: border-box; width: 100%; min-width: 0; }
#result_list td.nowrap { white-space: normal; }
#changelist .actions { box-sizing: border-box; }
#result_list td.field-batch, #result_list td.field-batch.nowrap { white-space: nowrap; max-width: 230px; overflow: hidden; text-overflow: ellipsis; }
ul.object-tools a.addlink::before, ul.object-tools a.addlink:link::before { content: "+"; color: inherit; font-weight: 500; }
#changelist-filter #changelist-filter-extra-actions h3 { margin: 4px 0; }
#changelist-filter #changelist-filter-extra-actions a { color: var(--lp-muted) !important; }
p.datetime, p.datetime label, .aligned p.help { font-family: var(--lp-font); }
p.datetime { color: var(--lp-muted); }
.submit-row input[type=submit] { text-transform: none; }
body.login { background: var(--lp-bg); min-height: 100vh; }
#content-related h2 { font-size: 14px; font-weight: 600; padding: 14px 18px; border-bottom: 1px solid var(--lp-border); background: transparent; color: var(--lp-text); }
.pos-table { display: block; overflow-x: auto; max-width: 100%; }

/* =================== Структура по макету (v2) =================== */
.lp-nav a small { margin-left: auto; font-family: var(--lp-mono); font-size: 11px; color: var(--lp-faint); }
.lp-sys-row .dot.off { background: var(--lp-err); }
.lp-sys-row .dot.idle { background: var(--lp-done); }
.dim { color: var(--lp-faint) !important; }
.lp-mono { font-family: var(--lp-mono); font-size: 12.5px; }
.r { text-align: right !important; }
.up { color: var(--lp-run) !important; font-style: normal; } .down { color: var(--lp-err) !important; font-style: normal; }
.lp-head { align-items: flex-start; }
.lp-head-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
a.lp-btn, button.lp-btn, span.lp-btn, .lp-btn { display: inline-flex; align-items: center; gap: 8px; height: 36px; box-sizing: border-box; padding: 0 14px; border-radius: 9px; border: 1px solid var(--lp-border); background: var(--lp-surface); color: var(--lp-text) !important; font: 500 13px var(--lp-font); cursor: pointer; white-space: nowrap; text-decoration: none; }
.lp-btn:hover { background: var(--lp-surface-2); }
.lp-btn svg, .lp-ib svg, .lp-search svg, .lp-select svg, .lp-out svg, .lp-times > svg, .lp-hours > svg, .lp-empty-panel svg, .lp-perm-link svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.lp-btn.lp-primary { background: var(--lp-accent); border-color: var(--lp-accent); color: var(--lp-on-accent) !important; font-weight: 600; }
.lp-btn.lp-primary:hover { background: #C2E84A; }
.lp-btn.sm { height: 30px; padding: 0 10px; font-size: 12.5px; }
.lp-btn.danger, .lp-btn.lp-stop { color: var(--lp-err) !important; }
.lp-btn.danger:hover, .lp-btn.lp-stop:hover { background: rgba(255,100,100,.08); border-color: rgba(255,100,100,.4); }
.lp-btn.lp-ok { border-color: rgba(61,220,151,.35); background: rgba(61,220,151,.06); cursor: default; }
.lp-btn.lp-ok svg { color: var(--lp-run); }
.lp-btn small { font-family: var(--lp-mono); color: var(--lp-muted); font-size: 11px; }
.lp-ib { width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--lp-muted) !important; cursor: pointer; padding: 0; vertical-align: middle; }
.lp-ib:hover { background: var(--lp-surface-2); color: var(--lp-text) !important; }
.lp-ib.play { border-color: rgba(61,220,151,.35); color: var(--lp-run) !important; }
.lp-ib.play svg { fill: currentColor; stroke: none; width: 11px; height: 11px; }
.lp-ib.stop { border-color: rgba(255,100,100,.35); color: var(--lp-err) !important; }
.lp-ib.danger { border-color: rgba(255,100,100,.35); color: var(--lp-err) !important; width: 36px; height: 36px; }
.lp-ib.ghost { visibility: hidden; }
.lp-search { position: relative; display: flex; align-items: center; }
.lp-search svg { position: absolute; left: 12px; color: var(--lp-faint); }
.lp-search input[type=text] { width: 260px; height: 36px; box-sizing: border-box; padding-left: 36px; background: var(--lp-surface); }
.lp-tag { display: inline-block; font-family: var(--lp-mono); font-size: 11px; color: var(--lp-muted); background: var(--lp-surface-2); border: 1px solid var(--lp-border); border-radius: 5px; padding: 1px 6px; margin-right: 8px; vertical-align: 1px; }
.lp-chip.sm { padding: 1px 7px; font-size: 11px; }
.lp-chip.acc { background: rgba(210,246,90,.12); color: var(--lp-accent); }

/* секция «В эфире» */
.lp-sec-h { display: flex; justify-content: space-between; align-items: center; margin: 6px 0 12px; gap: 12px; }
.lp-sec-h h2 { margin: 0; font-size: 15px; font-weight: 600; color: var(--lp-text); display: flex; align-items: center; gap: 10px; text-transform: none; letter-spacing: 0; background: none; padding: 0; }
.lp-sec-h h2 span { color: var(--lp-muted); font-weight: 400; font-size: 13px; }
.lp-sec-h a { color: var(--lp-muted) !important; font-size: 13px; }
.lp-sec-h a:hover { color: var(--lp-text) !important; }
.lp-sec-h .dot, .lp-sec-h h2 .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lp-run); box-shadow: 0 0 0 4px rgba(61,220,151,.15); }
.lp-sec-h .dot.idle { background: var(--lp-done); box-shadow: none; }
.lp-live { margin-bottom: 26px; }
.lp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; }
.lp-card { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 14px; }
.lp-card header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.lp-card h3 { margin: 0 0 3px; font-size: 16px; font-weight: 600; }
.lp-card h3 a { color: var(--lp-text) !important; }
.lp-card header p { margin: 0; padding: 0; color: var(--lp-muted); font-size: 12.5px; }
.lp-prog-t { display: flex; justify-content: space-between; font-family: var(--lp-mono); font-size: 12px; color: var(--lp-muted); margin-bottom: 8px; }
.lp-prog-t b { font-family: var(--lp-font); font-weight: 500; color: var(--lp-text); font-size: 12.5px; }
.lp-bar { height: 5px; border-radius: 3px; background: var(--lp-surface-2); overflow: hidden; }
.lp-bar i { display: block; height: 100%; background: var(--lp-run); border-radius: 3px; }
.lp-bar.wait i { background: var(--lp-wait); }
.lp-stats { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 10px; }
.lp-stats > div { padding: 10px 12px; border-left: 1px solid var(--lp-border); display: flex; flex-direction: column; gap: 4px; }
.lp-stats > div:first-child { border-left: 0; }
.lp-stats small { color: var(--lp-faint); font-size: 11px; }
.lp-stats b { font-family: var(--lp-mono); font-size: 17px; font-weight: 500; }
.lp-stats b.dim { font-size: 13px; }
.lp-stats em { font-size: 11px; }
.lp-card footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lp-mono-dim { font-family: var(--lp-mono); font-size: 11px; color: var(--lp-faint); }
.lp-card-btns { display: flex; gap: 6px; }
.lp-empty { color: var(--lp-muted); padding: 18px; text-align: center; background: var(--lp-surface); border: 1px dashed var(--lp-border); border-radius: 12px; }
td.lp-empty { border: 0 !important; background: none; padding: 30px !important; }

/* таблица задач */
.lp-table-card { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; overflow: hidden; }
.lp-table-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 12px; border-bottom: 1px solid var(--lp-border); flex-wrap: wrap; }
.lp-table-bar .lp-tabs { border: 0; padding: 0; }
.lp-bar-tools { display: flex; gap: 8px; align-items: center; }
.lp-select { position: relative; display: inline-flex; align-items: center; }
.lp-select svg { position: absolute; left: 10px; color: var(--lp-muted); pointer-events: none; }
.lp-select select { height: 34px; padding: 0 28px 0 32px; background-color: var(--lp-bg); font-size: 13px; max-width: 260px; }
.lp-reset { color: var(--lp-muted) !important; font-size: 12.5px; }
.lp-scroll { overflow-x: auto; }
.lp-table { width: 100%; border-collapse: collapse; }
.lp-table thead th { background: transparent; color: var(--lp-faint); font-size: 10.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; padding: 11px 12px; border-bottom: 1px solid var(--lp-border); text-align: left; white-space: nowrap; }
.lp-table td { padding: 0 12px; height: 50px; border-bottom: 1px solid var(--lp-border); color: var(--lp-muted); font-size: 13.5px; vertical-align: middle; background: transparent; }
.lp-table tbody tr:last-child td { border-bottom: 0; }
.lp-table tbody tr:hover td { background: rgba(255,255,255,.015); }
.lp-table tbody tr.sel td { background: rgba(210,246,90,.05); }
.lp-table tbody tr.cur td { background: var(--lp-surface-2); }
.lp-table tbody tr.cur td:first-child { box-shadow: inset 2px 0 0 var(--lp-accent); }
.lp-table td a { color: var(--lp-text) !important; }
.lp-table .c-check { width: 22px; padding-left: 16px; padding-right: 4px; }
.lp-table .c-model a { font-weight: 500; font-size: 14px; }
.lp-table .c-batch { max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-table .c-win { white-space: nowrap; }
.lp-table .c-win .lp-day { display: inline-block; min-width: 70px; color: var(--lp-muted); }
.lp-table .c-win .lp-mono { color: var(--lp-text); }
.lp-table .c-win em { color: var(--lp-faint); font-style: normal; margin-left: 4px; }
.lp-table .c-dur { white-space: nowrap; }
.lp-soon { background: rgba(210,246,90,.14); color: var(--lp-accent); padding: 2px 7px; border-radius: 6px; font-size: 11.5px; }
.lp-table .c-act { text-align: right; white-space: nowrap; width: 80px; padding-right: 14px; }
.lp-table tr.k-done .c-model a, .lp-table tr.k-stop .c-model a { color: var(--lp-muted) !important; }
.lp-table-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 16px; border-top: 1px solid var(--lp-border); font-size: 12.5px; color: var(--lp-faint); flex-wrap: wrap; }
.lp-table-foot b { color: var(--lp-text); font-weight: 500; }
.lp-pages .paginator { border: 0 !important; padding: 0 !important; background: none; display: inline; font-size: 12px; }
.lp-bulk { display: flex; gap: 16px; }
.lp-link { background: none; border: 0; color: var(--lp-muted); font: 12.5px var(--lp-font); cursor: pointer; padding: 4px 0; }
.lp-link:hover:not(:disabled) { color: var(--lp-text); }
.lp-link.danger:hover:not(:disabled) { color: var(--lp-err); }
.lp-link:disabled { color: var(--lp-faint); opacity: .5; cursor: default; }

/* ---------- панель задачи ---------- */
.lp-drawer-page #content { padding-top: 22px; }
.lp-drawer-page #content-main > form > div > .errornote, .lp-drawer-page #content-main > form > div > ul.errorlist { display: none; }
.lp-behind { opacity: .35; pointer-events: none; filter: saturate(.6); }
.lp-scrim { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 60; }
.lp-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 500px; max-width: 100vw; background: var(--lp-bg); border-left: 1px solid var(--lp-border); z-index: 70; display: flex; flex-direction: column; box-shadow: -24px 0 60px rgba(0,0,0,.45); }
.lp-dh { display: flex; justify-content: space-between; gap: 12px; padding: 22px 24px 18px; border-bottom: 1px solid var(--lp-border); }
.lp-dh h2 { margin: 0 0 6px; font-size: 19px; font-weight: 600; background: none; padding: 0; text-transform: none; letter-spacing: 0; display: flex; align-items: center; gap: 10px; color: var(--lp-text); }
.lp-dh p { margin: 0; padding: 0; color: var(--lp-muted); font-size: 12.5px; }
.lp-dh .lp-ib { border-color: var(--lp-border); }
.lp-db { flex: 1; overflow-y: auto; padding: 4px 24px 18px; }
.lp-fs { padding: 16px 0 4px; }
.lp-fl { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 8px; gap: 8px; }
.lp-fl label { color: var(--lp-text) !important; font-size: 13px; font-weight: 500; padding: 0 !important; }
.lp-fl span { color: var(--lp-faint); font-size: 11.5px; }
.lp-fl span b { color: var(--lp-text); font-weight: 500; font-family: var(--lp-mono); }
.lp-at { display: flex; align-items: center; gap: 8px; border: 1px solid var(--lp-border); border-radius: 10px; background: var(--lp-surface); padding: 0 12px; }
.lp-at:focus-within { border-color: var(--lp-accent); box-shadow: 0 0 0 3px rgba(210,246,90,.12); }
.lp-at.bad { border-color: var(--lp-err); }
.lp-at span { color: var(--lp-muted); }
.lp-at input { border: 0 !important; background: transparent !important; box-shadow: none !important; flex: 1; height: 42px; font-size: 14.5px !important; padding: 0 !important; width: auto !important; max-width: none !important; }
.lp-recent { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; font-size: 12px; color: var(--lp-faint); }
.lp-pill { background: var(--lp-surface); border: 1px solid var(--lp-border); color: var(--lp-muted); border-radius: 6px; padding: 3px 9px; font: 12px var(--lp-font); cursor: pointer; }
.lp-pill:hover { color: var(--lp-text); border-color: #34393F; }
.lp-pill.on { background: var(--lp-accent); border-color: var(--lp-accent); color: var(--lp-on-accent); font-weight: 600; }
.lp-opts { border: 1px solid var(--lp-border); border-radius: 12px; background: var(--lp-surface); padding: 6px; max-height: 268px; overflow-y: auto; }
.lp-opts.bad { border-color: var(--lp-err); }
.lp-opt { display: flex !important; align-items: center; gap: 12px; padding: 9px 10px !important; border-radius: 8px; cursor: pointer; color: var(--lp-text) !important; border-bottom: 1px solid var(--lp-border); font-size: 13px !important; }
.lp-opt:last-child { border-bottom: 0; }
.lp-opt:hover { background: var(--lp-surface-2); }
.lp-opt input { position: absolute; opacity: 0; pointer-events: none; }
.lp-radio { width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #4A4F57; flex: none; box-sizing: border-box; }
.lp-opt:has(input:checked) { background: var(--lp-surface-2); }
.lp-opt input:checked + .lp-radio { border: 5px solid var(--lp-accent); }
.lp-opt input:focus-visible + .lp-radio { box-shadow: 0 0 0 3px rgba(210,246,90,.25); }
.lp-opt-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lp-opt-main b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-opt-main small { color: var(--lp-faint); font-size: 11.5px; }
.lp-opt-load { font-size: 11.5px; color: var(--lp-faint); white-space: nowrap; }
.lp-opt-load.busy { color: var(--lp-wait); } .lp-opt-load.soon { color: var(--lp-muted); }
.lp-opt .lp-tag { margin: 0; color: var(--lp-text); }
.lp-seg { display: flex; gap: 6px; }
.lp-seg button, .lp-seg label { flex: 1; text-align: center; padding: 9px 8px !important; border-radius: 9px; border: 1px solid var(--lp-border); background: var(--lp-surface); color: var(--lp-muted) !important; font: 500 13px var(--lp-font) !important; cursor: pointer; }
.lp-seg button:hover, .lp-seg label:hover { color: var(--lp-text) !important; }
.lp-seg button.on, .lp-seg label.on { background: var(--lp-surface-2); color: var(--lp-text) !important; border-color: #3A3F45; }
.lp-seg label input { display: none; }
input.lp-date { margin-top: 8px; width: 100%; box-sizing: border-box; color-scheme: dark; }
.lp-times { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.lp-times > svg { color: var(--lp-faint); }
.lp-time { flex: 1; display: flex !important; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--lp-border); border-radius: 10px; background: var(--lp-surface); padding: 0 12px !important; height: 46px; color: var(--lp-muted) !important; font-size: 12px !important; }
.lp-time:focus-within { border-color: var(--lp-accent); }
.lp-time input { border: 0 !important; background: transparent !important; box-shadow: none !important; font: 500 18px var(--lp-mono) !important; color: var(--lp-text); text-align: right; padding: 0 !important; width: 110px; color-scheme: dark; }
.lp-durs { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; font-size: 12px; color: var(--lp-faint); }
.lp-durs em { font-style: normal; color: var(--lp-muted); margin-left: 6px; }
.lp-real { display: none; }
.lp-load { margin-top: 14px; border: 1px solid var(--lp-border); border-radius: 12px; background: var(--lp-surface); padding: 14px; }
.lp-load-h { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; margin-bottom: 12px; gap: 8px; }
.lp-load-h b { font-weight: 500; }
.lp-load-h span { color: var(--lp-faint); font-size: 11px; display: flex; align-items: center; gap: 6px; }
.lp-load-h i { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.lp-load-h i.o, .lp-col i.o { background: #4A4F57; } .lp-load-h i.n, .lp-col i.n { background: var(--lp-accent); }
.lp-load-bars { display: grid; grid-template-columns: repeat(24, 1fr); gap: 3px; height: 64px; align-items: end; }
.lp-col { display: flex; flex-direction: column-reverse; gap: 2px; height: 100%; justify-content: flex-start; }
.lp-col i { display: block; height: 12px; border-radius: 2px; }
.lp-col i.z { height: 2px; background: var(--lp-border); }
.lp-load-ax { display: flex; justify-content: space-between; font-family: var(--lp-mono); font-size: 10px; color: var(--lp-faint); margin-top: 6px; }
.lp-load-note { margin: 10px 0 0; padding: 0; font-size: 11.5px; color: var(--lp-muted); line-height: 1.5; }
.lp-more summary { cursor: pointer; color: var(--lp-muted); font-size: 13px; font-weight: 500; list-style: none; }
.lp-more summary::before { content: '\203A'; display: inline-block; width: 14px; transition: transform .15s; }
.lp-more[open] summary::before { transform: rotate(90deg); }
.lp-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.lp-grid2 label { display: flex !important; flex-direction: column; gap: 6px; font-size: 12px !important; color: var(--lp-muted) !important; padding: 0 !important; }
.lp-grid2 label.wide { grid-column: 1 / -1; }
.lp-grid2 select, .lp-grid2 input { width: 100% !important; box-sizing: border-box; max-width: none !important; }
.lp-grid2 .related-widget-wrapper { width: 100%; }
.lp-meta { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 14px 0 0; font-size: 12.5px; }
.lp-meta dt { color: var(--lp-faint); } .lp-meta dd { margin: 0; font-family: var(--lp-mono); color: var(--lp-text); }
.lp-df { display: flex; align-items: center; gap: 8px; padding: 14px 24px; border-top: 1px solid var(--lp-border); background: var(--lp-bg); flex-wrap: wrap; }
.lp-from { color: var(--lp-faint); font-size: 12px; margin-right: auto; }
.lp-df .lp-btn.lp-primary { height: 40px; }
.lp-err, .lp-drawer ul.errorlist, .lp-panel ul.errorlist { color: var(--lp-err); font-size: 12.5px; margin: 6px 0 0; padding: 0; list-style: none; }
.lp-err ul.errorlist li, .lp-drawer ul.errorlist li { padding: 2px 0; }

/* ---------- пачки ---------- */
.lp-md { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 16px; align-items: start; }
.lp-md.wide-left { grid-template-columns: minmax(0, 1.4fr) minmax(320px, 1fr); }
.lp-blist tbody tr { cursor: pointer; }
.lp-blist td { height: 42px; }
.lp-blist td a { font-weight: 500; }
.lp-live-txt { color: var(--lp-run); font-size: 12.5px; } .lp-soon-txt { color: var(--lp-wait); font-size: 12.5px; }
.lp-panel { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; overflow: hidden; }
.lp-empty-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px; padding: 48px 28px; min-height: 260px; color: var(--lp-muted); }
.lp-empty-panel svg { width: 22px; height: 22px; color: var(--lp-muted); padding: 10px; background: var(--lp-surface-2); border-radius: 10px; }
.lp-empty-panel b { color: var(--lp-text); font-weight: 600; font-size: 14px; }
.lp-empty-panel p { margin: 0 0 8px; max-width: 380px; font-size: 12.5px; line-height: 1.5; padding: 0; }
.lp-empty-panel.inner { min-height: 0; border-top: 1px solid var(--lp-border); }
.lp-ph { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--lp-border); }
.lp-ph-t { display: flex; align-items: center; gap: 4px; font-size: 18px; font-weight: 600; }
.lp-ph-t input { background: transparent !important; border: 1px solid transparent !important; font: 600 18px var(--lp-font) !important; color: var(--lp-text); padding: 4px 6px !important; width: 360px !important; max-width: 100% !important; }
.lp-ph-t input:hover { border-color: var(--lp-border) !important; }
.lp-ph-t input:focus { border-color: var(--lp-accent) !important; }
.lp-ph p { margin: 4px 0 0; padding: 0; color: var(--lp-faint); font-size: 12px; }
.lp-ph-btns { display: flex; gap: 8px; align-items: center; }
.lp-pb { padding: 16px 20px 6px; }
.lp-pb > .lp-fl { margin-top: 16px; }
.lp-pb > .lp-fl:first-child { margin-top: 0; }
.lp-row2 { display: grid; grid-template-columns: 1.5fr 1fr; gap: 16px; margin-top: 16px; }
.lp-row2 .lp-seg { background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 10px; padding: 3px; gap: 3px; }
.lp-row2 .lp-seg label { border: 0; background: transparent; padding: 7px 6px !important; font-size: 12.5px !important; }
.lp-row2 .lp-seg label.on { background: var(--lp-surface-2); }
.lp-hours { display: flex; align-items: center; justify-content: space-between; gap: 6px; background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 10px; padding: 3px 10px; height: 38px; box-sizing: border-box; }
.lp-hours input { border: 0 !important; background: transparent !important; box-shadow: none !important; font-family: var(--lp-mono) !important; width: 80px !important; padding: 4px 0 !important; }
.lp-hours input + span, .lp-hours .datetimeshortcuts { display: none !important; }
.lp-hours > svg { color: var(--lp-faint); }
.lp-code { border: 1px solid var(--lp-border); border-radius: 10px; background: var(--lp-bg); overflow: hidden; }
.lp-code-h { display: flex; flex-wrap: wrap; gap: 14px; padding: 8px 12px; border-bottom: 1px solid var(--lp-border); font-size: 11.5px; color: var(--lp-muted); }
.lp-code-h .ok::before { content: '✓ '; color: var(--lp-run); }
.lp-code-h .bad { color: var(--lp-wait); }
.lp-code textarea { width: 100% !important; max-width: none !important; box-sizing: border-box; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; resize: vertical; font: 12px/1.7 var(--lp-mono) !important; color: var(--lp-text); padding: 10px 12px !important; white-space: pre; overflow-x: auto; }
.lp-pf { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--lp-border); margin-top: 14px; }

/* ---------- позиции ---------- */
.lp-pos td { height: 64px; }
.lp-pos .c-name b { color: var(--lp-text); font-weight: 600; font-size: 14px; }
.lp-sub2 { display: flex; align-items: center; gap: 6px; margin-top: 5px; font-family: var(--lp-mono); font-size: 11px; color: var(--lp-faint); white-space: nowrap; }
.lp-sub2 a { color: var(--lp-faint) !important; }
.lp-sub2 .lp-chip { font-family: var(--lp-font); }
.lp-pos .c-pos { white-space: nowrap; }
.lp-pos .c-pos b { font-family: var(--lp-mono); color: var(--lp-text); font-size: 15px; font-weight: 500; }
.lp-pos .c-pos em { font-family: var(--lp-mono); font-size: 11px; font-style: normal; }
.lp-pos td small { display: block; font-size: 10.5px; color: var(--lp-faint); margin-top: 3px; font-family: var(--lp-font); }
.lp-out { display: flex; align-items: center; gap: 10px; background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 8px; padding: 8px 12px; color: var(--lp-muted); font-size: 12.5px; }
.lp-charts { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 14px; }
.lp-chart { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; padding: 16px 18px 12px; }
.lp-chart-h { display: flex; justify-content: space-between; align-items: flex-start; }
.lp-chart-h b { font-weight: 600; }
.lp-big { font-family: var(--lp-mono); font-size: 22px; color: var(--lp-accent); }
.lp-chart-bars { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; height: 110px; align-items: end; margin-top: 10px; }
.lp-cb { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; text-align: center; }
.lp-cb small { font-family: var(--lp-mono); font-size: 9.5px; color: var(--lp-faint); margin-bottom: 3px; }
.lp-cb i { display: block; background: #1F6B4C; border-radius: 3px 3px 0 0; }
.lp-cb i.last { background: var(--lp-accent); }
.lp-cb i.last + small, .lp-cb:has(i.last) small { color: var(--lp-accent); }
.lp-cb i.z { height: 2px; background: var(--lp-border); }
.lp-chart-ax { display: flex; justify-content: space-between; font-family: var(--lp-mono); font-size: 10px; color: var(--lp-faint); margin-top: 8px; }
.lp-table-card + .lp-sec-h { margin-top: 28px; }

/* ---------- расписание ---------- */
.lp-daynav { display: flex; align-items: center; gap: 6px; }
.lp-daynav .lp-ib { width: 36px; height: 36px; border-color: var(--lp-border); background: var(--lp-surface); }
.lp-kpis { display: flex; align-items: flex-end; gap: 34px; margin: 4px 0 18px; flex-wrap: wrap; }
.lp-kpis > div { display: flex; flex-direction: column; gap: 6px; }
.lp-kpis small { color: var(--lp-faint); font-size: 12px; }
.lp-kpis b { font-family: var(--lp-mono); font-size: 20px; font-weight: 500; }
.lp-legend { flex-direction: row !important; margin-left: auto; gap: 16px !important; font-size: 12px; color: var(--lp-muted); }
.lp-legend span { display: flex; align-items: center; gap: 6px; }
.lp-legend i { width: 14px; height: 8px; border-radius: 3px; display: inline-block; }
.lp-legend i.done { background: #4A4F57; } .lp-legend i.run { background: var(--lp-run); } .lp-legend i.stop { background: #2A2E33; border: 1px solid #4A4F57; } .lp-legend i.wait { border: 1.5px solid var(--lp-wait); }
.lp-tl { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; overflow: hidden; margin-bottom: 18px; }
.lp-tl-head, .lp-tl-row { display: grid; grid-template-columns: 210px 1fr; }
.lp-tl-head { border-bottom: 1px solid var(--lp-border); }
.lp-tl-head .lp-tl-name { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-faint); padding: 11px 16px; font-weight: 500; }
.lp-tl-hours { position: relative; display: grid; grid-template-columns: repeat(24, 1fr); font-family: var(--lp-mono); font-size: 10.5px; color: var(--lp-faint); align-items: center; }
.lp-tl-hours span { text-align: center; }
.lp-now-tag { position: absolute; top: 50%; transform: translate(-50%, -50%); background: var(--lp-accent); color: var(--lp-on-accent); font-weight: 600; border-radius: 5px; padding: 2px 6px; font-size: 10.5px; z-index: 2; }
.lp-tl-row { border-bottom: 1px solid var(--lp-border); }
.lp-tl-row:last-child { border-bottom: 0; }
.lp-tl-row.busy { background: rgba(255,255,255,.012); }
.lp-tl-row .lp-tl-name { padding: 10px 16px; border-right: 1px solid var(--lp-border); display: flex; flex-direction: column; justify-content: center; gap: 3px; min-width: 0; }
.lp-tl-row .lp-tl-name b { font-weight: 500; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-tl-row .lp-tl-name small { color: var(--lp-faint); font-size: 11px; }
.lp-tl-track { position: relative; background-image: linear-gradient(to right, var(--lp-border) 1px, transparent 1px); background-size: calc(100% / 24) 100%; }
.lp-tl-bar { position: absolute; height: 24px; box-sizing: border-box; border-radius: 6px; padding: 0 8px; display: flex; align-items: center; gap: 6px; font-size: 12px; white-space: nowrap; overflow: hidden; color: var(--lp-text) !important; border: 1px solid transparent; min-width: 6px; }
.lp-tl-bar small { font-family: var(--lp-mono); font-size: 10.5px; color: var(--lp-faint); }
.lp-tl-bar.done { background: #2A2E33; color: var(--lp-muted) !important; }
.lp-tl-bar.run { background: rgba(61,220,151,.12); border-color: var(--lp-run); }
.lp-tl-bar.run i { width: 6px; height: 6px; border-radius: 50%; background: var(--lp-run); flex: none; }
.lp-tl-bar.wait { background: rgba(242,184,75,.05); border-color: rgba(242,184,75,.75); }
.lp-tl-bar.stop { background: transparent; border-color: #3A3F45; color: var(--lp-faint) !important; text-decoration: line-through; }
.lp-tl-bar.err { background: rgba(255,100,100,.08); border-color: rgba(255,100,100,.5); }
.lp-tl-bar:hover { filter: brightness(1.25); z-index: 3; }
.lp-now { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--lp-accent); transform: translateX(-1px); z-index: 2; pointer-events: none; }
.lp-free { position: absolute; top: 50%; transform: translateY(-50%); margin-left: 10px; font-size: 11.5px; color: var(--lp-faint); }

/* ---------- пользователи ---------- */
.lp-utabs { display: flex; gap: 4px; border-bottom: 1px solid var(--lp-border); margin-bottom: 18px; }
.lp-utabs a { padding: 9px 12px; color: var(--lp-muted) !important; font-size: 13.5px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.lp-utabs a.on { color: var(--lp-text) !important; border-color: var(--lp-accent); font-weight: 500; }
.lp-utabs small { font-family: var(--lp-mono); color: var(--lp-faint); font-size: 11px; margin-left: 4px; }
.lp-userc { display: flex; align-items: center; gap: 12px; padding: 8px 0; }
.lp-userc small { display: block; color: var(--lp-faint); font-size: 11.5px; }
.lp-ava.big { width: 32px; height: 32px; background: var(--lp-accent); color: var(--lp-on-accent); border: 0; font-size: 13px; }
.lp-online::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--lp-run); margin-right: 8px; vertical-align: 1px; }
.lp-online { color: var(--lp-muted); }
.lp-perms { padding-bottom: 6px; }
.lp-perm-h { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-faint); padding: 14px 20px 4px; }
.lp-perm { display: flex; justify-content: space-between; align-items: center; padding: 8px 20px; font-size: 13.5px; }
.lp-toggle { width: 30px; height: 18px; border-radius: 10px; background: var(--lp-surface-2); border: 1px solid var(--lp-border); position: relative; flex: none; }
.lp-toggle::after { content: ''; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--lp-faint); }
.lp-toggle.on { background: #5F7A1E; border-color: #5F7A1E; }
.lp-toggle.on::after { left: 14px; background: var(--lp-bg); }
.lp-perm-link { display: flex; align-items: center; gap: 10px; padding: 13px 20px; border-top: 1px solid var(--lp-border); margin-top: 8px; font-size: 13.5px; color: var(--lp-text) !important; }
.lp-perm-link + .lp-perm-link { margin-top: 0; }
.lp-perm-link em { margin-left: auto; font-style: normal; color: var(--lp-faint); font-size: 16px; }
.lp-perm-link:hover { background: var(--lp-surface-2); }

@media (max-width: 1100px) {
  .lp-md, .lp-md.wide-left { grid-template-columns: 1fr; }
  .lp-row2 { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .lp-head { flex-direction: column; }
  .lp-head-tools { justify-content: flex-start; }
  .lp-search input[type=text] { width: 100%; }
  .lp-tl-head, .lp-tl-row { grid-template-columns: 120px minmax(700px, 1fr); }
  .lp-tl { overflow-x: auto; }
  .lp-drawer { width: 100vw; }
  .lp-charts { grid-template-columns: 1fr; }
}
.lp-stats small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-stats > div { min-width: 0; }
#content > .lp-head:first-child, #content > .lp-head { margin-top: 6px; }
.lp-df { flex-wrap: nowrap; }
.lp-time input::-webkit-calendar-picker-indicator { opacity: .35; filter: invert(1); cursor: pointer; }
.lp-opt-main small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-ph > div:first-child { flex: 1; min-width: 0; }
.lp-ph-t { min-width: 0; }
.lp-ph-t input { flex: 1; width: 100% !important; min-width: 0; text-overflow: ellipsis; }
.lp-hours .timezonewarning, .lp-hours br, .lp-hours .help { display: none !important; }
.lp-row2 .lp-seg label { white-space: nowrap; }
.lp-load-bars { height: 72px; overflow: hidden; }
.lp-col { min-height: 0; }
.lp-col i { flex: none; min-height: 2px; }
.lp-load-ax { position: relative; z-index: 1; }

/* ---------- живость кук ---------- */
.lp-ck { display: inline-flex; align-items: center; gap: 6px; font-family: var(--lp-mono); font-size: 12.5px; color: var(--lp-text); }
.lp-ck i { width: 7px; height: 7px; border-radius: 50%; background: var(--lp-run); }
.lp-ck.warn i { background: var(--lp-wait); } .lp-ck.bad i { background: var(--lp-err); }
.lp-ck.warn { color: var(--lp-wait); } .lp-ck.bad { color: var(--lp-err); }
.lp-ck.stale { opacity: .6; }
.lp-ck-t { font-style: normal; color: var(--lp-run); } .lp-ck-t.warn { color: var(--lp-wait); } .lp-ck-t.bad { color: var(--lp-err); }
.lp-ckbox { border: 1px solid var(--lp-border); border-radius: 10px; background: var(--lp-bg); padding: 12px; margin: 10px 0 16px; }
.lp-ckbar { display: flex; height: 8px; border-radius: 4px; overflow: hidden; gap: 2px; background: var(--lp-surface-2); }
.lp-ckbar i { display: block; min-width: 0; }
.lp-ckbar i.ok { background: var(--lp-run); } .lp-ckbar i.bad { background: var(--lp-err); } .lp-ckbar i.unk { background: #4A4F57; }
.lp-ckrow { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 12.5px; color: var(--lp-muted); }
.lp-ckrow b { font-family: var(--lp-mono); font-weight: 500; color: var(--lp-text); }
.lp-ckrow b.ok { color: var(--lp-run); } .lp-ckrow b.bad { color: var(--lp-err); }
.lp-ck-note { margin: 8px 0 0; padding: 0; color: var(--lp-wait); font-size: 12px; }
.lp-ckdead { margin-top: 10px; }
.lp-ckdead summary { cursor: pointer; color: var(--lp-err); font-size: 12.5px; }
.lp-ckdead pre { margin: 8px 0 0; padding: 10px 12px; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 8px; font: 11.5px/1.7 var(--lp-mono); color: var(--lp-muted); max-height: 220px; overflow: auto; white-space: pre; }

/* подсветка мёртвых кук: подложка под прозрачным textarea */
.lp-hl { position: relative; }
.lp-hl-bd { position: absolute; inset: 0; overflow: hidden; pointer-events: none; padding: 10px 12px; box-sizing: border-box; font: 12px/1.7 var(--lp-mono); white-space: pre; color: var(--lp-text); }
.lp-hl-bd > div > div { min-height: 1.7em; }
.lp-hl-bd .dead { color: var(--lp-err); background: rgba(255,100,100,.12); margin: 0 -12px; padding: 0 12px; text-decoration: line-through; text-decoration-color: rgba(255,100,100,.5); }
.lp-code textarea.lp-hl-ta { position: relative; z-index: 1; color: transparent !important; caret-color: var(--lp-text); background: transparent !important; }
.lp-code textarea.lp-hl-ta::selection { background: rgba(210,246,90,.25); color: transparent; }
.lp-ckacts { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.lp-ck-legend { font-size: 12px; color: var(--lp-muted); display: flex; align-items: center; gap: 8px; }
.lp-ck-legend i { width: 14px; height: 10px; border-radius: 2px; background: rgba(255,100,100,.25); border-left: 2px solid var(--lp-err); }
.lp-btn:disabled { opacity: .45; cursor: default; }
.lp-tl-free { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 11px 16px; border-top: 1px solid var(--lp-border); font-size: 12px; color: var(--lp-faint); }
.lp-tl-free span { color: var(--lp-muted); background: var(--lp-surface-2); border: 1px solid var(--lp-border); border-radius: 6px; padding: 2px 8px; }
.lp-tl-free small { font-family: var(--lp-mono); color: var(--lp-faint); font-size: 10.5px; }
.lp-df { justify-content: flex-end; }
.lp-df .lp-btn { flex: none; }
.lp-df .lp-btn.danger { margin-right: auto; }
.lp-df .lp-btn.lp-primary { min-width: 0; }
/* ссылки «изменить / добавить / открыть» возле выпадающих списков — не нужны */
.related-widget-wrapper-link, .related-widget-wrapper .related-lookup { display: none !important; }
.related-widget-wrapper { display: block; }
/* иконка часов в полях времени: тёмная тема и так рисует её светлой — без invert */
.lp-time input::-webkit-calendar-picker-indicator { filter: none; opacity: .6; cursor: pointer; }
.lp-time input::-webkit-calendar-picker-indicator:hover { opacity: 1; }
input.lp-date::-webkit-calendar-picker-indicator { filter: none; opacity: .6; cursor: pointer; }

/* =================== служебные страницы (v3) =================== */
#content { padding-top: 28px; }
.lp-back { display: inline-block; color: var(--lp-muted) !important; font-size: 12.5px; margin-bottom: 8px; }
.lp-back:hover { color: var(--lp-text) !important; }
.lp-form-page #content-main, .lp-form-page #content > form { max-width: 920px; }
.lp-form-page.lp-narrow #content-main { max-width: 620px; }
.lp-form-page #content-main > form > div > p:first-child, .lp-form-page #content-main form > div > p { color: var(--lp-muted); }
.lp-form-page ul.object-tools { margin-top: -70px; }
.lp-form-page .module h2, .lp-form-page fieldset .fieldset-heading { font-size: 13px; }
.lp-form-page .flex-container { gap: 12px; }
.lp-form-page .aligned label { width: 190px; }
.lp-form-page form .aligned div.help, .lp-form-page form .aligned p.help { margin-left: 202px; padding-left: 0; }
.lp-form-page fieldset.collapse summary, .lp-form-page details summary { color: var(--lp-text); cursor: pointer; }
.lp-form-page .selector { gap: 12px; }
.lp-form-page .selector-available, .lp-form-page .selector-chosen { background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 10px; overflow: hidden; }
.lp-form-page .selector-available h2, .lp-form-page .selector-chosen h2 { border: 0; font-size: 12.5px; padding: 10px 12px; }
.lp-form-page .selector .selector-filter { border: 0; border-bottom: 1px solid var(--lp-border); background: transparent; padding: 8px; }
.lp-form-page .selector select { border: 0; border-radius: 0; font-size: 12px; }
.lp-form-page .selector-chooser { background: var(--lp-surface-2); border-radius: 10px; }
.lp-form-page .selector .help-tooltip, .lp-form-page .selector-available .help, .lp-form-page .selector-chosen .help { color: var(--lp-faint); }
.lp-form-page a.selector-chooseall, .lp-form-page a.selector-clearall { color: var(--lp-muted) !important; }
.lp-form-page input[type=checkbox] + label, .lp-form-page .checkbox-row label { color: var(--lp-text) !important; width: auto; }
.lp-form-page #content .password-reset-link, .lp-form-page #content-main a[href*="password"] { color: var(--lp-accent) !important; }
.lp-form-page .readonly a, .lp-form-page div.readonly a { color: var(--lp-accent) !important; }

/* подтверждения (удаление, перезагрузка, пароль изменён) */
.lp-confirm { max-width: 640px; margin: 6vh auto 0; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 16px; padding: 28px 30px 24px; }
.lp-confirm h1 { font-size: 21px !important; margin: 14px 0 6px !important; }
.lp-confirm .lp-sub { line-height: 1.55; }
.lp-confirm-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,100,100,.12); color: var(--lp-err); }
.lp-confirm.ok .lp-confirm-ico { background: rgba(61,220,151,.12); color: var(--lp-run); }
.lp-confirm-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.lp-sumchips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 4px; }
.lp-sumchips span { background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 8px; padding: 6px 10px; font-size: 12.5px; color: var(--lp-muted); }
.lp-sumchips b { color: var(--lp-text); font-family: var(--lp-mono); font-weight: 500; margin-left: 4px; }
.lp-objlist { margin-top: 14px; }
.lp-objlist summary { cursor: pointer; color: var(--lp-muted); font-size: 12.5px; }
.lp-objlist ul { margin: 10px 0 0; padding: 10px 14px 10px 28px; max-height: 240px; overflow: auto; background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 10px; font-size: 12px; color: var(--lp-muted); line-height: 1.6; }
.lp-objlist ul ul { max-height: none; border: 0; padding: 0 0 0 16px; margin: 0; background: none; }
.lp-objlist li { list-style: disc; padding: 0; }
.lp-objlist a { color: var(--lp-text) !important; }
.lp-confirm-btns { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
button.lp-danger-solid, .lp-btn.lp-danger-solid { background: var(--lp-err); border-color: var(--lp-err); color: #fff !important; font-weight: 600; }
.lp-btn.lp-danger-solid:hover { background: #ff7b7b; }
.lp-btn.lp-wide { width: 100%; justify-content: center; height: 44px; }
.lp-out-page #content .submit-row { display: block; }
.lp-wrap { white-space: normal !important; line-height: 1.5; padding-top: 10px !important; padding-bottom: 10px !important; height: auto !important; }
.lp-pos-n { color: var(--lp-text); font-weight: 500; }

.lp-blist td:first-child { white-space: nowrap; }
.lp-blist td:first-child a { display: inline-block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.lp-blist td, .lp-blist th { padding-left: 10px; padding-right: 10px; }

/* ======================= Мобильная версия (макет Pencil «— Mobile») ======================= */
.lp-mbar, .lp-mtabs, .lp-sch-m, .lp-pos-m { display: none; }
@media (max-width: 860px) {
  body { font-size: 14px; }
  #lp-side { display: none !important; }
  #container { padding-left: 0 !important; }
  #content { padding: 6px 16px 120px !important; }
  ul.messagelist { padding: 10px 16px 0; }
  .lp-head { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 16px; }
  .lp-head h1, #content > h1 { font-size: 26px !important; }
  .lp-head-tools { justify-content: flex-start; width: 100%; }
  .lp-head-tools .lp-search { flex: 1; }
  .lp-search input[type=text] { width: 100% !important; height: 42px; }

  /* шапка */
  .lp-mbar { display: flex; position: sticky; top: 0; z-index: 80; align-items: center; gap: 10px; padding: 12px 16px; background: rgba(13,14,16,.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
  .lp-mbar .lp-logo { width: 32px; height: 32px; border-radius: 9px; flex: none; }
  .lp-mbar .lp-switch { margin: 0; flex: none; }
  .lp-mbar .lp-switch a { padding: 6px 11px; font-size: 12.5px; }
  .lp-mmenu { margin-left: auto; position: relative; }
  .lp-mmenu summary { list-style: none; cursor: pointer; width: 36px; height: 36px; font-size: 13px; }
  .lp-mmenu summary::-webkit-details-marker { display: none; }
  .lp-mmenu-pop { position: absolute; right: 0; top: 44px; width: 260px; background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.55); padding: 6px; display: flex; flex-direction: column; }
  .lp-mmenu-user { padding: 10px 12px 12px; border-bottom: 1px solid var(--lp-border); margin-bottom: 4px; display: flex; flex-direction: column; gap: 3px; }
  .lp-mmenu-user small { color: var(--lp-faint); font-size: 11.5px; line-height: 1.4; }
  .lp-mmenu-pop a, .lp-mmenu-pop button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border-radius: 9px; background: none; border: 0; color: var(--lp-text) !important; font: 14px var(--lp-font); text-align: left; cursor: pointer; }
  .lp-mmenu-pop a:active, .lp-mmenu-pop button:active { background: var(--lp-surface-2); }
  .lp-mmenu-pop button.danger { color: var(--lp-err) !important; }
  .lp-mmenu-pop form { margin: 0; }
  .lp-mmenu-pop svg, .lp-mtabs svg, .lp-fab svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }

  /* нижний таб-бар */
  .lp-mtabs { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 85; gap: 10px; align-items: center; padding: 0 16px calc(12px + env(safe-area-inset-bottom)); pointer-events: none; }
  .lp-mtabs-bar { flex: 1; display: flex; gap: 2px; height: 58px; padding: 5px; box-sizing: border-box; border-radius: 29px; background: rgba(21,23,26,.9); border: 1px solid var(--lp-border); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); pointer-events: auto; }
  .lp-mtabs-bar a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border-radius: 24px; color: var(--lp-muted) !important; font-size: 10px; }
  .lp-mtabs-bar a svg { width: 20px; height: 20px; }
  .lp-mtabs-bar a.on { background: var(--lp-surface-2); color: var(--lp-text) !important; font-weight: 500; }
  .lp-mtabs-bar a.on svg { color: var(--lp-accent); }
  .lp-fab { width: 58px; height: 58px; flex: none; border-radius: 50%; background: var(--lp-accent); color: var(--lp-on-accent) !important; display: grid; place-items: center; pointer-events: auto; box-shadow: 0 10px 30px rgba(210,246,90,.25); }
  .lp-fab svg { width: 24px; height: 24px; stroke-width: 2.2; }
  body.login .lp-mbar, body.login .lp-mtabs, .lp-drawer-page .lp-mtabs { display: none !important; }

  /* --- задачи --- */
  .model-task.change-list .lp-head-tools .lp-btn { display: none; }
  .lp-sec-h { flex-wrap: wrap; }
  .lp-cards { grid-template-columns: 1fr; gap: 10px; }
  .lp-card { padding: 14px; }
  .lp-card footer { flex-direction: column; align-items: stretch; gap: 10px; }
  .lp-card-btns { width: 100%; }
  .lp-card-btns .lp-btn { flex: 1; justify-content: center; height: 38px; }
  .lp-mono-dim { order: 2; }
  .lp-table-bar { flex-direction: column; align-items: stretch; padding: 10px; gap: 8px; }
  .lp-tabs { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .lp-tabs::-webkit-scrollbar { display: none; }
  .lp-bar-tools .lp-select, .lp-bar-tools .lp-select select { width: 100%; max-width: none; }
  .lp-bar-tools .lp-select { flex: 1; }
  #lp-tasklist .lp-scroll { overflow: visible; }
  #lp-tasklist .lp-table thead { display: none; }
  #lp-tasklist .lp-table, #lp-tasklist .lp-table tbody { display: block; }
  #lp-tasklist .lp-table tr { display: grid; grid-template-columns: 28px auto 1fr 40px; grid-template-areas: "ch model status act" "ch win dur act" "ch batch batch act"; column-gap: 8px; row-gap: 4px; align-items: center; padding: 12px 12px; border-bottom: 1px solid var(--lp-border); }
  #lp-tasklist .lp-table tbody tr:last-child { border-bottom: 0; }
  #lp-tasklist .lp-table td { display: block; height: auto; padding: 0 !important; border: 0 !important; background: none !important; min-width: 0; }
  #lp-tasklist .c-check { grid-area: ch; align-self: start; padding-top: 3px !important; }
  #lp-tasklist .c-model { grid-area: model; }
  #lp-tasklist .c-status { grid-area: status; }
  #lp-tasklist .c-status .lp-chip { font-size: 11px; padding: 2px 8px; }
  #lp-tasklist .c-win { grid-area: win; font-size: 12px; }
  #lp-tasklist .c-win .lp-day { min-width: 0; margin-right: 6px; }
  #lp-tasklist .c-dur { grid-area: dur; font-size: 12px; color: var(--lp-faint); }
  #lp-tasklist .c-batch { grid-area: batch; font-size: 11.5px; color: var(--lp-faint); max-width: none; }
  #lp-tasklist .c-batch .lp-tag { font-size: 10px; padding: 0 5px; margin-right: 5px; }
  #lp-tasklist .c-who { display: none !important; }
  #lp-tasklist .c-act { grid-area: act; width: auto; text-align: right; display: flex !important; flex-direction: column; gap: 6px; align-items: flex-end; }
  #lp-tasklist .lp-ib { width: 34px; height: 34px; }
  #lp-tasklist tr.sel { background: rgba(210,246,90,.05); }
  .lp-table-foot { flex-direction: column; align-items: stretch; gap: 10px; }
  .lp-bulk { justify-content: space-between; }

  /* --- панель «Новая задача» = шторка снизу --- */
  .lp-behind { display: none; }
  .lp-drawer { top: 48px; left: 0; width: 100%; border-left: 0; border-top: 1px solid var(--lp-border); border-radius: 22px 22px 0 0; box-shadow: 0 -20px 60px rgba(0,0,0,.6); }
  .lp-drawer::before { content: ""; position: absolute; top: 8px; left: 50%; width: 38px; height: 5px; margin-left: -19px; border-radius: 3px; background: #3A3F45; }
  .lp-dh { padding: 22px 20px 14px; }
  .lp-db { padding: 4px 20px 18px; }
  .lp-durs > span { display: none; }
  .lp-durs { flex-wrap: nowrap; }
  .lp-durs .lp-pill { flex: 1; padding: 8px 0; text-align: center; }
  .lp-durs em { display: none; }
  .lp-time { height: 56px; flex-direction: column; align-items: flex-start !important; justify-content: center !important; gap: 0 !important; }
  .lp-time input { text-align: left; width: 100%; font-size: 20px !important; }
  .lp-opt-load { display: none; }
  .lp-grid2 { grid-template-columns: 1fr; }
  .lp-df { flex-wrap: wrap; padding: 12px 20px calc(18px + env(safe-area-inset-bottom)); }
  .lp-df .lp-btn.lp-primary { order: -1; width: 100%; height: 50px; justify-content: center; font-size: 15px; border-radius: 13px; }
  .lp-df .lp-btn:not(.lp-primary) { flex: 1; justify-content: center; }
  .lp-df .lp-btn.danger { margin-right: 0; }

  /* --- расписание --- */
  .lp-tl, .lp-legend { display: none !important; }
  .lp-sch-m { display: block; }
  .schedule-container, .lp-daynav { width: 100%; }
  .lp-daynav .lp-btn { flex: 1; justify-content: center; height: 42px; }
  .lp-daynav .lp-ib { width: 42px; height: 42px; }
  .lp-schedule-page .lp-head-tools > .lp-btn.lp-primary { display: none; }
  .lp-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
  .lp-kpis > div:not(.lp-legend) { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 12px; padding: 11px 13px; gap: 5px; }
  .lp-kpis b { font-size: 18px; }
  .lp-schm-card { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; overflow: hidden; margin-bottom: 14px; }
  .lp-schm-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 13px 14px 10px; }
  .lp-schm-h b { display: block; font-size: 15px; font-weight: 600; }
  .lp-schm-h small { color: var(--lp-faint); font-size: 11.5px; }
  .lp-schm-strip { display: grid; grid-template-columns: repeat(24, 1fr); gap: 1px; height: 22px; padding: 0 14px; }
  .lp-schm-strip i { border-radius: 2px; background: var(--lp-surface-2); }
  .lp-schm-strip i.done { background: #4A4F57; } .lp-schm-strip i.run { background: var(--lp-run); } .lp-schm-strip i.wait { background: rgba(242,184,75,.7); } .lp-schm-strip i.err { background: var(--lp-err); }
  .lp-schm-strip i.now { background: var(--lp-accent); }
  .lp-schm-ax { display: flex; justify-content: space-between; padding: 6px 14px 12px; font-family: var(--lp-mono); font-size: 10px; color: var(--lp-faint); }
  .lp-schm-runs { border-top: 1px solid var(--lp-border); }
  .lp-schm-runs a { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-bottom: 1px solid var(--lp-border); color: var(--lp-text) !important; }
  .lp-schm-runs a:last-child { border-bottom: 0; }
  .lp-schm-runs a > i { width: 3px; height: 30px; border-radius: 2px; background: #A9AEB5; flex: none; }
  .lp-schm-runs a.k-run > i { background: var(--lp-run); } .lp-schm-runs a.k-wait > i { background: var(--lp-wait); } .lp-schm-runs a.k-err > i { background: var(--lp-err); } .lp-schm-runs a.k-stop > i { background: #3A3F45; }
  .lp-schm-runs a > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  .lp-schm-runs b { font-weight: 500; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lp-schm-runs a.k-done b, .lp-schm-runs a.k-stop b { color: var(--lp-muted); }
  .lp-schm-runs small { font-family: var(--lp-mono); font-size: 11.5px; color: var(--lp-muted); }
  .lp-schm-runs em { font-style: normal; }
  .lp-schm-free { margin: 4px 0 18px; }
  .lp-schm-free small { display: block; color: var(--lp-faint); font-size: 12px; margin-bottom: 8px; }
  .lp-schm-free div { display: flex; flex-wrap: wrap; gap: 6px; }
  .lp-schm-free span { background: var(--lp-surface-2); border: 1px solid var(--lp-border); border-radius: 7px; padding: 4px 9px; font-size: 12px; color: var(--lp-muted); }

  /* --- позиции --- */
  .model-modelposition .lp-table-card:has(.lp-pos) { display: none; }
  .lp-table-card:has(table.lp-pos) { display: none; }
  .lp-pos-m { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
  .lp-posm-card { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
  .lp-posm-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
  .lp-posm-h b { font-size: 16px; font-weight: 600; }
  .lp-posm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .lp-posm-grid > div { background: var(--lp-bg); border: 1px solid var(--lp-border); border-radius: 9px; padding: 8px 10px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .lp-posm-grid small { font-size: 10px; color: var(--lp-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lp-posm-grid b { font-family: var(--lp-mono); font-size: 15px; font-weight: 500; }
  .lp-posm-grid em { font-style: normal; font-size: 10.5px; }
  .lp-posm-stats { display: flex; gap: 18px; font-family: var(--lp-mono); font-size: 14px; }
  .lp-posm-stats small { display: block; font-family: var(--lp-font); font-size: 10.5px; color: var(--lp-faint); margin-bottom: 2px; }
  .lp-charts { grid-template-columns: 1fr !important; }
  .lp-chart-bars { height: 90px; gap: 4px; }
  .lp-cb small { display: none; }
  .lp-chart-ax span:nth-child(even) { display: none; }

  /* --- пачки --- */
  .lp-md, .lp-md.wide-left { grid-template-columns: 1fr !important; }
  .lp-md .lp-empty-panel:not(.inner) { display: none; }
  .lp-md.has-current > .lp-blist { display: none; }
  .lp-blist th:nth-child(2), .lp-blist td:nth-child(2), .lp-blist th:nth-child(5), .lp-blist td:nth-child(5) { display: none; }
  .lp-blist td { height: 52px; }
  .lp-blist td:first-child a { max-width: 190px; }
  .lp-ph { flex-direction: column; align-items: stretch; padding: 14px; }
  .lp-ph-btns { justify-content: flex-end; }
  .lp-ph-t input { font-size: 17px !important; }
  .lp-pb { padding: 14px 14px 4px; }
  .lp-row2 .lp-seg label { font-size: 12px !important; padding: 8px 2px !important; }
  .lp-ckacts { flex-direction: column; align-items: stretch; }
  .lp-ckacts .lp-btn { justify-content: center; height: 40px; }
  .lp-pf { padding: 12px 14px; }
  .lp-pf .lp-btn { flex: 1; justify-content: center; }

  /* --- пользователи, формы, подтверждения --- */
  .lp-perms { order: -1; }
  .lp-utabs { overflow-x: auto; }
  .lp-form-page .aligned .flex-container, .lp-form-page .form-row .flex-container { flex-direction: column; align-items: stretch; }
  .lp-form-page .aligned label, .aligned label { width: auto !important; padding-top: 0 !important; margin-bottom: 4px; }
  .lp-form-page form .aligned div.help, .lp-form-page form .aligned p.help, form .aligned div.help { margin-left: 0 !important; }
  .lp-form-page .vTextField, .lp-form-page input[type=text], .lp-form-page input[type=password], .lp-form-page input[type=email] { width: 100% !important; box-sizing: border-box; }
  .lp-form-page ul.object-tools { margin: 0 0 12px; float: none; }
  .submit-row { flex-direction: column; align-items: stretch; }
  .submit-row input, .submit-row a { text-align: center; justify-content: center; }
  .lp-confirm { margin-top: 10px; padding: 22px 18px 18px; }
  .lp-confirm-btns { flex-direction: column-reverse; }
  .lp-confirm-btns .lp-btn { justify-content: center; height: 44px; }
  .lp-form-page .selector { flex-direction: column; }
  .lp-form-page .selector-available, .lp-form-page .selector-chosen { width: 100% !important; }
  #changelist { flex-direction: column; }
  #changelist-filter { width: 100%; flex: none; }
}
@media (max-width: 860px) {
  #lp-tasklist .lp-table tr { grid-template-columns: 28px minmax(0, auto) minmax(0, 1fr) 36px; }
  #lp-tasklist .c-model a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #lp-tasklist .c-status { justify-self: start; max-width: 100%; overflow: hidden; }
  #lp-tasklist .c-status .lp-chip { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .lp-table-bar .lp-bar-tools { width: 100%; box-sizing: border-box; }
  .lp-table-bar .lp-select select { box-sizing: border-box; height: 40px; }
  .lp-scrim { z-index: 90; }
  .lp-drawer { z-index: 95; top: 40px; }
  #lp-days button { font-size: 12.5px !important; padding: 9px 4px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lp-schm-done { border-top: 1px solid var(--lp-border); }
  .lp-schm-runs > a:last-of-type { border-bottom: 0; }
  .lp-schm-done summary { padding: 11px 14px; color: var(--lp-muted); font-size: 12.5px; cursor: pointer; list-style: none; }
  .lp-schm-done summary::-webkit-details-marker { display: none; }
  .lp-schm-done summary::before { content: '\203A'; display: inline-block; width: 14px; transition: transform .15s; }
  .lp-schm-done[open] summary::before { transform: rotate(90deg); }
  .lp-schm-done a { border-top: 1px solid var(--lp-border); border-bottom: 0 !important; }
}
/* логотип-ссылка в мобильной шапке: тёмная иконка на лаймовом (ссылкам по умолчанию задан светлый цвет) */
.lp-mbar a.lp-logo, .lp-mbar a.lp-logo:link, .lp-mbar a.lp-logo:visited { color: var(--lp-on-accent) !important; background: var(--lp-accent); display: grid; place-items: center; }
.lp-mbar a.lp-logo svg { stroke: var(--lp-on-accent); }
/* пачка и задача — свои раскладки на всю ширину, общее ограничение форм (920px) к ним не относится */
.model-accountbatch.lp-form-page #content-main, .model-accountbatch.lp-form-page #content > form,
.model-task.lp-form-page #content-main, .model-task.lp-form-page #content > form { max-width: none; }
.lp-hours input { width: 96px !important; }
.lp-chart-sub { display: block; color: var(--lp-faint); font-size: 11.5px; margin-top: 3px; font-weight: 400; }
.lp-chart-bars { gap: 4px; }
.lp-chart-bars .lp-cb small { white-space: nowrap; overflow: visible; }
@media (min-width: 861px) { .lp-chart-bars[style*="repeat(1"] .lp-cb small, .lp-chart-bars[style*="repeat(2"] .lp-cb small { font-size: 9px; } }
.lp-cb { align-items: center; }
.lp-cb i { width: 100%; max-width: 46px; }
.lp-cb i.z { max-width: none; }

/* лиги аккаунтов в карточке пачки */
.lp-leagues{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lp-leagues .lp-ck-legend{opacity:.7}
.lp-lg{font-size:12px;line-height:1;padding:4px 9px;border-radius:999px;background:#2a2f3a;color:#cbd3e1;text-transform:capitalize}
.lp-lg--diamond{background:#352a5c;color:#d9c6ff}
.lp-lg--gold{background:#4a3a12;color:#ffe08a}
.lp-lg--silver{background:#333a44;color:#cfd8e3}
.lp-lg--bronze{background:#3d2a1c;color:#e4b48c}
.lp-leagues details{flex-basis:100%}
