/* Shared screen components; module density, data and print templates remain independent. */
/* Shared form geometry. Dense technical editors keep their own metrics. */
body :is(input:not([type]):not([role=switch]),input:is([type=text],[type=email],[type=password],[type=tel],[type=url],[type=search],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),select,textarea):not(:is(.ava-shell,.bzp-app,.sidebar,.module-sidebar,.portal-switch-search,.portal-building-switch,.ws-richtext-toolbar,.dpr-rich-row,.pk-drop,.crm-grid,.crm-inline-form,.time-entry-fields,.task-card-status,.pb-bar,.bzp-thead,.emp-role-select) *) {padding-left:var(--pk-field-inset);padding-right:var(--pk-field-inset);border-radius:var(--pk-control-radius);font-family:var(--font);min-height:var(--pk-field-height);}
body :is(.btn,.btn-sm,.crm-btn,.bzp-btn,.pk-btn,.ws-btn-sec,.ws-btn-primary,.ws-btn-outline,.ava-button):not(:is(.pk-control-group,.input-with-toggle,.ava-lv-picker,.dpr-search,.dpr-recipient-row,.dpr-template-row) *) {border-radius:var(--pk-control-radius)!important;font-family:var(--font);}
/* Content and controls use DIN OT; field density and original handlers are unchanged. */
body :is(button,input,select,textarea) {font-family:var(--font)!important;}
@media (pointer:coarse){:root{--pk-field-height:44px;}}

/* Connected fields keep one frame; suggestions may still extend outside it. */
body :is(.pk-control-group,.input-with-toggle,.ava-lv-picker,.dpr-search)>:is(input,select) {border-radius:0!important;}

