.ds{--ds-accent:var(--btn-bg)}.ev-menu.erp-menu-portal,.erp-menu-portal{position:fixed;inset:auto}.ev-table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;min-width:0;overflow-x:auto}@media print{.ev-table thead{display:table-header-group}}.ev-table th.text-right{text-align:right}.ev-table th.text-center{text-align:center}.erp-sticky-head th{z-index:2;background-color:var(--page);background-image:linear-gradient(var(--surface), var(--surface));position:sticky;top:0}.lucide{stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.lucide *{vector-effect:non-scaling-stroke}.erp-kpi-strip{container-type:inline-size}.ds-module-card{--ds-accent:var(--btn-bg);border-radius:var(--r);border:1px solid var(--bd-inner);background:var(--surface);color:var(--t1);transition:transform var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);flex-direction:column;align-items:flex-start;gap:12px;padding:24px;text-decoration:none;display:flex;position:relative}.ds-module-card:hover{border-color:var(--bd-active);transform:translateY(-2px)}.ds-module-card:active{transform:translateY(0)}.ds-module-card[aria-disabled=true]{opacity:.5;pointer-events:none}.ds-search{border-radius:var(--r);border:1px solid var(--bd-input);background:var(--subtle);height:42px;color:var(--t1);transition:border-color var(--dur-1) var(--ease);align-items:center;gap:10px;padding:0 14px;display:flex}.ds-search[data-variant=toolbar]{height:38px;padding:0 12px}.ds-search:focus-within{border-color:var(--focus)}.ds-search input{min-width:0;color:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13px}.ds-search input::placeholder{color:var(--t-faint)}.ds-search__kbd{border-radius:var(--r-btn);border:1px solid var(--bd-input);background:var(--fill3);color:var(--t-meta);padding:3px 6px;font-size:12px;font-weight:500}.ds-segmented{border-radius:var(--r-btn);border:1px solid var(--bd-input);background:var(--fill3);gap:2px;padding:3px;display:inline-flex}.ds-segmented__item{border-radius:var(--r-btn);height:30px;color:var(--t-body);cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:0;padding:0 12px;font-size:13px;font-weight:500}.ds-segmented__item[data-active=true]{background:var(--surface);color:var(--t1)}.ds-chip{border-radius:var(--r-btn);border:1px solid var(--bd-input);background:var(--subtle);height:34px;color:var(--t-body);cursor:pointer;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.ds-chip:hover{border-color:var(--bd-chip);color:var(--t1)}.ds-chip[data-active=true]{border-color:var(--btn-bg);color:var(--btn-bg);background:var(--fill1)}.ds-tab{border-radius:var(--r-btn);height:40px;color:var(--t-body);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.ds-tab:hover{background:var(--fill3);color:var(--t1)}.ds-tab[data-active=true]{background:var(--fill1);border-color:var(--bd-chip);color:var(--btn-bg)}.ds-tab__count{border-radius:var(--r-btn);background:var(--fill3);color:var(--t-meta);padding:1px 6px;font-size:12px;font-weight:500}.ds-tab[data-active=true] .ds-tab__count{background:color-mix(in srgb, var(--btn-bg) 18%, transparent);color:var(--btn-bg)}@keyframes dsModalIn{0%{opacity:0;transform:scale(.98)translateY(10px)}to{opacity:1;transform:none}}.ds-modal-overlay{z-index:60;background:var(--scrim);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ds-modal{border-radius:var(--r-panel);border:1px solid var(--bd-active);background:var(--raised);width:640px;max-width:100%;max-height:calc(100vh - 64px);animation:dsModalIn var(--dur-3) var(--spring);flex-direction:column;display:flex;position:relative;overflow:hidden}.ds-modal[data-size=compact]{width:440px}.ds-modal[data-size=confirm]{width:360px}.ds-modal[data-size=large]{width:820px}.ds-modal>*{z-index:1;position:relative}.ds-modal__header{border-bottom:1px solid var(--bd-rule);align-items:center;gap:12px;padding:20px 24px;display:flex}.ds-modal__icon{border-radius:var(--r);width:38px;height:38px;color:var(--ds-accent);background:color-mix(in srgb, var(--ds-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--ds-accent) 22%, transparent);place-items:center;display:grid}.ds-modal__title{color:var(--t1);font-size:15px;font-weight:500}.ds-modal__body{flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}.ds-modal__footer{border-top:1px solid var(--bd-rule);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.ds-label{color:var(--t1);font-size:13px;font-weight:500;display:block}.ds-label__required{color:var(--t1)}.ds-label__hint{font-weight:var(--fw-regular);color:var(--t-meta)}.ds-field{border-radius:var(--r);border:1px solid var(--bd-input);background:var(--subtle);width:100%;height:44px;color:var(--t1);transition:border-color var(--dur-1) var(--ease);outline:none;padding:0 12px;font-size:13px}textarea.ds-field{height:auto;padding:10px 12px}.ds-field::placeholder{color:var(--t-faint)}.ds-field:hover:not(:disabled){border-color:var(--bd-active)}.ds-field:focus{border-color:var(--focus)}.ds-field:disabled{opacity:.5;cursor:not-allowed}.ds-field[aria-invalid=true]{border-color:var(--error)}.ds-field[aria-invalid=true]:focus{border-color:var(--focus)}.ds-help{color:var(--t-meta);font-size:13px}.ds-error{color:var(--error);font-size:13px}.ds-btn{border-radius:var(--r-btn);white-space:nowrap;cursor:pointer;height:40px;transition:transform var(--dur-1) var(--ease), background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:500;display:inline-flex}.ds-btn:active:not(:disabled){transform:scale(var(--press))}.ds-btn[data-variant=primary],.ds-btn[data-variant=pill]{background:var(--btn-bg);color:var(--btn-fg)}.ds-btn[data-variant=primary]:hover:not(:disabled),.ds-btn[data-variant=pill]:hover:not(:disabled){background:var(--btn-hover)}.ds-btn[data-variant=pill]{height:42px}.ds-btn[data-variant=outline]{border-color:var(--bd-input);color:var(--t1);background:0 0}.ds-btn[data-variant=outline]:hover:not(:disabled){background:var(--fill3)}.ds-btn[data-variant=ghost]{height:36px;color:var(--t-body);background:0 0;padding:0 10px}.ds-btn[data-variant=ghost]:hover:not(:disabled){background:var(--fill3);color:var(--t1)}.ds-btn[data-variant=destructive]{color:var(--t-body);background:0 0}.ds-btn[data-variant=destructive]:hover:not(:disabled){background:var(--fill1);color:var(--t1)}.ds-btn[data-variant=aurora]{background:color-mix(in srgb, var(--ds-accent) 6%, transparent);border-color:color-mix(in srgb, var(--ds-accent) 28%, transparent);height:42px;color:var(--ds-accent)}.ds-btn[data-variant=aurora]:hover:not(:disabled){background:color-mix(in srgb, var(--ds-accent) 12%, transparent)}.ds-btn:disabled{background:var(--fill1);color:var(--t-meta);cursor:not-allowed;border-color:#0000}.ds-btn[data-loading=true]{pointer-events:none}.ds-btn[data-loading=true] .ds-btn__label{opacity:.6}.ds-icon-btn{border-radius:var(--r-btn);width:32px;height:32px;color:var(--t-body);cursor:pointer;transition:transform var(--dur-1) var(--ease), background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.ds-icon-btn:hover{background:var(--fill3);color:var(--t1)}.ds-icon-btn:active{transform:scale(var(--press-sm))}.ds-icon-btn[data-tone=destructive]:hover{background:var(--fill1);color:var(--t1)}.ds-icon-btn[data-shape=circle]{border-radius:var(--r-round)}@media (pointer:coarse){.ds-icon-btn{position:relative}.ds-icon-btn:after{content:"";position:absolute;inset:-6px}}@media (max-width:719px){.ds-modal,.ds-modal[data-size=compact],.ds-modal[data-size=confirm],.ds-modal[data-size=large]{width:calc(100vw - 32px)}.ds-modal__footer{flex-direction:column-reverse;align-items:stretch}.ds-modal__footer>.ds-btn{width:100%}.ds-btn{height:44px}.ds-icon-btn{width:44px;height:44px}}
