:root{
  color-scheme:dark;
  --bg:#0a0f16;
  --panel:#0d141d;
  --card:#101825;
  --line:#172236;
  --txt:#e9f0ff;
  --sub:#9eb3d1;
  --a:#35e0a1;
  --b:#3ea7ff;
  --bar-base-bg:#0f141b;
  --bar-base-text:#e9f0ff;
  --color-default-border:#1a2739;
  --color-default-text:#e9f0ff;
  --color-default-bg:var(--bar-base-bg);
  --colors-enabled:1;
  --btn-primary-bg:#17304d;
  --btn-primary-text:#eaf6ff;
  --btn-primary-border:#1f3a5f;
  --btn-secondary-bg:#1f3a2c;
  --btn-secondary-text:#eafff6;
  --btn-secondary-border:#2a5a43;
  --btn-danger-bg:#2b1a22;
  --btn-danger-text:#ffe4ef;
  --btn-danger-border:#553040;
  --tab-bg:#101b2a;
  --tab-border:#243653;
  --tab-active-bg:#1f3a5f;
  --tab-active-border:#3ea7ff;
  --tab-active-shadow:rgba(62,167,255,.4);
  --panel-muted:#0c141f;
  --panel-soft:#0d1624;
  --panel-strong:#162232;
  --chip-muted:#1b2a3d;
  --chip-muted-text:#9eb3d1;
  --break-missing-border:#ea580c;
  --break-missing-text:#ffe1c7;
  --break-missing-bg:var(--bar-base-bg);
  --break-done-border:#2e9c6a;
  --break-done-text:#c6ffe1;
  --break-done-bg:var(--bar-base-bg);
  --break-neutral-border:#94a3b8;
  --break-neutral-text:#0f172a;
  --break-neutral-bg:var(--bar-base-bg);
  --course-normal-badge-bg:#17304d;
  --course-normal-border:#23507a;
  --course-normal-text:#eaf6ff;
  --course-normal-item-border:#162232;
  --course-normal-item-bg:var(--bar-base-bg);
  --course-normal-item-text:var(--bar-base-text);
  --course-tech-badge-bg:#1a2f52;
  --course-tech-border:#2d4f8d;
  --course-tech-text:#d6e6ff;
  --course-tech-item-border:#2d4f8d;
  --course-tech-item-bg:var(--bar-base-bg);
  --course-tech-item-text:var(--bar-base-text);
  --course-ptsb-badge-bg:#2b1f4a;
  --course-ptsb-border:#4a3891;
  --course-ptsb-text:#eadbff;
  --course-ptsb-item-border:#5b3ea6;
  --course-ptsb-item-bg:var(--bar-base-bg);
  --course-ptsb-item-text:var(--bar-base-text);
  --course-awaria-badge-bg:#401f1f;
  --course-awaria-border:#7a3535;
  --course-awaria-text:#ffe5e5;
  --course-awaria-item-border:#a13a3a;
  --course-awaria-item-bg:var(--bar-base-bg);
  --course-awaria-item-text:var(--bar-base-text);
  --fifteen-none-border:#334155;
  --fifteen-none-text:#e2e8f0;
  --fifteen-none-bg:var(--bar-base-bg);
  --fifteen-missing-border:#c2410c;
  --fifteen-missing-text:#fff7ed;
  --fifteen-missing-bg:var(--bar-base-bg);
  --fifteen-done-border:#16a34a;
  --fifteen-done-text:#ecfdf5;
  --fifteen-done-bg:var(--bar-base-bg)
}

html[data-theme="midnight"]{
  --bg:#0a0f16;
  --panel:#0d141d;
  --card:#101825;
  --line:#172236;
  --txt:#e9f0ff;
  --sub:#9eb3d1;
  --a:#35e0a1;
  --b:#3ea7ff;
  --bar-base-bg:#0f141b;
  --bar-base-text:#e9f0ff;
  --color-default-border:#1a2739;
  --color-default-text:#e9f0ff;
  --color-default-bg:var(--bar-base-bg);
  --btn-primary-bg:#17304d;
  --btn-primary-text:#eaf6ff;
  --btn-primary-border:#1f3a5f;
  --btn-secondary-bg:#1f3a2c;
  --btn-secondary-text:#eafff6;
  --btn-secondary-border:#2a5a43;
  --btn-danger-bg:#2b1a22;
  --btn-danger-text:#ffe4ef;
  --btn-danger-border:#553040;
  --tab-bg:#101b2a;
  --tab-border:#243653;
  --tab-active-bg:#1f3a5f;
  --tab-active-border:#3ea7ff;
  --tab-active-shadow:rgba(62,167,255,.4);
  --panel-muted:#0c141f;
  --panel-soft:#0d1624;
  --panel-strong:#162232;
  --chip-muted:#1b2a3d;
  --chip-muted-text:#9eb3d1;
}

html[data-theme="aurora"]{
  --bg:#10182c;
  --panel:#152238;
  --card:#1b2942;
  --line:#233656;
  --txt:#f1f5ff;
  --sub:#c2d4f5;
  --a:#9bf5e4;
  --b:#d9b4ff;
  --bar-base-bg:#16253a;
  --bar-base-text:#f8faff;
  --color-default-border:#294060;
  --color-default-text:#f1f5ff;
  --color-default-bg:var(--bar-base-bg);
  --btn-primary-bg:#2b3f63;
  --btn-primary-text:#f1f5ff;
  --btn-primary-border:#3f5d8f;
  --btn-secondary-bg:#224c46;
  --btn-secondary-text:#dbfff6;
  --btn-secondary-border:#317366;
  --btn-danger-bg:#3e2647;
  --btn-danger-text:#ffddf3;
  --btn-danger-border:#5c3a68;
  --tab-bg:#1b2942;
  --tab-border:#32466a;
  --tab-active-bg:#2d4674;
  --tab-active-border:#d9b4ff;
  --tab-active-shadow:rgba(217,180,255,.35);
  --panel-muted:#192740;
  --panel-soft:#1f2f4e;
  --panel-strong:#233a5c;
  --chip-muted:#24375a;
  --chip-muted-text:#cbd9f8;
}