/* Shared context selection: labels stay outside, aligned beside the field. */
body .pk-context-field {--pk-context-size:40px;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;flex:1 1 320px;min-width:0;max-width:100%;}
body .pk-context-field>.pk-context-label {position:static;inset:auto;align-self:center;margin:0;padding:0;font-size:13px;line-height:18px;font-weight:400;color:var(--ink);max-width:min(120px,35cqi);white-space:normal;overflow-wrap:anywhere;}
body .pk-context-field>.portal-switch {width:100%;min-width:0;max-width:100%;}
body .portal-building-switch.pk-context-field {grid-template-columns:max-content minmax(0,1fr);height:auto;min-height:0;border:0;border-radius:0;background:transparent;padding:0;margin:0;}
body .portal-building-switch.pk-context-field:has(>button:not([hidden])) {grid-template-columns:max-content minmax(0,1fr) auto;}
body .pk-context-field .pk-context-picker {box-sizing:border-box;display:grid;grid-template-columns:20px minmax(0,1fr) 14px;align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;height:var(--pk-context-size);min-height:var(--pk-context-size);padding:0 12px;border:1px solid var(--pk-field-line);border-radius:var(--pk-control-radius);background:var(--paper);color:var(--ink);}
body .pk-context-field .pk-context-picker>.pk-context-picker-body {display:flex;flex-direction:row;height:calc(var(--pk-context-size) - 2px);align-items:center;align-self:stretch;gap:0;min-width:0;max-width:100%;margin:0;overflow:hidden;}
body .pk-context-field .pk-context-picker .pk-context-picker-value {box-sizing:border-box;min-width:0;max-width:100%;margin:0;font-size:13px;line-height:18px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body .pk-context-field .pk-context-picker>.pk-context-picker-body>:is(select:not(.pk-select-native),input.pk-select) {box-sizing:border-box;align-self:stretch;width:100%;height:calc(var(--pk-context-size) - 2px);min-height:0;margin:0;padding:0;border:0!important;border-radius:0;background:transparent;appearance:none;font-size:13px;line-height:18px;font-weight:600;cursor:pointer;}
body .pk-context-field .pk-context-picker>svg {position:static;inset:auto;width:20px;height:20px;flex-shrink:0;align-self:center;pointer-events:none;}
body .pk-context-field .pk-context-picker>svg:last-child {width:14px;height:14px;margin:0;}
body .pk-context-field .pk-context-picker:is(:focus-within,:focus-visible) {outline:2px solid var(--pk-brand-action)!important;outline-offset:-2px;box-shadow:none!important;}
body .pk-context-field .pk-context-picker .pk-context-picker-body > :is(input.pk-select,select.pk-context-picker-value)[aria-label]:is(:focus,:focus-visible) {outline:none!important;box-shadow:none!important;border:0!important;}
/* The actual choice control owns every hit inside the shared frame, including its chevron. */
body .portal-building-switch .pk-context-picker {position:relative;cursor:pointer;--pk-context-value-start:42px;--pk-context-value-end:36px;}
body .portal-building-switch .pk-context-picker-body {overflow:visible;}
body .portal-building-switch .pk-context-picker>.pk-context-picker-body>:is(select:not(.pk-select-native),input.pk-select) {position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0 var(--pk-context-value-end) 0 var(--pk-context-value-start);color:var(--ink);cursor:pointer;}
body .portal-building-switch .pk-context-picker>svg {z-index:2;}
body .portal-building-switch .pk-context-picker input.pk-select[aria-expanded=false] {caret-color:transparent;}
body .portal-building-switch.pk-context-field>button[type=submit] {align-self:center;margin:0;height:var(--pk-context-size);min-height:var(--pk-context-size);padding:2px 6px;}
body .pd-toolbar-project:has(.pk-context-field) {flex-wrap:wrap;container:context-toolbar / inline-size;}
/* Context groups need a real flex basis beside save/search/account actions. */
body .topbar-dashboard:has(.pk-context-field) {flex-wrap:wrap;}
body .topbar-dashboard>.pd-toolbar-project:has(.pk-context-field) {flex-basis:min(100%,360px);}
@container context-toolbar (max-width:400px) {
 body .portal-building-switch.pk-context-field:has(>button:not([hidden])) {grid-template-columns:max-content minmax(0,1fr);}
 body .portal-building-switch.pk-context-field>button[type=submit] {grid-column:2;justify-self:start;}
}
@media(pointer:coarse),(max-width:600px) {
 body .pk-context-field {--pk-context-size:44px;}
 body .pk-context-field .pk-context-picker {gap:8px;padding:0 8px;}
 body .portal-building-switch .pk-context-picker {--pk-context-value-start:36px;--pk-context-value-end:30px;}
}
@media(max-width:600px) {
 body .pd-toolbar-project>.pk-context-field {flex-basis:100%;}
 body .portal-building-switch.pk-context-field:has(>button:not([hidden])) {grid-template-columns:max-content minmax(0,1fr);}
 body .portal-building-switch.pk-context-field>button[type=submit] {grid-column:2;justify-self:start;}
}

/* Shared writing tools: preserve each editor's formatting and storage contract. */
body .ki-tools[role=group] {flex-wrap:nowrap;max-width:100%;vertical-align:middle;}
body .ws-richtext-toolbar {display:flex;flex-wrap:wrap;align-items:center;gap:3px;}
body .ws-richtext-toolbar .ki-inline-tools {display:inline-flex;margin:0 0 0 auto;flex:0 0 auto;}
body .ki-field-tools {margin:6px 0 0;display:inline-flex;}
body textarea.pk-text-editor-input {display:block;margin-top:4px;}
body :is(.ws-richtext-editable,.ava-rich) {font-family:var(--font);}
body .ws-richtext-editable {padding-left:var(--pk-field-inset,12px);padding-right:var(--pk-field-inset,12px);}
body .ws-richtext-toolbar .ki-btn {height:32px;min-height:32px;}
@media(pointer:coarse){body .ws-richtext-toolbar .ki-btn{height:44px;min-height:44px;}body .ws-richtext-toolbar .ki-inline-tools{margin-left:0;}}

@media screen {
 body :is(.content,.crm) :is(input[type=text],input[type=email],input[type=search],input[type=number],input[type=date],select,textarea):not(:is(.pk-control-group,.input-with-toggle,.ava-lv-picker,.dpr-search,.dpr-recipient-row,.bzp-app,.ws-richtext-toolbar,.pk-drop) *) {
  border-color:var(--pk-field-line); border-radius:var(--pk-control-radius);
 }
 body :is(input,select,textarea)[readonly]:not([type=hidden]), body [contenteditable=false].ws-richtext-editable {
  background-color:var(--pk-readonly); color:var(--ink); cursor:default;
 }
 body :is(input,select,textarea):disabled {background-color:var(--pk-readonly);cursor:not-allowed;}
 body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea,[contenteditable=true]):focus-visible {
  outline:2px solid var(--pk-field-focus)!important;outline-offset:-2px;box-shadow:none!important;
 }
 body :is(input,select,textarea)[aria-invalid=true] {border-color:var(--danger)!important;}
 body :is(.pk-control-group,.input-with-toggle,.ava-lv-picker,.dpr-search):focus-within {border-color:var(--pk-field-focus);}
 body :is(.pk-control-group,.input-with-toggle,.ava-lv-picker,.dpr-search) > button {
  background:color-mix(in srgb,var(--pk-blue) 7%,var(--paper));color:var(--pk-blue);
 }
 body .crm {--accent:var(--pk-brand-action);--accent-hover:color-mix(in srgb,var(--pk-brand-action) 85%,var(--ink));--crm-sel:var(--pk-selection);--crm-line:var(--line);}
 body .crm :is(.crm-btn-pri,.crm-btn-ok,.crm-fchip.on){background:var(--pk-brand-action);border-color:var(--pk-brand-action);color:var(--paper);}
 body .crm :is(.crm-btn,.crm-fchip){border-radius:var(--pk-control-radius);}
 body.ts-design .content {--accent:var(--pk-brand-action);}
 body .ava-page,body.ava-page {--ava-selection:var(--pk-selection);--ava-green:var(--pk-brand-action);--ava-green-ink:var(--pk-brand-action);--ava-blue:var(--line);}
 body.ava-page .ava-shell {--ava-head:var(--pk-header);--ava-head-ink:var(--ink);--ava-tint:var(--pk-selection);}
 body.ava-page .ava-workspace {background:var(--canvas);gap:8px;padding:8px;}
 body.ava-page .ava-panel {border-color:var(--line);border-radius:var(--pk-panel-radius);box-shadow:var(--pk-panel-shadow);}
 body.ava-page :is(.ava-pane-head,.ava-tabs,.ava-list-subtitle) {background:var(--pk-header);}
 body.ava-page :is(.ava-menu,.ava-ribbon){background:var(--paper);border-color:var(--line);}
 body.ava-page .ava-ribbon-item svg {stroke:currentColor;}
 body.ava-page .ava-ribbon-item {color:var(--pk-blue);}
 body.ava-page .ava-ribbon-item:is(:disabled,[aria-disabled=true]){color:var(--muted);}
 body.ava-page .ava-ribbon-item[data-ava-action^=pin-]{color:var(--ava-pin-color);}
 body.ava-page .ava-tree :is(.ava-tree-node.selected,.ava-tree-children a.selected){background:var(--pk-selection);box-shadow:inset 3px 0 var(--pk-brand-action);font-weight:600;}
 body.ava-page .ava-tree-children a.active {font-weight:600;box-shadow:inset 3px 0 var(--pk-brand-action);}
 body.ava-page .ava-shell .ava-reference-table th {border-color:var(--line);}
 body :is(.content,.crm) :is(.card,.emp-card,.hn-card,.bl-card,.tr-panel) {border-color:var(--line);border-radius:var(--pk-panel-radius);box-shadow:var(--pk-panel-shadow);}
 body :is(.sidebar,.module-sidebar) a[aria-current=page]{background:var(--pk-selection);font-weight:600;}
 body :is(.ki-tools,.ws-richtext-toolbar) .ki-correct:not(:disabled) {color:var(--pk-violet);}
}
@media (pointer:coarse) {
 body :is(.content,.crm,.pk-modal-frame) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea) {min-height:44px;}
 body :is(.content,.crm) :is(button,.btn,.crm-btn,.ava-ribbon-item){min-height:44px;}
}

