/* Shared icon proportions. Deliberately scoped to UI icons, never plans, QR codes or charts. */
:root { --pk-icon-inline:16px; --pk-icon-action:18px; --pk-icon-nav:20px; --pk-icon-heading:24px; }
html body .pk-icon {
    display:inline-block; width:var(--pk-icon-size,var(--pk-icon-action)); height:var(--pk-icon-size,var(--pk-icon-action));
    flex-shrink:0; vertical-align:middle; object-fit:contain;
}
html body svg.pk-icon { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
html body :is(.sidebar,.module-sidebar,.mobile-tabs,.ava-area-nav,.sidebar-modules) .pk-icon { --pk-icon-size:var(--pk-icon-nav); }
html body :is(.sidebar-caret,.sidebar-group-toggle>span:last-child,.ava-project-chevron) .pk-icon { --pk-icon-size:var(--pk-icon-inline); }
html body :is(h1,h2,h3)>.pk-icon { --pk-icon-size:var(--pk-icon-heading); }
html body :is(.tile,.portal-icon,.app-dl-ico)>.pk-icon { --pk-icon-size:32px; }
html body :is(.ava-dropzone,.ava-copy-empty,.module-empty)>.pk-icon { --pk-icon-size:40px; }
html body :is(.btn,.btn-primary,.btn-secondary,.crm-btn,.bzp-btn,.pk-btn,.ws-btn-sec,.ws-btn-primary,.ava-ribbon-item,.pk-menu-item,.quick-new-list a) .pk-icon { --pk-icon-size:var(--pk-icon-action); }
html body :is(td,.ws-chip,.crm-chip,.pk-kpi-label,.pk-tabs,.emp-tabs,.ava-text-bar,.ava-tree,.ava-lock-mark,.pk-lock-mark) .pk-icon { --pk-icon-size:var(--pk-icon-inline); }
html body .ava-page .ava-ribbon-item .pk-icon { --pk-icon-size:var(--pk-icon-action); }
html body .ava-position-pin .pk-icon { color:var(--ava-pin-color,currentColor); fill:none; }
html body .pk-document-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:40px; padding:0; border:0; border-radius:0; background:transparent; flex-shrink:0; }
html body .pk-document-icon>.pk-icon { --pk-icon-size:30px; width:30px; height:34px; }
html body .pk-menu {
    border:1px solid var(--line); border-radius:10px; padding:5px;
    background:var(--paper); box-shadow:var(--cde-finder-shadow);
    font-family:var(--font,"DINOT",sans-serif);
}
html body .pk-menu-item { min-height:32px; padding:6px 10px; border-radius:5px; font-size:13px; gap:10px; }
html body .pk-menu-icon { width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; font-style:normal; color:inherit; flex-shrink:0; }
html body .pk-menu-item:is(:hover,:focus-visible):not(:disabled) { background:var(--cde-finder-blue); color:var(--paper); }
html body .pk-menu-item:disabled { opacity:.45; }
html body .pk-menu-arrow { display:inline-flex; margin-left:auto; color:inherit; }
html body .pk-menu-item.is-checked .pk-menu-icon::before { content:none; }
html body .pk-icon-only { display:inline-flex; align-items:center; justify-content:center; }
html body .pk-icon-only:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (pointer:coarse) {
    html body .pk-icon-only { min-width:44px; min-height:44px; }
    html body .pk-menu-item { min-height:44px; }
}

