.issues{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-6)} .issues .ui-page-header{margin-bottom:0} .issue-filters{display:flex;flex-direction:column;gap:var(--space-3)} .issue-filters__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)} .issue-filters__search{flex:1 1 280px;min-width:0;max-width:480px} .issue-filters__row .ui-btn .ui-badge{margin-left:var(--space-2)} .issue-filters__row .ui-btn[aria-pressed="true"],.issue-filters__row .ui-btn[aria-expanded="true"]{border-color:var(--color-border-selected);color:var(--color-action-primary)} .issue-filters__chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)} .issue-filters__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3) var(--space-4)} @media (max-width:899.98px){.issue-filters__grid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:639.98px){.issue-filters__grid{grid-template-columns:minmax(0,1fr)}.issue-filters__search{max-width:none}} /* прокрутка внутри панели — только на узких экранах: overflow на предке отключает липкую шапку страницы */ @media (max-width:1099.98px){.issue-table-wrap{overflow-x:auto}} .issue-table th:first-child{border-top-left-radius:calc(var(--radius-xl) - 1px)} .issue-table th:last-child{border-top-right-radius:calc(var(--radius-xl) - 1px)} .issue-table tbody tr:last-child td:first-child{border-bottom-left-radius:calc(var(--radius-xl) - 1px)} .issue-table tbody tr:last-child td:last-child{border-bottom-right-radius:calc(var(--radius-xl) - 1px)} .issue-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-body);line-height:var(--lh-body)} .issue-table th,.issue-table td{height:44px;padding:0 var(--space-3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border-default)} .issue-table tbody tr:last-child td{border-bottom:0} .issue-table th{position:sticky;top:0;z-index:1;background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:600;white-space:nowrap} .issue-table td{color:var(--color-text-primary)} .issue-table tbody tr{cursor:pointer} .issue-table tbody tr:hover td{background:var(--color-bg-hover)} .issue-table__key{white-space:nowrap} .issue-table__key a{font-family:var(--font-mono);font-size:13px;color:var(--color-action-primary);text-decoration:none;margin-right:var(--space-2)} .issue-table__key a:hover{text-decoration:underline} .issue-table__sum{min-width:240px} .issue-table td.overdue{color:var(--color-status-error);font-weight:600} .issues__hint{margin:0;color:var(--color-text-secondary)} .issues__more{display:flex;justify-content:center} /* карточка задачи в окне (design 13, 19): всё через токены */ .issue{font-size:var(--fs-body);line-height:var(--lh-body)} .issue a{color:var(--color-action-primary)} .issue a.ui-btn{color:var(--color-text-primary);text-decoration:none} .issue .hint{margin:0;font-size:var(--fs-body);color:var(--color-text-secondary)} .issue--state{padding-top:var(--space-6)} .issue-head{position:sticky;top:0;z-index:1;background:var(--color-bg-surface);padding:var(--space-6) 0 var(--space-4);border-bottom:1px solid var(--color-border-default);margin-bottom:var(--space-5)} .issue-head .row1{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap} .issue-head .key{font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--color-text-secondary)} .issue-head .spacer{flex:1 1 auto} .issue-head h2{margin:var(--space-3) 0 var(--space-1);font-size:var(--fs-section);line-height:var(--lh-section);font-weight:700;overflow-wrap:anywhere} .issue-head .facts{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-1);color:var(--color-text-secondary)} .issue-head .ui-notice{margin-top:var(--space-3)} .issue .cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-6);align-items:start} .issue .main{min-width:0;display:flex;flex-direction:column;gap:var(--space-5)} .issue .side.ui-panel{min-width:0;display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-bg-subtle)} .issue .side>*+*{border-top:1px solid var(--color-border-default);padding-top:var(--space-4)} @media (max-width:899.98px){ .issue .cols{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4)} .issue .main{display:contents} .issue .side.ui-panel{display:contents} /* на узком экране разделы правой колонки — отдельные панели, заметки идут первыми */ .issue .side>*{background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-4);min-width:0} .issue .side>*+*{border-top:1px solid var(--color-border-default);padding-top:var(--space-4)} .issue .side .note{order:-1} .issue .side .other{order:1} .issue .side .commands{order:2} } .issue section,.issue form{margin:0} .issue h3{margin:0;font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:600;color:var(--color-text-primary)} .issue .sec-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--control-h);margin-bottom:var(--space-2)} .issue .sec-head .ui-btn--ghost{padding:0 var(--space-2);margin-right:calc(-1*var(--space-2))} .issue .sec-head .ui-btn--secondary{padding:0 var(--space-3)} .issue .more{padding:0 var(--space-2);margin-left:calc(-1*var(--space-2))} .issue .links-sec>h3{margin-bottom:var(--space-2)} .issue .group{margin:0 0 var(--space-3)} .issue .group:last-child{margin-bottom:0} .issue .group h4{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:600;margin:0 0 var(--space-1);color:var(--color-text-secondary)} .issue .links{list-style:none;margin:0;padding:0} .issue .links li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-1) 0} .issue .links li>a{font-family:var(--font-mono);font-size:13px;text-decoration:none} .issue .links li>a:hover{text-decoration:underline} .issue .links .tag{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--color-text-secondary);min-width:76px} .issue .links .sum{flex:1 1 200px;min-width:0;overflow-wrap:anywhere} .issue .links .absent{color:var(--color-text-secondary);font-style:italic} .issue .description{background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-3);margin:0 0 var(--space-1);line-height:1.5;overflow-wrap:anywhere} .issue pre.description{white-space:pre-wrap;font:inherit;line-height:1.5} .issue pre.description.clamped{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden; /* нижний отступ — рамкой цвета фона: overflow обрезает по краю padding, и в нижнем padding была видна 9-я строка */ padding-bottom:0;border-bottom:var(--space-3) solid var(--color-bg-subtle);box-shadow:0 1px 0 var(--color-border-default)} .issue div.description.clamped{max-height:12em;overflow:hidden; /* рендер: блочное содержимое line-clamp не режет — ограничение высотой ≈ 8 строк (line-height 1.5, design #8, R-5) */ padding-bottom:0;border-bottom:var(--space-3) solid var(--color-bg-subtle);box-shadow:0 1px 0 var(--color-border-default)} .issue .comments>ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column} .issue .comments>ul>li{padding:var(--space-3) 0;border-top:1px solid var(--color-border-default)} .issue .comments>ul>li:first-child{border-top:0;padding-top:0} .issue .comments .c-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--control-h);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--color-text-secondary)} .issue .comments .c-head .ui-btn{padding:0 var(--space-2);margin-right:calc(-1*var(--space-2));font-size:var(--fs-caption)} .issue .comments pre.body{white-space:pre-wrap;font:inherit;margin:0;overflow-wrap:anywhere} .issue .fields{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin:0} .issue .fields dt{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--color-text-secondary)} .issue .fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere} .issue .other>h3{margin-bottom:var(--space-2)} .issue .commands>h3{margin-bottom:var(--space-2)} .issue .commands summary{cursor:pointer;font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:600;border-radius:var(--radius-xs)} .issue .commands summary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px} .issue .cmd-wrap{margin-top:var(--space-2);overflow-x:auto} .issue .commands table{border-collapse:collapse;font-size:var(--fs-caption);line-height:var(--lh-caption);width:100%} .issue .commands th{text-align:left;font-weight:600;color:var(--color-text-secondary);white-space:nowrap} .issue .commands th,.issue .commands td{padding:var(--space-1) var(--space-2) var(--space-1) 0;border-bottom:1px solid var(--color-border-default);vertical-align:top} /* служебные заметки (design 20) */ .note{display:flex;flex-direction:column;gap:var(--space-3)} .note fieldset{display:flex;flex-direction:column;gap:var(--space-3);border:0;margin:0;padding:0;min-width:0} .note .row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)} .note .note-confirm{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);font-size:var(--fs-body);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-surface)} .note.view .hint{margin-top:var(--space-3);font-size:var(--fs-caption);line-height:var(--lh-caption)} /* окно карточки задачи (design 13): размер и рамка — Dialog size="lg"; прокрутка и шапка — здесь */ .ui-dialog.issue-modal{padding:0} .issue-modal > .issue{padding:0 var(--space-6) var(--space-6)} @media (max-width:700px){ .issue-modal > .issue{padding:0 var(--space-4) var(--space-4)} /* узкий экран: шапка не липкая, «Закрыть» остаётся справа в первой строке, «Открыть в Jira» уходит во вторую */ .issue-head{position:static;padding-top:var(--space-4)} .issue-head .spacer{order:1} .issue-head .ui-icon-btn{order:2} .issue-head a.ui-btn{order:3} } .issue .ui-notice__text{font-size:var(--fs-body);line-height:var(--lh-body)}