@media screen and (max-width:600px) {
 :root {--pk-field-height:44px;}
 body .ws-richtext-toolbar .ki-btn {height:44px;min-height:44px;}
}

/* Canonical connected field: one frame, equal inner heights, no clipped focus. */
body .pk-control-group {--pk-control-size:var(--pk-field-height);box-sizing:border-box;min-height:var(--pk-control-size);border-color:var(--pk-field-line);}
body .pk-control-group[data-pk-density=compact] {--pk-control-size:var(--pk-field-compact);}
body .pk-control-group[data-pk-density=workspace] {--pk-control-size:32px;}
body .pk-control-group > :is(input:not([type=checkbox]):not([type=radio]),select,button) {box-sizing:border-box;min-height:calc(var(--pk-control-size) - 2px);height:calc(var(--pk-control-size) - 2px);}
body .pk-control-group:has([aria-invalid=true]) {border-color:var(--danger)!important;}
/* One inset focus indicator follows the existing frame; no second inner input box. */
body .pk-control-group:focus-within {outline:2px solid var(--pk-field-focus)!important;outline-offset:-2px;}
body .pk-control-group > :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea):focus-visible {outline:none!important;box-shadow:none!important;}
body .pk-control-group:has([aria-invalid=true]):focus-within {outline-color:var(--danger)!important;}
body .pk-control-group:has([readonly]) {background:var(--pk-readonly);}
body .ava-shell .ava-lv-sheet .ava-lv-picker {height:var(--pk-control-size);min-height:var(--pk-control-size);border-color:var(--pk-field-line);}
body .ava-shell .ava-lv-sheet .ava-lv-picker > :is(input:not([type=checkbox]):not([type=radio]),select,button) {height:calc(var(--pk-control-size) - 2px);min-height:calc(var(--pk-control-size) - 2px);max-height:calc(var(--pk-control-size) - 2px);}
body .ava-shell .ava-lv-sheet :is(label,legend) {color:var(--ink);}
body .ava-shell .ava-lv-sheet :is(input,select) {border-color:var(--pk-field-line);}
body .ava-shell .ava-lv-sheet input::placeholder {color:var(--muted);opacity:1;}
body .ava-shell .ava-lv-tabs button:not([aria-pressed=true]) {color:var(--ink);}
body .sg-field-states {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;}
body .sg-field-states label {display:grid;gap:4px;min-width:0;}
body .sg-field-states small {color:var(--muted);}
@media(pointer:coarse) {
 body .pk-control-group[data-pk-density],body .pk-control-group {--pk-control-size:46px;}
 body .pk-control-group > button {min-width:44px;}
 body .ava-shell .ava-lv-sheet .ava-lv-picker > button {min-width:44px;}
}
@media(max-width:600px) {
 body .pk-control-group[data-pk-density],body .pk-control-group {--pk-control-size:46px;}
 body .pk-control-group > button {min-width:44px;}
 body .ava-shell .ava-lv-sheet .ava-lv-picker > button {min-width:44px;}
}

