@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary:#0d9488;--primary-hover:#0f766e;--primary-light:#f0fdfa;--primary-mid:#99f6e4;--bg:#f5f7fa;--surface:#fff;--border:#e5e7eb;--border-strong:#d1d5db;--text:#111827;--text-muted:#6b7280;--text-subtle:#9ca3af;--heading:#111827;--sidebar-bg:#fff;--sidebar-border:#e5e7eb;--sidebar-text:#6b7280;--sidebar-text-hover:#111827;--sidebar-active-bg:#f0fdfa;--sidebar-active-text:#0d9488;--sidebar-active-border:#0d9488;--c-teal:#0d9488;--c-blue:#3b82f6;--c-purple:#8b5cf6;--c-orange:#f59e0b;--c-green:#22c55e;--success:#16a34a;--success-light:#dcfce7;--danger:#dc2626;--danger-light:#fee2e2;--warning:#d97706;--warning-light:#fef3c7;--font:"Inter", system-ui, -apple-system, sans-serif;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow:0 4px 12px #00000012;--shadow-lg:0 8px 24px #0000001a}h1,h2,h3{color:var(--heading);font-family:var(--font);letter-spacing:-.02em;font-weight:700;line-height:1.2}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);font-family:var(--font);background:var(--bg);margin:0;font-size:14px;line-height:1.5}#root{min-height:100vh}h1,h2,h3{color:var(--heading);font-family:var(--font);letter-spacing:-.02em;font-weight:700}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;width:230px;min-width:230px;display:flex}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:.625rem;padding:1.125rem 1.25rem;text-decoration:none;display:flex}.brand-logo{border-radius:var(--radius-sm);background:var(--primary);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-name{color:var(--text);letter-spacing:-.02em;font-size:.9375rem;font-weight:700}.sidebar-role-banner{background:var(--primary-light);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1.25rem;display:flex}.role-banner-text{flex-direction:column;gap:1px;min-width:0;display:flex}.role-banner-label{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.625rem;font-weight:700}.role-banner-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.nav-section{flex-direction:column;flex:1;gap:2px;padding:1rem .875rem;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--sidebar-text);align-items:center;gap:.625rem;padding:.5625rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .1s,color .1s;display:flex}.nav-item:hover{color:var(--sidebar-text-hover);background:#f9fafb}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.nav-icon{opacity:.6;flex-shrink:0;width:16px;height:16px}.nav-item:hover .nav-icon{opacity:.85}.nav-item.active .nav-icon{opacity:1;color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);padding:.875rem 1.25rem}.btn-logout{color:var(--sidebar-text);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.375rem 0;font-size:.875rem;font-weight:500;transition:color .1s;display:flex}.btn-logout:hover{color:var(--danger)}.sidebar-username,.sidebar-role{display:none}.content-area{flex:1;min-width:0;overflow-y:auto}.page-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 2rem 0;display:flex}.page-topbar-left{flex-direction:column;gap:.2rem;display:flex}.page-topbar-date{color:var(--text-muted);font-size:.84rem;font-weight:500}.page-topbar-title{color:var(--heading);margin:0;font-size:1.6rem;font-weight:700}.page-topbar-sub{color:var(--text-muted);margin:0;font-size:.95rem}.page-topbar-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.page-shell{gap:1.15rem;max-width:1200px;padding:1.5rem 2rem 2rem;display:grid}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-title{margin:0 0 .2rem;font-size:1.5rem;font-weight:700}.page-desc{color:var(--text-muted);max-width:65ch;margin:0;font-size:.95rem}.auth-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(400px,100%);box-shadow:var(--shadow-lg);padding:2.5rem}.auth-logo{border-radius:var(--radius);background:var(--primary);justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:1.5rem;display:flex}.auth-title{margin:0 0 .25rem;font-size:1.375rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin:0 0 1.75rem;font-size:.875rem}.auth-form{gap:1rem;display:grid}.form-group{gap:.4rem;display:grid}.form-label{color:var(--text);font-size:.8125rem;font-weight:600}.form-input{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);width:100%;padding:.5625rem .75rem;font-size:.875rem;transition:border-color .1s,box-shadow .1s}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0d948826}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem;display:grid}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem;display:flex;box-shadow:0 8px 22px #0f172a0e}.metric-card-clickable{text-align:left;cursor:pointer;width:100%;font:inherit;transition:border-color .12s,box-shadow .12s}.metric-card-clickable:hover{border-color:var(--primary);box-shadow:0 10px 26px #0f172a16}.metric-card-body{flex:1;min-width:0}.metric-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem;font-size:.8rem;font-weight:700}.metric-value{color:var(--text);letter-spacing:-.03em;word-break:break-word;margin:0 0 .2rem;font-size:1.75rem;font-weight:700;line-height:1}.metric-sub{color:var(--text-muted);word-break:break-word;margin:0;font-size:.88rem}.metric-delta{color:var(--primary);margin:.25rem 0 0;font-size:.82rem;font-weight:600}.metric-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.metric-icon svg{display:block}.metric-icon-teal{color:#0d9488;background:#f0fdfa}.metric-icon-blue{color:#3b82f6;background:#eff6ff}.metric-icon-purple{color:#8b5cf6;background:#f5f3ff}.metric-icon-orange{color:#f59e0b;background:#fffbeb}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.quick-action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem;text-decoration:none;transition:box-shadow .12s,border-color .12s;display:flex;box-shadow:0 8px 22px #0f172a0e}.quick-action-card:hover{border-color:var(--primary);box-shadow:0 10px 26px #0f172a16}.quick-action-left{align-items:center;gap:.875rem;display:flex}.quick-action-icon{border-radius:var(--radius);background:var(--primary-light);width:36px;height:36px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.quick-action-title{margin:0 0 .15rem;font-size:.96rem;font-weight:600}.quick-action-desc{color:var(--text-muted);margin:0;font-size:.86rem}.quick-action-arrow{color:var(--text-subtle);font-size:1rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.875rem;display:flex}.section-title svg{width:16px;height:16px;color:var(--text-muted)}.dashboard-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex;box-shadow:0 8px 22px #0f172a0e}.dashboard-toolbar-block{gap:.35rem;display:grid}.dashboard-toolbar-right{text-align:right}.dashboard-toolbar-range{gap:.25rem}.dashboard-toolbar-range-value{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.dashboard-toolbar-range-hint{color:var(--text-muted);margin:0;font-size:.78rem}.dashboard-toolbar-range-inputs{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dashboard-toolbar-range-inputs .form-input{width:auto;min-width:150px}.dashboard-toolbar-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin:0;font-size:.8rem;font-weight:700}.dashboard-toolbar-value{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.period-chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.period-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:999px;padding:.26rem .68rem;font-size:.88rem;font-weight:600}.period-chip:hover{border-color:var(--primary);color:var(--primary)}.period-chip.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);align-items:start;gap:.85rem;display:grid}.dashboard-column-wide,.dashboard-column-side{gap:.85rem;display:grid}.dashboard-panel{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 22px #0f172a0e}.panel-focus{border-color:#5eead4;box-shadow:0 0 0 2px #ccfbf1}.panel-body{padding:.95rem 1.1rem 1rem}.trend-chart{border-bottom:1px solid var(--border);grid-auto-columns:minmax(12px,1fr);grid-auto-flow:column;align-items:end;gap:.22rem;height:190px;padding:0 0 .6rem;display:grid}.trend-bar-wrap{flex-direction:column;justify-content:flex-end;align-items:center;gap:.3rem;height:100%;display:flex}.trend-bar{background:linear-gradient(#14b8a6,#0d9488);border-radius:6px 6px 3px 3px;width:100%;max-width:14px}.trend-label{color:var(--text-subtle);writing-mode:vertical-rl;letter-spacing:.02em;font-size:.6rem;transform:rotate(180deg)}.attention-list{gap:.55rem;display:grid}.attention-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;border-left-width:4px;padding:.5rem .65rem}.attention-warning{background:#fffbeb;border-left-color:#f59e0b}.attention-info{background:#eff6ff;border-left-color:#3b82f6}.attention-title{margin:0;font-size:.9rem;font-weight:700}.attention-detail{color:var(--text-muted);margin:.22rem 0 0;font-size:.86rem}.attention-empty{gap:.28rem;display:grid}.attention-ok{color:#047857;margin:0;font-size:.95rem;font-weight:700}.dashboard-footnote{justify-content:flex-end;display:flex}.section-title{color:var(--text);align-items:center;gap:.5rem;margin:0;font-size:1.04rem;font-weight:600;display:flex}.section-badge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6875rem;font-weight:700;display:inline-flex}.section-link{color:var(--primary);font-size:.8125rem;font-weight:600;text-decoration:none}.section-link:hover{text-decoration:underline}.upload-process-shell{gap:.95rem;max-width:1180px}.upload-history-section{width:100%}.upload-top-actions .btn-outline{color:#6d28d9;background:#ede9fe;border-color:#d8b4fe}.upload-top-actions .btn-ghost,.upload-top-actions .btn-outline,.upload-top-actions .btn-secondary{min-height:36px;padding:.47rem .82rem;font-size:.8rem}.upload-stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.upload-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left-width:4px;padding:.8rem .92rem .86rem;box-shadow:0 8px 22px #0f172a0e}.upload-stat-neutral{border-left-color:#94a3b8}.upload-stat-success{border-left-color:#34d399}.upload-stat-warning{border-left-color:#f59e0b}.upload-stat-danger{border-left-color:#f87171}.upload-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:.73rem;font-weight:700}.upload-stat-value{color:var(--heading);margin:.35rem 0 0;font-size:1.78rem;font-weight:700;line-height:1}.upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:.82rem;padding:1.25rem;display:grid;box-shadow:0 8px 22px #0f172a0e}.upload-card-head{gap:.35rem;display:grid}.upload-main-card{gap:.8rem}.upload-main-card-wide{width:100%}.upload-main-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.btn-template{padding:.4rem .75rem;font-size:.8rem}.upload-file-zone{border-radius:var(--radius);background:linear-gradient(#fbfcff,#f7fafc);border:1px dashed #99a3b5;flex-direction:column;justify-content:center;gap:.45rem;padding:.9rem 1rem;display:flex}.upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;display:grid}.upload-file-inline{align-content:center;min-height:82px}.upload-file-inline input[type=file]{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);border:0;padding:.52rem 0}.upload-file-inline input[type=file]::file-selector-button{color:var(--primary);font:inherit;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:999px;margin-right:.75rem;padding:.4rem .78rem;font-size:.82rem;font-weight:600}.upload-file-inline input[type=file]::file-selector-button:hover{background:#dbeafe}.btn-upload-process{justify-content:center;min-width:176px;height:44px}.upload-bottom-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.85rem;display:flex}.upload-approve-check{padding-bottom:.15rem}.card-title{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.file-input-label{color:var(--text);font-size:.9rem;font-weight:600}input[type=file]{font:inherit;color:var(--text-muted);font-size:.9rem}.upload-options-grid{grid-template-columns:minmax(220px,300px);gap:.75rem;display:grid}.upload-options-grid label{gap:.35rem;font-size:.9rem;font-weight:600;display:grid}.picked-file{color:var(--text-muted);margin:0;font-size:.8125rem}.field-row{flex-wrap:wrap;gap:.75rem;display:flex}.field-row label{gap:.35rem;min-width:180px;font-size:.9rem;font-weight:600;display:grid}.field-row select,.form-select{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.5rem .6875rem;font-size:.875rem;transition:border-color .1s,box-shadow .1s}.field-row select:focus,.form-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0d948826}.checkbox-row{align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.checkbox-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.btn-row{flex-wrap:wrap;gap:.625rem;padding-top:.25rem;display:flex}.upload-actions-row{justify-content:flex-end;padding-top:0}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.4rem;padding:.5625rem 1.125rem;font-size:.875rem;font-weight:600;transition:background .1s,box-shadow .1s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 2px 6px #0d948859}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;align-items:center;gap:.4rem;padding:.5625rem 1.125rem;font-size:.875rem;font-weight:600;transition:background .1s,border-color .1s;display:inline-flex}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.4rem;padding:.4375rem .875rem;font-size:.8125rem;font-weight:600;transition:background .1s;display:inline-flex}.btn-outline:hover{background:var(--primary-light)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.4rem;padding:.4375rem .875rem;font-size:.8125rem;font-weight:500;transition:background .1s,color .1s;display:inline-flex}.btn-ghost:hover{color:var(--text);background:#f9fafb}.btn-danger{background:var(--surface);color:var(--danger);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #fca5a5;align-items:center;gap:.4rem;padding:.5625rem 1.125rem;font-size:.875rem;font-weight:600;transition:background .1s;display:inline-flex}.btn-danger:hover:not(:disabled){background:var(--danger-light)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm{font:inherit;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.3125rem .625rem;font-size:.75rem;font-weight:600;transition:background .1s}.hint{color:var(--text-muted);margin:0;font-size:.95rem}.status{margin:0;font-size:.875rem}.form-error{color:var(--danger);background:var(--danger-light);border-radius:var(--radius-sm);border:1px solid #fca5a5;margin:0;padding:.5rem .75rem;font-size:.8125rem;font-weight:500}.form-success{color:var(--success);background:var(--success-light);border-radius:var(--radius-sm);border:1px solid #86efac;margin:0;padding:.5rem .75rem;font-size:.8125rem;font-weight:500}.table-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 22px #0f172a0e}.table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.1rem;display:flex}.table-header .section-title{margin:0}.data-table{border-collapse:collapse;width:100%;font-size:.93rem}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;background:#fafafa;padding:.625rem 1.1rem;font-size:.78rem;font-weight:700}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:.72rem 1.1rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#fafafa}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.data-table td.ts{white-space:nowrap;color:var(--text-muted);font-size:.84rem}.data-table td.actions{flex-wrap:wrap;gap:.375rem;display:flex}.icon-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:1.9rem;height:1.9rem;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.icon-btn svg{fill:currentColor;width:.95rem;height:.95rem}.icon-edit:hover:not(:disabled){color:var(--primary);background:#eff6ff;border-color:#93c5fd}.icon-delete:hover:not(:disabled){color:var(--danger);background:var(--danger-light);border-color:#fca5a5}.icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.data-table tr.row-inactive td{color:var(--text-muted)}.badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.6875rem;font-weight:700;display:inline-flex}.badge-admin{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.badge-viewer{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.badge-active{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.badge-inactive{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.modal-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(460px,100%);box-shadow:var(--shadow-lg);padding:1.8rem}.modal-card-lg{width:min(860px,100%)}.modal-card h2{margin:0 0 1.5rem;font-size:1.125rem;font-weight:700}.modal-form{gap:1rem;display:grid}.modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-form-grid .checkbox-row,.modal-form-grid .form-error,.modal-form-grid .modal-footer{grid-column:1/-1}.modal-footer{justify-content:flex-end;gap:.625rem;margin-top:.5rem;display:flex}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin:0 0 .35rem;font-size:.6875rem;font-weight:700;display:block}.error{color:var(--danger)}.success{color:var(--success)}.users-toolbar-wrap{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.users-toolbar{flex-wrap:wrap;flex:1;align-items:center;gap:.9rem;min-width:680px;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.toolbar-search-group{flex:1;min-width:280px;max-width:420px;margin-right:.5rem}.toolbar-filter-group{border-left:1px solid var(--border);border-right:1px solid var(--border);align-items:center;gap:.625rem;padding:0 .875rem;display:flex}.toolbar-sort-group{align-items:center;gap:.625rem;display:flex}.toolbar-filter-group .form-select,.toolbar-sort-group .form-select{min-width:150px}.toolbar-label{color:var(--text-muted);white-space:nowrap;letter-spacing:-.01em;font-size:.8125rem;font-weight:600}.sort-direction-select{min-width:130px}.users-search{width:100%}.bulk-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.1rem;display:flex}.bulk-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.bulk-count{margin-left:auto}.pager-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1.1rem;display:flex}.user-primary{font-weight:700;line-height:1.2}.user-secondary{color:var(--text-muted);margin-top:.15rem;font-size:.83em;line-height:1.2}.data-table .select-col,.data-table .select-cell{text-align:center;width:42px;padding-left:.65rem;padding-right:.65rem}.data-table .role-col,.data-table .status-col{width:120px}.data-table .date-col{width:150px}.data-table .action-col,.data-table td.actions{text-align:center;width:96px}.users-toolbar .form-input,.users-toolbar .form-select{min-height:38px}.dashboard-toolbar .btn-ghost,.dashboard-toolbar .btn-outline,.dashboard-toolbar .btn-secondary{min-height:34px;padding:.44rem .76rem;font-size:.8rem}.data-table td.actions{justify-content:center}@media (width<=768px){.sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap}.sidebar-brand{border-bottom:none;flex:1}.sidebar-role-banner{display:none}.nav-section{flex-direction:row;flex:100%;padding:.5rem .875rem}.sidebar-footer{padding:.5rem 1rem}.layout{flex-direction:column}.page-topbar,.page-shell{padding-left:1.25rem;padding-right:1.25rem}.dashboard-grid{grid-template-columns:1fr}.metrics-grid,.quick-actions-grid{gap:.7rem}.dashboard-toolbar-right{text-align:left}.dashboard-toolbar-range-inputs,.dashboard-toolbar-range-inputs .form-input,.dashboard-toolbar-range-inputs .btn-secondary{width:100%}.trend-chart{height:150px}.trend-label{writing-mode:horizontal-tb;font-size:.56rem;transform:none}.modal-form-grid{grid-template-columns:1fr}.users-search{min-width:100%}.upload-layout,.upload-stats-row,.upload-row{grid-template-columns:1fr}.btn-upload-process{width:100%}.upload-bottom-row{align-items:stretch}.upload-main-head{flex-wrap:wrap}.upload-file-inline input[type=file]{padding:.68rem .7rem}.upload-top-actions{width:100%}.upload-top-actions .btn-ghost,.upload-top-actions .btn-outline,.upload-top-actions .btn-secondary,.dashboard-toolbar .btn-ghost,.dashboard-toolbar .btn-outline,.dashboard-toolbar .btn-secondary{flex:calc(50% - .25rem);justify-content:center}.upload-options-grid{grid-template-columns:1fr}.upload-actions-row{flex-direction:column}.upload-actions-row .btn-primary,.upload-actions-row .btn-secondary{justify-content:center;width:100%}.users-toolbar{flex-direction:column;gap:.75rem;min-width:100%}.toolbar-group{flex-direction:column;align-items:stretch;width:100%}.toolbar-search-group{max-width:100%}.toolbar-filter-group{border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.625rem 0}.toolbar-filter-group .form-select,.toolbar-sort-group .form-select,.sort-direction-select{min-width:100%}.toolbar-label{display:none}.bulk-count{margin-left:0}.pager-row{flex-wrap:wrap;justify-content:center}}
