/* EA CloudPOS DS1.3: reusable interface contracts — 2026-10-12 */
:root{--ea-red:#d90c24;--ea-ink:#212936;--ea-muted:#657080;--ea-border:#e4e7ec;--ea-canvas:#f5f6f8;--ea-surface:#fff;--ea-radius:12px;--ea-focus:#bc102b;--ea-space:4px}
:where(.ea-page){min-width:0;width:100%}
:where(.ea-section){background:var(--ea-surface);border:1px solid var(--ea-border);border-radius:var(--ea-radius);padding:clamp(16px,2vw,24px);margin-block:16px}
:where(.ea-section__header,.ea-toolbar){display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
:where(.ea-section__header){margin-bottom:18px}
:where(.ea-heading,h1,h2,h3){font-family:'Cal Sans',system-ui,sans-serif}
:where(.ea-button,.action-open){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:9px;padding:9px 15px;border:1px solid transparent;font-family:'National Park',system-ui,sans-serif;font-weight:650;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.ea-button--primary{background:var(--ea-red);color:#fff}.ea-button--primary:hover{background:#a90821}
.ea-button--secondary{background:#fff;color:var(--ea-ink);border-color:#cad1da}.ea-button--secondary:hover{background:#f2f4f7}
.ea-button--danger{background:#fff;color:#b42318;border-color:#f3b8b3}.ea-button--danger:hover{background:#fff4f2}
.ea-button:disabled,.action-open:disabled{opacity:.55;cursor:not-allowed}
:where(.ea-field){display:grid;gap:6px;min-width:0}
:where(.ea-field>label,.ea-label){font-size:13px;font-weight:700;color:var(--ea-ink)}
:where(.ea-field input,.ea-field select,.ea-field textarea){width:100%;min-height:42px;border:1px solid #b8c1cc;border-radius:9px;padding:10px 12px;font:inherit;background:#fff;color:var(--ea-ink)}
:where(.ea-help){font-size:12px;color:var(--ea-muted)}
:where(.ea-field-error){font-size:12px;color:#b42318}
:where(.ea-field [aria-invalid="true"]){border-color:#b42318}
:where(.ea-button,.ea-field input,.ea-field select,.ea-field textarea,.ea-drawer button):focus-visible{outline:3px solid var(--ea-focus);outline-offset:2px}
:where(.ea-table-container,.tablewrap){width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:10px}
:where(.ea-table){border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;min-width:520px}
:where(.ea-table th){background:#f8f9fb;color:#525e6d;font-size:12px;letter-spacing:.03em;text-align:left}
:where(.ea-table th,.ea-table td){padding:12px 14px;border-bottom:1px solid var(--ea-border);vertical-align:middle}
.ea-table tbody tr:hover{background:#fafbfd}
.ea-table .ea-number{text-align:right;font-variant-numeric:tabular-nums}
.ea-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:99px;font-size:12px;font-weight:650;background:#edf0f4;color:#3b4857}
.ea-status--success{background:#e9f7ef;color:#17663c}.ea-status--warning{background:#fff3db;color:#835409}.ea-status--danger{background:#fff0ee;color:#9b2921}
.ea-empty,.ea-loading{padding:36px 18px;text-align:center;color:var(--ea-muted)}
.ea-skeleton{background:linear-gradient(90deg,#f0f2f5 20%,#fafbfd 45%,#f0f2f5 70%);background-size:200% 100%;border-radius:7px;animation:ea-shimmer 1.5s linear infinite}
@keyframes ea-shimmer{to{background-position:-200% 0}}
.ea-drawer{z-index:1500}.ea-drawer-panel{display:flex;flex-direction:column;max-height:100dvh;overflow:hidden;padding:0;width:min(560px,100vw)}
.ea-drawer-panel>header{position:static;top:auto;flex:0 0 auto;padding:20px 24px;border-bottom:1px solid var(--ea-border)}
.ea-drawer__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px}
.ea-drawer__actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--ea-border);background:#fff}
@media(max-width:600px){.ea-drawer-panel>header,.ea-drawer__body,.ea-drawer__actions{padding-inline:16px}.ea-drawer__actions{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.ea-skeleton{animation:none}:where(.ea-button){transition:none}}