/* AVA reference: the same compact geometry in LV settings and selected-row details. */
body.ava-page .ava-detail {container-type:inline-size;}
body.ava-page .ava-detail .ava-position-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) {box-sizing:border-box;height:var(--pk-field-compact);min-height:var(--pk-field-compact);padding:4px 8px;font-size:13px;border-color:var(--pk-field-line);border-radius:var(--pk-control-radius);color:var(--ink);}
body.ava-page .ava-detail .ava-position-form input.ava-input-green {background:var(--paper)!important;border-color:var(--pk-field-line);}
body.ava-page .ava-detail .ava-position-form :is(input[readonly],input:disabled,select:disabled) {background:var(--pk-readonly)!important;}
body.ava-page .ava-detail .ava-pos-lbl {font-size:12px;line-height:1.35;text-transform:none;letter-spacing:normal;color:var(--ink);}
body.ava-page .ava-detail .ava-pos-g-single {grid-template-columns:minmax(0,1fr);}
body.ava-page .ava-pos-context {margin:0;color:var(--muted);font-size:12px;line-height:1.4;}
body.ava-page .ava-pos-summary {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px;background:var(--pk-readonly);border-radius:var(--pk-control-radius);}
body.ava-page .ava-pos-summary output {font-weight:700;font-variant-numeric:tabular-nums;}
body.ava-page .ava-detail .pk-control-group {display:flex;width:100%;height:var(--pk-control-size);min-height:var(--pk-control-size);border:1px solid var(--pk-field-line);border-radius:var(--pk-control-radius);background:var(--paper);}
body.ava-page .ava-detail .pk-control-group > input {flex:1;width:0;min-width:0;border:0;height:calc(var(--pk-control-size) - 2px);min-height:calc(var(--pk-control-size) - 2px);}
body.ava-page .ava-detail .pk-control-group > button {position:static;inset:auto;display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;padding:0;border:0;border-left:1px solid var(--pk-field-line);border-radius:0 var(--pk-control-radius) var(--pk-control-radius) 0;}
body.ava-page .ava-detail .pk-control-group .pk-icon {width:16px;height:16px;}
body.ava-page .ava-separator::before {content:"";position:absolute;top:calc(50% - 22px);left:2px;width:4px;height:44px;border-radius:4px;background:var(--pk-field-line);}
body.ava-page .ava-separator:hover::before,body.ava-page .ava-separator:focus-visible::before {background:var(--accent);}
body.ava-page .ava-shell .ava-fs-zuo {display:block;}
body.ava-page .ava-assignment-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:8px 16px;}
body.ava-page .ava-assign-row {margin:0;align-content:start;}
body.ava-page .ava-assign-row.ava-assign-free > :is(input,.pk-control-group) {grid-column:1/-1;max-width:none;}
body.ava-page .ava-assign-hint {grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.4;margin:0;}
body.ava-page .ava-assign-more {margin-top:12px;border-top:1px solid var(--line);padding-top:8px;}
body.ava-page .ava-assign-more > summary {cursor:pointer;padding:4px 0;color:var(--ink);font-weight:600;}
body.ava-page .ava-assign-more[open] > summary {margin-bottom:8px;}
body.ava-page .ava-assign-label[readonly] {cursor:default;}
@container(min-width:650px){body.ava-page .ava-assignment-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@container(max-width:380px){body.ava-page .ava-detail .ava-pos-g4 {grid-template-columns:repeat(2,minmax(0,1fr));}body.ava-page .ava-detail .ava-pos-g-oz {grid-template-columns:minmax(0,1fr);}body.ava-page .ava-detail .ava-pos-g2 {grid-template-columns:minmax(0,1fr);}}
/* Keep heading, metadata, tabs and tools available while the document scrolls. */
@media(min-width:1200px) and (min-height:900px){
 body.ava-page .ava-detail[data-ava-detail-mode=text] > .ava-panel-scroll {display:flex;flex-direction:column;overflow:hidden;min-height:0;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-langtext-pane {flex:1;min-height:0;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-position-form {min-height:0;overflow:hidden;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-pos-head {flex:none;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-pos-text:not([hidden]) {display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-text-bar {flex:none;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-document-label {min-height:0;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-document {min-height:100px;overflow:auto;}
 body.ava-page .ava-detail[data-ava-detail-mode=text] .ava-pos-pane:not([hidden]) {flex:1;min-height:0;overflow:auto;}
}
@media(pointer:coarse),(max-width:600px){
 body.ava-page .ava-shell .ava-lv-sheet :is(input:not([type=checkbox]):not([type=radio]),select) {height:44px;min-height:44px;}
 body.ava-page .ava-shell .ava-lv-sheet .pk-control-group > :is(input,button) {height:calc(var(--pk-control-size) - 2px);min-height:calc(var(--pk-control-size) - 2px);}
 body.ava-page .ava-detail .ava-position-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) {height:44px;min-height:44px;}
 body.ava-page .ava-detail .pk-control-group > input {height:calc(var(--pk-control-size) - 2px);min-height:calc(var(--pk-control-size) - 2px);}
 body.ava-page .ava-detail .pk-control-group > button {min-width:44px;}
 body.ava-page .ava-detail :is(.ava-text-bar button,.ava-pos-step a,.ava-pos-tabs button) {min-width:44px;min-height:44px;}
}

body :is(input,select,textarea)[aria-invalid=true]:focus-visible {outline-color:var(--danger)!important;}

body.ava-page .ava-detail .ava-pos-assign {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
body.ava-page .ava-detail .ava-assign-row {display:grid;grid-template-columns:minmax(70px,90px) minmax(0,1fr);gap:4px 8px;}
body.ava-page .ava-detail .ava-assign-row > label {grid-column:1/-1;}
/* Adapt specialist panes to the actual inspector width, including dragged panels. */
body.ava-page .ava-detail :is(.ava-pos-group,.ava-pos-pairs,.ava-pos-cols,.ava-pos-qty) {min-width:0;}
body.ava-page .ava-detail .ava-pos-ep-grid {grid-template-columns:minmax(0,1fr) minmax(60px,.7fr) minmax(60px,.7fr);}
@container(max-width:480px){
 body.ava-page .ava-detail :is(.ava-pos-pairs,.ava-pos-cols,.ava-pos-qty) {grid-template-columns:minmax(0,1fr);}
 body.ava-page .ava-detail .ava-pos-pairs label {grid-template-columns:minmax(0,1fr);}
 body.ava-page .ava-detail .ava-pos-qty label:last-child {justify-self:stretch;width:auto;}
 body.ava-page .ava-detail .ava-pos-split :is(.ava-split-head,.ava-split-row) {grid-template-columns:minmax(65px,1fr) minmax(55px,.7fr) minmax(0,1fr);gap:4px;}
}

/* Every row type uses the same positions, note area and tabs; only availability changes. */
body.ava-page .ava-detail .ava-pos-context {height:34px;min-height:34px;overflow:auto;}
body.ava-page .ava-detail .ava-pos-note-slot {height:36px;min-height:36px;overflow:auto;}
body.ava-page .ava-detail .ava-pos-note-slot .ava-pos-note {font-size:12px;line-height:1.4;}
body.ava-page .ava-detail .ava-pos-tabs button:disabled {background:var(--pk-readonly);color:var(--muted);cursor:not-allowed;}
body.ava-page .ava-detail .ava-pos-top {min-height:38px;}

body.ava-page .ava-pos-note-slot .ava-leit-hint {margin:0;padding:0;border:0;background:transparent;}
/* Compact coloured group surfaces, with a fine separator rather than extra spacing. */
body.ava-page .ava-ribbon-group {--ava-group-color:var(--pk-blue);padding:0 5px;border:1px solid color-mix(in srgb,var(--ava-group-color) 24%,var(--paper));border-inline-start:3px solid var(--ava-group-color);border-radius:var(--pk-control-radius);background:color-mix(in srgb,var(--ava-group-color) 5%,var(--paper));}
body.ava-page .ava-ribbon-group[data-ava-tool-group=create] {--ava-group-color:var(--pk-brand-action);}
body.ava-page .ava-ribbon-group[data-ava-tool-group=exchange] {--ava-group-color:var(--pk-violet);}
body.ava-page .ava-ribbon-group[data-ava-tool-group=edit] {--ava-group-color:var(--muted);}
body.ava-page .ava-ribbon-group[data-ava-tool-group=notes] {--ava-group-color:var(--pk-field-line);}
body.ava-page .ava-ribbon-group .ava-ribbon-item {background:var(--paper);}
/* Approved Plankonform Soft UI C: AVA-only material and compact functional trays. */
body.ava-page .ava-ribbon {gap:4px;}
body.ava-page .ava-ribbon-group {padding:1px 4px;gap:4px;border:1px solid color-mix(in srgb,var(--ava-group-color) 30%,var(--paper));border-radius:var(--pk-panel-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--ava-group-color) 18%,var(--paper)),color-mix(in srgb,var(--ava-group-color) 10%,var(--paper)));box-shadow:inset 0 1px 0 var(--paper);}
body.ava-page .ava-ribbon-group[data-ava-tool-group=search] {--ava-group-color:var(--pk-teal);}
body.ava-page .ava-ribbon-group .ava-ribbon-item {box-sizing:border-box;border:1px solid color-mix(in srgb,var(--pk-blue) 25%,var(--paper));border-radius:var(--pk-panel-radius);background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--pk-blue) 4%,var(--paper)));box-shadow:0 2px 3px color-mix(in srgb,var(--ink) 14%,transparent),inset 0 1px 0 var(--paper);transition:background-color .12s,box-shadow .12s;}
body.ava-page .ava-ribbon-group .ava-ribbon-item:hover:not(:disabled) {background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--ava-group-color) 12%,var(--paper)));box-shadow:0 2px 5px color-mix(in srgb,var(--ink) 18%,transparent),inset 0 1px 0 var(--paper);}
body.ava-page .ava-ribbon-group .ava-ribbon-item:active:not(:disabled) {box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 18%,transparent);}
body.ava-page .ava-ribbon-group .ava-ribbon-item:is(:disabled,[aria-disabled=true]) {box-shadow:none;background:var(--pk-header);}
body.ava-page :is(.ava-ribbon,.ava-tree,.ava-text-bar) svg.pk-icon {filter:drop-shadow(0 .5px .5px color-mix(in srgb,var(--ink) 18%,transparent));}
body.ava-page .ava-ribbon-item .pk-icon[data-pk-appearance=soft] {--pk-icon-size:24px;width:24px;height:24px;}
body.ava-page .ava-ribbon-item:not(:disabled) .pk-icon[data-pk-icon^=gaeb] {color:var(--pk-violet);stroke:currentColor;}
body.ava-page .ava-ribbon-item:not(:disabled) .pk-icon[data-pk-icon^=excel] {color:var(--pk-green);stroke:currentColor;}
body.ava-page .ava-ribbon-item:not(:disabled) .pk-icon[data-pk-icon^=word] {color:var(--pk-blue);stroke:currentColor;}

