@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";.icon{display:inline-block;flex:0 0 auto;vertical-align:middle;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.icon svg{display:block}.icon-solid{fill:currentColor;stroke:none}.icon-spin{animation:icon-spin 1s linear infinite;transform-origin:50% 50%}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}body{margin:0;background:#edf5fb;color:#182230;font-family:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}form,.stack,.filter-grid,.compact-filters,.upload-form,.edit-form,.compact-edit-form,form *,.stack *,.filter-grid *,.compact-filters *,.upload-form *,.edit-form *,.compact-edit-form *{font-size:13px}button{min-height:38px;border:0;border-radius:8px;background:#0d4df2;color:#fff;cursor:pointer;font-weight:650;padding:8px 12px;font-size:13px;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}button:hover:not(:disabled){box-shadow:0 8px 18px #2563eb29;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}input:not([type=checkbox]),select{width:100%;min-height:38px;border:1px solid #d9e5f0;border-radius:8px;background:#fff;padding:7px 8px;font-size:13px}input:not([type=checkbox]):focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24;outline:none}input[type=checkbox]{width:16px;min-height:16px;margin:0;font-size:13px}.login-screen{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel,.panel{border:1px solid #e0eaf3;border-radius:10px;background:#fff;box-shadow:0 10px 24px #1423370d}.login-panel{display:grid;width:min(420px,100%);gap:16px;padding:24px}.login-panel h1,.sidebar h1,.page-header h2,.panel h3{margin:0}.login-panel label{display:grid;gap:6px;font-weight:650}.app-shell{display:grid;min-height:100vh;grid-template-columns:276px 1fr}.sidebar{display:flex;flex-direction:column;gap:26px;border-right:1px solid #e1eaf3;background:#fff;color:#263445;padding:28px 0 0}.sidebar p{overflow-wrap:anywhere;color:#98a3af}.sidebar button{background:transparent}.brand{display:flex;gap:14px;align-items:center;padding:0 24px}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#0d4df2;color:#fff;font-weight:800}.brand h1{color:#1f2937;font-size:24px;line-height:1}.brand p{margin:5px 0 0;font-size:12px;font-weight:700}.module-nav{display:grid;gap:4px;margin:0}.nav-group{display:grid;gap:6px}.nav-group strong{margin:14px 24px 6px;color:#9aa6b2;font-size:12px;text-transform:uppercase}.module-nav button{display:flex;gap:14px;align-items:center;justify-content:flex-start;border:1px solid transparent;background:transparent;color:#344054;text-align:left;min-height:54px;border-radius:0;padding:0 24px;font-size:13px;box-shadow:none}.module-nav button .nav-icon{font-size:16px;line-height:1}.module-nav button:hover,.module-nav button.active{border-color:transparent;background:#0d4df2;color:#fff;box-shadow:inset 0 -6px #0000000d;transform:none}.module-nav button:hover:not(:disabled){box-shadow:none;transform:none}.nav-icon{display:inline-grid;width:22px;height:22px;place-items:center;color:#7c8a99;font-weight:400}.module-nav button.active .nav-icon,.module-nav button:hover .nav-icon{color:#fff}.sidebar-footer{display:grid;gap:14px;margin-top:auto;border-top:1px solid #e1eaf3;padding:20px 24px 24px}.user-chip{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#dcecff;color:#0d4df2;font-weight:800}.user-chip strong,.user-chip small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip small{color:#8b98a7;font-size:12px}.content{display:grid;gap:18px;align-content:start;padding:0}.page-header{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:104px;border-bottom:1px solid #dbe7f1;background:#edf5fb;padding:28px 40px}.page-header p{margin:6px 0 0;color:#8a97a6;font-weight:700}.page-heading{display:flex;gap:18px;align-items:center}.page-icon{display:grid;width:42px;height:42px;place-items:center;color:#0d4df2;font-size:28px;font-weight:400}.topbar-actions{display:flex;gap:12px;align-items:center}.search-pill{display:flex;gap:10px;align-items:center;width:min(260px,32vw);min-height:48px;border:1px solid #d9e5f0;border-radius:999px;background:#f7fbff;color:#a0aab5;padding:0 18px}.search-pill input{min-height:0;border:0;background:transparent;padding:0;color:#344054;font-weight:700}.search-pill input:focus{box-shadow:none}.icon-button{display:grid;width:48px;min-width:48px;height:48px;min-height:48px;place-items:center;border-radius:999px;border:1px solid #d9e5f0;background:#fff;color:#718092;font-size:18px;padding:0}.add-row-icon-button{width:34px;min-width:34px;height:34px;min-height:34px}.danger-icon-button{width:36px;min-width:36px;height:36px;min-height:36px;border-color:#f2b8b5;background:#fff5f5;color:#b42318}.danger-icon-button:hover:not(:disabled){border-color:#f04438;background:#fff1f0;box-shadow:0 8px 18px #b423181f}.primary-icon{background:#0d4df2;color:#fff}.filter-button{border-color:#cbd8e6}.filter-button.is-open{background:#0d4df2;color:#fff}.add-icon{font-size:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:minmax(280px,420px) 1fr}.module-layout{display:grid;gap:16px;padding:0 40px 40px}.panel{display:grid;gap:16px;min-width:0;padding:20px}.panel-title{display:flex;justify-content:space-between;gap:16px;align-items:start}.panel-title p{margin:4px 0 0;color:#667085}.panel h3{color:#101828;font-size:18px;line-height:1.25}.overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dashboard-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-filler-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:12px}.dashboard-filler-card{display:grid;gap:14px;min-width:0;padding:18px;background:linear-gradient(180deg,#fffffffa,#f5fafff7),#fff}.dashboard-filler-card h3{margin:0;font-size:16px}.filler-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.filler-metric{display:grid;gap:6px;border:1px solid #e2eaf4;border-radius:14px;background:#f8fbff;padding:14px}.filler-metric small{color:#667085;font-size:12px;font-weight:800;text-transform:uppercase}.filler-metric strong{color:#182230;font-size:26px;line-height:1}.filler-metric span{color:#7a8794;font-size:12px;font-weight:600}.note-stack{display:grid;gap:10px}.note-item{display:grid;gap:8px;border:1px solid #e2eaf4;border-radius:14px;background:#f8fbff;padding:14px}.note-item p{margin:0;color:#334155;font-size:13px;line-height:1.45}.note-pill{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;background:#e9f2ff;color:#2e5fb9;padding:4px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.summary-tile{display:grid;gap:8px;justify-items:start;border:1px solid #d9e2ef;background:#fff;color:#182230;min-height:104px;padding:16px;text-align:left}.summary-tile small,.role-card p{color:#667085;font-weight:650}.summary-tile strong{font-size:28px}.dashboard-chart-card{display:grid;gap:14px;min-width:0;padding:18px;background:linear-gradient(180deg,#f8fbfffa,#eff6fff5),#fff}.dashboard-chart-header{display:flex;justify-content:space-between;gap:12px;align-items:start}.dashboard-chart-header h3{margin:0;font-size:16px}.dashboard-chart-header p{margin:4px 0 0;color:#667085;font-size:13px}.insight-chip{display:inline-flex;align-items:center;border-radius:999px;background:#e7f0ff;color:#2f5fbf;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}.sparkline-chart{width:100%;height:190px}.chart-grid-line{stroke:#dce6f2;stroke-width:1}.chart-axis-label{fill:#6b7280;font-size:10px;font-weight:700}.category-bars{display:grid;gap:12px}.category-bar-row{display:grid;gap:6px}.category-bar-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.category-bar-meta strong{color:#182230;font-size:13px}.category-bar-meta span{color:#667085;font-size:12px;font-weight:700}.category-bar-track{overflow:hidden;border-radius:999px;background:#e8eef6;height:10px}.category-bar-fill{height:100%;border-radius:inherit}.donut-chart{position:relative;display:grid;place-items:center;width:min(220px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;padding:16px}.donut-chart:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #93a9c329}.donut-chart-inner{position:relative;z-index:1;display:grid;gap:2px;place-items:center;text-align:center}.donut-chart-inner strong{color:#182230;font-size:28px;line-height:1}.donut-chart-inner span{color:#667085;font-size:12px;font-weight:700;text-transform:uppercase}.donut-legend{display:grid;gap:10px}.donut-legend-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.legend-swatch{width:12px;height:12px;border-radius:50%}.donut-legend-item strong{color:#182230;font-size:13px}.donut-legend-item small{color:#667085;font-size:12px;font-weight:700}.module-links,.permission-grid,.role-grid{display:grid;gap:10px}.module-links{grid-template-columns:repeat(3,minmax(0,1fr))}.tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #d8dee6}.tabs button{border:1px solid #d8dee6;border-bottom:0;border-radius:6px 6px 0 0;background:#fff;color:#17202a;font-size:13px}.tabs button.active{background:#1f6feb;color:#fff}.tabs button:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;box-shadow:none;transform:none}.tabs button:disabled:hover:not(:disabled){box-shadow:none;transform:none}.navigation-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.navigation-section{display:grid;gap:10px;border:1px solid #e6ebf0;border-radius:6px;padding:12px}.navigation-section h4{margin:0}.navigation-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,.7fr) minmax(140px,.8fr);gap:10px;align-items:center;border:1px solid #e6ebf0;border-radius:6px;padding:10px}.navigation-row span,.navigation-row code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation-row code{border-radius:6px;background:#f1f5f9;padding:6px 8px}.permission-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.permission-grid code,.matrix-row code{overflow-wrap:anywhere;border-radius:6px;background:#f1f5f9;padding:8px}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role-card{display:grid;gap:12px;border:1px solid #e6ebf0;border-radius:6px;padding:14px}.role-card h4,.role-card p{margin:0}.matrix-table{display:grid;gap:8px;overflow-x:auto}.matrix-header,.matrix-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(100px,.6fr));gap:10px;align-items:center;min-width:560px;border:1px solid #e6ebf0;border-radius:6px;padding:10px}.matrix-header{background:#f8fafc}.stack{display:grid;gap:10px}.category-base-form{display:grid;gap:12px}.category-base-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.category-name-field{width:min(50%,100%)}.category-status-field{justify-self:end;align-items:end;justify-items:end}.field-group,.general-suggestions,.extension-grid{display:grid;gap:10px}.field-group{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.general-suggestions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.general-suggestions--locked input{background:#f8fafc;color:#667085;cursor:not-allowed}.category-backend-note{color:#667085;font-size:13px;font-weight:500;line-height:1.4}.status-switch{display:inline-flex;gap:10px;align-items:center;justify-content:flex-end;min-height:38px;border:0;background:transparent;color:#344054;padding:0;box-shadow:none;transform:none}.status-switch:hover:not(:disabled){box-shadow:none;transform:none}.status-switch-track{position:relative;display:inline-flex;align-items:center;width:48px;height:28px;border-radius:999px;background:#cbd5e1;padding:3px;transition:background .14s ease}.status-switch-thumb{width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a2e;transform:translate(0);transition:transform .14s ease}.status-switch.is-active .status-switch-track{background:#16a34a}.status-switch.is-active .status-switch-thumb{transform:translate(20px)}.status-switch.is-inactive .status-switch-track{background:#94a3b8}.status-switch-label{min-width:70px;text-align:right;font-size:13px;font-weight:700}.extension-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.field{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:700}.field small{color:#667085;font-size:13px;font-weight:500;line-height:1.35}.schema-grid{display:grid;gap:10px;min-width:0}.import-config-grid{display:grid;gap:10px;overflow-x:auto}.import-config-header,.import-config-row{display:grid;gap:10px;align-items:center;min-width:1040px}.import-config-header{margin-top:1rem;color:#667085;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.import-config-header--delimited,.import-config-row--delimited,.import-config-header--excel,.import-config-row--excel{grid-template-columns:54px minmax(150px,1.2fr) minmax(150px,1fr) minmax(100px,.7fr) minmax(95px,.65fr) minmax(110px,.7fr) minmax(120px,.9fr) minmax(110px,.9fr) minmax(110px,.8fr)}.schema-row{display:grid;grid-template-columns:28px minmax(150px,1fr) minmax(110px,150px) minmax(96px,auto) minmax(88px,auto);gap:10px;align-items:center;border:1px solid #edf2f7;border-radius:8px;background:#fbfdff;padding:8px;min-width:0}.schema-row input,.schema-row select{min-width:0}.drag-handle{color:#9aa6b2;cursor:grab;font-weight:800;text-align:center}.import-config-row{border:1px solid #edf2f7;border-radius:10px;background:#fbfdff;padding:10px}.import-config-index{display:flex;gap:8px;align-items:center;color:#344054;font-weight:800}.import-config-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.checkbox-field{display:inline-flex;gap:8px;align-items:center;min-height:38px;color:#344054;font-weight:650;font-size:13px}.field-disabled{background:#f8fafc;color:#667085;opacity:.78;transition:opacity .14s ease,background .14s ease,color .14s ease}.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.upload-form{display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,1fr) minmax(90px,auto);gap:10px;align-items:center}.files-panel-title{align-items:center}.files-toolbar-shell{position:relative;width:min(100%,640px);display:grid;justify-items:end;gap:12px}.files-toolbar{display:flex;gap:10px;align-items:center}.files-searchbox{width:min(320px,36vw)}.files-searchbox input{width:100%}.category-search-bar{display:flex;justify-content:flex-end;gap:10px;align-items:center}.category-search-bar input{width:min(260px,100%);font-size:14px;padding:10px 12px}.categories-panel-title{align-items:center}.categories-actions{display:flex;gap:12px;align-items:center}.files-filter-dropdown{display:grid;gap:14px;position:absolute;top:calc(100% + 12px);right:0;z-index:20;width:min(640px,78vw);border:1px solid #dbe7f1;border-radius:14px;background:#f8fbff;box-shadow:0 18px 40px #1018281f;padding:18px}.files-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.files-table{display:grid;gap:8px}.files-header,.files-row{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(180px,1fr) minmax(180px,1fr) minmax(110px,.45fr) minmax(180px,.8fr);gap:12px;align-items:center;border:1px solid #eef3f8;border-radius:8px;background:#fff;padding:14px 16px;box-shadow:0 4px 12px #26344508}.files-header{background:#f8fafc;color:#667085;font-size:13px;letter-spacing:.02em;text-transform:uppercase}.files-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-records-detail-table .records-header,.file-records-detail-table .records-row{font-size:14px}.files-row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.summary-card{display:grid;gap:4px;border:1px solid #e6ebf0;border-radius:8px;background:#fff;padding:12px 14px}.summary-card-button{width:100%;text-align:left;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background-color .14s ease}.summary-card-button small{color:#667085;font-size:12px;line-height:1.35}.summary-card-button:hover:not(:disabled){border-color:#bfd3ea;box-shadow:0 8px 18px #26344514;transform:translateY(-1px)}.summary-card-button.is-active{border-color:#3b82f6;background:#eff6ff;box-shadow:inset 0 0 0 1px #3b82f614}.summary-card span{color:#667085;font-size:13px}.summary-card strong{font-size:18px}.file-records-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.file-records-meta-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:12px;align-items:start}.file-records-meta-group{display:grid;gap:8px}.file-records-meta-title{color:#667085;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.file-records-pill-row{display:flex;flex-wrap:wrap;gap:8px}.file-records-pill-row-right{justify-content:flex-end}.metric-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #d6e0ea;border-radius:999px;background:#fff;color:#182230;font-size:12px;font-weight:700;line-height:1;padding:9px 12px}.metric-pill strong{font-size:12px;font-weight:800}.metric-pill-label{color:#667085;font-size:11px;letter-spacing:.02em;text-transform:uppercase}.metric-pill-icon{display:inline-grid;place-items:center;color:#7a8ca1}.metric-pill-success{border-color:#c9e8d1;background:#f4fbf5}.metric-pill-warning{border-color:#f4c76a;background:#fff8ea}.metric-pill.is-clickable{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}.metric-pill.is-clickable:hover{transform:translateY(-1px);box-shadow:0 8px 18px #26344514}.metric-pill.is-active{border-color:#3b82f6;box-shadow:inset 0 0 0 1px #3b82f61a}.file-records-panel-header{display:grid;gap:4px;margin-top:12px;margin-bottom:10px}.file-records-grid-scroll{overflow-x:auto}.file-records-grid-table{display:grid;gap:8px;min-width:max-content}.file-records-grid-header,.file-records-grid-row{display:grid;gap:6px;align-items:center;border:1px solid #e6ebf0;border-radius:8px;background:#fff;padding:8px 10px}.file-records-grid-header{background:#f8fafc;color:#667085;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.file-records-grid-row{font-size:12px;line-height:1.3}.file-records-grid-row{box-shadow:0 4px 12px #26344508}.file-records-grid-header strong,.file-records-grid-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-records-grid-row-number{font-size:12px;font-weight:800;color:#102a43}.file-records-grid-errors{min-width:0}.file-records-error-badges{display:flex;flex-wrap:wrap;gap:6px}.file-records-error-message{display:block;margin-top:6px;color:#667085;font-size:11px;overflow-wrap:anywhere}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.compact-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(150px,auto);gap:10px;border-top:1px solid #e5eef6;border-bottom:1px solid #e5eef6;background:#edf5fb;margin:0 -20px;padding:18px 20px}.filter-actions{display:flex;gap:10px}.filter-actions button{flex:1 1 0}.secondary-button{border:1px solid #cbd5e1;background:#fff;color:#182230}.secondary-button:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc;box-shadow:0 8px 18px #0f172a14}.danger-button{border:1px solid #f2b8b5;background:#fff5f5;color:#b42318}.danger-button:hover:not(:disabled){border-color:#f04438;background:#fff1f0;box-shadow:0 8px 18px #b423181f}.file-row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(90px,.6fr) minmax(90px,.6fr) minmax(260px,auto);gap:12px;align-items:center;border:1px solid #eef3f8;border-radius:5px;background:#fff;padding:16px 18px;box-shadow:0 4px 12px #26344508}.job-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(80px,auto);gap:12px;align-items:center;border:1px solid #eef3f8;border-radius:5px;background:#fff;padding:16px 18px;box-shadow:0 4px 12px #26344508}.user-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(120px,.55fr) minmax(110px,.45fr) minmax(210px,auto);gap:12px;align-items:center;border:1px solid #eef3f8;border-radius:5px;background:#fff;padding:16px 18px;box-shadow:0 4px 12px #26344508}.category-row{display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(140px,.55fr) minmax(220px,.85fr) minmax(110px,.35fr) minmax(120px,.5fr);gap:12px;align-items:center;border:1px solid #eef3f8;border-radius:5px;background:#fff;padding:16px 18px;box-shadow:0 4px 12px #26344508}.category-identity{display:grid;gap:8px;min-width:0}.category-identity strong,.category-identity>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-identity strong{color:#101828}.category-identity>span{color:#8a97a6;font-size:13px;font-weight:700}.category-allowed-types,.category-import-types{min-width:0}.schema-badges{display:flex;flex-wrap:wrap;gap:6px}.schema-badge{display:inline-flex;gap:6px;align-items:center;max-width:100%;border:1px solid #d9e9ff;border-radius:999px;background:#f0f7ff;color:#0d4df2;font-size:12px;font-weight:800;line-height:1;padding:7px 9px}.schema-badge small{color:#6d7f91;font-size:11px;font-weight:700}.muted-badge{border-color:#e5eaf0;background:#f8fafc;color:#8a97a6}.access-row,.menu-row,.permission-row,.role-permission-row,.role-user-row{display:grid;gap:10px;align-items:center;border:1px solid #eef3f8;border-radius:5px;background:#fff;padding:16px 18px;box-shadow:0 4px 12px #26344508}.access-row,.menu-row,.permission-row,.role-user-row{grid-template-columns:repeat(4,minmax(0,1fr))}.role-permission-row{grid-template-columns:minmax(120px,.6fr) minmax(180px,1fr) minmax(100px,.5fr)}.file-row span,.job-row span,.user-row span,.category-row span,.access-row span,.menu-row span,.permission-row span,.role-permission-row span,.role-user-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-row code,.permission-row code,.role-permission-row code{min-width:0;overflow:hidden;border-radius:6px;background:#f1f5f9;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.danger-circle-button{border-color:#f5c2c7;background:#fff7f8;color:#b42318}.danger-circle-button:hover:not(:disabled){border-color:#ef9aa5;background:#fff1f3}.user-identity{display:grid;gap:3px;min-width:0}.user-identity strong,.user-identity span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity strong{color:#101828;font-size:14px}.user-identity span{color:#667085;font-size:13px}.badge,.status-badge{display:inline-flex;width:fit-content;max-width:100%;align-items:center;border-radius:999px;font-size:12px;font-weight:700;line-height:1;padding:7px 10px}.badge{background:#eff6ff;color:#1d4ed8}.status-badge.is-active{background:#ecfdf3;color:#027a48}.status-badge.is-inactive{background:#f8fafc;color:#667085}.panel-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.detail-panel{align-self:start}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0f172a73;padding:20px;z-index:40}.modal{display:grid;gap:14px;width:min(440px,100%);border:1px solid #d8dee6;border-radius:8px;background:#fff;padding:18px;box-shadow:0 24px 48px #0f172a40}.offcanvas-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;justify-items:end;background:#0f172a6b;padding:16px;z-index:24}.offcanvas{display:grid;align-content:start;gap:18px;width:min(920px,calc(100vw - 32px));height:100%;overflow-x:hidden;overflow-y:auto;border:1px solid #d9e2ef;border-radius:10px;background:#fff;padding:20px;box-shadow:-20px 0 50px #0f172a38}.offcanvas-wide{width:min(1240px,calc(100vw - 32px))}.offcanvas button{font-size:13px}.actions-top{margin-bottom:10px}.toast-viewport{position:fixed;right:20px;bottom:20px;display:grid;gap:10px;width:min(360px,calc(100vw - 40px));z-index:50}.toast{display:flex;justify-content:space-between;align-items:flex-start;min-height:0;border:1px solid #d9e2ef;border-left-width:4px;border-radius:8px;background:#fff;color:#182230;padding:12px 14px;text-align:left;box-shadow:0 16px 40px #0f172a29;transform:none}.toast.has-actions{gap:12px}.toast-content{display:grid;gap:4px;flex:1}.toast-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.toast-dismiss-button,.toast-close-button{border:0;background:transparent;color:#64748b;font-size:18px;line-height:1;padding:0 2px}.toast:hover:not(:disabled){box-shadow:0 16px 40px #0f172a29;transform:none}.toast.is-success{border-left-color:#12b76a}.toast.is-error{border-left-color:#f04438}.toast.is-warning{border-left-color:#f59e0b}.modal h3,.modal p{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.detail-item{display:grid;gap:4px;border:1px solid #e6ebf0;border-radius:6px;padding:10px}.detail-item small{color:#667085;font-weight:650}.detail-item span{min-width:0;overflow-wrap:anywhere}.info-badges-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.info-badge{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;border:1px solid #d8ecdc;border-radius:12px;background:#f4fbf5;padding:12px 14px}.info-badge-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e2f5e7;color:#2f855a}.info-badge-copy{display:grid;gap:2px;min-width:0}.info-badge-copy small{color:#6b8b73;font-size:11px;font-weight:700;text-transform:uppercase}.info-badge-copy strong{color:#234232;font-size:13px;font-weight:800;overflow-wrap:anywhere}.icon-circle-button{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #d8e1ea;border-radius:50%;background:#fff;color:#4b5c6b;padding:0;box-shadow:0 6px 12px #0f172a0d}.icon-circle-button:hover:not(:disabled){border-color:#b8c9da;background:#f8fbff;box-shadow:0 8px 16px #0f172a14}.muted{margin:4px 0 0;color:#667085}.records-table{display:grid;gap:8px;overflow-x:auto}.upload-panel,.upload-preview-card{display:grid;gap:18px}.upload-file-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1fr);gap:12px;align-items:start}.upload-schema-card{display:grid;gap:12px;border:1px solid #e4ebf4;border-radius:12px;background:#f8fbff;padding:14px}.upload-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));width:min(100%,1016px);gap:12px}.upload-type-card{display:grid;gap:12px;border:1px solid #dce8f4;border-radius:14px;background:linear-gradient(180deg,#f6fbff,#eef5fb);color:#35536f;padding:14px;text-align:left;box-shadow:0 6px 14px #0f172a0a}.upload-type-card:hover:not(:disabled){border-color:#b4d6f7;box-shadow:0 10px 20px #0f172a12;transform:translateY(-1px)}.upload-type-card.is-selected{border-color:#1d4ed8;background:linear-gradient(180deg,#dceeff,#cde4ff);box-shadow:0 12px 28px #1d4ed824}.upload-type-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.upload-type-card-headline{display:grid;gap:3px;min-width:0}.upload-type-card-header strong{font-size:13px}.upload-type-card-header .muted{margin-top:2px;font-size:12px;color:#617389}.upload-type-card-chip{flex-shrink:0;border:1px solid #bfd8f1;border-radius:999px;background:#ffffff94;color:#4b7ba8;font-size:12px;font-weight:800;line-height:1;padding:6px 10px}.upload-type-card-badge-list{display:flex;flex-wrap:wrap;gap:8px}.upload-type-card-field-badge{display:inline-flex;align-items:center;gap:8px;min-width:0;border-radius:999px;background:#ffffff94;border:1px solid rgba(180,214,247,.9);padding:6px 10px 6px 6px;box-shadow:inset 0 1px #ffffffb3}.upload-type-card-order{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d8eaff;color:#1d4ed8;font-size:11px;font-weight:800;flex-shrink:0}.upload-type-card-copy{display:grid;gap:2px;min-width:0}.upload-type-card-copy strong{color:#24455f;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}.upload-type-card-copy small{color:#75869a;font-size:9px;font-weight:400;line-height:1.2;white-space:nowrap;overflow-wrap:anywhere}.warning-box{border:1px solid #f0d7a7;border-radius:10px;background:#fff9ec;color:#8a5a00;padding:12px 14px;font-size:13px;font-weight:650}.category-import-editor{display:grid;gap:14px}.category-import-editor>.tabs{margin-top:2rem}.category-import-editor .actions{margin-top:2rem}.extension-choice{justify-content:flex-start;border:1px solid #dbe7f1;border-radius:10px;background:#fff;padding:10px 12px;text-transform:uppercase}.upload-preview-table{display:grid;gap:8px;overflow-x:auto}.upload-preview-header,.upload-preview-row{display:grid;grid-auto-columns:minmax(160px,1fr);grid-auto-flow:column;gap:10px;min-width:max-content}.upload-preview-header{position:sticky;top:0;background:#f8fafc;border:1px solid #e6ebf0;border-radius:6px;padding:10px}.upload-preview-row{border:1px solid #e6ebf0;border-radius:6px;padding:10px}.upload-preview-row span{overflow-wrap:anywhere}.upload-processing-modal{width:min(460px,100%);justify-items:center;text-align:center}.upload-spinner{width:42px;height:42px;border:4px solid #dbe8ff;border-top-color:#0d4df2;border-radius:50%;animation:upload-spin .85s linear infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}.records-header,.records-row{display:grid;grid-auto-columns:minmax(140px,1fr);grid-auto-flow:column;gap:10px;min-width:max-content;border:1px solid #e6ebf0;border-radius:6px;padding:10px}.records-header{background:#f8fafc}.records-row span{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.pager span{color:#667085;font-weight:650}.error-list{display:grid;gap:8px}.error-row{display:grid;gap:4px;border:1px solid #f2b8b5;border-radius:6px;background:snow;padding:10px}.invalid-rows-section,.invalid-rows-list{display:grid;gap:12px}.invalid-row-card{display:grid;gap:12px;border:1px solid #d9e9ff;border-radius:12px;background:#f8fbff;padding:14px}.invalid-row-card-header{display:grid;gap:4px}.invalid-row-card-header strong{color:#102a43}.invalid-row-card-header span{color:#667085;font-size:13px;overflow-wrap:anywhere}.invalid-row-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.invalid-row-field{display:grid;gap:2px;border:1px solid #e4ebf4;border-radius:10px;background:#ffffffbf;padding:8px 10px}.invalid-row-field strong{color:#163b63;font-size:12px;font-weight:800}.invalid-row-field span{color:#3f556e;font-size:12px;overflow-wrap:anywhere}.invalid-row-errors{display:flex;flex-wrap:wrap;gap:6px}.edit-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compact-edit-form{grid-template-columns:minmax(180px,1fr) minmax(140px,180px) minmax(180px,auto)}.edit-form .actions{grid-column:1 / -1}.compact-edit-form .actions{grid-column:auto}.table{display:grid;gap:10px}.row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:center;border:1px solid #e6ebf0;border-radius:6px;padding:10px}.row span,.row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{margin:0;color:#667085}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;padding:18px 0 0}.content{padding:0}.grid,.grid.two,.overview-grid,.dashboard-insights,.dashboard-filler-grid,.module-links,.navigation-tree,.permission-grid,.role-grid{grid-template-columns:1fr}.page-header{display:grid;padding:22px}.topbar-actions{flex-wrap:wrap}.search-pill{width:100%}.files-toolbar{width:100%;flex-wrap:wrap}.files-searchbox{width:100%}.module-layout{padding:0 16px 24px}.schema-row{grid-template-columns:28px 1fr}.schema-row input,.schema-row select,.schema-row .checkbox-field,.schema-row button{grid-column:1 / -1}.drag-handle{grid-column:1 / 2}.upload-form,.filter-grid,.files-filter-grid,.files-header,.files-row,.compact-filters,.access-row,.file-row,.job-row,.menu-row,.navigation-row,.permission-row,.role-permission-row,.role-user-row,.user-row,.category-row,.edit-form,.compact-edit-form,.detail-grid,.summary-grid,.file-records-summary-grid,.file-records-meta-grid{grid-template-columns:1fr}.file-records-pill-row-right{justify-content:flex-start}.actions{justify-content:stretch}.actions button,.row-actions button{flex:1 1 160px}.row-actions,.pager{justify-content:stretch}.pager button{flex:1 1 140px}.offcanvas-backdrop{align-items:end;padding:10px}.offcanvas{width:100%;height:auto;max-height:calc(100vh - 20px)}.upload-file-row{grid-template-columns:1fr}}
