:root{--color-primary-50:#fff7ed;--color-primary-100:#ffedd5;--color-primary-200:#fed7aa;--color-primary-300:#fdba74;--color-primary-400:#fb923c;--color-primary-500:#f97316;--color-primary-600:#ea580c;--color-primary-700:#c2410c;--color-primary-800:#9a3412;--color-primary-900:#7c2d12;--color-primary:var(--color-primary-600);--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-success:#22c55e;--color-warning:#eab308;--color-error:#ef4444;--color-caption-text:#6f6a62;--font-family-base:"Noto Sans TC","Inter",system-ui,-apple-system,sans-serif;--font-family-heading:"Noto Sans TC","Inter",system-ui,-apple-system,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",ui-monospace,monospace;--font-size-micro:.625rem;--font-size-caption:.75rem;--font-size-xs:.8125rem;--font-size-2xs:.875rem;--font-size-sm:.9375rem;--font-size-base:1rem;--font-size-md:1.0625rem;--font-size-lg:1.1875rem;--font-size-lg-plus:1.125rem;--font-size-xl:1.375rem;--font-size-xl-minus:1.25rem;--font-size-xl-plus:1.5rem;--font-size-2xl:1.625rem;--font-size-3xl:2rem;--font-size-4xl:2.375rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--header-height:64px;--sidebar-width:260px;--content-max-width:1200px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,html{font-size:var(--font-size-base)}body{font-family:var(--font-family-base);color:var(--color-neutral-800);background-color:var(--color-neutral-50)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:700;line-height:1.3;color:var(--color-neutral-900)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}small{color:var(--color-caption-text)}p{margin-bottom:var(--spacing-md);line-height:1.7}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}img,video{max-width:100%;height:auto;display:block}ol,ul{padding-left:var(--spacing-lg)}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--content-max-width);margin-inline:auto;padding-inline:var(--spacing-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-base)}.slide-up-enter-from{opacity:0;transform:translateY(10px)}.slide-up-leave-to{opacity:0;transform:translateY(-10px)}.eyebrow{margin:0 0 5px;color:#d76723;font-size:var(--font-size-caption);font-weight:800;letter-spacing:.14em}.subtitle{margin:6px 0 0;color:#8a867e;font-size:var(--font-size-sm)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.page-header h1{font-size:var(--font-size-3xl)}.page-header p:last-child{margin:7px 0 0;font-size:var(--font-size-sm)}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}@media(max-width:760px){.page-header{flex-direction:column}.header-actions{justify-content:flex-start;width:100%;flex-wrap:wrap}.header-actions a,.header-actions button{flex:1}}@media(max-width:560px){.page-header h1{font-size:var(--font-size-2xl)}}@media(max-width:480px){.header-actions{width:100%}.header-actions a,.header-actions button{flex:1}}a.add,a.check,a.danger,a.file,a.filter,a.primary,a.search,a.secondary,button.add,button.check,button.danger,button.file,button.filter,button.primary,button.search,button.secondary,label.file{flex:0 0 auto;min-width:-moz-max-content;min-width:max-content;min-height:42px;max-height:42px;padding:0 18px;border-radius:9px;font-size:var(--font-size-sm);font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;text-decoration:none;transition:all .15s ease}table a.add,table a.check,table a.danger,table a.file,table a.filter,table a.primary,table a.search,table a.secondary,table button.add,table button.check,table button.danger,table button.file,table button.filter,table button.primary,table button.search,table button.secondary{min-height:36px;max-height:36px}a.primary,button.primary{border:1px solid #df5c10;background:#df5c10;color:#fff}a.primary:hover,button.primary:hover:not(:disabled){background:#c6500c;border-color:#c6500c;color:#fff}a.secondary,button.secondary{border:1px solid #d9d5cd;background:#fff;color:#4f4b46}a.secondary:hover,button.secondary:hover:not(:disabled){background:#f8f6f2;border-color:#beb8ac;color:#4f4b46}label.file.secondary{border:1px solid #d9d5cd;background:#fff;color:#4f4b46}label.file.secondary:hover:not(.disabled){background:#f8f6f2;border-color:#beb8ac}a.danger,button.danger{border:1px solid #b64b43;background:#b64b43;color:#fff}a.danger:hover,button.danger:hover:not(:disabled){background:#9b3d36;border-color:#9b3d36;color:#fff}a.filter,button.filter{border:1px solid #2a2824;background:#2a2824;color:#fff}a.filter:hover,button.filter:not(:disabled){background:#403c35;border-color:#403c35;color:#fff}a.check,button.check{border:1px solid #d7c9dc;background:#4e2063;color:#fff}a.check:hover,button.check:hover:not(:disabled){background:#4e2063;color:#fff;transform:translateY(-1px)}a.search,button.search{border:1px solid #403c35;background:#403c35;color:#fff}a.search:hover,button.search:hover:not(:disabled){background:#000;color:#fff;transform:translateY(-1px)}a.add,button.add{border:1px solid #ea580c;background:#fff7ed;color:#c2410c}a.add:hover,button.add:hover:not(:disabled){background:#ffedd5;color:#c2410c;transform:translateY(-1px)}button.add:disabled,button.check:disabled,button.danger:disabled,button.primary:disabled,button.secondary:disabled{cursor:not-allowed;opacity:.45}button.icon{padding:5px 7px;color:#716d65;font-size:var(--font-size-lg)}button.file{display:inline-flex;cursor:pointer}button.file input,label.file input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}label.file.disabled{cursor:not-allowed;opacity:.45;pointer-events:none}.status{display:inline-flex;flex:0 0 auto;align-items:center;max-width:100%;min-width:-moz-max-content;min-width:max-content;padding:4px 9px;border:1px solid transparent;border-radius:999px;color:#6f6a61;background:#f1f0ed;font-size:var(--font-size-caption);font-style:normal;font-weight:750;line-height:1.2;overflow-wrap:normal;text-align:center;white-space:nowrap}.status.micro{font-size:var(--font-size-micro)}.status.compact{border-radius:6px;font-size:var(--font-size-xs)}.status.with-dot{gap:6px}.status.with-dot:before{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:currentColor;content:""}.status.warning{border-color:#fed7aa;background:#fff0e4;color:#c2410c}.status.info{border-color:#bfdbfe;background:#e8f1fb;color:#1d4ed8}.status.success{border-color:#bbf7d0;background:#e8f4ec;color:#15803d}.status.danger{border-color:#fecaca;background:#f8e6e3;color:#a43c31}.status.muted{border-color:#e5dfd5;background:#eee;color:#777}.drag-handle{flex:0 0 auto;width:22px;min-width:22px;height:22px;color:#aaa59b;font-size:var(--font-size-lg);line-height:1;cursor:grab}button.drag-handle{display:grid;place-items:center;padding:0}.drag-handle:active{cursor:grabbing}.drag-handle:disabled{cursor:not-allowed;opacity:.45}.drag-surface{transition:border-color .16s,box-shadow .16s}.drag-surface[draggable=true]{cursor:grab}.drag-surface.dragging,.drag-surface[draggable=true]:active{cursor:grabbing}.drag-surface.active,.drag-surface.drag-over.drag-over{border-color:#e96212;box-shadow:0 0 0 2px #e962121a}.tabs{display:flex;width:-moz-max-content;width:max-content;max-width:100%;gap:6px;margin-bottom:22px;padding:6px;overflow-x:auto;border:1px solid #ded8ce;border-radius:12px;background:#eee9e0;box-shadow:inset 0 1px 3px #0000000a}.tabs button{flex:0 0 auto;min-width:120px;min-height:44px;padding:0 18px;border:none;border-radius:9px;background:transparent;color:#575249;font-size:var(--font-size-sm);font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.tabs button:hover:not(.active){background:#ffffff73;color:#1a1917}.tabs button.active{border:none;background:#fff;color:var(--color-primary);font-weight:800;box-shadow:0 2px 8px #00000014;text-decoration:none}.tabs.fullwidth{width:100%}.tabs.fullwidth button{flex:1 1 0}.tabs button:focus-visible{outline:2px solid #ea580c;outline-offset:2px}body:has(.modal-backdrop),html:has(.modal-backdrop){overflow:hidden}.modal-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;background:#1b19157a;animation:shared-modal-backdrop-in .16s ease-out}.modal-card{box-sizing:border-box;width:min(520px,100%);max-height:92vh;padding:24px;overflow-y:auto;border-radius:16px;background:#fff;color:#292722;box-shadow:0 20px 70px #00000047;animation:shared-modal-card-in .18s ease-out}.modal-card.small{width:min(430px,100%)}.modal-card.master-modal{width:min(820px,100%)}.modal-card.wide{width:min(1080px,100%)}.modal-card.medium,.modal-card.preparation-modal{width:min(620px,100%)}.modal-card.movement-detail-modal{width:min(780px,94%)}.modal-card>header,.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.modal-card h2,.modal-heading h2{margin:0;color:#1a1917;font-size:var(--font-size-xl);font-weight:800}.modal-card form>label,.modal-card>label,.modal-field{display:flex;flex-direction:column;gap:6px;margin-top:14px;color:#5f5a52;font-size:var(--font-size-sm);font-weight:600}.modal-card input,.modal-card select,.modal-card textarea{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid #dcd8cf;border-radius:8px;background:#fff;color:#2c2a26;font:inherit;font-size:var(--font-size-sm)}.modal-card input:not([type=checkbox]),.modal-card select{min-height:40px}.modal-card .close,.modal-card>header>button,.modal-heading>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#777;font-size:var(--font-size-2xl);line-height:1}.modal-description{margin:5px 0 0;color:#817d74;font-size:var(--font-size-xs);line-height:1.55}.modal-card>footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:24px}@media(max-width:760px){.modal-backdrop{padding:12px}.modal-card{max-height:96vh;padding:18px}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-card{animation:none}}@keyframes shared-modal-backdrop-in{0%{background:#1b191500}}@keyframes shared-modal-card-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}body:has(.overlay .drawer),html:has(.overlay .drawer){overflow:hidden}.overlay:has(.drawer){position:fixed;z-index:120;inset:0;display:flex;justify-content:flex-end;overflow:hidden;background:#1b19157a;overscroll-behavior:contain;animation:shared-drawer-overlay-in .16s ease-out}.drawer{position:absolute;inset:0 0 0 auto;width:min(600px,100%);height:100%;padding:25px 28px;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#292722;box-shadow:-16px 0 48px #0000002e;animation:shared-drawer-panel-in .2s ease-out}.drawer-header,.drawer>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.drawer h2{font-size:var(--font-size-2xl)}.drawer form,.drawer-form{display:flex;flex-direction:column;gap:15px}.drawer label:not(.file){display:flex;flex-direction:column;gap:6px;color:#625e56;font-size:var(--font-size-caption);font-weight:650}.drawer input:not([type=file]),.drawer select,.drawer textarea{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #dcd8cf;border-radius:8px;background:#fff;color:#2c2a26;font:inherit;font-size:var(--font-size-sm)}.drawer>label{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:var(--font-size-xs);font-weight:700}.drawer input:not([type=checkbox],[type=file]),.drawer select{min-height:40px}.drawer fieldset{padding:13px;border:1px solid #e2ded6;border-radius:9px}.drawer legend{padding:0 5px;color:#625e56;font-size:var(--font-size-xs);font-weight:700}.drawer footer,.drawer>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.drawer-actions{position:fixed;right:0;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;width:min(620px,100%);padding:15px 30px;border-top:1px solid #e6e2da;background:#fff}@media(max-width:760px){.drawer{padding:20px 18px}.drawer-actions{padding:13px 18px}}@media(prefers-reduced-motion:reduce){.drawer,.overlay:has(.drawer){animation:none}}@keyframes shared-drawer-overlay-in{0%{background:#1b191500}}@keyframes shared-drawer-panel-in{0%{transform:translate(24px)}}:root{--page-max-width-sm:1280px;--page-max-width-md:1320px;--page-max-width-lg:1420px;--panel-gap:16px;--panel-padding:18px 20px;--panel-border:1px solid #ded9d0;--panel-radius:14px;--panel-bg:#fff;--panel-shadow:0 3px 12px rgba(0,0,0,.03);--field-height:44px;--field-padding-x:14px;--field-border:1px solid #d6d0c4;--field-radius:9px;--filter-bg:#fbfaf7;--filter-border-color:#e5ded4;--table-border:1px solid #e8e4dc;--table-radius:14px;--table-min-width:1050px;--table-header-bg:#f7f5f1;--table-row-border:1px solid #eeeae3;--table-row-hover-bg:#fffaf6;--table-cell-padding:14px;--table-cell-font-size:var(--font-size-xs);--empty-min-height:280px;--spinner-size:30px;--state-padding:40px;--state-border:1px solid #e7e2d9;--state-radius:var(--table-radius);--state-text:#878279;--state-icon-bg:#fff0e5;--state-icon-text:#db611a}.page-container{position:relative;max-width:1420px;margin:0 auto}.empty-state,.filters,.state,.state-card,.table-card,.tables-sheet{background:var(--panel-bg)}.filters{display:flex;flex-wrap:wrap;align-items:center;-moz-column-gap:18px;column-gap:18px;row-gap:16px;margin-bottom:15px;padding:12px 14px;border:1px solid #e4ded5;border-radius:12px;box-shadow:var(--panel-shadow)}.filters label{display:flex;flex-direction:column;box-sizing:border-box;gap:6px;padding:10px 11px 11px;border:1px solid var(--filter-border-color);border-radius:8px;background:var(--filter-bg)}.filters label span{display:block;color:#4b463e;font-size:var(--font-size-2xs);font-weight:700}.filters input,.filters select{box-sizing:border-box;width:100%;height:var(--field-height);padding:0 var(--field-padding-x);border:var(--field-border);border-radius:var(--field-radius);background:#fff;color:#292722;font-size:var(--font-size-sm);transition:border-color .15s ease,box-shadow .15s ease}.filters input:focus-visible,.filters select:focus-visible{outline:none;border-color:#e96212;box-shadow:0 0 0 3px #ea580c26}.filter-field{display:flex;flex-direction:column;gap:6px;box-sizing:border-box;padding:10px 11px 11px;border:1px solid var(--filter-border-color);border-radius:8px;background:var(--filter-bg)}.filters .search-filter-field{--filter-bg:#edf8f1;--filter-border-color:#acd7bc;flex:0 1 360px}.filters .status-filter-field{--filter-bg:#f7f1f9;--filter-border-color:#ddcfe3;flex:0 0 160px;color:#6d3b78}.filters .type-filter-field{--filter-bg:#fff6ee;--filter-border-color:#efd8c6;color:#955124}.filter-field .active-filter-field{--filter-bg:#fff4e8;--filter-border-color:#f2bf8f}.filters .category-filter-field{--filter-bg:#f4effc;--filter-border-color:#d1bdea}.filters .supplier-filter-field{--filter-bg:#fff7d8;--filter-border-color:#ead27a}.filters .stock-filter-field{--filter-bg:#eaf8f8;--filter-border-color:#a7d8d7}.filters .unit-filter-field{--filter-bg:#f1f7f3;--filter-border-color:#d3e2d7;color:#426550}.filters .date-filter-field,.filters .date-range-field,.filters .date-range-group{--filter-bg:#f3f6f8;--filter-border-color:#d8e0e5;color:#4e6571}.filters .time-filter-field{--filter-bg:#eef3f6;--filter-border-color:#b8cad5}.filters .payment-filter-field{--filter-bg:#f1f5e8;--filter-border-color:#c7d89c}.field-label{display:block;margin-bottom:6px;color:#4b463e;font-size:var(--font-size-2xs);font-weight:700}.filter-input,.filter-select{width:100%;height:var(--field-height);padding:0 var(--field-padding-x);border:var(--field-border);border-radius:var(--field-radius);background:#fff;color:#292722;font-size:var(--font-size-sm);transition:border-color .15s ease,box-shadow .15s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 3px #ea580c26}.table-card,.tables-sheet{overflow-x:auto;border:var(--table-border);border-radius:var(--table-radius)}.table-wrap{overflow-x:auto}.table-card table,.tables-sheet table{width:100%;min-width:var(--table-min-width);border-collapse:collapse}.table-card th,.tables-sheet th{padding:12px var(--table-cell-padding);background:var(--table-header-bg);color:#777269;font-size:var(--font-size-caption);text-align:left}.table-card td,.tables-sheet td{padding:var(--table-cell-padding);border-bottom:var(--table-row-border);font-size:var(--table-cell-font-size);vertical-align:middle}.table-card tbody tr{cursor:pointer}.table-card tbody tr:hover,.tables-sheet tbody tr:hover{background:var(--table-row-hover-bg)}.table-card tbody tr:last-child td,.tables-sheet tbody tr:last-child td{border-bottom:0}.table-card tr.inactive,.tables-sheet tr.inactive{opacity:.58}.table-card td small,.table-card td strong{display:block}.table-card td small{margin-top:4px;color:var(--color-caption-text);font-size:var(--font-size-caption)}.row-actions{display:flex;gap:7px;justify-content:flex-end;align-items:center;height:100%}.close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#777;font-size:var(--font-size-2xl);line-height:1}.form-grid,.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.form-actions button:disabled{cursor:not-allowed;opacity:.5}.check-label{display:inline-flex!important;width:-moz-max-content;width:max-content;max-width:100%;flex-direction:row!important;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px!important;cursor:pointer}.check-label input[type=checkbox]{flex:0 0 16px;width:16px!important;height:16px;min-height:16px;margin:0;padding:0;accent-color:var(--color-primary)}.check-label span,.checkbox span,.toggle span{display:inline;min-width:0;margin:0;line-height:1.35}.toggle{margin-top:4px}.input-action{display:flex}.input-action .text-input,.input-action input{min-width:0;border-radius:8px 0 0 8px}.input-action button{flex:0 0 auto;min-width:64px;padding:0 17px;border-radius:0 8px 8px 0;background:#393630;color:#fff;font-weight:700;white-space:nowrap;word-break:keep-all}.input-action button:disabled{cursor:not-allowed;opacity:.5}.notice{position:fixed;z-index:160;top:20px;right:24px;padding:11px 15px;border-radius:9px;background:#287747;color:#fff}.notice.error{background:#a63e36}.pagination{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:18px;color:#736e65;font-size:var(--font-size-xs)}.table-card>.pagination,.tables-sheet>.pagination{margin-top:0;padding:12px 16px;border-top:1px solid #ebe8e1}.pagination button{padding:6px 10px;border:1px solid #dedbd3;border-radius:7px}.pagination button:disabled{opacity:.35}.inline-error{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:11px 14px;border:1px solid #edc7c3;border-radius:9px;background:#fff3f1;color:#9c3f38;font-size:var(--font-size-caption)}.inline-error button{flex:0 0 auto;color:#9c3f38;font-weight:800;white-space:nowrap}.image-field{margin-top:14px}.image-field>span{display:block;margin-bottom:6px;color:#4b463e;font-size:var(--font-size-2xs);font-weight:700}.image-editor{display:flex;align-items:flex-start;gap:14px}.image-preview{display:grid;flex:0 0 150px;width:150px;overflow:hidden;place-items:center;aspect-ratio:4/3;border:1px solid #dedbd3;border-radius:10px;background:#f5efe7;color:#693484;font-size:var(--font-size-3xl);font-weight:800}.image-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-preview span{font-size:var(--font-size-3xl)}.image-controls{display:flex;min-width:0;flex:1;flex-wrap:wrap;align-items:flex-start;gap:8px}.image-controls p{margin:0;color:#8d887f;line-height:1.5}.image-controls p,.image-controls small{width:100%;font-size:var(--font-size-caption)}.image-controls small{color:var(--color-caption-text)}.upload-progress{width:100%;height:5px;overflow:hidden;border-radius:99px;background:#ece8df}.upload-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .15s}.empty-state,.state,.state-card{display:grid;place-items:center;align-content:center;gap:10px;min-height:var(--empty-min-height);padding:var(--state-padding);border:var(--state-border);border-radius:var(--state-radius);color:var(--state-text);text-align:center}.state-card.large,.state.large{min-height:330px}.empty-state.compact,.state-card.compact,.state.compact{min-height:180px;padding:24px}.empty-state.error,.state-card.error,.state-card.error-state,.state.error{color:#8c3b3b}.empty-state p,.empty-state strong,.state p,.state strong,.state-card p,.state-card strong{display:block;max-width:560px}.empty-state p,.state p,.state-card p{margin:0;color:var(--state-text);font-size:var(--font-size-xs);line-height:1.55}.empty-state.error p,.state-card.error p,.state-card.error-state p,.state.error p{color:#8c3b3b}.empty-state h2,.state h2,.state-card h2{margin:0;font-size:var(--font-size-xl)}.empty-state>span:not(.spinner),.state-card>span:not(.spinner),.state-icon,.state>span:not(.spinner){display:grid;place-items:center;width:52px;height:52px;margin-bottom:2px;border-radius:50%;background:var(--state-icon-bg);color:var(--state-icon-text);font-size:var(--font-size-2xl)}.spinner{width:var(--spinner-size);height:var(--spinner-size);border:3px solid #eee7df;border-top-color:#e96212;border-radius:50%;animation:spin .8s linear infinite}.loading-state{display:flex;flex-direction:column;gap:15px}@media(max-width:760px){.filters label{flex:1 1 auto;width:100%}.filters input,.filters select{width:100%}.form-grid,.two-columns{grid-template-columns:1fr}.inline-error{align-items:flex-start}.image-editor,.inline-error{flex-direction:column}.image-preview{width:100%;max-width:240px}.table-card .table-wrap{overflow:visible}.table-card .table-wrap table,.table-card .table-wrap tbody,.table-card .table-wrap td,.table-card .table-wrap thead,.table-card .table-wrap tr{display:block}.table-card .table-wrap table{min-width:0}.table-card .table-wrap thead{display:none}.table-card .table-wrap tbody{padding:10px}.table-card .table-wrap tbody tr{position:relative;margin-bottom:10px;padding:12px;border:var(--table-border);border-radius:10px}.table-card .table-wrap td{padding:5px 0;border:0}}@keyframes spin{to{transform:rotate(1turn)}}.skeleton,.skeleton-line{border-radius:14px;background:linear-gradient(90deg,#eceae5 25%,#f7f5f1,#eceae5 65%);background-size:300% 100%;animation:shimmer 1.4s infinite}.skeleton-line{display:inline-block;vertical-align:middle}.skeleton-panel{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;border:1px solid #e7e2d9;background:#fff}.skeleton-row{display:flex;align-items:center;gap:12px}.skeleton-row.spread{justify-content:space-between}.skeleton-lines{display:flex;min-width:0;flex:1;flex-direction:column;gap:8px}.skeleton-media{aspect-ratio:4/3;border-radius:10px}.skeleton-pill{width:72px;height:28px;border-radius:999px}.skeleton-line.title{width:45%;height:18px}.skeleton-line.long{width:72%;height:12px}.skeleton-line.medium{width:52%;height:12px}.skeleton-line.short{width:34%;height:12px}.page-title-skeleton{min-width:8em}.page-title-skeleton .skeleton-line{width:8em;height:1.15em}.skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media(max-width:1120px){.skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.skeleton-grid{grid-template-columns:1fr}}@keyframes shimmer{to{background-position:-100% 0}}