/* Semantic colour belongs to the action icon, keeping primary/danger/disabled contrast. */
html body :is(.secondary,.btn-secondary,.ws-btn-sec,.ws-btn-outline,.crm-btn,.bzp-btn,.pk-btn):not(:is(.primary,.is-primary,.btn-primary,.crm-btn-primary,.crm-btn-pri,.crm-btn-ok,.crm-btn-danger,.bzp-btn-primary,.ws-btn-primary,[aria-pressed=true],.danger,.is-danger,.btn-danger,.is-active,.active,:disabled,[aria-disabled=true])) > .pk-icon:is([data-pk-icon=plus],[data-pk-icon=new]) {color:var(--pk-action-new);}
html body :is(.secondary,.btn-secondary,.ws-btn-sec,.ws-btn-outline,.crm-btn,.bzp-btn,.pk-btn):not(:is(.primary,.is-primary,.btn-primary,.crm-btn-primary,.crm-btn-pri,.crm-btn-ok,.crm-btn-danger,.bzp-btn-primary,.ws-btn-primary,[aria-pressed=true],.danger,.is-danger,.btn-danger,.is-active,.active,:disabled,[aria-disabled=true])) > .pk-icon:is([data-pk-icon=edit],[data-pk-icon=pen],[data-pk-icon=rename],[data-pk-icon=pin-props],[data-pk-icon=thumbtack]) {color:var(--pk-action-edit);}
html body :is(.secondary,.btn-secondary,.ws-btn-sec,.ws-btn-outline,.crm-btn,.bzp-btn,.pk-btn):not(:is(.primary,.is-primary,.btn-primary,.crm-btn-primary,.crm-btn-pri,.crm-btn-ok,.crm-btn-danger,.bzp-btn-primary,.ws-btn-primary,[aria-pressed=true],.danger,.is-danger,.btn-danger,.is-active,.active,:disabled,[aria-disabled=true])) > .pk-icon:is([data-pk-icon=save]) {color:var(--pk-action-save);}

/* Stable object colours in navigation; full shapes distinguish different objects. */
@media screen {
 html body :is(.sidebar,.module-sidebar,.ava-area-nav) :is(a,summary) > .pk-icon[data-pk-icon] {color:var(--pk-blue);}
 html body :is(.sidebar,.module-sidebar,.ava-area-nav) :is(a,summary) > .pk-icon:is([data-pk-icon=bidder],[data-pk-icon=contract],[data-pk-icon=crm],[data-pk-icon=company],[data-pk-icon=people],[data-pk-icon=mitarbeiter]) {color:var(--pk-violet);}
 html body :is(.sidebar,.module-sidebar,.ava-area-nav) :is(a,summary) > .pk-icon:is([data-pk-icon=receipt],[data-pk-icon=payment],[data-pk-icon=euro]) {color:var(--pk-green);}
 html body :is(.sidebar,.module-sidebar,.ava-area-nav) :is(a,summary) > .pk-icon:is([data-pk-icon=change],[data-pk-icon=change-order],[data-pk-icon=warning]) {color:var(--pk-orange);}
 html body :is(.sidebar,.module-sidebar,.ava-area-nav) :is(a,summary) > .pk-icon:is([data-pk-icon=calculator],[data-pk-icon=calc],[data-pk-icon=chart],[data-pk-icon=measure],[data-pk-icon=ruler]) {color:var(--pk-teal);}
 html body :is(.sidebar,.module-sidebar,.ava-area-nav) :is(a,summary) > .pk-icon:is([data-pk-icon=chevron],[data-pk-icon=chevron-down]) {color:inherit;}
 html body :is(.sidebar,.module-sidebar,.ava-area-nav) :is(a,summary):is(:hover,:focus-visible,[aria-disabled=true]) > .pk-icon {color:inherit;}
}

/* Website-wide Soft UI material; object colours and familiar action silhouettes stay distinct. */
@media screen {
 html body .pk-contour-icon {filter:drop-shadow(0 .35px .45px color-mix(in srgb,currentColor 18%,transparent));}
 html body .pk-color-icon {filter:drop-shadow(0 .4px .55px color-mix(in srgb,var(--ink) 14%,transparent));}
 html body :is(:disabled,[aria-disabled=true]) .pk-color-icon {filter:grayscale(.85);opacity:.6;}
 html body :is(.primary,.is-primary,.btn-primary,.danger,.is-danger,.btn-danger,.crm-btn-primary,.crm-btn-pri,.crm-btn-ok,.crm-btn-danger,.bzp-btn-primary,.ws-btn-primary,.ws-btn-danger) .pk-icon[data-pk-appearance=soft] {--pk-icon-paper:transparent;}
 html body .pk-icon[data-pk-appearance=soft] text {font-family:var(--font);}
}
@media (prefers-reduced-motion:reduce) {html body .pk-icon {transition:none;}}
@media (forced-colors:active) {
 html body .pk-icon {filter:none!important;}
 html body .pk-color-icon {forced-color-adjust:none;}
}
@media print {html body .pk-icon {filter:none!important;}}
