/* Release 2.2 part A: policies, compliance, schema form, device makers */
.pol-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--space-md,16px);align-items:start}
.pol-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:8px}
.pol-nav-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--radius-sm,8px);background:transparent;border:0;color:var(--text-muted);cursor:pointer;text-align:left;font:inherit}
.pol-nav-item:hover{background:var(--surface-container,rgba(128,128,128,.1))}
.pol-nav-item.active,.pol-nav-item[aria-current="true"]{background:var(--surface-container-high,rgba(128,128,128,.16));color:var(--on-surface)}
.pol-main{min-width:0}
.pol-body{min-width:0}
.pol-main.kiosk-page>.panel-header>.panel-title:not(.sm){display:none}
.po-modal .modal-box{width:min(1180px,100%);max-width:100%}
.po-ed{display:flex;flex-direction:column;gap:12px;min-width:0}
.po-top,.po-top-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.po-grow{flex:1 1 220px;min-width:0}
.po-tabs,.oe-tabs{display:flex;gap:4px;border-bottom:1px solid var(--outline-variant);overflow-x:auto}
.po-tabs button,.oe-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 14px;color:var(--text-muted);cursor:pointer;font:inherit;white-space:nowrap}
.po-tabs button.active,.oe-tabs button.active{color:var(--on-surface);border-color:var(--accent-primary)}
.po-body{min-width:0}
.po-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.po-secs-col,.po-secs{display:flex;flex-direction:column;gap:10px;min-width:0}
.po-side{position:sticky;top:0}
.po-side-in{border:1px solid var(--outline-variant);border-radius:var(--radius-sm,8px);padding:12px;background:var(--surface)}
.po-side-t,.po-sec-t{font-weight:600;color:var(--on-surface)}
.po-sec{border:1px solid var(--outline-variant);border-radius:var(--radius-sm,8px);background:var(--surface)}
.po-sec-head{display:flex;align-items:center;gap:10px;padding:10px 12px}
.po-sec-ic{color:var(--accent-primary);display:inline-flex}
.po-sec-body{padding:4px 12px 12px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--outline-variant)}
.po-switch{margin-left:auto;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.po-sw-l{font-size:.85em;color:var(--text-muted)}
.po-item,.po-rule{border:1px solid var(--outline-variant);border-radius:var(--radius-sm,8px);padding:10px;display:flex;flex-direction:column;gap:8px}
.po-item-head{display:flex;gap:8px;align-items:center;justify-content:space-between}
.po-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.po-row,.po-bar,.po-mc-bar,.po-actbar,.po-preset-btns,.po-presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.po-actbar{justify-content:flex-end;padding-top:8px;border-top:1px solid var(--outline-variant)}
.po-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 12px}
.po-check{display:flex;gap:8px;align-items:center}
.po-f,.po-fs{display:flex;flex-direction:column;gap:4px;min-width:0}
.po-f label,.po-fs>label{font-size:.82em;color:var(--text-muted)}
.po-banner{padding:10px 12px;border-radius:var(--radius-sm,8px);background:color-mix(in srgb,var(--accent-cyan) 12%,transparent);border:1px solid var(--outline-variant)}
.po-banner.warn{background:color-mix(in srgb,var(--warning,#e0a800) 16%,transparent);border-color:var(--warning,#e0a800)}
.po-sum{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:.92em}
.po-json,.po-raw{display:flex;flex-direction:column;gap:6px}
.po-jsonta{width:100%;min-height:220px;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;background:var(--surface);color:var(--on-surface);border:1px solid var(--outline-variant);border-radius:var(--radius-sm,8px);padding:8px;resize:vertical}
.po-jerr,.po-bad{color:var(--error)}
.po-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--text-muted);margin-right:6px;vertical-align:middle}
.po-dot.po-ok{background:var(--accent-emerald)}
.po-dot.po-non{background:var(--error)}
.po-dot.po-blocked{background:var(--warning,#e0a800)}
.po-name{font-weight:600}
.po-sub,.po-meta,.po-ver,.po-ty,.po-key{color:var(--text-muted);font-size:.85em}
.po-val{min-width:0}
.po-file{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.po-stack{display:flex;flex-direction:column;gap:10px}
.po-diff{font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--radius-sm,8px);padding:8px;max-height:320px;overflow:auto}
.po-mc-form{min-width:0}
.po-foot{display:flex;justify-content:flex-end;gap:8px}
/* schema form */
.sf{display:flex;flex-direction:column;gap:8px;min-width:0}
.sf-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sf-search{flex:1 1 200px;min-width:0}
.sf-sum,.sf-desc,.sf-count{color:var(--text-muted);font-size:.85em}
.sf-list,.sf-body,.sf-items{display:flex;flex-direction:column;gap:8px;min-width:0}
.sf-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,1.4fr) auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--outline-variant)}
.sf-row.sf-hit{background:color-mix(in srgb,var(--accent-cyan) 12%,transparent)}
.sf-label{font-weight:500;min-width:0;overflow-wrap:anywhere}
.sf-badge{font-size:.72em;padding:1px 6px;border-radius:999px;background:var(--surface-container,rgba(128,128,128,.14));color:var(--text-muted)}
.sf-bundle,.sf-array{border:1px solid var(--outline-variant);border-radius:var(--radius-sm,8px);padding:6px 10px;background:var(--surface)}
.sf-bundle>summary,.sf-array>summary,.sf-head,.sf-array-head{cursor:pointer;display:flex;gap:8px;align-items:center;font-weight:600}
.sf-item{border:1px dashed var(--outline-variant);border-radius:var(--radius-sm,8px);padding:8px;display:flex;flex-direction:column;gap:6px}
.sf-item-btns{display:flex;gap:4px;justify-content:flex-end}
.sf-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 10px}
.sf-switch{display:inline-flex;gap:8px;align-items:center}
.sf-reset{background:none;border:0;color:var(--text-muted);cursor:pointer}
.sf input[type=text],.sf input[type=number],.sf input[type=password],.sf select{width:100%;min-width:0;box-sizing:border-box}
/* device makers */
.oe-intro{color:var(--text-muted);max-width:70ch}
.oe-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.oe-step{border:1px solid var(--outline-variant);border-radius:var(--radius-sm,8px);padding:10px;background:var(--surface);display:flex;flex-direction:column;gap:6px}
.oe-step-h{font-weight:600;display:flex;gap:8px;align-items:center}
.oe-list,.oe-extra,.oe-cloud,.oe-job{display:flex;flex-direction:column;gap:8px}
.oe-cloud{color:var(--text-muted);font-size:.88em}
.oe-save{display:flex;gap:8px;justify-content:flex-end}
@media (max-width:900px){.po-cols{grid-template-columns:minmax(0,1fr)}.po-side{position:static}}
@media (max-width:600px){
 .pol-layout{grid-template-columns:minmax(0,1fr)}
 .pol-nav{flex-direction:row;overflow-x:auto;position:static;padding-bottom:4px}
 .pol-nav-item{white-space:nowrap}
 .sf-row{grid-template-columns:minmax(0,1fr)}
 .po-grid{grid-template-columns:minmax(0,1fr)}
}
