/* Constrain the page grid independently of the scrollable timeline's intrinsic
   width. Nested grids/flex items must also be allowed to shrink on phones. */
#policy-console { grid-template-columns:minmax(0,1fr); }
#policy-console > *, #sessionPolicy .workspace > *, .console-overview > *, .console-technical > * { min-width:0; }
#policy-console .brand, #policy-console .status, .console-section { overflow-wrap:anywhere; }
#policy-console input, #policy-console select { min-width:0; }
.console-nav, .console-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.console-nav a { color:var(--accent-strong); padding:8px; }
.console-section { margin:16px; scroll-margin-top:12px; }
.console-section > h2 { margin-bottom:16px; }
.console-section .workspace { padding:0; }
.console-section .controls-grid { margin-bottom:16px; }
.console-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:16px 0; }
.console-overview ul { padding-left:20px; }
.console-overview p, .console-overview li { margin:8px 0; overflow-wrap:anywhere; }
.console-experience-form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:16px 0; }
.console-experience-form label { min-width:150px; }
.console-parameters { display:flex; flex:1 1 320px; min-width:0; flex-wrap:wrap; gap:12px; }
.console-parameters label { width:160px; }
.console-parameters input { width:100%; }
.console-timeline-wrap { overflow-x:auto; margin:16px 0; border:1px solid var(--line); }
.console-timeline { position:relative; height:250px; min-width:700px; background:var(--panel-soft); }
.console-timeline-axis { position:absolute; left:15%; right:5%; bottom:26px; border-top:1px solid var(--muted); display:flex; justify-content:space-between; font-size:.75rem; }
.console-lane-label { position:absolute; left:8px; color:var(--muted); font-size:.75rem; }
.console-event { position:absolute; width:15px; min-height:15px; height:15px; padding:0; border-radius:50%; background:var(--accent); transform:translate(-50%,-50%); z-index:2; }
.console-event[data-lane="playback"] { background:var(--blue); }
.console-event[data-lane="guidance"] { background:var(--warn); }
.console-event[data-lane="authority"] { background:var(--risk); }
.console-event:hover, .console-event:focus-visible { outline:3px solid white; z-index:4; }
.console-period { position:absolute; height:16px; background:rgba(118,212,123,.2); border-left:2px solid var(--accent); }
.console-metrics { position:absolute; top:170px; left:15%; width:80%; height:45px; overflow:visible; }
.console-detail { min-height:96px; padding:12px; background:var(--bg); overflow-wrap:anywhere; white-space:pre-wrap; font-size:.85rem; }
.console-projection { border:2px dashed var(--blue); padding:16px; margin:16px 0; }
.console-projection h3 { color:var(--blue); }
.console-projection ol { display:flex; flex-wrap:wrap; gap:24px; padding-left:24px; }
.console-technical { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.console-technical section { min-width:0; }
.console-technical pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.console-note { margin:12px 0; color:var(--muted); line-height:1.5; }
@media(max-width:900px) { .console-overview, .console-technical { grid-template-columns:1fr; } .console-section { margin:8px; padding:12px; } }
#sessionPolicy .workspace { grid-template-columns:minmax(260px,.7fr) minmax(0,1.5fr); }
@media(max-width:900px) { #sessionPolicy .workspace { grid-template-columns:1fr; } .console-section .controls-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media(max-width:900px) {
    .console-parameters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .console-parameters label { width:auto; min-width:0; }
    #sessionPolicy .map-header { flex-wrap:wrap; }
}
