/* Shared action design. Intent is explicitly declared in templates, not guessed
   from labels at runtime. Navigation, status tiles and layout stay page-owned. */
:root :is(button,a)[data-ui], :root a.button-link {
 --action-bg:#fff;--action-border:#cbd5df;--action-ink:#405066;--action-hover:#f0f4f7;
 background:var(--action-bg)!important;border:1px solid var(--action-border)!important;
 color:var(--action-ink)!important;border-radius:8px;box-shadow:none;
 font-weight:600;line-height:1.35;padding:9px 13px;text-decoration:none;
 align-items:center;justify-content:center;gap:7px;white-space:normal;
 transition:background-color .15s,border-color .15s;
}
:root :is(button,a)[data-ui]:not([hidden]){display:inline-flex}
:root :is(button,a)[data-ui="primary"]{--action-bg:#287a3e;--action-border:#287a3e;--action-ink:#fff;--action-hover:#206332}
:root :is(button,a)[data-ui="refresh"], :root #sheet-save.sheet-edit-save{--action-bg:#edf4fc;--action-border:#bed3eb;--action-ink:#245c94;--action-hover:#dfebf9}
:root :is(button,a)[data-ui="create"]{--action-border:#bc8da4;--action-ink:#7e1045;--action-hover:#faf0f5}
:root :is(button,a)[data-ui="danger"]{--action-bg:#fff1f0;--action-border:#d8a3a0;--action-ink:#a02727;--action-hover:#fbe0de}
:root :is(button,a)[data-ui]:hover,:root a.button-link:hover{background:var(--action-hover)!important}
:root :is(button,a)[data-ui]:focus-visible,:root a.button-link:focus-visible{outline:3px solid #5289c4;outline-offset:3px}
:root :is(button,a)[data-ui]:disabled,:root :is(button,a)[data-ui][aria-disabled="true"]{background:#f0f2f4!important;border-color:#e0e4e8!important;color:#78828e!important;cursor:not-allowed;opacity:1}
:root button.icon-button[data-ui]{padding:0}
:root [data-ui-icon]::before{content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;mask:var(--ui-icon) center/contain no-repeat;-webkit-mask:var(--ui-icon) center/contain no-repeat}
:root :is(input,textarea)::placeholder{color:#7b8490!important;-webkit-text-fill-color:#7b8490!important;opacity:1;font-weight:400}
:root :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):focus-visible{outline:2px solid #5289c4;outline-offset:1px;border-color:#5289c4;box-shadow:none}
:root :is(input[type="checkbox"],input[type="radio"]){accent-color:#287a3e}
@media(prefers-reduced-motion:reduce){:root [data-ui],:root a.button-link{transition:none}}
[data-ui-icon="check"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204L19%206%22/%3E%3C/svg%3E")}
[data-ui-icon="plus"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22/%3E%3C/svg%3E")}
[data-ui-icon="refresh"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%207v5h-5M4%2017v-5h5M6%207a7%207%200%200%201%2012-1l2%206M4%2012l2%206a7%207%200%200%200%2012-1%22/%3E%3C/svg%3E")}
[data-ui-icon="reset"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205v6h6M4%2011a8%208%200%201%201%202%207%22/%3E%3C/svg%3E")}
[data-ui-icon="trash"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M9%206V3h6v3M6%206l1%2015h10l1-15M10%2010v7m4-7v7%22/%3E%3C/svg%3E")}
[data-ui-icon="pause"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%205v14M15%205v14%22/%3E%3C/svg%3E")}
[data-ui-icon="close"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M6%2018%2018%206%22/%3E%3C/svg%3E")}
[data-ui-icon="arrow"],[data-ui-icon="arrow-back"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h16m-6-6%206%206-6%206%22/%3E%3C/svg%3E")}
[data-ui-icon="upload"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2016V3m-5%205%205-5%205%205M4%2016v5h16v-5%22/%3E%3C/svg%3E")}
[data-ui-icon="print"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%208V3h10v5M7%2017H4V9h16v8h-3M7%2014h10v7H7z%22/%3E%3C/svg%3E")}
[data-ui-icon="search"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%226%22/%3E%3Cpath%20d%3D%22m15%2015%206%206%22/%3E%3C/svg%3E")}
[data-ui-icon="chart"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204v16h16M8%2015v-4m5%204V7m5%208v-6%22/%3E%3C/svg%3E")}
[data-ui-icon="edit"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m14%205%205%205M4%2020l5-1L20%208l-5-5L4%2014z%22/%3E%3C/svg%3E")}
[data-ui-icon="comment"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%204h14v13H9l-4%204zM12%207v4m0%203h.01%22/%3E%3C/svg%3E")}
[data-ui-icon="document"]{--ui-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203H5v18h14V8zM14%203v5h5M8%2012h8M8%2016h6%22/%3E%3C/svg%3E")}

/* Keep compact table pills and large touch targets owned by their views. */
:root :is(button,a).pill[data-ui]{border-radius:999px;padding:7px 13px}
:root [data-ui-icon="arrow-back"]::before{transform:rotate(180deg)}

