/* Journal / KTP: shared Phoenix surfaces, compact desktop rows, touch controls. */
.jb { --ktp-soft:var(--bg,#f4f5f7); }
.jb-heading { align-items:flex-start; }
.jb-heading h1 { font-size:clamp(24px,2.6vw,34px); letter-spacing:-.025em; }
.jb-heading p { line-height:1.6; }
.jb-top { margin-bottom:16px; }
.jb-filters { padding:16px; border-radius:20px; background:var(--card,#fff); gap:14px; }
.jb-filters select { border:0; background:var(--ktp-soft); min-height:44px; font-size:15px; }
.jb-tabs { border:0; padding:5px; gap:4px; border-radius:16px; }
.jb-tabs button { min-height:44px; flex:1; font-size:13px; }
.jb-lesson-fields textarea,.ktp-modal-field textarea,.ktp-modal-field input {
 display:block; width:100%; min-width:0; margin-top:6px; font:inherit; font-size:16px;
 line-height:1.5; color:var(--ink,#1e2025); background:var(--card,#fff);
 border:1px solid var(--line,#e8e8ee); border-radius:14px; padding:12px 14px; resize:vertical;
}
.jb-lesson-fields { grid-template-columns: minmax(0,2fr) minmax(190px,1fr); align-items:start; }
.jb [hidden],#ktp-file[hidden] { display:none!important; }
.ktp-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:28px 0 20px; }
.ktp-heading h2 { font-size:23px; line-height:1.25; letter-spacing:-.02em; margin:9px 0; }
.ktp-heading p { font-size:14px; color:var(--ink3); margin:0; line-height:1.6; }
.ktp-icon { display:grid; place-items:center; flex-shrink:0; width:58px; height:58px; border-radius:18px; background:#fff0e7; color:#e36124; }
.ktp-icon svg { width:26px; height:26px; }
.ktp-toolbar,.ktp-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:16px 0; }
.ktp-toolbar .btn,.ktp-actions .btn,.ktp-inline-note .btn { min-height:44px; font-size:13px; padding:11px 16px; line-height:1.3; margin:0; }
.ktp-toolbar .btn svg { width:17px; height:17px; }
.ktp-subjects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.ktp-subjects button { display:flex; align-items:center; gap:14px; padding:20px; border:0; border-radius:18px; background:var(--card,#fff); color:var(--ink); text-align:left; cursor:pointer; font:inherit; }
.ktp-subjects button>span:nth-child(2) { flex:1; min-width:0; }
.ktp-subjects b { display:block; font-size:15px; line-height:1.4; }
.ktp-subjects small { display:block; font-size:12px; color:var(--ink3); margin-top:6px; }
.ktp-stats { display:flex; gap:26px; align-items:center; flex-wrap:wrap; margin:0; }
.ktp-stats>span { font-size:12px; color:var(--ink3); white-space:nowrap; }
.ktp-stats b { color:var(--ink); font-size:24px; font-weight:750; margin-right:5px; }
.ktp-plan-meta { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; margin:22px 0; }
.ktp-plan-meta>small { color:var(--ink3); font-size:12px; }
.ktp-table-wrap { border-radius:18px; background:var(--card,#fff); overflow:auto; max-height:64vh; overscroll-behavior:contain; }
.ktp-table { border-collapse:separate; border-spacing:0; width:100%; table-layout:fixed; font-size:13px; line-height:1.6; }
.ktp-table th { text-align:left; font-size:11px; font-weight:650; color:var(--ink3); padding:14px 18px; background:var(--card,#fff); position:sticky; top:0; z-index:1; border-bottom:1px solid var(--line); }
.ktp-table th:first-child { width:84px; }
.ktp-table th:nth-child(2) { width:49%; }
.ktp-table td { padding:18px; vertical-align:top; border-bottom:1px solid var(--line); white-space:pre-wrap; overflow-wrap:anywhere; }
.ktp-table tr:last-child td { border-bottom:0; }
.ktp-table td>b { font-weight:650; display:block; }
.ktp-table small { display:block; color:var(--ink3); font-size:11px; line-height:1.5; margin-top:7px; }
.ktp-table tr:hover td { background:var(--ktp-soft); }
.ktp-preview { padding:22px; background:var(--card,#fff); border-radius:22px; margin-top:20px; }
.ktp-preview-title { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.ktp-preview-title>div { min-width:0; }
.ktp-preview h3 { margin:9px 0; font-size:17px; overflow-wrap:anywhere; line-height:1.5; }
.ktp-destination { font-size:13px; color:var(--ink3); line-height:1.6; }
.ktp-source-title { font-size:12px; color:var(--ink3); line-height:1.6; overflow-wrap:anywhere; }
.ktp-warnings { background:var(--ktp-soft); padding:14px 16px; border-radius:13px; margin:16px 0; font-size:12px; line-height:1.6; }
.ktp-warnings summary { cursor:pointer; font-weight:650; }
.ktp-warnings ul { margin:10px 0 0; padding-left:20px; }
.ktp-preview .ktp-table-wrap { max-height:420px; border:1px solid var(--line); }
.ktp-replace { display:flex!important; align-items:flex-start; gap:10px; font-size:13px!important; line-height:1.6; color:var(--ink)!important; margin:18px 0; }
.ktp-replace input { flex-shrink:0; width:18px; height:18px; margin:2px 0 0; accent-color:#ff681c; }
.ktp-inline-note { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; background:var(--card,#fff); border-radius:16px; padding:14px 18px; color:var(--ink3); font-size:13px; line-height:1.5; }
.ktp-lesson { border-radius:20px; background:var(--card,#fff); padding:20px; margin:18px 0; }
.ktp-inline-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.ktp-inline-heading b { display:flex; align-items:center; gap:9px; font-size:15px; }
.ktp-inline-heading svg { width:18px; height:18px; color:#ff681c; }
.ktp-inline-heading>span { color:var(--ink3); font-size:11px; }
.ktp-picker { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,2fr); gap:12px; }
.ktp-lesson .ktp-actions { margin-bottom:0; }
.ktp-homework { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-radius:18px; background:var(--card,#fff); font-size:13px; margin-bottom:18px; }
.ktp-homework>div { min-width:0; flex:1; }
.ktp-homework p { line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; margin:8px 0; }
.ktp-homework small { color:var(--ink3); font-size:11px; line-height:1.5; }
.ktp-homework .btn { flex-shrink:0; font-size:13px; min-height:44px; }
.ktp-modal-field { display:block; margin:16px 0; font-size:13px; color:var(--ink3); }
.ktp-current-hw { padding:14px; background:var(--bg); border-radius:14px; font-size:13px; }
.ktp-current-hw p { white-space:pre-wrap; line-height:1.6; }
@media(min-width:981px){
 .jb-student { padding:14px 20px; grid-template-columns:minmax(180px,1fr) minmax(380px,1.2fr); }
 .jb-grid thead th { position:sticky; top:0; z-index:2; background:var(--card); }
 .jb-grid th:first-child { position:sticky; left:0; z-index:3; background:var(--card); }
}
@media(max-width:760px){
 .jb-top .jb-eyebrow { display:none; }
 .jb-filters { padding:12px; gap:12px; border-radius:18px; }
 .jb-filters select { padding:11px 9px; font-size:14px; }
 .jb-tabs button { flex:0 0 auto; padding:11px 13px; font-size:12px; }
 .jb-lesson-fields { grid-template-columns:1fr; }
 .ktp-heading { align-items:flex-start; margin-top:22px; gap:12px; }
 .ktp-heading h2 { font-size:21px; }
 .ktp-heading p { font-size:13px; }
 .ktp-icon { width:44px; height:44px; border-radius:14px; }
 .ktp-subjects { grid-template-columns:1fr; }
 .ktp-toolbar { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
 .ktp-toolbar .btn { font-size:12px; padding:11px 8px; }
 .ktp-preview { padding:16px; }
 .ktp-preview-title { display:block; }
 .ktp-preview-title>.btn { margin-bottom:10px; min-height:44px; }
 .ktp-stats { gap:17px; }
 .ktp-stats b { font-size:21px; }
 .ktp-picker { grid-template-columns:1fr; }
 .ktp-lesson { padding:16px; }
 .ktp-inline-heading { flex-wrap:wrap; }
 .ktp-homework { align-items:stretch; flex-direction:column; gap:12px; padding:16px; }
 .ktp-homework .btn { align-self:flex-start; }
 .ktp-table-wrap { max-height:60vh; background:transparent; }
 .ktp-table,.ktp-table tbody,.ktp-table tr,.ktp-table td { display:block; width:auto; }
 .ktp-table thead { display:none; }
 .ktp-table tr { padding:14px; margin-bottom:10px; background:var(--card,#fff); border-radius:16px; border:1px solid var(--line); }
 .ktp-table td { padding:0; border:0; }
 .ktp-table td:first-child { display:flex; gap:10px; align-items:center; color:var(--ink3); font-size:11px; margin-bottom:8px; }
 .ktp-table td:first-child small { margin:0; }
 .ktp-table td:last-child { margin-top:12px; padding-top:10px; border-top:1px solid var(--line); font-size:12px; }
 .ktp-table td:last-child::before { content:'Домашнее задание'; display:block; color:var(--ink3); font-size:10px; margin-bottom:5px; }
 .ktp-table tr:hover td { background:transparent; }
 .ktp-preview .ktp-table-wrap { border:0; }
}
[data-theme=dark] .ktp-icon { background:#3c2c23; color:#ffab7a; }