body.ava-page .ava-ribbon-item:not(:disabled) .pk-icon:is([data-pk-icon=trash],[data-pk-icon=delete-row]) {color:var(--danger);stroke:currentColor;}
body.ava-page .ava-ribbon-item:not(:disabled) .pk-icon[data-pk-icon=new-bg] {color:var(--pk-brand-action);stroke:currentColor;}

/* Shared legacy lookup adapters use the canonical control geometry and one frame.
   Multiple-recipient controls and rich editors keep their content-driven height. */
@media screen {
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker):not(.pk-control-group):not(.ava-lv-row-edit) {
  --pk-control-size:var(--pk-field-height);box-sizing:border-box;min-height:var(--pk-control-size);
  border-color:var(--pk-field-line);border-radius:var(--pk-control-radius);background:var(--paper);
 }
 body .ava-shell .ava-lv-picker:not(.pk-control-group):not(.ava-lv-row-edit) {--pk-control-size:var(--pk-field-compact);}
 body .dpr-overview .dpr-search:not(.pk-control-group) {--pk-control-size:32px;}
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker):not(.pk-control-group):not(.ava-lv-row-edit) > :is(input:not([type=checkbox]):not([type=radio]),select,button,.btn) {
  box-sizing:border-box;height:calc(var(--pk-control-size) - 2px);min-height:calc(var(--pk-control-size) - 2px);margin:0;align-self:stretch;
 }
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker,.dpr-recipient-row):not(.ava-lv-row-edit):focus-within {
  outline:2px solid var(--pk-field-focus)!important;outline-offset:-2px;box-shadow:none!important;
 }
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker,.dpr-recipient-row):not(.ava-lv-row-edit) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea):focus-visible {
  outline:none!important;box-shadow:none!important;
 }
 body :is(.pk-control-group,.input-with-toggle,.dpr-search,.ava-lv-picker,.dpr-recipient-row):has([aria-invalid=true],:user-invalid) {
  border-color:var(--danger)!important;
 }
 body :is(.pk-control-group,.input-with-toggle,.dpr-search,.ava-lv-picker,.dpr-recipient-row):has([aria-invalid=true],:user-invalid):focus-within {
  outline-color:var(--danger)!important;
 }
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker):not(.pk-control-group):not(.ava-lv-row-edit):has(input[readonly]) {background:var(--pk-readonly);}
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker):not(.ava-lv-row-edit) > :is(button,.btn):not(:disabled):not([aria-disabled=true]) {
  border-left-color:var(--pk-field-line)!important;color:var(--pk-blue);background:color-mix(in srgb,var(--pk-blue) 7%,var(--paper));
 }
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker):not(.ava-lv-row-edit) > :is(button,.btn):is(:disabled,[aria-disabled=true]) {
  color:var(--muted);background:var(--pk-readonly);cursor:not-allowed;
 }
}
@media screen and (pointer:coarse),screen and (max-width:600px) {
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker):not(.pk-control-group):not(.ava-lv-row-edit),body .dpr-overview .dpr-search:not(.pk-control-group),body .ava-shell .ava-lv-picker:not(.pk-control-group):not(.ava-lv-row-edit) {--pk-control-size:46px;}
 body :is(.input-with-toggle,.dpr-search,.ava-lv-picker):not(.ava-lv-row-edit) > :is(button,.btn) {min-width:44px;}
}
/* The CDE header search needs its own row on narrow screens in every file view. */
@media screen and (max-width:600px) {
 body .dpr-head .dpr-head-actions {flex-basis:100%;width:100%;min-width:0;}
 body .dpr-head .dpr-search {flex:1 1 100%;width:100%;min-width:0;}
 body .dpr-head .dpr-search > input[type=search] {flex:1 1 0;min-width:0;width:0;}
 body .dpr-head .dpr-search > button {flex:none;}
}
