/* KAVA shared visual layer. Existing module-specific layouts remain intact. */
:root{--ui-surface:#fff;--ui-soft:#f4f8f4;--ui-danger:#b42335;--ui-warning:#8b5607;--ui-blue:#275a9f;--ui-radius:14px;--ui-shadow:0 10px 28px #143d2510;--ui-focus:#e28b36;--ui-touch:44px}
.ui-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 22px}.ui-page-header__eyebrow{color:var(--orange);text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:800}.ui-page-header__title{margin:2px 0;font-weight:800}.ui-page-header__description{color:var(--muted);font-size:13px;margin:0}.ui-page-header__actions{margin-left:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ui-btn{min-height:var(--ui-touch);display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 17px;background:var(--green);color:white;font:700 14px/1.25 inherit;cursor:pointer;text-decoration:none}.ui-btn:hover{filter:brightness(.94)}.ui-btn--secondary{background:#e9eeea;color:var(--ink)}.ui-btn--outline{background:white;border-color:var(--line);color:var(--green)}.ui-btn--danger{background:var(--ui-danger);color:#fff}.ui-btn:disabled,.ui-btn[aria-disabled="true"]{opacity:.53;cursor:not-allowed;pointer-events:none}
.ui-card,.ui-kpi{background:var(--ui-surface);border:1px solid var(--line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);padding:18px}.ui-kpi__label{color:var(--muted);font-size:12px}.ui-kpi__value{font-size:clamp(19px,2.5vw,30px);font-weight:850;font-variant-numeric:tabular-nums}
.ui-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.ui-table-wrap table{width:100%;border-collapse:collapse}.ui-table-wrap th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.ui-table-wrap td{padding-block:13px;border-bottom:1px solid var(--line)}.ui-table-wrap tbody tr:hover{background:#f7faf7}.ui-table-actions{white-space:nowrap;text-align:right}
.ui-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#e6f2e8;color:#246044;font-weight:650;font-size:12px}.ui-badge--neutral{background:#edf0ed;color:#44524a}.ui-badge--warning{background:#fff0d1;color:#805108}.ui-badge--danger{background:#ffe5e8;color:#9d2634}.ui-badge--info{background:#e8f0ff;color:#2c5da1}
.ui-field{display:grid;gap:6px}.ui-field label{color:var(--ink);font-size:13px;font-weight:700}.ui-field__help{color:var(--muted);font-size:12px}.ui-field__error{color:var(--ui-danger);font-size:12px}.ui-field input,.ui-field select,.ui-field textarea{min-height:var(--ui-touch)}
.ui-alert{padding:12px 15px;border:1px solid #cfe1d1;border-radius:11px;background:#ecf6ee;color:#225b39;margin:10px 0}.ui-alert--error{background:#ffeff0;color:#922434;border-color:#f1c9cc}.ui-alert--warning{background:#fff5df;color:#865611;border-color:#efd9a6}.ui-alert--info{background:#eef5ff;color:#2c5f9d;border-color:#d4e4fa}
.ui-table-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 15px}.ui-table-toolbar input{max-width:300px}.ui-empty{text-align:center;padding:30px 16px;color:var(--muted)}.ui-empty__icon{font-size:30px;margin-bottom:8px}
.ui-bottom-actions{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:color-mix(in srgb,white 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.ui-menu{position:relative;display:inline-block}.ui-menu__panel{position:absolute;z-index:90;right:0;top:calc(100% + 6px);min-width:175px;background:#fff;border:1px solid var(--line);box-shadow:var(--ui-shadow);border-radius:12px;padding:5px}.ui-menu__panel[hidden]{display:none!important}.ui-menu__panel button,.ui-menu__panel a{min-height:40px;display:flex;align-items:center;width:100%;padding:8px 10px;color:var(--ink);background:transparent;border:0;text-align:left;border-radius:8px;font:inherit}.ui-menu__panel :is(button,a):hover{background:var(--ui-soft)}.ui-menu__panel .ui-danger{color:var(--ui-danger)}.ui-menu__panel :disabled{opacity:.45;cursor:not-allowed}
.ui-tooltip{display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:20px;border-radius:50%;border:1px solid var(--line);color:var(--muted);background:white;cursor:help}.ui-tooltip:focus-visible,:is(.ui-btn,button,a,input,select,textarea):focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.ui-overlay{position:fixed;inset:0;z-index:5000;background:#101b18a6;display:grid;place-items:center;padding:16px}.ui-overlay[hidden]{display:none!important}.ui-modal{width:min(520px,100%);max-height:min(88dvh,840px);display:flex;flex-direction:column;background:white;border-radius:18px;box-shadow:0 20px 75px #08180f33}.ui-modal__title{font-weight:800;font-size:19px;margin:0;padding:20px 22px 12px}.ui-modal__body{overflow-y:auto;padding:0 22px 18px}.ui-modal__footer{display:flex;gap:10px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--line)}.ui-drawer{position:fixed;inset:0;z-index:4800;background:#101b1890;display:flex;justify-content:flex-end}.ui-drawer[hidden]{display:none!important}.ui-drawer__panel{height:100%;max-width:100%;width:min(500px,100%);overflow:auto;background:white;padding:24px;box-shadow:-14px 0 45px #0002}
.ui-toasts{position:fixed;top:20px;right:20px;z-index:6100;width:min(375px,calc(100vw - 24px));display:grid;gap:9px;pointer-events:none}.ui-toast{pointer-events:auto;position:relative;overflow:hidden;background:white;border:1px solid var(--line);border-left:5px solid var(--green);box-shadow:var(--ui-shadow);border-radius:12px;padding:12px 34px 17px 15px}.ui-toast--error{border-left-color:var(--ui-danger)}.ui-toast--warning{border-left-color:var(--orange)}.ui-toast--info{border-left-color:var(--ui-blue)}.ui-toast strong{display:block}.ui-toast p{font-size:13px;margin:4px 0;color:var(--muted)}.ui-toast__close{position:absolute;right:7px;top:6px;min-width:32px;min-height:32px;border:0;background:none;cursor:pointer}.ui-toast__progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;animation:ui-progress var(--ui-duration,4s) linear forwards}@keyframes ui-progress{from{width:100%}to{width:0}}
@media(max-width:768px){.ui-page-header{align-items:flex-start}.ui-page-header__actions{margin-left:0;width:100%}.ui-table-toolbar input{max-width:100%}.ui-toasts{top:10px;right:12px}.ui-modal{max-height:93dvh}}
@media(max-width:360px){.ui-btn{padding-inline:10px}.ui-page-header__actions{gap:5px}}
@media print{.sidebar,.top,.ui-no-print,.ui-toasts,.ui-bottom-actions,.ui-overlay,.ui-drawer{display:none!important}.main{margin:0!important;padding:0!important}body{background:white!important;color:black!important}.ui-card,.ui-kpi{box-shadow:none!important}.ui-print-80mm{width:80mm;max-width:80mm;margin:0 auto;font-size:11px}.ui-print-80mm table{font-size:10px;white-space:normal}}

/* V19.21 unified workflow arrangement: list-first screens and compact dialogs. */
.ui-dialogs-ready .ui-hidden-until-dialog{display:none!important}.ui-dialogs-ready .ui-hidden-until-dialog.ui-workflow-open{display:block!important}
.ui-dialog-hidden-heading{display:none}.ui-single-content,.ui-asset-layout{display:block;min-width:0}
.ui-single-content>.card,.ui-asset-layout>.card{margin-bottom:18px}.ui-single-content>.ui-hidden-until-dialog,.ui-asset-layout>.ui-hidden-until-dialog{margin:0}
.ui-workflow-lock{overflow:hidden}.ui-workflow-overlay{position:fixed;inset:0;z-index:4700;background:rgba(12,33,26,.68);backdrop-filter:blur(3px);display:grid;place-items:center;padding:18px}
.ui-workflow-dialog{display:flex;flex-direction:column;width:min(530px,100%);max-height:min(90dvh,920px);background:#fff;border-radius:16px;box-shadow:0 30px 100px #0d201e55;overflow:hidden;animation:ui-workflow-in .16s ease-out}
.ui-workflow-dialog--wide{width:min(880px,100%)}@keyframes ui-workflow-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.ui-workflow-head{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.ui-workflow-head h2{font-size:19px;margin:0;color:var(--ink)}.ui-workflow-close{width:44px;height:44px;display:grid;place-items:center;background:#f3f5f3;color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:22px;cursor:pointer}
.ui-workflow-body{overflow:auto;overscroll-behavior:contain;padding:18px 22px 24px}.ui-workflow-body>.card,.ui-workflow-body>.ar-panel{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.ui-workflow-body :is(input,select,textarea){max-width:100%;box-sizing:border-box}.ui-workflow-body :is(button[type="submit"],.btn.ui-btn){min-height:44px}.ui-workflow-body .stack{gap:13px}
.ui-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ui-section-heading h2{margin:0 0 4px}.ui-section-heading p{margin:0}.ui-count{border-radius:999px;background:#edf4ee;color:#285c3f;font-weight:700;font-size:12px;padding:7px 10px;white-space:nowrap}
.ui-asset-layout .ui-asset-list{min-height:225px}.ui-asset-layout .ui-asset-list .tablewrap{width:100%}.ui-asset-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.ui-asset-form>label:first-of-type,.ui-asset-form>label:nth-of-type(2),.ui-asset-form>label:nth-of-type(3),.ui-asset-form>label:last-of-type,.ui-asset-form>.ui-asset-preview{grid-column:1/-1}.ui-asset-form>.two{display:contents}.ui-asset-form button[type="submit"]{grid-column:1/-1}
.ui-asset-preview{border:1px solid #d3e5d6;border-radius:12px;padding:14px;background:#f3f9f4;display:grid;gap:9px}.ui-asset-preview>div{display:flex;justify-content:space-between;gap:15px}.ui-asset-preview span,.ui-asset-preview small{font-size:12px;color:var(--muted)}.ui-context-help{font-size:12px;color:var(--muted);cursor:help}
.ui-users-list{min-height:180px}.ui-user-row{display:flex;align-items:center;gap:13px;padding:13px 3px}.ui-user-avatar{width:42px;height:42px;display:grid;place-items:center;background:#e5eee8;color:#245d3d;border-radius:12px;font-weight:800;font-size:18px}.ui-user-name{display:grid;gap:2px;flex:1}.ui-user-name small{font-size:12px;color:var(--muted)}
.ui-receipt-layout{display:grid;grid-template-columns:minmax(0,520px) minmax(235px,330px);align-items:start;gap:20px}.ui-receipt{width:100%;margin:0!important;max-width:none!important;padding:24px!important}.ui-receipt__header{display:grid;gap:5px;text-align:center;border-bottom:1px dashed var(--line);padding-bottom:16px;margin-bottom:14px}.ui-receipt__header .receiptbrand{font-size:20px}.ui-receipt__header small{color:var(--muted)}.ui-receipt-total{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:2px solid var(--ink);padding:14px 0;font-size:17px}.ui-receipt-payments{border-top:1px dashed var(--line);color:var(--muted);font-size:12px}.ui-receipt-payments p{margin:8px 0}.ui-receipt-thanks{text-align:center;font-weight:700;margin:18px 0 4px}.ui-receipt-void{border:2px solid #b42335;color:#b42335;text-align:center;padding:9px;border-radius:7px;font-weight:800}
.ui-receipt-management{padding:20px!important}.ui-receipt-management>.btn{margin:5px 0}.ui-report-card{margin-bottom:18px}.ui-detail-panel{margin-bottom:18px}.ui-correction-card{margin-bottom:16px}
.ui-dashboard-metrics{margin-bottom:24px}.ui-cash-list{min-height:180px}
@media(max-width:850px){.ui-receipt-layout{grid-template-columns:1fr}.ui-receipt-layout>.ui-receipt{max-width:600px!important}.ui-asset-form{grid-template-columns:1fr}.ui-asset-form>.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.ui-workflow-overlay{padding:0;place-items:end stretch}.ui-workflow-dialog{width:100%!important;max-height:95dvh;border-radius:18px 18px 0 0}.ui-workflow-body{padding:15px}.ui-asset-form>.two{grid-template-columns:1fr}.ui-page-header__actions>.ui-btn{flex:1}.ui-section-heading{align-items:flex-start;flex-wrap:wrap}}
@media print{.ui-receipt-layout{display:block!important}.ui-receipt-layout>.ui-receipt{width:80mm!important;max-width:80mm!important;padding:0!important;border:0!important;margin:0 auto!important}.ui-receipt-layout .ui-receipt-management,.ui-workflow-overlay{display:none!important}}
.ui-receipt-fiado{font-size:12px;font-weight:700;border:1px solid #eadbb5;color:#826020;background:#fff8e7;padding:9px;border-radius:9px}
.ui-admin-payments{margin:12px 0 18px;border:1px solid var(--line);border-radius:10px;padding:12px}.ui-admin-payments summary{font-size:13px;font-weight:700;cursor:pointer}.ui-admin-payments .ui-receipt-payments{margin-top:10px}
