.approval-workspace { display:grid; gap:18px; min-width:0; }
body:has(.approval-workspace):not(.navigation-open) { overflow-x:clip; }
.approval-workspace .data-panel { min-width:0; }
.approval-filterbar,.approval-history-filters { display:flex; align-items:end; flex-wrap:wrap; gap:12px; padding:16px; border:1px solid #e6dce4; border-radius:12px; background:#fff; }
.approval-filterbar label,.approval-history-filters label { display:grid; gap:5px; min-width:135px; flex:1; font-size:12px; color:#806d7c; }
.approval-filterbar select,.approval-history-filters input { width:100%; min-width:0; min-height:42px; padding:8px 10px; border:1px solid #e0d3de; border-radius:8px; background:#fff; color:#423444; font:inherit; font-size:14px; }
.approval-filterbar select { appearance:none; height:42px; padding-right:28px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23784665' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; }
.approval-metrics small.warn { color:#aa3454; }
.approval-workspace button { min-height:36px; padding:8px 12px; border:1px solid #ddcad8; border-radius:8px; color:#784665; background:#fff; font:inherit; font-size:12px; cursor:pointer; }
.approval-workspace button.primary { background:#b8336b; color:#fff; }
.approval-workspace button:disabled { opacity:.45; cursor:default; }
.approval-workspace button:focus-visible,.approval-workspace input:focus-visible,.approval-workspace select:focus-visible { outline:2px solid #a369a7; outline-offset:2px; }
.approval-workspace .approval-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; }
.approval-metrics .metric { min-width:0; }.approval-metrics .metric strong { font-size:28px; }
.approval-secondary-tools { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.approval-secondary-tools>span { flex:1; color:#887887; font-size:12px; }
.approval-workspace .approval-project-table { min-width:1200px; }
.approval-project-table td { max-width:280px; overflow-wrap:anywhere; }
.approval-project-table td:last-child { min-width:150px; }.approval-project-table td:last-child button { display:block; margin:5px 0; width:100%; }
.approval-overdue td { background:#fff1f3!important; color:#a92c45; }.approval-overdue td:first-child { box-shadow:inset 3px 0 #d84c66; }
.approval-type { display:inline-block; padding:3px 7px; margin:2px; border-radius:5px; color:#64546e; background:#efeaf3; white-space:nowrap; font-size:11px; }
.approval-type.people { background:#f2e7fc; color:#744b8f; }.approval-type.purchase { background:#fff0df; color:#9b6024; }.approval-type.quality { background:#e5f4ee; color:#36795d; }.approval-type.production { background:#e5eefb; color:#456d9e; }.approval-type.sales { background:#fce9f1; color:#a04e76; }
.approval-number { display:block; font-size:11px; margin:4px 0; cursor:help; }.approval-number:focus { outline:2px solid #ac7ba7; }
.approval-batchbar { position:sticky; bottom:12px; z-index:4; display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px 18px; border:1px solid #d6b7cd; border-radius:12px; background:#fff9fc; box-shadow:0 4px 24px #71495b20; }
.approval-batchbar[hidden] { display:none; }.approval-batchbar>span { flex:1; }
.approval-history-filters { border:0; border-bottom:1px solid #eee5ec; border-radius:0; }
.approval-history-panel .data-table { min-width:950px; }.approval-opinion { max-width:330px; white-space:pre-wrap; overflow-wrap:anywhere; }
.approval-history-pager { display:flex; justify-content:flex-end; align-items:center; gap:12px; padding:16px; font-size:12px; color:#897586; }
.approval-detail-flow { margin-top:20px; padding:18px; border:1px solid #e4cbdc; border-radius:12px; background:#fcf7fb; }
@media(min-width:1024px) { .approval-project-table th:last-child,.approval-project-table td:last-child { position:sticky; right:0; z-index:1; background:#fff; box-shadow:-6px 0 12px #6541520a; }.approval-project-table th:last-child { z-index:4; background:#faf5f9; } }
@media(max-width:767px) { .approval-filterbar label,.approval-history-filters label { min-width:calc(50% - 12px); }.approval-workspace .approval-metrics { grid-template-columns:1fr; }.approval-workspace button { min-height:44px; }.approval-batchbar>span { flex-basis:100%; }.approval-history-pager { flex-wrap:wrap; } }
