/* EVOX Design Freeze Phase 1 — Design System Foundation */
@font-face{font-family:"Abar";src:url("../../fonts/AbarLow-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Abar";src:url("../../fonts/AbarLow-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Abar";src:url("../../fonts/AbarLow-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
:root{--evox-font-sans:"Abar",Tahoma,Arial,sans-serif;--evox-canvas:#f5f7fb;--evox-surface:#fff;--evox-surface-soft:#f8fafc;--evox-surface-strong:#eef2f7;--evox-text:#172033;--evox-text-muted:#667085;--evox-text-subtle:#98a2b3;--evox-border:#dfe5ec;--evox-border-strong:#c9d2dd;--evox-primary:#163a5f;--evox-primary-hover:#102f4e;--evox-primary-soft:#eaf1f8;--evox-accent:#d5a33f;--evox-success:#16794c;--evox-success-soft:#eaf8f1;--evox-warning:#a65b00;--evox-warning-soft:#fff5e5;--evox-danger:#b42318;--evox-danger-soft:#fff0ee;--evox-info:#175cd3;--evox-info-soft:#eff6ff;--evox-radius-xs:6px;--evox-radius-sm:10px;--evox-radius-md:14px;--evox-radius-lg:20px;--evox-shadow-sm:0 1px 2px rgba(16,24,40,.05);--evox-shadow-md:0 8px 24px rgba(16,24,40,.08);--evox-shadow-lg:0 18px 48px rgba(16,24,40,.12);--evox-space-1:4px;--evox-space-2:8px;--evox-space-3:12px;--evox-space-4:16px;--evox-space-5:20px;--evox-space-6:24px;--evox-space-8:32px;--evox-space-10:40px;--evox-control-h:44px;--evox-content-max:1440px;--evox-transition:160ms ease;color-scheme:light}
html{font-family:var(--evox-font-sans);background:var(--evox-canvas);color:var(--evox-text);scroll-behavior:smooth}body{font-family:var(--evox-font-sans);background:var(--evox-canvas);color:var(--evox-text);line-height:1.7;-webkit-font-smoothing:antialiased}*,*::before,*::after{box-sizing:border-box}img,svg,video,canvas{max-width:100%;height:auto}button,input,select,textarea{font:inherit}a{color:var(--evox-primary);text-underline-offset:3px}a:hover{color:var(--evox-primary-hover)}::selection{background:var(--evox-primary-soft);color:var(--evox-primary)}:focus-visible{outline:3px solid rgba(23,92,211,.32)!important;outline-offset:2px!important}[hidden]{display:none!important}[aria-disabled="true"],:disabled{cursor:not-allowed!important;opacity:.58}
.evox-shell{width:min(100% - 32px,var(--evox-content-max));margin-inline:auto}.evox-page{padding:clamp(16px,2.5vw,32px) 0 48px}.evox-stack{display:flex;flex-direction:column;gap:var(--evox-space-4)}.evox-cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--evox-space-3)}.evox-grid{display:grid;gap:var(--evox-space-5)}.evox-grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.evox-section{margin-block:var(--evox-space-8)}.evox-section__header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.evox-section__title{margin:0;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.35}.evox-section__description{margin:4px 0 0;color:var(--evox-text-muted)}
.evox-card,.card,.panel,.dashboard-card{background:var(--evox-surface);border:1px solid var(--evox-border);border-radius:var(--evox-radius-md);box-shadow:var(--evox-shadow-sm)}.evox-card{padding:clamp(16px,2vw,24px)}.evox-card:hover{border-color:var(--evox-border-strong)}.evox-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.evox-card__title{margin:0;font-size:1.05rem;line-height:1.45}.evox-card__meta{color:var(--evox-text-muted);font-size:.875rem}
.evox-btn,button.btn,.btn{min-height:var(--evox-control-h);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:var(--evox-radius-sm);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--evox-transition),border-color var(--evox-transition),box-shadow var(--evox-transition),transform var(--evox-transition)}.evox-btn:active,.btn:active{transform:translateY(1px)}.evox-btn--primary,.btn-primary{background:var(--evox-primary);color:#fff;border-color:var(--evox-primary)}.evox-btn--primary:hover,.btn-primary:hover{background:var(--evox-primary-hover);border-color:var(--evox-primary-hover);color:#fff}.evox-btn--secondary,.btn-secondary{background:var(--evox-surface);color:var(--evox-text);border-color:var(--evox-border-strong)}.evox-btn--secondary:hover,.btn-secondary:hover{background:var(--evox-surface-soft)}.evox-btn--ghost{background:transparent;color:var(--evox-primary)}.evox-btn--danger{background:var(--evox-danger);color:#fff}.evox-btn--sm{min-height:36px;padding:7px 12px;font-size:.875rem}.evox-btn--icon{width:var(--evox-control-h);padding:0}
.evox-field{display:flex;flex-direction:column;gap:7px}.evox-label,label{font-weight:600;color:var(--evox-text);font-size:.925rem}.evox-hint{font-size:.82rem;color:var(--evox-text-muted)}.evox-error{font-size:.82rem;color:var(--evox-danger)}input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea,.evox-input{width:100%;min-height:var(--evox-control-h);padding:10px 13px;background:var(--evox-surface);color:var(--evox-text);border:1px solid var(--evox-border-strong);border-radius:var(--evox-radius-sm);transition:border-color var(--evox-transition),box-shadow var(--evox-transition),background var(--evox-transition)}textarea{min-height:108px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--evox-text-subtle)}input:hover,select:hover,textarea:hover{border-color:#aeb9c7}input:focus,select:focus,textarea:focus{border-color:var(--evox-info);box-shadow:0 0 0 3px rgba(23,92,211,.12);outline:none}[aria-invalid="true"]{border-color:var(--evox-danger)!important;box-shadow:0 0 0 3px rgba(180,35,24,.10)!important}
.evox-badge,.badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:3px 9px;border-radius:999px;background:var(--evox-surface-strong);color:var(--evox-text-muted);font-size:.78rem;font-weight:600}.evox-badge--success{background:var(--evox-success-soft);color:var(--evox-success)}.evox-badge--warning{background:var(--evox-warning-soft);color:var(--evox-warning)}.evox-badge--danger{background:var(--evox-danger-soft);color:var(--evox-danger)}.evox-badge--info{background:var(--evox-info-soft);color:var(--evox-info)}
.evox-alert{padding:13px 16px;border:1px solid var(--evox-border);border-radius:var(--evox-radius-sm);background:var(--evox-surface)}.evox-alert--success{background:var(--evox-success-soft);border-color:#a9dfc5;color:var(--evox-success)}.evox-alert--warning{background:var(--evox-warning-soft);border-color:#f1d39b;color:var(--evox-warning)}.evox-alert--danger{background:var(--evox-danger-soft);border-color:#f0b8b2;color:var(--evox-danger)}.evox-alert--info{background:var(--evox-info-soft);border-color:#b8d4ff;color:var(--evox-info)}
.evox-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--evox-border);border-radius:var(--evox-radius-md);background:var(--evox-surface);-webkit-overflow-scrolling:touch}.evox-table-wrap table{width:100%;min-width:720px;border-collapse:collapse}table th,table td{padding:12px 14px;border-bottom:1px solid var(--evox-border);text-align:right;vertical-align:middle}table th{background:var(--evox-surface-soft);font-size:.84rem;color:var(--evox-text-muted);font-weight:700;white-space:nowrap}table tbody tr:hover{background:#fbfcfe}table tbody tr:last-child td{border-bottom:0}
.evox-empty{padding:40px 20px;text-align:center;border:1px dashed var(--evox-border-strong);border-radius:var(--evox-radius-md);background:var(--evox-surface-soft)}.evox-empty__title{margin:0 0 6px;font-size:1.05rem}.evox-empty__text{margin:0;color:var(--evox-text-muted)}.evox-skeleton{position:relative;overflow:hidden;background:var(--evox-surface-strong);border-radius:8px;min-height:16px}.evox-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:evox-shimmer 1.4s infinite}@keyframes evox-shimmer{100%{transform:translateX(-100%)}}
.evox-skip-link{position:fixed;top:8px;right:8px;z-index:10000;transform:translateY(-150%);padding:10px 14px;background:var(--evox-primary);color:#fff;border-radius:8px;text-decoration:none}.evox-skip-link:focus{transform:translateY(0)}.evox-mobile-nav{display:none;position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:950;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid var(--evox-border);border-radius:18px;box-shadow:var(--evox-shadow-lg);padding:8px}.evox-mobile-nav__items{display:grid;grid-template-columns:repeat(var(--evox-mobile-items,4),1fr);gap:4px}.evox-mobile-nav a{display:flex;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px;text-decoration:none;color:var(--evox-text-muted);font-size:.72rem}.evox-mobile-nav a[aria-current="page"],.evox-mobile-nav a:hover{background:var(--evox-primary-soft);color:var(--evox-primary)}
.evox-modal{width:min(620px,calc(100vw - 24px));max-height:min(85vh,760px);overflow:auto;border:0;border-radius:var(--evox-radius-lg);padding:0;box-shadow:var(--evox-shadow-lg)}.evox-modal::backdrop{background:rgba(15,23,42,.52);backdrop-filter:blur(3px)}.evox-modal__body{padding:24px}.evox-toast-region{position:fixed;top:16px;left:16px;z-index:1100;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px))}.evox-toast{padding:12px 14px;background:var(--evox-text);color:#fff;border-radius:12px;box-shadow:var(--evox-shadow-md)}
@media (max-width:900px){:root{--evox-control-h:46px}.evox-shell{width:min(100% - 24px,var(--evox-content-max))}.evox-page{padding-top:16px;padding-bottom:92px}.evox-section__header{align-items:flex-start;flex-direction:column}.evox-mobile-nav[data-enabled="true"]{display:block}.evox-desktop-only{display:none!important}.evox-table-wrap{margin-inline:0}}@media (max-width:600px){.evox-shell{width:min(100% - 20px,var(--evox-content-max))}.evox-card{padding:16px;border-radius:12px}.evox-cluster--actions{display:grid;grid-template-columns:1fr;width:100%}.evox-cluster--actions>.evox-btn,.evox-cluster--actions>.btn{width:100%}.evox-grid{gap:14px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.evox-mobile-nav,.evox-skip-link,.no-print{display:none!important}body{background:#fff;color:#000}.evox-card{box-shadow:none}}