html[data-theme="mono"]{
  --bg:#101215;
  --panel:#181b20;
  --card:#1f232a;
  --line:#2a3038;
  --txt:#f3f4f6;
  --sub:#b8bdc7;
  --a:#d1d5db;
  --b:#94a3b8;
  --bar-base-bg:#1a1e25;
  --bar-base-text:#f3f4f6;
  --color-default-border:#2f3540;
  --color-default-text:#f3f4f6;
  --color-default-bg:var(--bar-base-bg);
  --btn-primary-bg:#2c313a;
  --btn-primary-text:#f3f4f6;
  --btn-primary-border:#3a404b;
  --btn-secondary-bg:#2a3330;
  --btn-secondary-text:#e7e9ec;
  --btn-secondary-border:#3a4742;
  --btn-danger-bg:#3a2a30;
  --btn-danger-text:#f8e9ee;
  --btn-danger-border:#544249;
  --tab-bg:#1f232a;
  --tab-border:#2f3540;
  --tab-active-bg:#2f3540;
  --tab-active-border:#94a3b8;
  --tab-active-shadow:rgba(148,163,184,.35);
  --panel-muted:#20242b;
  --panel-soft:#272c34;
  --panel-strong:#2d333d;
  --chip-muted:#2c313a;
  --chip-muted-text:#d4d6da;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--txt);font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif}
.hidden{display:none !important}
.app{display:flex;flex-direction:column;min-height:100vh}
.appbar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--line)}
.right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.clockWrap{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;min-width:0;text-align:right;gap:4px}
.clockWrap>*{white-space:nowrap}
.clockTime{color:var(--sub);font-variant-numeric:tabular-nums;font-weight:700}
.clockDate{color:color-mix(in srgb,var(--sub) 80%,#fff);font-size:12px;font-weight:600}
.btn{border-radius:12px;padding:12px 14px;font-weight:800;cursor:pointer;border:1px solid transparent}
.btn1{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-border)}
.btn2{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border)}
.btnDanger{background:var(--btn-danger-bg);color:var(--btn-danger-text);border-color:var(--btn-danger-border)}
.btnDanger:hover{background:color-mix(in srgb,var(--btn-danger-bg) 85%,#000)}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:12px;padding:12px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.headerModes{margin-left:auto;margin-right:8px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--b) 16%,transparent);border:1px solid color-mix(in srgb,var(--b) 45%,transparent);color:var(--b);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.headerModes.hidden{display:none !important}
label{display:block;color:var(--sub);font-size:12px;margin:4px 0}
input[type=text],input[type=password],input[type=number],input[type=time],input[type=checkbox],input[type=month],select{padding:12px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--txt);font-family:inherit;font-size:14px}
select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%239eb3d1' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:36px;cursor:pointer}
.list{display:flex;flex-direction:column;gap:10px}
#plList{max-height:none;overflow:visible;padding-right:0;flex:0 0 auto}
.planModalNav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px 0}
.planModalNav .btn{flex:1 1 0;min-width:160px}
.planGroup{display:flex;flex-direction:column;gap:6px;min-width:0}
.planGroup--mode{margin-bottom:6px}
.planGrid{display:flex;flex-direction:column;gap:12px;margin:6px 0 12px 0}
.planGroup .small{margin:0}
.planGroup--span2{grid-column:span 2}
.planDayMode{display:flex;flex-wrap:wrap;gap:8px}
.planDayModeOption{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sub);cursor:pointer}
.planDayModeOption input{margin:0}
.planDayModeOption span{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel-soft);color:inherit}
.planDayModeOption input:checked+span{border-color:var(--a);background:color-mix(in srgb,var(--a) 20%,var(--panel-soft));color:var(--a)}
.planSources{display:flex;flex-direction:column;gap:6px;background:var(--panel-muted);border:1px solid var(--line);border-radius:10px;padding:10px}
.planSource{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px}
.planSourceLabel{font-weight:700;color:var(--txt)}
.planSourceValue{font-variant-numeric:tabular-nums;color:var(--txt)}
.planSourceIndex{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--chip-muted);color:var(--chip-muted-text);font-size:12px;font-weight:800;margin-right:6px}
.planSourceSummary{background:var(--panel-strong);border-color:var(--line)}
.planSource.active{border-color:var(--a);background:color-mix(in srgb,var(--a) 16%,var(--panel-soft))}
.planSource.active .planSourceLabel{color:var(--a)}
.planSource.active .planSourceValue{color:var(--a)}
.planSourcesNote{margin-top:6px;color:var(--sub);font-size:12px}
.planListHeader{margin-top:6px;color:var(--sub);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.planHiddenInfo{color:color-mix(in srgb,var(--sub) 85%,#fff);margin-top:6px}
.planEmpty{padding:10px;background:var(--panel-muted);border:1px dashed var(--line);border-radius:10px;color:var(--sub);text-align:center}
.planFreeNotice{padding:14px;border-radius:10px;border:1px dashed var(--line);background:var(--panel-muted);color:var(--sub);font-weight:800;text-align:center}
.planFreeNotice.hidden{display:none !important}
.planRow{align-items:flex-end}
.planRow > *{flex:1;min-width:160px}
.planRow button{flex:0}
.planRow.planRow--add{margin-top:6px}
.planRow.planRow--add button{min-width:140px}
.planAddActions{display:flex;flex-direction:column;gap:6px;flex:0}
.planAddActions button{width:100%}
#mPlan .win{width:min(900px,96vw);max-height:92vh;display:flex;flex-direction:column}
.planModalBody{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:8px;margin-right:-8px}
.planModalBody::-webkit-scrollbar{width:6px}
.planModalBody::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.planModalFooter{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.importModeModal{width:min(480px,92vw);display:flex;flex-direction:column;gap:18px}
.importModeButtons{display:flex;flex-direction:column;gap:10px}
.planItemMain{display:flex;flex-direction:column;gap:4px}
.planMeta{margin-top:2px;color:color-mix(in srgb,var(--sub) 85%,#fff);font-size:12px;line-height:1.4}
.planItemBefore{background:linear-gradient(180deg,rgba(27,32,45,.6),rgba(16,21,31,.6))}
.planBeforeBadge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:1px 6px;border-radius:6px;background:var(--panel-strong);color:var(--sub);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.planActions{display:flex;flex-direction:column;gap:6px}
.planActions button{min-width:140px}
.planItemStatus{color:var(--sub);font-size:12px}
.planItemStatus--imported{color:var(--a);font-weight:800}
.planItem--imported{border-color:color-mix(in srgb,var(--a) 65%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--a) 35%,transparent)}
.planItem--editing{border-color:var(--b);box-shadow:0 0 0 1px color-mix(in srgb,var(--b) 45%,transparent)}
.item{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--color-default-bg,var(--bar-base-bg));border:1px solid var(--color-default-border);border-radius:10px;padding:10px;color:var(--color-default-text,var(--bar-base-text))}
.tag{background:linear-gradient(180deg,#27e59e,#35e0a1);color:#001;border-radius:8px;padding:6px 8px;font-weight:900}
.breakSep{display:flex;align-items:center;gap:8px;border-radius:10px;padding:8px 10px;font-weight:700;border:1px solid var(--break-neutral-border,var(--color-default-border));background:var(--break-neutral-bg,var(--bar-base-bg));color:var(--break-neutral-text,var(--bar-base-text));box-shadow:0 0 0 1px var(--break-neutral-border,var(--color-default-border))}
.breakSep--done{border-color:var(--break-done-border,var(--color-default-border));color:var(--break-done-text,var(--bar-base-text));background:var(--break-done-bg,var(--bar-base-bg));box-shadow:0 0 0 1px var(--break-done-border,var(--color-default-border))}
.breakSep--neutral{border-color:var(--break-neutral-border,var(--color-default-border));color:var(--break-neutral-text,var(--bar-base-text));background:var(--break-neutral-bg,var(--bar-base-bg));box-shadow:0 0 0 1px var(--break-neutral-border,var(--color-default-border))}
.breakSep--missing{border-color:var(--break-missing-border,var(--color-default-border));color:var(--break-missing-text,var(--bar-base-text));background:var(--break-missing-bg,var(--bar-base-bg));box-shadow:0 0 0 1px var(--break-missing-border,var(--color-default-border))}
.planBreakSep{background:linear-gradient(180deg,#101825,#0b1016)}
.badge15{background:#1e2a0f;color:#a6ff88;border:1px solid #355a1a;border-radius:8px;padding:2px 6px;font-weight:900}
.summaryCard{background:var(--panel-muted);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;cursor:pointer}
.summaryHeader{display:flex;align-items:center;gap:10px;color:var(--sub);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.summaryHeadlineValue{margin-left:auto;margin-right:8px;color:var(--a);font-size:14px;font-weight:900;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
#summaryToggleIcon{margin-left:auto}
.summaryContent{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.summaryCard.collapsed .summaryContent{display:none}
.tile{text-align:center}.tile h4{margin:0;color:var(--sub);font-size:12px}.val{font-weight:900;font-size:18px}
.tab{background:var(--tab-bg);color:var(--txt);border:1px solid var(--tab-border);border-radius:12px;padding:12px 16px;font-weight:800}
.tabSwitcher{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.tabSwitcherBtn{background:var(--tab-bg);color:var(--txt);border:1px solid var(--tab-border);border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.tabSwitcherBtn.active{background:var(--tab-active-bg);border-color:var(--tab-active-border);color:var(--txt);box-shadow:0 0 0 1px var(--tab-active-shadow)}
.tabPane{display:flex;flex-direction:column;gap:10px}
.planTabSummary{color:var(--sub)}
.planTabEmpty{color:var(--sub)}
.planTabControls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:6px}
.lineChangeNotice{display:flex;align-items:center;gap:8px;border-radius:10px;padding:6px 10px;font-weight:700;border:1px dashed color-mix(in srgb,var(--b) 35%,var(--line));background:color-mix(in srgb,var(--panel) 85%,var(--b));color:var(--txt)}
.lineChangeNotice strong{color:var(--b)}
.btnDisabled{opacity:.5;pointer-events:none}
.mainTabSwitcher{display:flex;gap:8px;margin:12px;flex-wrap:wrap}
.mainTabBtn{background:var(--tab-bg);color:var(--txt);border:1px solid var(--tab-border);border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}
.mainTabBtn.active{background:var(--tab-active-bg);border-color:var(--tab-active-border);color:var(--txt);box-shadow:0 0 0 1px var(--tab-active-shadow)}
.mainTabPane{display:none;flex-direction:column;gap:14px;flex:1 0 auto;min-height:0}
.mainTabPane.active{display:flex}
.freeNoticeCard{display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;color:var(--sub);padding:18px;border:1px dashed var(--line);background:var(--panel-muted)}
.workCard{display:flex;flex-direction:column;gap:12px}
.workCardHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}
.workDuration{font-size:26px;font-weight:900;color:var(--a)}
.workStatus{color:var(--sub);font-weight:600}
.workTimes{display:flex;gap:16px;flex-wrap:wrap;color:var(--sub);font-weight:600}
.workTimes span{color:var(--txt);font-weight:800}
.workActions{display:flex;gap:10px;flex-wrap:wrap}
.workActionBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:200px}
.workActionBtn:disabled{opacity:.4;cursor:not-allowed}
.workActionIcon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#27e59e,#35e0a1);color:#042614;font-weight:900;font-size:12px;box-shadow:0 2px 6px rgba(25,128,70,.4)}
.btnDanger .workActionIcon{background:linear-gradient(180deg,#f97316,#ea580c);color:#2b1102;box-shadow:0 2px 6px rgba(234,88,12,.35)}
.btnOutline{background:transparent;color:var(--txt);border:1px solid var(--tab-border);border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}
.btnOutline:hover{background:var(--tab-bg)}
.btnOutline:disabled{opacity:.4;cursor:not-allowed}
.courseFilterBar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.courseFilterBtn{border:1px solid var(--line);background:var(--panel);color:var(--txt);padding:6px 16px;border-radius:999px;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.courseFilterBtn:hover{border-color:color-mix(in srgb,var(--b) 40%,transparent);background:color-mix(in srgb,var(--b) 10%,transparent)}
.courseFilterBtn:focus{outline:2px solid var(--b);outline-offset:2px}
.courseFilterBtn.active{background:color-mix(in srgb,var(--b) 18%,transparent);border-color:color-mix(in srgb,var(--b) 55%,transparent);color:var(--b)}
.summaryNavBar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 12px 0 12px;flex-wrap:wrap}
.summaryNavCenter{display:flex;justify-content:center;flex:1;min-width:220px}
.summaryNavCenter .btn{min-width:220px}
.summaryStatsCard{background:var(--panel-muted);border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px;display:flex;flex-direction:column;gap:12px}
.summaryStatsHeader{display:flex;align-items:center;justify-content:space-between}
.summaryStatsTitle{margin:0;color:var(--sub);text-transform:uppercase;font-size:13px;letter-spacing:.06em}
.summaryStatsNav{display:flex;flex-direction:column;gap:12px}
.summaryStatsMainTabs,.summaryStatsSubTabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.summaryStatsMainBtn,.summaryStatsTabBtn{border:1px solid var(--line);background:var(--panel);color:var(--txt);font-weight:700;padding:6px 16px;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.summaryStatsMainBtn:hover,.summaryStatsTabBtn:hover{border-color:color-mix(in srgb,var(--b) 45%,transparent);background:color-mix(in srgb,var(--b) 12%,transparent)}
.summaryStatsMainBtn:focus,.summaryStatsTabBtn:focus{outline:2px solid var(--b);outline-offset:2px}
.summaryStatsMainBtn.active,.summaryStatsTabBtn.active{background:color-mix(in srgb,var(--b) 18%,transparent);border-color:color-mix(in srgb,var(--b) 55%,transparent);color:var(--b)}
.summaryStatsPickerLabel{font-weight:700;color:var(--sub);display:flex;align-items:center;gap:8px}
.summaryStatsSubTabs input[type="month"],.summaryStatsSubTabs select{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 12px;color:var(--txt);font-weight:600;min-width:140px}
.summaryStatsSubTabs input[type="month"]:focus,.summaryStatsSubTabs select:focus{outline:2px solid var(--b);outline-offset:2px}
.summaryStatsStatus{font-size:13px;color:var(--sub);font-weight:600}
.summaryStatsStatus--info{color:#60a5fa}
.summaryStatsStatus--error{color:#f97316}
.statsPane{display:none;flex-direction:column;gap:12px}
.statsPane:not(.hidden){display:flex}
.statsDescription{color:color-mix(in srgb,var(--sub) 85%,#fff);font-size:13px;margin:6px 0 4px 0}
.statsDiffGrid{display:flex;flex-direction:column;gap:8px;--statsDiffNumberWidth:clamp(7ch,12vw,12ch)}
.statsDiffHeader{display:grid;grid-template-columns:minmax(0,1fr) var(--statsDiffNumberWidth) var(--statsDiffNumberWidth) var(--statsDiffNumberWidth);gap:10px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--panel) 85%,var(--b));border:1px solid color-mix(in srgb,var(--line) 80%,transparent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--sub) 80%,#fff)}
.statsDiffHeader span{text-align:right}
.statsDiffHeader span:first-child{text-align:left}
.statsDiffHeaderPlan,.statsDiffPlan{color:color-mix(in srgb,var(--sub) 75%,#fff)}
.statsDiffHeaderActual,.statsDiffActual{color:var(--txt)}
.statsDiffHeaderDelta{text-align:right;color:var(--txt)}
.statsDiffRow{display:grid;grid-template-columns:minmax(0,1fr) var(--statsDiffNumberWidth) var(--statsDiffNumberWidth) var(--statsDiffNumberWidth);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.statsDiffLabel{font-weight:700;color:var(--txt)}
.statsDiffPlan,.statsDiffActual,.statsDiffDelta{text-align:right;font-family:"JetBrains Mono",Menlo,Consolas,monospace;font-size:13px;color:inherit;white-space:nowrap}
.statsDiffDelta{font-weight:700;color:var(--txt)}
.statsDiffDelta--positive{color:#16a34a}
.statsDiffDelta--negative{color:#dc2626}
.statsDiffDelta--neutral{color:var(--sub)}
.dayFreeNotice{margin:12px;color:#fef08a;background:color-mix(in srgb,#fef08a 12%,transparent);border:1px solid color-mix(in srgb,#facc15 40%,transparent);border-radius:12px;padding:12px;font-weight:700;text-align:center}
.have15Status{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-weight:800;font-size:16px;border:1px solid var(--fifteen-none-border,var(--color-default-border));background:var(--fifteen-none-bg,var(--bar-base-bg));color:var(--fifteen-none-text,var(--bar-base-text));min-width:150px;text-align:center;justify-self:center}
.have15Status--missing{border-color:var(--fifteen-missing-border,var(--color-default-border));color:var(--fifteen-missing-text,var(--bar-base-text));background:var(--fifteen-missing-bg,var(--bar-base-bg))}
.have15Status--done{border-color:var(--fifteen-done-border,var(--color-default-border));color:var(--fifteen-done-text,var(--bar-base-text));background:var(--fifteen-done-bg,var(--bar-base-bg))}
.workModal{width:min(480px,92vw);max-height:90vh;display:flex;flex-direction:column}
.workModalBody{flex:1 1 auto;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:6px;margin-right:-6px}
.workModalBody::-webkit-scrollbar{width:6px}
.workModalBody::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.workModalTabs{display:flex;flex-wrap:wrap;gap:8px}
.workModalTabBtn{border:1px solid var(--line);background:var(--panel);color:var(--txt);font-weight:700;padding:6px 16px;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.workModalTabBtn:hover{border-color:color-mix(in srgb,var(--b) 45%,transparent);background:color-mix(in srgb,var(--b) 12%,transparent)}
.workModalTabBtn:focus{outline:2px solid var(--b);outline-offset:2px}
.workModalTabBtn.active{background:color-mix(in srgb,var(--b) 18%,transparent);border-color:color-mix(in srgb,var(--b) 55%,transparent);color:var(--b)}
.workModalPane{display:none;flex-direction:column;gap:12px}
.workModalPane.active{display:flex}
.workModalTime{font-size:32px;font-weight:900;color:var(--txt);text-align:center}
.workModalPrimary{align-self:flex-end}
.workModalFooter{justify-content:flex-end}
.statusBar{margin:16px 0 0 0;padding:16px 12px;border:1px solid var(--color-default-border);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bar-base-bg);position:sticky;bottom:0;margin-top:auto;z-index:10}
.stDot{width:10px;height:10px;border-radius:50%}
.stA{background:#34d399}.stC{background:#60a5fa}.stF{background:#cbd5e1}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center}
.login .box{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}
.loginLogo{font-size:42px;text-align:center;margin-bottom:12px}
.loginTitle{margin:0 0 18px 0;text-align:center;color:var(--b);font-weight:800;font-size:22px}
.formGroup{display:flex;flex-direction:column;gap:6px}
.formGroup+.formGroup{margin-top:12px}
.formRow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.loginActions{margin-top:16px}
.checkboxLabel{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin:0}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:40}
#mPicker{z-index:50}
.win{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;min-width:320px;max-width:92vw}
#mSettings .win{max-height:90vh;display:flex;flex-direction:column}
#mSettings .modalBody{flex:1 1 auto;overflow-y:auto;padding-right:8px;margin-right:-8px}
#mSettings .modalBody::-webkit-scrollbar{width:6px}
#mSettings .modalBody::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.modalTitle{margin:0 0 14px 0;font-size:18px;font-weight:800;color:var(--txt)}
.modalBody{display:flex;flex-direction:column;gap:18px}
.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.pickerModal{max-width:520px;width:min(520px,90vw);padding:24px;display:flex;flex-direction:column;gap:16px}
.pickerBody{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow:auto;padding-right:4px;margin-right:-4px}
.pickerBody::-webkit-scrollbar{width:8px}
.pickerBody::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--line) 80%,var(--b));border-radius:999px}
.pickerSearchRow input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--txt);font-size:14px}
.pickerSearchRow input:focus{outline:2px solid var(--b);outline-offset:1px}
.pickerFilterRow{display:flex;gap:8px;flex-wrap:wrap}
.pickerFilterBtn{border:1px solid var(--line);background:var(--panel);color:var(--txt);font-weight:700;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.pickerFilterBtn:hover{border-color:color-mix(in srgb,var(--b) 45%,transparent);background:color-mix(in srgb,var(--b) 12%,transparent)}
.pickerFilterBtn:focus{outline:2px solid var(--b);outline-offset:2px}
.pickerFilterBtn.active{background:color-mix(in srgb,var(--b) 18%,transparent);border-color:color-mix(in srgb,var(--b) 55%,transparent);color:var(--b)}
.pickerList{display:flex;flex-direction:column;gap:6px}
.pickerOption{display:flex;align-items:flex-start;gap:12px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--panel) 85%,var(--b));border:1px solid transparent;cursor:pointer}
.pickerOption:hover{border-color:var(--b)}
.pickerOption input{margin-top:4px}
.pickerOptionText{display:flex;flex-direction:column;gap:4px}
.pickerOptionMain{font-weight:700;color:var(--txt)}
.pickerOptionMeta{font-size:12px;color:color-mix(in srgb,var(--sub) 80%,#fff)}
.pickerEmpty{font-size:14px;color:color-mix(in srgb,var(--sub) 80%,#fff)}
.pickerNew{display:flex;flex-direction:column;gap:6px}
.pickerNewRow{display:flex;gap:8px;align-items:center}
.pickerNewRow input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--txt);font-size:14px}
.pickerNewRow input:focus{outline:2px solid var(--b);outline-offset:1px}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px}
.dayc{padding:8px;border-radius:8px;text-align:center;cursor:pointer;border:1px solid var(--line);background:var(--panel)}
.dayc.empty{opacity:.25;cursor:default}
.dayc.free{border-color:color-mix(in srgb,var(--sub) 60%,var(--line));color:color-mix(in srgb,var(--sub) 85%,#fff)}
.dayc.work{border-color:color-mix(in srgb,var(--a) 60%,var(--line));color:var(--a)}
.dayc.today{border-color:var(--b);box-shadow:0 0 0 1px var(--b) inset}
.small{color:var(--sub);font-size:13px}
.bottom-spacer{display:none}
.addRow{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:6px 0 8px 0}
.btnStartSegment{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--a) 22%,var(--panel));color:var(--txt);border:1px solid color-mix(in srgb,var(--a) 40%,transparent)}
.btnStartSegment:hover{background:color-mix(in srgb,var(--a) 32%,var(--panel))}
.btnStartSegmentIcon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:linear-gradient(180deg,#27e59e,#35e0a1);color:#042614;font-weight:900;font-size:12px;box-shadow:0 2px 6px rgba(25,128,70,.4)}
.courseModal{width:min(640px,92vw);max-width:92vw;max-height:92vh;display:flex;flex-direction:column}
.courseModalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.modalCloseBtn{border:1px solid var(--line);background:var(--panel);color:var(--txt);border-radius:10px;padding:6px 10px;font-weight:700;cursor:pointer;line-height:1}
.modalCloseBtn:hover{background:color-mix(in srgb,var(--b) 12%,var(--panel))}
.modalCloseBtn:focus{outline:2px solid var(--b);outline-offset:2px}
.courseModalBody{flex:1 1 auto;overflow-y:auto;padding-right:8px;margin-right:-8px;gap:18px}
.courseModalBody::-webkit-scrollbar{width:6px}
.courseModalBody::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.courseTabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.courseTabBtn{background:var(--tab-bg);color:var(--txt);border:1px solid var(--tab-border);border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:6px}
.courseTabBtn.active{background:var(--tab-active-bg);border-color:var(--tab-active-border);color:var(--txt);box-shadow:0 0 0 1px var(--tab-active-shadow)}
.courseTabPane{display:none;flex-direction:column;gap:14px}
.courseTabPane.active{display:flex}
.courseTypeLabel{color:var(--sub);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.courseTypePicker{display:flex;flex-wrap:wrap;gap:8px}
.courseTypeOption{display:inline-flex;align-items:center;gap:6px;background:var(--tab-bg);border:1px solid var(--tab-border);border-radius:10px;padding:8px 10px;font-weight:700;cursor:pointer}
.courseTypeOption input{margin:0}
.courseTypeOption span{color:var(--txt);font-size:13px}
.courseTypeOption input:checked + span{color:var(--a)}
.courseStartModes{display:flex;flex-direction:column;gap:6px}
.courseModeOption{display:inline-flex;align-items:center;gap:8px;color:var(--txt);font-weight:600}
.courseActions{justify-content:flex-end}
.courseInfo{min-height:18px;color:var(--sub)}
.courseInfo.success{color:var(--a)}
.courseInfo.error{color:color-mix(in srgb,#f87171 85%,#fff)}
.courseEndpointRow{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
.courseEndpointGroup{flex:1 1 220px;min-width:200px;display:flex;flex-direction:column;gap:6px}
.courseEndpointLabel{color:var(--sub);font-weight:700;font-size:13px;min-height:32px;display:flex;align-items:center}
.courseEndpointBtn{align-self:flex-start}
.courseEndpointValue{display:flex;align-items:center;min-height:40px;padding:8px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-weight:700;color:var(--txt)}
.courseEndpointGroup .small{margin-top:4px}
.segmentMain{display:flex;flex-direction:column;gap:6px}
.segmentHeader{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.segmentTimes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.segmentMeta{display:flex;align-items:center;gap:10px;color:var(--sub);font-size:12px}
.segmentMetaDetails{margin-top:4px;color:color-mix(in srgb,var(--sub) 85%,#fff);font-size:12px;line-height:1.4}
.segmentDuration{font-weight:800;color:var(--txt)}
.segmentActions{display:flex;gap:6px}
.segmentStatus{display:inline-flex;align-items:center;gap:4px;color:#ffe9b0;font-weight:600}
.segmentTypeBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.segmentTypeBadge--normal{background:var(--course-normal-badge-bg,var(--color-default-border));border:1px solid var(--course-normal-border,var(--color-default-border));color:var(--course-normal-text,var(--bar-base-text))}
.segmentTypeBadge--tech{background:var(--course-tech-badge-bg,var(--color-default-border));border:1px solid var(--course-tech-border,var(--color-default-border));color:var(--course-tech-text,var(--bar-base-text))}
.segmentTypeBadge--ptsb{background:var(--course-ptsb-badge-bg,var(--color-default-border));border:1px solid var(--course-ptsb-border,var(--color-default-border));color:var(--course-ptsb-text,var(--bar-base-text))}
.segmentTypeBadge--awaria{background:var(--course-awaria-badge-bg,var(--color-default-border));border:1px solid var(--course-awaria-border,var(--color-default-border));color:var(--course-awaria-text,var(--bar-base-text))}
.segmentLineTag{display:inline-flex;align-items:center;gap:6px;margin-right:6px;padding:4px 10px;border-radius:999px;font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--b);border:1px solid color-mix(in srgb,var(--b) 45%,transparent);background:color-mix(in srgb,var(--b) 16%,transparent)}
.item.segmentItem{align-items:stretch}
.item--type-normal{background:var(--course-normal-item-bg,var(--bar-base-bg));border-color:var(--course-normal-item-border,var(--color-default-border));box-shadow:0 0 0 1px var(--course-normal-item-border,var(--color-default-border));color:var(--course-normal-item-text,var(--bar-base-text))}
.item--type-tech{background:var(--course-tech-item-bg,var(--bar-base-bg));border-color:var(--course-tech-item-border,var(--color-default-border));box-shadow:0 0 0 1px var(--course-tech-item-border,var(--color-default-border));color:var(--course-tech-item-text,var(--bar-base-text))}
.item--type-ptsb{background:var(--course-ptsb-item-bg,var(--bar-base-bg));border-color:var(--course-ptsb-item-border,var(--color-default-border));box-shadow:0 0 0 1px var(--course-ptsb-item-border,var(--color-default-border));color:var(--course-ptsb-item-text,var(--bar-base-text))}
.item--type-awaria{background:var(--course-awaria-item-bg,var(--bar-base-bg));border-color:var(--course-awaria-item-border,var(--color-default-border));box-shadow:0 0 0 1px var(--course-awaria-item-border,var(--color-default-border));color:var(--course-awaria-item-text,var(--bar-base-text))}
.item.segmentActual{flex-direction:column;align-items:stretch;gap:10px}
.segmentSummary{display:flex;align-items:stretch;gap:12px}
.segmentActual .segmentMain{flex:1;min-width:0}
.segmentActual .segmentActions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.segmentActual .segmentActions .btn{width:120px}
.segmentMetaWrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.segmentExpand{background:transparent;color:var(--sub);border:1px solid transparent;padding:6px 10px;border-radius:999px;cursor:pointer;font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:6px}
.segmentExpand:hover{border-color:var(--line);color:var(--txt)}
.segmentActual .segmentDetails{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);display:none}
.segmentActual .segmentDetails:not(.hidden){display:block}
.segmentActual--expanded{box-shadow:0 0 0 1px rgba(62,167,255,.25)}
.segmentDetailsSection{display:flex;flex-direction:column;gap:8px}
.segmentDetailsSection+.segmentDetailsSection{margin-top:12px}
.segmentDetailsTitle{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--sub)}
.segmentPlanSummary{font-size:13px;color:var(--txt);font-weight:700}
.segmentDetailsBody{font-size:13px;color:var(--txt)}
.segmentDiffGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.segmentDiffRow{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;background:var(--bar-base-bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12px}
.segmentDiffLabel{font-weight:700;color:var(--sub)}
.segmentDiffValue{font-weight:700;color:var(--txt)}
.segmentDiffDelta{font-weight:800;justify-self:end}
.segmentDiffDelta--late{color:#f97316}
.segmentDiffDelta--early{color:#22c55e}
.segmentDiffDelta--ontime{color:#38bdf8}
.segmentDiffDelta--pending{color:#94a3b8}
.segmentLockBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--sub) 18%,transparent);color:color-mix(in srgb,var(--sub) 95%,#fff);font-weight:700;font-size:11px}
.planItemMain .segmentTypeBadge{margin-bottom:4px}
.planItemMain .segmentHeader{margin-bottom:4px}
.planItemMain .segmentMeta{margin-top:0}
.planItemMain .segmentTimes{gap:6px}
.planItemMain .segmentTypeBadge{font-size:10px}
@media (max-width:820px){ .summaryContent{grid-template-columns:repeat(2,1fr)} .row{gap:8px} }
@media (max-width:820px){ .planRow{gap:8px} }
@media (max-width:640px){
  .planGrid{grid-template-columns:1fr}
  .planGroup--span2{grid-column:span 1}
  .planRow{flex-direction:column;align-items:stretch}
  .planRow > *{width:100%;min-width:0}
  .planRow button{width:100%}
  .planActions{width:100%}
  .planActions button{width:100%;min-width:0}
  .planAddActions{width:100%}
  .planSources{padding:10px 12px}
  #mPlan .win{max-height:92vh}
}
@media (max-width:560px){
  .appbar{flex-wrap:wrap;align-items:flex-start}
  .right{width:100%;gap:6px}
  .clockWrap{flex-direction:row;justify-content:flex-end;align-items:center}
  .clockDate{font-size:11px}
  .menuWrap{width:100%;display:flex;justify-content:flex-end}
  .summaryNavBar{margin:12px 12px 0 12px;flex-direction:column}
  .summaryNavCenter{min-width:100%;width:100%}
  .summaryNavCenter .btn{min-width:0;width:100%}
}
.menuWrap{position:relative}
.menuBtn{display:flex;align-items:center;gap:6px}
.menuPanel{position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:210px;z-index:50;box-shadow:0 12px 24px rgba(0,0,0,.35);max-height:min(70vh,420px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.menuPanel button{border:none;border-radius:10px;padding:9px 12px;text-align:left;font-weight:700;background:var(--panel);color:var(--txt);border:1px solid var(--line);cursor:pointer}
.menuPanel button:hover{background:color-mix(in srgb,var(--b) 18%,var(--panel))}
.menuPanel button.disabled{opacity:.4;pointer-events:none}
.importBox{width:100%;min-height:140px;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--txt);font-family:inherit;resize:vertical}
.importInfo{min-height:18px}
.importInfo.success{color:var(--a)}
.importInfo.error{color:color-mix(in srgb,#f87171 85%,#fff)}
.statsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:10px 0}
.statsSection{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px}
.statsSection h4{margin:0 0 8px 0;color:var(--sub);text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.statsRow{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:14px}
.settingsCard{display:flex;flex-direction:column;gap:18px}
.settingsCardHeader h3{margin:0;color:var(--sub);text-transform:uppercase;font-size:13px;letter-spacing:.06em}
.settingsActions{display:flex;justify-content:flex-end;gap:10px;margin-top:auto}
.settingsActions .btn{min-width:140px}
.settingsCardHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}
.settingsBodyScroll{flex:1 1 auto;display:flex;flex-direction:column;gap:18px;overflow-y:auto;padding-right:8px;margin-right:-8px}
.settingsBodyScroll::-webkit-scrollbar{width:6px}
.settingsBodyScroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.settingsGroup{display:flex;flex-direction:column;gap:6px}
.settingsGroup input[type=number]{max-width:160px}
.settingsGroup--toggle{gap:10px}
.settingsGroup--colors{gap:12px}
.settingsTabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px 0}
.settingsTabBtn{background:var(--tab-bg);color:var(--txt);border:1px solid var(--tab-border);border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.settingsTabBtn.active{background:var(--tab-active-bg);border-color:var(--tab-active-border);color:var(--txt);box-shadow:0 0 0 1px var(--tab-active-shadow)}
.settingsTabBtn:focus{outline:2px solid var(--b);outline-offset:2px}
.settingsTabPane{display:flex;flex-direction:column;gap:16px}
.settingsTabPane.hidden{display:none}
.settingsColorRow{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.settingsColorRow + .settingsColorRow{margin-top:6px}
.settingsColorInfo{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.settingsColorInfo label{margin:0;color:var(--sub);font-size:13px;font-weight:700}
.settingsColorToggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--sub)}
.settingsColorToggle input{accent-color:var(--b)}
.settingsColorControls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.settingsColorPicker{display:flex;flex-direction:column;gap:4px;min-width:120px}
.settingsColorPicker span{color:var(--sub);font-size:12px;font-weight:600}
.settingsColorPicker input[type=color]{width:56px;height:32px;border:none;padding:0;background:transparent;cursor:pointer}
.settingsColorMode{display:flex;flex-direction:column;gap:4px;min-width:160px}
.settingsColorMode span{color:var(--sub);font-size:12px;font-weight:600}
.settingsColorMode select{width:100%}
.settingsColorRow--disabled{opacity:.5}
.settingsGroup .small{margin:0}
.settingsEndpointForm{display:flex;flex-direction:column;gap:8px}
.settingsEndpointRow{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.settingsEndpointField{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px;font-weight:600;color:var(--sub)}
.settingsEndpointField--manual{flex-basis:100%}
.settingsEndpointField input,.settingsEndpointField select,.settingsEndpointField textarea{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--txt);font-size:14px;font-family:inherit}
.settingsEndpointField textarea{min-height:72px;resize:vertical}
.settingsEndpointField--manual textarea{min-height:96px}
.settingsEndpointHint{font-size:12px;font-weight:500;color:color-mix(in srgb,var(--sub) 75%,#fff);display:block}
.settingsLineTypeField{max-width:220px}
.settingsLineFields{display:flex;flex-direction:column;gap:18px}
.settingsLineField--type select{min-width:200px}
.settingsLineField--picker{gap:8px}
.lineSelectedList{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:36px;padding:4px 0}
.lineSelectedEmpty{font-size:13px;color:color-mix(in srgb,var(--sub) 70%,#fff)}
.lineChip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--panel) 70%,var(--b));border:1px solid color-mix(in srgb,var(--line) 80%,var(--b));color:var(--txt);font-size:13px;font-weight:600}
.linePickerBtn{align-self:flex-start}
.settingsEndpointField input:focus,.settingsEndpointField select:focus{outline:2px solid var(--b);outline-offset:1px}
.settingsEndpointField textarea:focus{outline:2px solid var(--b);outline-offset:1px}
.settingsEndpointAddBtn{align-self:flex-end;padding:10px 16px}
.settingsNotice{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600}
.settingsNotice.hidden{display:none}
.settingsNotice--error{background:color-mix(in srgb,#f87171 12%,transparent);border:1px solid color-mix(in srgb,#f87171 45%,transparent);color:#ffe7ee}
.settingsNotice--success{background:color-mix(in srgb,var(--a) 12%,transparent);border:1px solid color-mix(in srgb,var(--a) 45%,transparent);color:color-mix(in srgb,var(--a) 90%,#fff)}
.settingsNotice--info{background:var(--panel-muted);border:1px solid var(--line);color:var(--sub)}
.settingsEmpty{margin-top:12px;color:var(--sub)}
.settingsEndpointsList{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.settingsLinesFilters{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.settingsLinesFilterBtn{border:1px solid var(--line);background:var(--panel);color:var(--txt);font-weight:700;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.settingsLinesFilterBtn:hover{border-color:color-mix(in srgb,var(--b) 45%,transparent);background:color-mix(in srgb,var(--b) 12%,transparent)}
.settingsLinesFilterBtn:focus{outline:2px solid var(--b);outline-offset:2px}
.settingsLinesFilterBtn.active{background:color-mix(in srgb,var(--b) 18%,transparent);border-color:color-mix(in srgb,var(--b) 55%,transparent);color:var(--b)}
.settingsEndpointItem{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;transition:box-shadow .2s ease}
.settingsEndpointItem[open]{box-shadow:0 0 0 1px color-mix(in srgb,var(--b) 35%,transparent)}
.settingsEndpointSummary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;color:var(--txt);font-weight:800;cursor:pointer;list-style:none}
.settingsEndpointSummary::-webkit-details-marker{display:none}
.settingsEndpointSummaryName{flex:1;min-width:0}
.settingsEndpointSummaryChips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.settingsLineSummaryMain{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.settingsLineSummaryMeta{font-size:12px;color:var(--sub);font-weight:600}
.settingsLineSummaryBadges{display:flex;align-items:center;gap:6px;margin-left:12px}
.settingsLineTypeBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--b) 16%,transparent);border:1px solid color-mix(in srgb,var(--b) 45%,transparent);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--b)}
.settingsEndpointSummaryType{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--b) 16%,transparent);border:1px solid color-mix(in srgb,var(--b) 45%,transparent);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--b)}
.settingsEndpointSummaryMeta{font-size:12px;color:var(--sub);font-weight:700}
.settingsEndpointBody{padding:12px 12px 16px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line)}
.settingsEndpointFields{display:flex;flex-wrap:wrap;gap:12px}
.settingsEndpointMeta{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--sub)}
.settingsEndpointMetaGroup{display:flex;flex-direction:column;gap:2px}
.settingsEndpointMetaTitle{font-weight:800;color:var(--txt);text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.settingsEndpointMetaValue{color:var(--sub);line-height:1.4}
.settingsEndpointActions{display:flex;gap:8px;justify-content:flex-end}
.statsRow span{color:var(--sub)}
