/* Platform hub is a dialog with a header, tabs and ONE scrolling content region.
   The inner <main> must not inherit page margins or grid intrinsic sizing. */
.modal-card.platform-v30:has(>.platform-v30-body) {
 display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:0;
 width:min(1180px,calc(100vw - 32px));height:min(860px,calc(100dvh - 32px));
 max-height:calc(100dvh - 32px);padding:0;overflow:hidden;align-content:stretch;
}
.platform-v30>.platform-v30-head {padding:16px 20px;min-width:0;flex-wrap:nowrap;gap:16px}
.platform-v30-head h2 {font-size:22px;line-height:1.3;overflow-wrap:anywhere}
.platform-v30-head>[data-close] {display:grid;place-items:center;min-width:40px;min-height:40px;flex-shrink:0}
.platform-v30>.platform-v30-tabs {align-items:center;align-self:stretch;min-height:58px;padding:8px 16px;margin:0;gap:6px}
.platform-v30-tabs>button {height:40px;min-height:40px;align-self:center;padding:8px 12px;white-space:nowrap;font-size:13px;line-height:1.4}
.platform-v30>.platform-v30-body {
 margin:0;width:100%;max-width:none;height:auto;min-width:0;min-height:0;
 padding:18px 20px 24px;align-self:stretch;justify-self:stretch;
 overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;
}
.platform-v30-body>.platform-v30-toolbar {width:100%;margin-bottom:16px;align-items:flex-start;gap:12px;flex-wrap:wrap}
.platform-v30-toolbar>div {min-width:0;flex:1 1 300px}
.platform-v30-toolbar p {margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.platform-v30-toolbar>b {font-size:16px}
.platform-v30-toolbar>span:not(.platform-status) {display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;flex-wrap:wrap}
.platform-v30-toolbar>span:not(.platform-status)>:is(input,select) {width:auto;min-width:160px;max-width:100%;flex:1 1 160px}
.platform-v30-toolbar .platform-status {max-width:100%;overflow-wrap:anywhere;white-space:normal}
.platform-v30-body>.platform-v30-grid {width:100%;align-items:start;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.platform-v30-body .compact-empty {grid-column:1/-1;padding:20px 16px;margin:0;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2);font-size:13px;line-height:1.5}
.platform-v30-body>h3 {font-size:16px;margin:20px 0 12px}
.platform-v30-body .platform-v30-board {
 display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:none;
 grid-auto-flow:column;grid-auto-columns:minmax(220px,280px);align-items:start;
 overflow-x:auto;padding-bottom:14px;scrollbar-gutter:stable;
}
.platform-v30-board .platform-v30-column {min-height:280px;min-width:0;padding:10px}
.platform-v30-column>header {gap:8px;align-items:center;font-size:13px}
.platform-v30-ticket {font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.platform-v30-card :is(h3,p,small),.platform-v30-file>span,.platform-audit article>span {min-width:0;overflow-wrap:anywhere}
.platform-v30-card footer button,.platform-v30-toolbar button {display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.4}
.platform-v30-file {padding:10px 0;gap:10px}
.platform-v30-file .ui-icon {width:18px;height:18px}
.platform-v30-file [data-favorite-file] {min-width:40px;min-height:40px;padding:8px}
.platform-audit {width:100%;max-width:100%}
.platform-audit article {padding:10px 12px}
.platform-audit code {max-width:200px;overflow-wrap:anywhere;white-space:normal}
@media(max-width:780px) {
 .modal:has(>.platform-v30>.platform-v30-body) {padding:8px;align-items:center}
 .modal-card.platform-v30:has(>.platform-v30-body) {width:100%;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px}
 .platform-v30>.platform-v30-head {padding:12px;gap:8px}
 .platform-v30-head h2 {font-size:19px}
 .platform-v30>.platform-v30-tabs {padding:6px 10px;min-height:56px}
 .platform-v30-tabs>button {height:44px;min-height:44px;padding:8px 10px}
 .platform-v30>.platform-v30-body {padding:12px 12px max(16px,env(safe-area-inset-bottom))}
 .platform-v30-body>.platform-v30-toolbar {flex-direction:column;align-items:stretch;gap:10px}
 .platform-v30-toolbar>div {flex:auto}
 .platform-v30-toolbar>span:not(.platform-status) {width:100%;flex:auto}
 .platform-v30-toolbar>span:not(.platform-status)>:is(input,select) {width:100%;min-width:0;flex-basis:100%}
 .platform-v30-toolbar>.primary {align-self:flex-start}
 .platform-v30-body>.platform-v30-grid {grid-template-columns:minmax(0,1fr)}
 .platform-v30-body .platform-v30-board {grid-template-columns:none;grid-auto-columns:minmax(220px,82vw);scroll-snap-type:x proximity}
 .platform-v30-column {scroll-snap-align:start}
 .platform-audit-summary {grid-template-columns:repeat(2,minmax(0,1fr))}
 .platform-v30-file {grid-template-columns:36px minmax(0,1fr) 44px}
 .platform-v30-file [data-favorite-file] {min-width:44px;min-height:44px}
 .platform-audit article {grid-template-columns:36px minmax(0,1fr)}
 .platform-audit code {grid-column:2;justify-self:start;max-width:100%}
}

.platform-v30-file button[data-value="true"] .ui-icon {fill:var(--teal);color:var(--teal)}
