@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap");
:root{--primary:#007bff;--sidebar:#222d32;--side2:#1a2226;--light:#f4f6f9;--border:#dfe3e8;--text:#263238;--muted:#6c757d;--green:#28a745;--red:#dc3545;--orange:#fd7e14;--blue:#17a2b8}
html[data-theme="dark"]{--primary:#4c8dff;--sidebar:#111827;--side2:#0b1220;--light:#0f172a;--border:#263244;--text:#e5edf6;--muted:#9aa7b6;--green:#35b86b;--red:#ef5261;--orange:#f59e0b;--blue:#38bdf8}
*{box-sizing:border-box}body{margin:0;font-family:"Plus Jakarta Sans",Arial,sans-serif;background:var(--light);color:var(--text)}a{text-decoration:none}.login-page,.public-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f2d3d,#007bff);padding:20px}.login-card,.public-card{width:min(480px,94vw);background:white;border-radius:14px;padding:28px;box-shadow:0 18px 40px rgba(0,0,0,.25)}.public-card{width:min(650px,94vw)}.brand{display:flex;gap:14px;align-items:center;margin-bottom:24px}.brand-logo,.side-brand span{width:48px;height:48px;border-radius:12px;background:var(--primary);color:white;display:inline-flex;align-items:center;justify-content:center;font-weight:bold;font-size:26px}.brand h1{margin:0;font-size:24px}.brand p{margin:3px 0 0;color:var(--muted)}
label{display:block;margin:14px 0 7px;font-weight:600}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px;background:white}.code-uppercase{text-transform:uppercase}.btn{border:0;border-radius:8px;min-height:40px;padding:10px 14px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.15;text-align:center;white-space:nowrap}.btn-primary{background:var(--primary);color:white}.btn-light{background:#eef1f4;color:#202428}.btn-red{background:var(--red);color:white}.btn-green{background:var(--green);color:white}.btn-orange{background:var(--orange);color:white}.btn-sm{min-width:96px;min-height:34px;padding:8px 12px;font-size:13px;border-radius:7px}.btn-block{width:100%;margin-top:18px}.msg-error{color:var(--red);min-height:20px}.login-note{margin-top:18px;color:var(--muted);text-align:center;font-size:14px}
.password-field{position:relative;display:block}.password-field input{padding-right:52px}.toggle-password{position:absolute;right:1px;top:1px;bottom:1px;width:46px;border:0;border-left:1px solid var(--border);border-radius:0 8px 8px 0;background:#fff;color:#2f6fed;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.toggle-password:hover,.toggle-password:focus{background:#eef5ff;color:#004fc4;outline:0}.toggle-password svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.toggle-password .eye-off{display:none}.toggle-password.is-visible .eye{display:none}.toggle-password.is-visible .eye-off{display:block}
.toggle-password .password-emoji{font-size:24px;line-height:1}
.check-line{display:flex;align-items:center;gap:9px}.check-line input{width:auto}
.app{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--sidebar);color:white;position:fixed;inset:0 auto 0 0;z-index:20;transition:transform .22s ease}.side-brand{height:62px;background:var(--side2);display:flex;align-items:center;gap:10px;padding:0 16px;font-weight:bold;font-size:18px}.side-brand span{width:36px;height:36px;font-size:20px;border-radius:8px}.sidebar nav{padding:12px}.sidebar nav a{display:block;color:#c2c7d0;padding:12px 14px;border-radius:8px;margin-bottom:4px}.sidebar nav a:hover,.sidebar nav a.active{background:var(--primary);color:white}.main{margin-left:250px;width:calc(100% - 250px);transition:margin-left .22s ease,width .22s ease}.topbar{height:62px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.topbar h2{font-size:20px;margin:0}.menu-btn{display:none;border:0;background:#eef1f4;border-radius:8px;padding:8px 11px;font-size:20px}.content{padding:22px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.info-card{border-radius:12px;color:white;padding:20px;box-shadow:0 8px 18px rgba(0,0,0,.09)}.info-card p{margin:0 0 8px;opacity:.9}.info-card h3{margin:0;font-size:34px}.blue{background:var(--blue)}.bg-green{background:var(--green)}.bg-orange{background:var(--orange)}.bg-red{background:var(--red)}.panel{background:white;border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 8px 18px rgba(0,0,0,.04);margin-bottom:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid var(--border);padding:12px 10px;text-align:left;vertical-align:middle}th{background:#f7f9fb;color:#4b5563;font-size:13px;text-transform:uppercase}.badge{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:bold}.badge.green{background:#d4edda;color:#155724}.badge.red{background:#f8d7da;color:#721c24}.badge.orange{background:#ffe5d0;color:#7a3b00}.badge.gray{background:#e9ecef;color:#343a40}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.input-row,.search-form{display:flex;gap:10px;align-items:center}.input-row input,.search-form input,.search-form select{flex:1}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.table-wrap td .actions{margin-top:0;flex-wrap:nowrap}.table-wrap td .btn{width:118px;min-height:34px;padding:8px 10px;font-size:13px;border-radius:7px;white-space:normal}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;margin-top:8px}.table-actions form{margin:0}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.detail-line{display:grid;grid-template-columns:190px 1fr;border-bottom:1px dashed var(--border);padding:10px 0}.qr-box{text-align:center;padding:18px}.qr-box img{width:220px;max-width:100%;border:1px solid var(--border);padding:10px;border-radius:10px}.muted{color:var(--muted);font-size:14px}.note-list{padding-left:18px}.alert-red{background:#f8d7da;color:#721c24;border-radius:8px;padding:12px;margin-top:14px}.alert-green{background:#d4edda;color:#155724;border-radius:8px;padding:12px;margin-top:14px}.firmware-table{min-width:880px;border-collapse:separate;border-spacing:0}.firmware-table th{position:sticky;top:0;z-index:1;background:#eef5ff;color:#28445f}.firmware-table th:first-child{border-radius:8px 0 0 0}.firmware-table th:last-child{border-radius:0 8px 0 0}.firmware-table tbody tr:hover{background:#f8fbff}.firmware-table td{vertical-align:top}.firmware-table .col-tool{min-width:150px}.firmware-table .col-version{min-width:130px}.firmware-table .col-revision{min-width:220px}.firmware-table .col-date{min-width:135px}.firmware-name{font-weight:700;color:#26384a}.firmware-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:6px 10px;background:#eef5ff;color:#24527a;font-size:12px;font-weight:700;white-space:nowrap;margin:0 6px 6px 0}.firmware-pill.gray{background:#f1f3f5;color:#48535f}.firmware-folder{margin-top:8px;max-width:230px;word-break:break-word;font-family:Consolas,Monaco,monospace;font-size:11px;color:#5f6f7d;background:#f8fafc;border:1px solid #e7edf3;border-radius:7px;padding:7px}.firmware-files{display:grid;grid-template-columns:repeat(2,118px);gap:8px}.firmware-files .btn{width:118px;justify-content:center}.sortable-table thead tr:first-child th{user-select:none;padding:0}.sort-btn{width:100%;min-height:42px;border:0;border-radius:0;background:transparent;color:#4b5563;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 10px;font:inherit;font-weight:700;text-align:left;text-transform:uppercase}.sort-btn:hover,.sort-btn:focus{background:#edf5ff;color:var(--primary);outline:0}.sort-mark{font-size:11px;line-height:1;color:#7b8794;letter-spacing:0;text-transform:none}.sortable-table th[data-sort-dir="asc"] .sort-mark:before{content:"ASC";color:var(--primary)}.sortable-table th[data-sort-dir="desc"] .sort-mark:before{content:"DESC";color:var(--primary)}.sortable-table th[data-sort-dir="asc"] .sort-mark,.sortable-table th[data-sort-dir="desc"] .sort-mark{font-size:0}.sortable-table th[data-sort-dir=""] .sort-mark{font-size:11px}.column-filters th{background:#fff;padding:8px}.column-filters input{width:100%;min-width:90px;padding:8px 9px;font-size:13px;border-radius:7px}
.form-grid{display:grid;gap:14px 18px}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:1/-1}.form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-start;grid-column:1/-1}.checkbox-line{display:flex;align-items:center;gap:9px;margin-top:28px}.checkbox-line input{width:auto}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.info-box{border:1px solid #e4ebf3;background:#f8fbff;border-radius:10px;padding:14px}.info-box strong{display:block;margin-bottom:6px;color:#26384a}.info-box span{display:block;color:var(--muted);font-size:13px;line-height:1.45}.table-responsive{width:100%;overflow:auto}
.tax-due-panel{border-left:5px solid var(--orange)}.tax-due-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tax-due-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;border:1px solid #ffe1c4;background:#fff8f0;border-radius:9px;padding:11px 12px;color:var(--text)}.tax-due-item.is-overdue{border-color:#f5c2c7;background:#fff5f5}.tax-due-item strong{white-space:nowrap}.tax-due-item span{font-size:13px}.umkm-tax-table td,.umkm-tax-table th{white-space:nowrap}.tax-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tax-rule-card{border:1px solid #dfe8f2;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border-left:4px solid var(--orange);border-radius:10px;padding:14px 15px;min-height:98px}.tax-rule-card strong{display:block;margin-bottom:7px;color:#1f2d3d}.tax-rule-card span{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>label.checkbox-line,.app .panel>form.grid-2>label.checkbox-line{display:flex}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>label.checkbox-line input,.app .panel>form.grid-2>label.checkbox-line input{width:auto}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>button,.app .panel>form.grid-2>button{grid-column:1/-1;width:max-content}
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.grid-2,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.table-wrap,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.table-responsive,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.profile-hero,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.profile-fields,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.profile-actions{grid-column:1/-1;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
.generated-id{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.generated-id h3{margin:0;word-break:break-all}.btn-icon{gap:7px}.btn-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.copy-msg{margin-top:10px;color:var(--green);font-size:14px;font-weight:600;display:none}
@media(max-width:900px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:inline-flex}.cards{grid-template-columns:1fr 1fr}.detail-grid,.grid-2,.form-grid.two-columns{grid-template-columns:1fr}.info-grid,.tax-due-list,.tax-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-due-item{grid-template-columns:auto 1fr}}@media(max-width:620px){.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form),.app .panel>form.grid-2:not(.search-form){grid-template-columns:1fr}}@media(max-width:520px){.cards,.info-grid,.tax-due-list,.tax-rule-grid{grid-template-columns:1fr}.panel-header{align-items:stretch;flex-direction:column}.input-row,.search-form{flex-direction:column;align-items:stretch}}

.firmware-table{min-width:960px;table-layout:fixed}.firmware-table col.col-tool{width:19%}.firmware-table col.col-version{width:18%}.firmware-table col.col-revision{width:25%}.firmware-table col.col-date{width:13%}.firmware-table col.col-files{width:25%}.firmware-table th,.firmware-table td{padding:14px 12px}.firmware-table tbody tr{background:#fff}.firmware-table tbody tr:nth-child(even){background:#fbfdff}.firmware-table tbody tr:hover{background:#f3f8ff}.firmware-table .firmware-name{display:block;max-width:100%;overflow-wrap:anywhere;line-height:1.35}.firmware-badges{display:flex;flex-wrap:wrap;gap:6px}.firmware-badges .firmware-pill{margin:0}.firmware-revision{display:inline-flex;max-width:100%;align-items:center;border:1px solid #dce8f5;border-radius:7px;background:#f7fbff;color:#26384a;padding:7px 9px;font-family:Consolas,Monaco,monospace;font-size:12px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.firmware-date{display:block;font-weight:700;color:#2f3d4a;line-height:1.25}.firmware-time{display:block;margin-top:3px;color:#6b7785;font-size:12px}.firmware-file-action-cell{min-width:240px}.firmware-files{display:grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:8px}.firmware-files .firmware-file-btn{width:100%;min-height:44px;flex-direction:column;gap:2px;padding:8px 10px}.firmware-file-btn span{font-size:13px;line-height:1.1}.firmware-file-btn small{font-size:11px;font-weight:600;color:#647382;line-height:1}.firmware-file-action-cell .table-actions{display:grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:8px;margin-top:8px}.firmware-file-action-cell .table-actions .btn,.firmware-file-action-cell .table-actions form{width:100%}.firmware-file-action-cell .table-actions button{width:100%}

@media(max-width:900px){.firmware-table{min-width:880px}.firmware-table col.col-tool{width:18%}.firmware-table col.col-version{width:18%}.firmware-table col.col-revision{width:24%}.firmware-table col.col-date{width:14%}.firmware-table col.col-files{width:26%}.firmware-files,.firmware-file-action-cell .table-actions{grid-template-columns:1fr}}

.firmware-table{min-width:760px}.firmware-table col.col-tool{width:20%}.firmware-table col.col-version{width:17%}.firmware-table col.col-revision{width:28%}.firmware-table col.col-date{width:14%}.firmware-table col.col-files{width:21%}.firmware-table th,.firmware-table td{padding:12px 10px}.firmware-file-action-cell{min-width:150px}.firmware-files,.firmware-file-action-cell .table-actions{grid-template-columns:1fr}.firmware-files .firmware-file-btn{min-height:40px}.firmware-revision{font-size:11px;padding:6px 8px}.firmware-pill{font-size:11px;padding:5px 9px}.firmware-table .table-actions{flex-wrap:wrap}

@media(max-width:900px){.firmware-table{min-width:760px}.firmware-table col.col-tool{width:20%}.firmware-table col.col-version{width:17%}.firmware-table col.col-revision{width:28%}.firmware-table col.col-date{width:14%}.firmware-table col.col-files{width:21%}}

.firmware-table{min-width:760px;width:100%}.firmware-table .col-tool,.firmware-table .col-version,.firmware-table .col-revision,.firmware-table .col-date{min-width:0}.firmware-table col.col-tool{width:170px}.firmware-table col.col-version{width:130px}.firmware-table col.col-revision{width:190px}.firmware-table col.col-date{width:105px}.firmware-table col.col-files{width:165px}.firmware-table .firmware-file-btn span{white-space:normal;text-align:center}.firmware-file-btn small{white-space:nowrap}

.firmware-table col.col-tool{width:18%}.firmware-table col.col-version{width:14%}.firmware-table col.col-revision{width:24%}.firmware-table col.col-date{width:13%}.firmware-table col.col-files{width:31%}

.firmware-table{min-width:980px}.firmware-table th,.firmware-table td{padding:9px 10px;vertical-align:middle}.firmware-table tbody tr{height:54px}.firmware-table .firmware-name{white-space:nowrap;overflow:hidden;text-overflow:clip}.firmware-badges{display:flex;align-items:center;flex-wrap:nowrap;gap:6px}.firmware-pill,.firmware-revision{white-space:nowrap}.firmware-revision{max-width:230px;overflow:hidden;text-overflow:clip}.firmware-date{display:inline;font-size:13px;white-space:nowrap}.firmware-time{display:none}.firmware-file-action-cell{min-width:0}.firmware-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:nowrap}.firmware-row-actions form{margin:0;display:inline-flex}.firmware-row-actions .btn{width:auto;min-width:68px;min-height:32px;padding:7px 10px;font-size:12px;white-space:nowrap}.firmware-row-actions .firmware-file-btn{flex-direction:row;min-height:32px}.firmware-row-actions .firmware-file-btn small{display:none}

.firmware-table{min-width:820px}.firmware-table col.col-tool{width:16%}.firmware-table col.col-version{width:13%}.firmware-table col.col-revision{width:22%}.firmware-table col.col-date{width:13%}.firmware-table col.col-files{width:36%}.firmware-table th,.firmware-table td{padding:8px 8px}.firmware-table tbody tr{height:48px}.firmware-table .firmware-name{font-size:14px}.firmware-pill{font-size:10px;padding:4px 7px}.firmware-revision{max-width:185px;font-size:10px;padding:5px 7px}.firmware-date{font-size:12px}.firmware-row-actions{gap:5px}.firmware-row-actions .btn{min-width:52px;min-height:30px;padding:6px 8px;font-size:12px}

.firmware-row-actions{gap:4px}.firmware-row-actions .btn{min-width:46px;padding:6px 7px;font-size:12px}.firmware-row-actions .firmware-file-btn{min-width:42px}

.app .btn{border-radius:7px;min-width:46px;min-height:30px;padding:6px 8px;font-size:12px;line-height:1.15;gap:5px;white-space:nowrap}.app .btn-sm{min-width:46px;min-height:30px;padding:6px 8px;font-size:12px}.app .btn-block{width:100%;min-height:34px}.app .actions{gap:8px}.app .table-wrap td .btn{width:auto;min-width:46px;min-height:30px;padding:6px 8px;font-size:12px;border-radius:7px;white-space:nowrap}.app .table-actions{gap:6px;margin-top:0}.app .search-form .btn,.app .input-row .btn{align-self:stretch}.app .topbar .btn{min-height:32px}

.app .actions:not(.search-form)>.btn,.app .actions:not(.search-form)>form>.btn,.app .table-actions>.btn,.app .table-actions>form>.btn,.app .firmware-row-actions>.btn,.app .firmware-row-actions>form>.btn{width:74px}.app .panel-header .actions>.btn{width:112px}.app form>.actions>.btn{width:118px}.app .firmware-row-actions>.btn,.app .firmware-row-actions>form>.btn{width:56px}.app .topbar .btn{width:74px}

.app .actions>form,.app .table-actions>form,.app .firmware-row-actions>form{display:inline-flex;margin:0}.app .actions>form>.btn,.app .table-actions>form>.btn,.app .firmware-row-actions>form>.btn{width:100%}.app .table-actions>.btn,.app .table-actions>form{width:74px}.app .actions:not(.search-form)>.btn,.app .actions:not(.search-form)>form{width:74px}.app .panel-header .actions>.btn,.app .panel-header .actions>form{width:112px}.app form>.actions>.btn,.app form>.actions>form{width:118px}.app .firmware-row-actions>.btn,.app .firmware-row-actions>form{width:56px}.app .firmware-row-actions>form>.btn{width:100%}

.sales-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:290px}.sales-row-actions form{display:inline-flex;margin:0}.app .table-wrap td .sales-row-actions .btn,.sales-row-actions .btn{width:66px;min-width:66px;min-height:32px;padding:6px 8px;white-space:nowrap}.sales-row-actions .sales-delete-icon .btn-icon-outline,.sales-row-actions .sales-delete-icon .btn-icon-outline svg,.sales-row-actions .sales-detail-icon .btn-icon-outline,.sales-row-actions .sales-detail-icon .btn-icon-outline svg{width:16px;height:16px}.sales-row-actions .sales-delete-icon svg,.sales-row-actions .sales-detail-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sales-product-table{min-width:1850px;table-layout:auto!important}.ceo-data-table.sales-product-table td.qr-code-cell{width:230px;min-width:230px;max-width:none;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;font-family:inherit;font-size:inherit;line-height:1.35}.sales-product-table .qr-code-inline{align-items:center}.sales-product-table .qr-code-inline b{font-family:inherit;font-size:inherit;line-height:1.35;white-space:normal;overflow-wrap:normal!important;word-break:normal!important}
.sales-product-table .employee-save-cell{width:120px;min-width:120px;max-width:120px;white-space:normal;overflow-wrap:anywhere}
.sales-product-table .courier-cell{width:112px;min-width:112px;text-align:center}.sales-product-table .courier-logo{display:block;width:88px!important;height:29px!important;object-fit:contain;margin:auto}.sales-product-table .courier-logo-cargo,.sales-product-table .courier-logo-jne{width:88px!important;height:29px!important}.sales-product-table .courier-logo-jne{transform:scale(.78);transform-origin:center}.sales-product-table .courier-text-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:28px;border-radius:7px;background:#eef0f6;color:#5d6679;font-size:12px;font-weight:800}
.sales-note-toggle-field .sales-note-toggle{min-height:38px;margin:0;padding:9px 10px;border:1px solid #d8e2ec;border-radius:7px;background:#fff;display:flex;align-items:center;gap:8px;font-weight:700}.sales-note-toggle input{width:auto}.sales-note-toggle input:disabled{opacity:.65}
.copy-cell-inline{display:flex;align-items:flex-start;gap:8px;min-width:0}.copy-cell-inline b{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-all}.copy-cell-inline .copy-qr-code{flex:0 0 auto;min-width:56px;padding:6px 8px;font-size:11px;line-height:1}
.copy-code-cell{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.copy-code-inline{display:inline-flex;align-items:center;gap:8px;max-width:none;min-width:0}.copy-code-inline b{min-width:0}.copy-code-btn{flex:0 0 auto;min-width:56px;min-height:30px;padding:6px 8px;font-size:11px;line-height:1}.copy-code-btn:hover,.copy-code-btn.copied{background:#28c76f;border-color:#28c76f;color:#fff}body.ceo-page .copy-code-btn.copied{background:#20e58a;border-color:#20e58a;color:#03150c}
.copy-device-id.copied,.copy-device-id.is-copied,.copy-shipping-message.copied,.copy-shipping-message.is-copied,.copy-qr-code.copied,.copy-qr-code.is-copied{background:#28c76f!important;border-color:#28c76f!important;color:#fff!important}
body.ceo-page .copy-device-id.copied,body.ceo-page .copy-device-id.is-copied,body.ceo-page .copy-shipping-message.copied,body.ceo-page .copy-shipping-message.is-copied,body.ceo-page .copy-qr-code.copied,body.ceo-page .copy-qr-code.is-copied{background:#20e58a!important;border-color:#20e58a!important;color:#03150c!important}
.multi-check-dropdown{position:relative}.multi-check-dropdown summary{min-height:40px;padding:10px 38px 10px 12px;border:1px solid #d8deea;border-radius:6px;background:#fff;color:#2f3446;cursor:pointer;list-style:none;overflow:hidden;text-overflow:clip;white-space:nowrap}.multi-check-dropdown summary::-webkit-details-marker{display:none}.multi-check-dropdown summary:after{content:"";position:absolute;right:14px;top:15px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.multi-check-dropdown[open] summary:after{top:18px;transform:rotate(-135deg)}.multi-check-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;padding:10px;border:1px solid #d8deea;border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(47,52,70,.18)}.multi-check-panel input[type="search"]{margin-bottom:8px}.multi-check-list{max-height:260px;overflow:auto;display:grid;gap:4px}.multi-check-option{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px;border-radius:6px;font-weight:600;cursor:pointer}.multi-check-option[hidden]{display:none!important}.multi-check-option:hover{background:#f3f4f8}.multi-check-option input{width:auto;margin-top:2px}.multi-check-option span{line-height:1.25}body.ceo-page .multi-check-dropdown summary{background:#fff;color:#2f3446;border-color:#d8deea}body.ceo-page .multi-check-panel{background:#fff;color:#2f3446;border-color:#d8deea}body.ceo-page .multi-check-option:hover{background:#f6f5ff}
.searchable-datalist-option{display:grid;text-align:left}.searchable-datalist-option span{font-weight:700;color:#2f3446;line-height:1.25}.searchable-datalist-option small{display:block;margin-top:3px;color:#6b7280;font-size:12px;line-height:1.2}
.searchable-datalist{position:relative}.searchable-datalist-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:35;padding:10px;border:1px solid #d8deea;border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(47,52,70,.18)}.searchable-datalist.is-open .searchable-datalist-panel{display:block}.searchable-datalist-list{max-height:260px;overflow:auto;display:grid;gap:4px}.searchable-datalist-option{width:100%;border:0;border-radius:6px;background:transparent;color:#2f3446;text-align:left;padding:8px;font-size:13px;font-weight:600;line-height:1.25;cursor:pointer}.searchable-datalist-option:hover,.searchable-datalist-option:focus{background:#f6f5ff;outline:0}.searchable-datalist-empty{padding:10px;color:#8a94a6;font-size:13px;text-align:center}body.ceo-page .searchable-datalist-panel{background:#fff;color:#2f3446;border-color:#d8deea}
.piecework-preview-wrap{grid-column:1/-1}.piecework-preview-table{min-width:760px}.piecework-preview-table td:first-child{white-space:normal;overflow:visible;text-overflow:clip}
.piecework-price-table{min-width:1280px}.piecework-price-table th:first-child,.piecework-price-table td:first-child{width:44px;min-width:44px}.piecework-price-table th:nth-child(2),.piecework-price-table td:nth-child(2){width:300px;min-width:300px;white-space:normal;overflow:visible;text-overflow:clip}.piecework-price-table td:nth-child(2) .muted{display:block;white-space:normal;overflow-wrap:anywhere}
.employee-piecework-price-table{min-width:980px;table-layout:fixed}.employee-piecework-price-table .col-product{width:32%}.employee-piecework-price-table .col-price{width:14%}.employee-piecework-price-table .col-date{width:12%}.employee-piecework-price-table th,.employee-piecework-price-table td{vertical-align:top}.employee-piecework-price-table th:not(:first-child),.employee-piecework-price-table td:not(:first-child){text-align:right;white-space:nowrap}.employee-piecework-price-table th:first-child,.employee-piecework-price-table td:first-child{white-space:normal;overflow:visible;text-overflow:clip}.employee-piecework-price-table td:first-child .muted{display:block;white-space:normal;overflow-wrap:anywhere}
.sales-detail-modal[hidden]{display:none}.sales-detail-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:22px}.sales-detail-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48)}.sales-detail-dialog{position:relative;width:min(760px,96vw);max-height:86vh;overflow:auto;background:#fff;border-radius:10px;border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.28)}.sales-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.sales-detail-header h3{margin:0;font-size:18px}.sales-detail-close{border:0;background:#eef1f4;border-radius:7px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}.sales-detail-body{padding:8px 18px 18px}.sales-detail-line{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--border);align-items:start}.sales-detail-line b{color:#465160}.sales-detail-line span{overflow-wrap:anywhere;word-break:break-word}
.receipt-logo-preview{width:110px;height:88px;border:1px solid var(--border);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;margin:0 0 10px;overflow:hidden}.receipt-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}

.app .firmware-row-actions>.btn,.app .firmware-row-actions>form{flex:0 0 62px;width:62px}.app .firmware-row-actions>form>.btn{width:100%;min-width:0}.app .table-actions>.btn,.app .table-actions>form{flex:0 0 74px;width:74px}.app .actions:not(.search-form)>.btn,.app .actions:not(.search-form)>form{flex:0 0 74px;width:74px}.app .panel-header .actions>.btn,.app .panel-header .actions>form{flex-basis:112px;width:112px}.app form>.actions>.btn,.app form>.actions>form{flex-basis:118px;width:118px}

.firmware-table{min-width:780px}.firmware-table col.col-tool{width:16%}.firmware-table col.col-version{width:13%}.firmware-table col.col-revision{width:21%}.firmware-table col.col-date{width:13%}.firmware-table col.col-files{width:37%}.app .firmware-row-actions>.btn,.app .firmware-row-actions>form{flex:0 0 54px;width:54px}.app .firmware-row-actions>form>.btn{width:100%;min-width:0}.firmware-row-actions{gap:3px}

.app .actions>form.search-form,.app .panel-header .actions>form.search-form{display:flex;flex:1 1 360px;width:auto;margin:0}.app .search-form .btn{flex:0 0 74px;width:74px}.app .search-form input{min-width:220px}

.app .panel-header .actions>form.search-form{flex:0 1 280px}.app .panel-header .search-form input{min-width:170px}.app .panel-header .search-form .btn{flex:0 0 64px;width:64px}.app .panel-header .actions{justify-content:flex-end}

.firmware-table{min-width:820px}.firmware-table col.col-tool{width:16%}.firmware-table col.col-version{width:13%}.firmware-table col.col-revision{width:22%}.firmware-table col.col-date{width:13%}.firmware-table col.col-files{width:36%}.firmware-row-actions{gap:4px}.app .firmware-row-actions>.btn,.app .firmware-row-actions>form{flex:0 0 auto;width:auto}.app .firmware-row-actions>form>.btn{width:auto;min-width:46px}.app .firmware-row-actions .btn{min-width:46px;min-height:30px;padding:6px 7px;font-size:12px}.app .firmware-row-actions .firmware-file-btn{min-width:42px}

.firmware-table{min-width:820px;table-layout:fixed}.firmware-table col.col-tool{width:16%}.firmware-table col.col-version{width:13%}.firmware-table col.col-revision{width:22%}.firmware-table col.col-date{width:13%}.firmware-table col.col-files{width:36%}.firmware-table th,.firmware-table td{padding:8px 8px;vertical-align:middle}.firmware-table tbody tr{height:48px}.firmware-table .firmware-name{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:clip}.firmware-badges{display:flex;align-items:center;flex-wrap:nowrap;gap:6px}.firmware-pill{font-size:10px;padding:4px 7px;margin:0;min-height:28px;white-space:nowrap}.firmware-revision{max-width:185px;font-size:10px;padding:5px 7px;white-space:nowrap;overflow:hidden;text-overflow:clip}.firmware-date{display:inline;font-size:12px;white-space:nowrap}.firmware-time{display:none}.firmware-file-action-cell{min-width:0}.firmware-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:4px;flex-wrap:nowrap}.firmware-row-actions>form{display:inline-flex;margin:0;flex:0 0 auto;width:auto}.firmware-row-actions>.btn,.firmware-row-actions>form>.btn,.app .firmware-row-actions>.btn,.app .firmware-row-actions>form>.btn{flex:0 0 auto;width:auto;min-width:46px;min-height:30px;padding:6px 7px;font-size:12px;white-space:nowrap}.firmware-row-actions .firmware-file-btn,.app .firmware-row-actions .firmware-file-btn{min-width:42px}.firmware-row-actions .firmware-file-btn small{display:none}

.firmware-table.sortable-table thead tr:first-child th{padding:0}.firmware-table .sort-btn{min-height:38px;padding:9px 8px;font-size:12px}.firmware-table .column-filters th{padding:6px 6px}.firmware-table .column-filters input{min-width:0;padding:7px 8px;font-size:12px}.firmware-table .firmware-row-actions>.btn,.firmware-table .firmware-row-actions>form{flex:0 0 56px;width:56px}.firmware-table .firmware-row-actions>form>.btn{width:100%;min-width:0}.table-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.table-pager .btn{width:64px}.table-page-info{font-size:12px;color:#5c6670;font-weight:600}.table-pager .btn:disabled{opacity:.45;cursor:not-allowed}

.sort-mark{position:relative;width:12px;height:16px;flex:0 0 12px}.sort-mark:before,.sort-mark:after{content:"";position:absolute;left:2px;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.45}.sort-mark:before{top:2px;border-bottom:5px solid #7b8794}.sort-mark:after{bottom:2px;border-top:5px solid #7b8794}.sortable-table th[data-sort-dir="asc"] .sort-mark:before{border-bottom-color:var(--primary);opacity:1}.sortable-table th[data-sort-dir="asc"] .sort-mark:after{opacity:.18}.sortable-table th[data-sort-dir="desc"] .sort-mark:after{border-top-color:var(--primary);opacity:1}.sortable-table th[data-sort-dir="desc"] .sort-mark:before{opacity:.18}.sortable-table th[data-sort-dir="asc"] .sort-mark:before,.sortable-table th[data-sort-dir="desc"] .sort-mark:before{content:"";font-size:0}.sortable-table th[data-sort-dir="asc"] .sort-mark,.sortable-table th[data-sort-dir="desc"] .sort-mark,.sortable-table th[data-sort-dir=""] .sort-mark{font-size:0}

.firmware-upload-panel{padding:20px}.firmware-upload-panel .panel-header{align-items:flex-start;border-bottom:1px solid #edf1f5;padding-bottom:14px;margin-bottom:16px}.firmware-upload-panel h3{margin-bottom:4px}.firmware-upload-panel .muted{margin:0}.firmware-upload-form{display:block}.firmware-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.firmware-field{background:#fbfdff;border:1px solid #e7edf3;border-radius:8px;padding:12px}.firmware-field label{margin:0 0 8px;font-size:13px;color:#33475b}.firmware-field input{border-color:#d8e2ec;background:#fff}.firmware-field input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,123,255,.12)}.firmware-file-field input{padding:9px;background:#fff}.firmware-upload-form>.muted{margin-top:12px}.firmware-upload-form>.actions{border-top:1px solid #edf1f5;padding-top:14px;margin-top:14px}

.app .firmware-upload-form .firmware-save-btn{width:auto;min-width:132px;min-height:38px;padding:9px 16px;border-radius:8px;background:#0f6fff;color:#fff;font-size:13px;font-weight:700;box-shadow:0 6px 14px rgba(15,111,255,.22)}.app .firmware-upload-form .firmware-save-btn:hover,.app .firmware-upload-form .firmware-save-btn:focus{background:#005edb;box-shadow:0 8px 18px rgba(15,111,255,.3);outline:0}.app .firmware-upload-form .firmware-save-btn:active{transform:translateY(1px);box-shadow:0 4px 10px rgba(15,111,255,.2)}

.firmware-export-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.app .firmware-export-actions .btn{width:auto;min-width:86px;min-height:32px;padding:7px 10px;font-size:12px}.app .firmware-export-actions .btn-green{background:#1f9d55;color:#fff}

.ceo-data-panel{padding:20px}.ceo-data-panel .panel-header{align-items:flex-start;border-bottom:1px solid #edf1f5;padding-bottom:14px;margin-bottom:16px}.ceo-data-panel .panel-header h3{margin:0}.ceo-data-panel .panel-header .actions,.ceo-data-panel .panel-header .search-form{margin-top:0}.ceo-data-panel .search-form input{border-color:#d8e2ec;background:#fff}.ceo-data-panel .search-form input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,123,255,.12)}.ceo-data-table{min-width:820px;table-layout:auto;border-collapse:separate;border-spacing:0}.ceo-data-table th{position:sticky;top:0;z-index:1;background:#eef5ff;color:#28445f}.ceo-data-table th:first-child{border-radius:8px 0 0 0}.ceo-data-table th:last-child{border-radius:0 8px 0 0}.ceo-data-table tbody tr{background:#fff}.ceo-data-table tbody tr:nth-child(even){background:#fbfdff}.ceo-data-table tbody tr:hover{background:#f3f8ff}.ceo-data-table th,.ceo-data-table td{padding:9px 10px;vertical-align:middle}.ceo-data-table.sortable-table thead tr:first-child th{padding:0}.ceo-data-table .sort-btn{min-height:38px;padding:9px 8px;font-size:12px}.ceo-data-table .column-filters th{padding:6px}.ceo-data-table .column-filters input{min-width:0;padding:7px 8px;font-size:12px;border-color:#d8e2ec}.ceo-data-table td .actions{margin:0;gap:4px;flex-wrap:nowrap}.ceo-data-table td .actions>.btn,.ceo-data-table td .actions>form{flex:0 0 64px;width:64px}.ceo-data-table td .actions>form{display:inline-flex}.ceo-data-table td .actions>form>.btn{width:100%;min-width:0}.ceo-data-table .badge{white-space:nowrap}.ceo-device-table{min-width:1320px}

.ceo-data-table{table-layout:fixed}.ceo-data-table th,.ceo-data-table td{overflow:hidden;text-overflow:clip}.ceo-data-table td{white-space:nowrap}.ceo-data-table .sort-btn span:first-child{min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.ceo-data-table .column-filters input{width:100%}.ceo-data-table td .actions{overflow:visible}.ceo-data-table td .actions .btn{overflow:hidden;text-overflow:clip}.ceo-device-table{min-width:1500px}.ceo-device-table th,.ceo-device-table td{font-size:12px}.ceo-device-table .col-actions{width:174px;min-width:174px;overflow:visible}.ceo-device-table .col-actions .actions>.btn,.ceo-device-table .col-actions .actions>form{flex-basis:52px;width:52px}

.firmware-table{min-width:820px;table-layout:fixed}.firmware-table col.col-tool,.firmware-table col.col-version,.firmware-table col.col-revision,.firmware-table col.col-date,.firmware-table col.col-files{width:20%}.firmware-table th,.firmware-table td{overflow:hidden;text-overflow:clip}.firmware-table td{white-space:nowrap}.firmware-table .sort-btn span:first-child{min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.firmware-table .column-filters input{width:100%}.firmware-table .firmware-file-action-cell{overflow:visible}

.btn-icon-outline{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 15px;color:currentColor}.btn-icon-outline svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-sm .btn-icon-outline,.firmware-row-actions .btn-icon-outline{width:13px;height:13px;flex-basis:13px}.btn-sm .btn-icon-outline svg,.firmware-row-actions .btn-icon-outline svg{width:13px;height:13px}.btn-light .btn-icon-outline{color:currentColor}.btn-primary .btn-icon-outline,.btn-red .btn-icon-outline,.btn-green .btn-icon-outline,.btn-orange .btn-icon-outline{color:currentColor}

.table-export-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;margin:-4px 0 10px;overflow-x:auto;padding-bottom:2px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:6px;flex:0 0 auto;flex-wrap:nowrap}.toolbar-left{margin-right:auto}.toolbar-right{margin-left:auto}.table-export-toolbar>form:not(.toolbar-left):not(.toolbar-right),.table-export-toolbar>.actions:not(.toolbar-left):not(.toolbar-right){margin-right:auto;flex:0 0 auto}.table-export-toolbar .bug-status-filter{margin:0}.table-export-toolbar .bug-status-filter select{width:auto;min-width:150px;height:32px;padding:6px 10px;font-size:12px}.table-export-toolbar .production-batch-edit-form{display:flex;align-items:center;gap:6px;margin:0 0 0 0;flex:0 0 auto;width:auto}.table-export-toolbar .production-batch-delete-form{display:flex;align-items:center;margin:0 6px 0 -4px!important;flex:0 0 auto;width:auto}.table-export-toolbar .production-batch-edit-form select,.table-export-toolbar .production-batch-edit-form input{width:auto;min-width:132px;max-width:180px;height:32px;padding:6px 9px;font-size:12px}.table-export-toolbar .production-batch-edit-form [hidden]{display:none!important}.app .table-export-toolbar .btn,.app .firmware-export-actions .btn{width:auto;min-width:92px;min-height:32px;padding:7px 10px;font-size:12px}.app .export-pdf,.app [data-table-export="pdf"]{background:#fff4e6;color:#9a4b00;border:1px solid #ffd8a8}.app .export-printer,.app [data-table-export="print"]{background:#eaf4ff;color:#0b5cad;border:1px solid #c8e1ff}.app .export-xls,.app [data-table-export="xls"]{background:#e8f7ee;color:#16713a;border:1px solid #bee8cc}.app .export-pdf:hover,.app [data-table-export="pdf"]:hover{background:#ffe8cc}.app .export-printer:hover,.app [data-table-export="print"]:hover{background:#dceeff}.app .export-xls:hover,.app [data-table-export="xls"]:hover{background:#d8f0e2}
.table-export-toolbar .url-code-batch-edit-form{display:flex;align-items:center;gap:6px;margin:0;width:auto;flex-wrap:nowrap;white-space:nowrap}.table-export-toolbar .url-code-batch-edit-form select,.table-export-toolbar .url-code-batch-edit-form input{flex:0 0 auto;height:32px;padding:6px 9px;font-size:12px}.table-export-toolbar .url-code-batch-edit-form select{width:156px;min-width:156px}.table-export-toolbar .url-code-batch-edit-form input{width:220px;min-width:160px;max-width:24vw}.table-export-toolbar .url-code-batch-edit-form #batchUrlCodeDownloadLabel{width:170px;min-width:140px;max-width:18vw}.table-export-toolbar .url-code-batch-edit-form .btn{min-width:106px;white-space:nowrap}

.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form),.app .panel>form.grid-2:not(.search-form){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>input[type="hidden"],.app .panel>form.grid-2>input[type="hidden"]{display:none}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>label,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>div:not(.actions):not(.form-actions):not(.table-responsive):not(.table-wrap),.app .panel>form.grid-2>label,.app .panel>form.grid-2>div:not(.actions):not(.form-actions){min-width:0;background:#fbfdff;border:1px solid #e7edf3;border-radius:8px;padding:12px}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>textarea,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.span-2,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.actions,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.form-actions,.app .panel>form.grid-2>.span-2,.app .panel>form.grid-2>.actions,.app .panel>form.grid-2>.form-actions{grid-column:1/-1}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) label{margin:0 0 8px;font-size:13px;color:#33475b}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>label{display:block;margin:0}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) input,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) select,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) textarea{border-color:#d8e2ec;background:#fff}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) input:focus,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) select:focus,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,123,255,.12)}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.actions,.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.form-actions{border-top:1px solid #edf1f5;padding-top:14px;margin-top:0}.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form) .check-line{margin-top:12px}

@media(max-width:900px){.ceo-data-panel{padding:16px}.ceo-data-panel .panel-header{align-items:stretch}.ceo-data-panel .panel-header .actions{justify-content:flex-start}.ceo-data-table{min-width:780px}.ceo-device-table{min-width:1200px}}

@media(max-width:1000px){.firmware-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.firmware-form-grid{grid-template-columns:1fr}.firmware-upload-panel{padding:16px}}

html[data-theme="dark"] body{background:var(--light);color:var(--text)}html[data-theme="dark"] .topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .login-card,html[data-theme="dark"] .public-card{background:#111c2e;color:var(--text);border-color:var(--border)}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0f172a;color:var(--text);border-color:#334155}html[data-theme="dark"] th,html[data-theme="dark"] .firmware-table th,html[data-theme="dark"] .ceo-data-table th{background:#18243a;color:#dbeafe}html[data-theme="dark"] td{border-color:#263244}html[data-theme="dark"] .ceo-data-table tbody tr,html[data-theme="dark"] .firmware-table tbody tr{background:#111c2e}html[data-theme="dark"] .ceo-data-table tbody tr:nth-child(even),html[data-theme="dark"] .firmware-table tbody tr:nth-child(even){background:#132035}html[data-theme="dark"] .ceo-data-table tbody tr:hover,html[data-theme="dark"] .firmware-table tbody tr:hover{background:#172b47}html[data-theme="dark"] .btn-light{background:#243348;color:#dbeafe}html[data-theme="dark"] .firmware-field,html[data-theme="dark"] .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div{background:#132035;border-color:#263244}html[data-theme="dark"] .firmware-pill,html[data-theme="dark"] .firmware-revision{background:#1d2d48;border-color:#334155;color:#dbeafe}html[data-theme="dark"] .firmware-pill.gray{background:#243348;color:#cbd5e1}html[data-theme="dark"] .badge.gray{background:#263244;color:#dbeafe}html[data-theme="dark"] .column-filters th{background:#111c2e}html[data-theme="dark"] .muted{color:var(--muted)}
html[data-theme="dark"] .app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>label,html[data-theme="dark"] .app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>div:not(.actions):not(.form-actions):not(.table-responsive):not(.table-wrap),html[data-theme="dark"] .app .panel>form.grid-2>label,html[data-theme="dark"] .app .panel>form.grid-2>div:not(.actions):not(.form-actions){background:#132035;border-color:#263244}

.sidebar{background:linear-gradient(180deg,var(--side2),var(--sidebar));box-shadow:10px 0 24px rgba(0,0,0,.12)}.side-brand{height:70px;border-bottom:1px solid rgba(255,255,255,.08)}.side-brand span{box-shadow:0 8px 18px rgba(0,123,255,.28)}.side-brand b{display:block;line-height:1.1}.side-brand small{display:block;margin-top:3px;color:#93a4b8;font-size:11px;font-weight:600}.sidebar nav{padding:14px 12px}.sidebar nav a{position:relative;display:flex;align-items:center;gap:10px;color:#cbd5e1;padding:11px 12px;border:1px solid transparent;border-radius:8px;margin-bottom:6px;font-weight:600}.sidebar nav a:before{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;opacity:.9;mask-size:18px 18px;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:18px 18px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.sidebar nav a[data-nav-icon="dashboard"]:before{mask-image:linear-gradient(#000,#000);-webkit-mask-image:linear-gradient(#000,#000);border-radius:4px}.sidebar nav a[data-nav-icon="products"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v3H4zm0 5h16v3H4zm0 5h16v3H4z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v3H4zm0 5h16v3H4zm0 5h16v3H4z'/%3E%3C/svg%3E")}.sidebar nav a[data-nav-icon="devices"]:before{mask-image:radial-gradient(circle at center,#000 58%,transparent 60%);-webkit-mask-image:radial-gradient(circle at center,#000 58%,transparent 60%)}.sidebar nav a[data-nav-icon="firmware"]:before{mask-image:linear-gradient(#000,#000);-webkit-mask-image:linear-gradient(#000,#000);clip-path:polygon(15% 10%,85% 10%,85% 75%,60% 75%,50% 92%,40% 75%,15% 75%)}.sidebar nav a[data-nav-icon="users"]:before{mask-image:radial-gradient(circle at 35% 35%,#000 18%,transparent 19%),radial-gradient(circle at 65% 35%,#000 18%,transparent 19%),linear-gradient(#000,#000);-webkit-mask-image:radial-gradient(circle at 35% 35%,#000 18%,transparent 19%),radial-gradient(circle at 65% 35%,#000 18%,transparent 19%),linear-gradient(#000,#000)}.sidebar nav a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);color:#fff}.sidebar nav a.active{background:linear-gradient(135deg,#2f7dff,#005edb);color:#fff;box-shadow:0 8px 18px rgba(0,123,255,.28)}

.topbar-actions{display:flex;align-items:center;gap:10px}.theme-switch{display:inline-flex;align-items:center;padding:3px;background:#eef3f8;border:1px solid var(--border);border-radius:8px}.theme-switch button{border:0;background:transparent;color:#48535f;min-height:28px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.theme-switch button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(0,0,0,.08)}html[data-theme="dark"] .theme-switch{background:#0f172a;border-color:#334155}html[data-theme="dark"] .theme-switch button{color:#a9b7c7}html[data-theme="dark"] .theme-switch button.active{background:#1d2d48;color:#dbeafe}
.global-search{position:relative;flex:1 1 420px;max-width:520px;margin:0 18px}.global-search-input{width:100%;min-height:40px;padding:9px 13px;border:1px solid #d8deea;border-radius:6px;background:#fff;color:#2f3446;font-size:14px}.global-search-input:focus{outline:0;border-color:#7367f0;box-shadow:0 0 0 3px rgba(115,103,240,.14)}.global-search-results{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:80;max-height:430px;overflow:auto;padding:8px;border:1px solid #d8deea;border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(47,52,70,.16)}.global-search-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:2px 10px;padding:10px;border-radius:7px;color:#2f3446;text-decoration:none}.global-search-item:hover,.global-search-item:focus{background:#f6f5ff;outline:0}.global-search-type{grid-row:1/3;align-self:start;display:inline-flex;justify-content:center;border-radius:999px;background:#eef0ff;color:#7367f0;padding:5px 8px;font-size:11px;font-weight:700}.global-search-item b{overflow:hidden;text-overflow:clip;white-space:nowrap;font-size:13px}.global-search-item small{overflow:hidden;text-overflow:clip;white-space:nowrap;color:#8a94a6;font-size:12px}.global-search-empty{padding:12px;color:#8a94a6;text-align:center;font-size:13px}

.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 22px 18px;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.65);color:var(--muted);font-size:12px}.app-footer span:first-child{font-weight:700;color:var(--text)}html[data-theme="dark"] .app-footer{background:#111c2e;border-color:var(--border)}

body.ceo-page{--primary:#00d5ff;--sidebar:#05070b;--side2:#030406;--light:#000;--border:#1f2a36;--text:#e9fbff;--muted:#8aa0ad;--green:#20e58a;--red:#ff5f6d;--orange:#ffb020;--blue:#00c2ff;background:#000;color:var(--text);font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;font-size:16px;letter-spacing:0}body.ceo-page h1,body.ceo-page h2,body.ceo-page h3,body.ceo-page .btn,body.ceo-page th,body.ceo-page .badge,body.ceo-page .sidebar nav a{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;letter-spacing:0}body.ceo-page .app{background:radial-gradient(circle at 78% 12%,rgba(0,213,255,.12),transparent 24rem),linear-gradient(180deg,#030406 0,#000 42%,#000 100%)}body.ceo-page .sidebar{width:260px;background:linear-gradient(180deg,rgba(0,213,255,.08),transparent 32%),linear-gradient(180deg,#080c12,#020304 68%,#000);border-right:1px solid rgba(0,213,255,.18);box-shadow:14px 0 34px rgba(0,0,0,.58)}body.ceo-page .sidebar:before{content:"";display:block;height:18px;margin:18px 16px 8px;border-top:1px solid rgba(0,213,255,.5);border-bottom:1px solid rgba(0,213,255,.18);background:linear-gradient(90deg,rgba(0,213,255,.28),transparent)}body.ceo-page .sidebar nav{padding:8px 12px 16px}body.ceo-page .sidebar nav a{min-height:48px;margin-bottom:8px;padding:12px 13px;color:#9fb6c4;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:8px;text-transform:uppercase;font-size:11px;font-weight:600}body.ceo-page .sidebar nav a:before{color:#00d5ff;opacity:.95}body.ceo-page .sidebar nav a:hover{background:rgba(0,213,255,.08);border-color:rgba(0,213,255,.28);color:#f2fdff;transform:translateX(2px)}body.ceo-page .sidebar nav a.active{color:#fff;background:linear-gradient(135deg,rgba(0,213,255,.24),rgba(43,93,255,.18));border-color:rgba(0,213,255,.55);box-shadow:0 0 0 1px rgba(0,213,255,.08),0 10px 26px rgba(0,213,255,.15)}body.ceo-page .main{margin-left:260px;width:calc(100% - 260px)}body.ceo-page .topbar,html[data-theme="dark"] body.ceo-page .topbar{height:66px;background:rgba(3,6,10,.88);color:var(--text);border-bottom:1px solid rgba(0,213,255,.16);box-shadow:0 14px 26px rgba(0,0,0,.25);backdrop-filter:blur(10px)}body.ceo-page .topbar h2{color:#f4fdff;font-size:18px;text-transform:uppercase}body.ceo-page .content{padding:24px}body.ceo-page .panel,body.ceo-page .login-card,body.ceo-page .public-card,html[data-theme="dark"] body.ceo-page .panel{background:linear-gradient(180deg,rgba(12,18,27,.96),rgba(6,9,14,.96));color:var(--text);border:1px solid rgba(0,213,255,.15);border-radius:8px;box-shadow:0 16px 38px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.04)}body.ceo-page .panel-header,body.ceo-page .ceo-data-panel .panel-header,body.ceo-page .firmware-upload-panel .panel-header{border-bottom-color:rgba(0,213,255,.14)}body.ceo-page .info-card{border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 34px rgba(0,0,0,.28)}body.ceo-page .info-card h3{color:#fff;text-shadow:0 0 18px rgba(255,255,255,.18)}body.ceo-page .blue{background:linear-gradient(135deg,#006b89,#00b8e6)}body.ceo-page .bg-green{background:linear-gradient(135deg,#087044,#18c97a)}body.ceo-page .bg-orange{background:linear-gradient(135deg,#8a4b00,#ff9f1c)}body.ceo-page .bg-red{background:linear-gradient(135deg,#8c1d2d,#ff4d66)}body.ceo-page input,body.ceo-page select,body.ceo-page textarea,html[data-theme="dark"] body.ceo-page input,html[data-theme="dark"] body.ceo-page select,html[data-theme="dark"] body.ceo-page textarea{background:#05080d;color:#edfaff;border-color:#263644;border-radius:7px}body.ceo-page input:focus,body.ceo-page select:focus,body.ceo-page textarea:focus,body.ceo-page .ceo-data-panel .search-form input:focus{border-color:#00d5ff;box-shadow:0 0 0 3px rgba(0,213,255,.13);outline:0}body.ceo-page .btn{border-radius:7px;font-weight:700;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}body.ceo-page .btn-primary{background:linear-gradient(135deg,#00bde8,#2768ff);color:#fff}body.ceo-page .btn-light,html[data-theme="dark"] body.ceo-page .btn-light{background:#101923;color:#d9f7ff;border:1px solid rgba(0,213,255,.22)}body.ceo-page .btn-green{background:linear-gradient(135deg,#10a760,#21df8c);color:#03150c}body.ceo-page .btn-red{background:linear-gradient(135deg,#df3149,#ff6a7b);color:#fff}body.ceo-page .btn-orange{background:linear-gradient(135deg,#df8500,#ffb020);color:#140c00}body.ceo-page th,body.ceo-page .firmware-table th,body.ceo-page .ceo-data-table th,html[data-theme="dark"] body.ceo-page th,html[data-theme="dark"] body.ceo-page .firmware-table th,html[data-theme="dark"] body.ceo-page .ceo-data-table th{background:#0b1119;color:#9cecff;border-bottom-color:rgba(0,213,255,.18)}body.ceo-page td,html[data-theme="dark"] body.ceo-page td{border-color:#172330;color:#dcecf2}body.ceo-page .ceo-data-table tbody tr,body.ceo-page .firmware-table tbody tr,html[data-theme="dark"] body.ceo-page .ceo-data-table tbody tr,html[data-theme="dark"] body.ceo-page .firmware-table tbody tr{background:#070b11}body.ceo-page .ceo-data-table tbody tr:nth-child(even),body.ceo-page .firmware-table tbody tr:nth-child(even),html[data-theme="dark"] body.ceo-page .ceo-data-table tbody tr:nth-child(even),html[data-theme="dark"] body.ceo-page .firmware-table tbody tr:nth-child(even){background:#0a1018}body.ceo-page .ceo-data-table tbody tr:hover,body.ceo-page .firmware-table tbody tr:hover,html[data-theme="dark"] body.ceo-page .ceo-data-table tbody tr:hover,html[data-theme="dark"] body.ceo-page .firmware-table tbody tr:hover{background:#0e1a26}body.ceo-page .sort-btn{color:#9cecff}body.ceo-page .sort-btn:hover,body.ceo-page .sort-btn:focus{background:rgba(0,213,255,.1);color:#fff}body.ceo-page .column-filters th,html[data-theme="dark"] body.ceo-page .column-filters th{background:#070b11}body.ceo-page .badge.green{background:rgba(32,229,138,.16);color:#7dffbd;border:1px solid rgba(32,229,138,.34)}body.ceo-page .badge.red{background:rgba(255,95,109,.15);color:#ff9aa4;border:1px solid rgba(255,95,109,.32)}body.ceo-page .badge.orange{background:rgba(255,176,32,.16);color:#ffd18a;border:1px solid rgba(255,176,32,.32)}body.ceo-page .badge.gray,html[data-theme="dark"] body.ceo-page .badge.gray{background:#151e29;color:#b9cad4;border:1px solid #2b3947}body.ceo-page .firmware-name,body.ceo-page .firmware-date{color:#f0fbff}body.ceo-page .firmware-pill,body.ceo-page .firmware-revision,html[data-theme="dark"] body.ceo-page .firmware-pill,html[data-theme="dark"] body.ceo-page .firmware-revision{background:#0b1621;color:#a7edff;border-color:#214254}body.ceo-page .firmware-field,body.ceo-page .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div,html[data-theme="dark"] body.ceo-page .firmware-field,html[data-theme="dark"] body.ceo-page .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div{background:#070c13;border-color:#1d2a37;border-radius:8px}body.ceo-page label,body.ceo-page .firmware-field label,body.ceo-page .app .panel>form:not(.search-form):not(.firmware-upload-form) label{color:#b9d9e4}body.ceo-page .theme-switch{background:#05080d;border-color:#263644}body.ceo-page .theme-switch button{color:#86a3b1}body.ceo-page .theme-switch button.active{background:#0d1b26;color:#9cecff;box-shadow:0 0 18px rgba(0,213,255,.14)}body.ceo-page .menu-btn{background:#101923;color:#d9f7ff;border:1px solid rgba(0,213,255,.22)}body.ceo-page .app-footer,html[data-theme="dark"] body.ceo-page .app-footer{background:#05080d;border-color:#1a2835;border-radius:8px}body.ceo-page .app-footer span:first-child{color:#9cecff;font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif}@media(max-width:900px){body.ceo-page .sidebar{width:260px;transform:translateX(-100%)}body.ceo-page .sidebar.show{transform:translateX(0)}body.ceo-page .main{margin-left:0;width:100%}}
body.ceo-page{overflow-x:hidden}
body.ceo-page .topbar,body.ceo-page .content,body.ceo-page .panel{max-width:100%}
body.ceo-page .cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.store-product-preview{width:160px;aspect-ratio:1/1;border:1px solid var(--border);border-radius:8px;background:#f8fbff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.store-product-preview img{width:100%;height:100%;object-fit:cover;display:block}
.store-product-gallery-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;min-height:90px}
.store-product-gallery-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--border);border-radius:8px;background:#f8fbff}
.store-product-gallery-preview .muted{display:flex;align-items:center;justify-content:center;min-height:90px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}
.store-gallery-slots{display:grid;grid-template-columns:repeat(9,minmax(92px,1fr));gap:10px}
.store-gallery-slot{display:grid;gap:6px;padding:7px;border:1px solid #e7edf3;border-radius:8px;background:#fff;cursor:grab}
.store-gallery-slot.is-dragging{opacity:.45}
.store-gallery-slot-head{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--muted);font-size:12px;font-weight:900}
.store-gallery-slot-head .btn{width:auto!important;min-width:48px!important;min-height:26px!important;padding:5px 7px!important;font-size:11px!important}
.store-gallery-slot-head .store-gallery-delete{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}
.store-gallery-preview{position:relative;display:flex!important;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;margin:0!important;border:1px dashed #cfd8e3;border-radius:8px;background:#f8fbff;overflow:hidden;cursor:pointer;color:#7a8491;font-size:11px;text-align:center}
.store-gallery-preview img{width:100%;height:100%;object-fit:cover}
.store-gallery-size{position:absolute;left:6px;right:6px;bottom:6px;display:block;padding:3px 5px;border-radius:6px;background:rgba(15,23,42,.78);color:#fff;font-size:10px;font-weight:800;line-height:1.2;text-align:center;pointer-events:none}
.store-gallery-preview input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
@media(max-width:1180px){.store-gallery-slots{grid-template-columns:repeat(5,minmax(96px,1fr))}}
@media(max-width:760px){.store-gallery-slots{grid-template-columns:repeat(3,minmax(92px,1fr))}}
.store-product-thumb{width:54px;height:54px;border-radius:8px;object-fit:cover;border:1px solid var(--border);background:#fff;display:block}
.store-html-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:7px;border:1px solid #d8e2ec;border-radius:8px;background:#f8fbff}
.store-html-toolbar button{width:34px;min-width:34px;height:32px;min-height:32px;padding:0;border:1px solid #d8e2ec;border-radius:7px;background:#fff;color:#33475b;font-size:14px;font-weight:900;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.store-html-toolbar button b,.store-html-toolbar button i,.store-html-toolbar button u{font-size:15px;line-height:1}
.store-html-toolbar button:hover,.store-html-toolbar button:focus{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px rgba(0,123,255,.1);outline:0}
.store-description-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:7px;color:var(--muted);font-size:13px}
.store-description-meta span:last-child{flex:0 0 auto;font-weight:700;color:#33475b}
.store-description-preview-wrap{margin-top:10px;border:1px solid #d8e2ec;border-radius:8px;background:#fff;overflow:hidden}
.store-description-preview-title{padding:8px 10px;border-bottom:1px solid #e7edf3;background:#f8fbff;color:#33475b;font-size:12px;font-weight:800}
.store-description-preview{min-height:92px;padding:12px;color:#33475b;line-height:1.55}
.store-description-preview p:first-child,.store-description-preview h1:first-child,.store-description-preview h2:first-child,.store-description-preview h3:first-child{margin-top:0}
.store-description-preview p:last-child,.store-description-preview ul:last-child,.store-description-preview ol:last-child,.store-description-preview table:last-child{margin-bottom:0}
.desc-badge{display:inline-flex;align-items:center;min-height:26px;margin:2px 4px 2px 0;padding:5px 10px;border-radius:999px;background:#eaf6fd;color:#176ba0;border:1px solid #bfe5fa;font-weight:900;font-size:12px}
.desc-info{margin:10px 0;padding:12px 14px;border-left:4px solid #2b91d0;border-radius:8px;background:#f0f8ff;color:#2f4356}
.desc-warning{margin:10px 0;padding:12px 14px;border-left:4px solid #f59e0b;border-radius:8px;background:#fff7e6;color:#65420a;font-weight:700}
.desc-text-red{color:#d93025;font-weight:800}.desc-text-blue{color:#176ba0;font-weight:800}.desc-text-green{color:#137449;font-weight:800}.desc-text-large{font-size:1.2em;font-weight:900}.desc-text-small{font-size:.9em;color:#65707a}
.desc-checklist{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}.desc-checklist li{position:relative;padding-left:24px}.desc-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:#137449;font-weight:900}
.desc-spec{width:100%;border-collapse:collapse;margin:10px 0;border:1px solid #e2e6ea;border-radius:8px;overflow:hidden}.desc-spec th,.desc-spec td{padding:9px 10px;border-bottom:1px solid #e2e6ea;text-align:left}.desc-spec th{width:34%;background:#f8fafc;color:#46515c}.desc-spec tr:last-child th,.desc-spec tr:last-child td{border-bottom:0}
.desc-cta{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:8px 0;padding:0 14px;border-radius:7px;background:#2b91d0;color:#fff!important;font-weight:900;text-decoration:none}
.desc-media{margin:12px 0}.desc-media img{width:100%;max-height:420px;object-fit:contain;border:1px solid #e2e6ea;border-radius:8px;background:#f8fafc}.desc-media figcaption{margin-top:6px;color:#65707a;font-size:13px;text-align:center}.desc-video{position:relative;margin:12px 0;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#0f172a}.desc-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.desc-package,.desc-steps,.desc-faq{margin:10px 0;padding:12px 14px;border:1px solid #e2e6ea;border-radius:8px;background:#fff}.desc-faq details{padding:8px 0;border-top:1px solid #edf1f5}.desc-faq details:first-of-type{border-top:0}.desc-faq summary{cursor:pointer;font-weight:900;color:#33475b}
.store-variant-head{display:grid;grid-template-columns:minmax(260px,1.35fr) 110px minmax(240px,1fr) 64px 84px;gap:10px;align-items:center}
.store-variant-row{display:grid;grid-template-columns:minmax(260px,1.35fr) 110px minmax(240px,1fr) 64px 84px;gap:10px;align-items:center}
.store-variant-head{margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:800}
.store-variant-rows{display:grid;gap:10px;margin-bottom:10px}
.store-variant-row{padding:8px;border:1px solid #e7edf3;border-radius:8px;background:#fff}
.store-variant-row .btn{min-width:72px;width:auto;padding-left:10px;padding-right:10px}
.store-variant-name-input{grid-column:1;width:100%}
.store-variant-row .store-variant-weight-input{display:none;grid-column:2;grid-row:1;width:100%;z-index:1}
.store-variant-rows.is-weight-per-variant .store-variant-weight-input{display:block}
.store-variant-image-input{min-width:0;padding:8px!important;font-size:12px!important;grid-column:3;grid-row:1;width:100%}
.store-variant-image-preview{width:54px;aspect-ratio:1/1;border:1px solid var(--border);border-radius:7px;background:#f8fbff;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#7a8491;font-size:10px;text-align:center}
.store-variant-image-preview img{width:100%;height:100%;object-fit:cover}
@media(min-width:761px){.store-variant-image-preview{grid-column:4;grid-row:1;justify-self:center}.store-variant-row .store-variant-remove{grid-column:5;grid-row:1}}
@media(max-width:1180px){.store-variant-head{display:none}.store-variant-row{grid-template-columns:1fr 110px minmax(220px,1fr) 64px 84px}.store-variant-name-input{grid-column:1/-1}.store-variant-row .store-variant-weight-input{grid-column:1}.store-variant-image-input{grid-column:2/4}.store-variant-image-preview{grid-column:4}.store-variant-row .store-variant-remove{grid-column:5}}
@media(max-width:760px){.store-variant-row{grid-template-columns:1fr}.store-variant-row .btn{width:max-content}.store-variant-image-input{grid-column:1;grid-row:auto;padding-left:8px!important}.store-variant-row .store-variant-weight-input{grid-column:1;grid-row:auto;width:100%}.store-variant-name-input{grid-column:1}.store-variant-image-preview{grid-column:1;grid-row:auto;width:72px}.store-variant-row .store-variant-remove{grid-column:1;grid-row:auto}}

body.apex-page{--primary:#7367f0;--sidebar:#25293c;--side2:#1f2334;--light:#f7f7fb;--border:#e7eaf3;--text:#2f3446;--muted:#8a94a6;--green:#28c76f;--red:#ea5455;--orange:#ff9f43;--blue:#00bad1;background:#f7f7fb;color:var(--text);font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;font-size:14px;overflow-x:hidden}
body.apex-page h1,body.apex-page h2,body.apex-page h3,body.apex-page .btn,body.apex-page th,body.apex-page .badge,body.apex-page .sidebar nav a,body.apex-page .app-footer{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;letter-spacing:0;text-transform:none}
body.apex-page .app{background:#f7f7fb}
body.apex-page .sidebar{width:260px;background:linear-gradient(180deg,#2b3046 0,#22263a 100%);border-right:0;box-shadow:0 10px 30px rgba(47,52,70,.18)}
body.apex-page .side-brand{height:68px;background:transparent;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;padding:0 18px;font-weight:700}
body.apex-page .side-brand span{width:34px;height:34px;border-radius:8px;background:#7367f0;color:#fff;font-size:18px;box-shadow:0 8px 18px rgba(115,103,240,.32)}
body.apex-page .sidebar:before{display:none}
body.apex-page .sidebar nav{padding:18px 14px}
body.apex-page .side-brand+nav{padding-top:12px}
body.apex-page .sidebar nav a{min-height:44px;margin-bottom:6px;padding:11px 14px;color:#c8cedf;background:transparent;border:0;border-radius:8px;font-size:13px;font-weight:600;text-transform:none}
body.apex-page .sidebar nav a:before{color:#aeb7d0;opacity:1}
body.apex-page .sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:none}
body.apex-page .sidebar nav a.active{background:linear-gradient(135deg,#7367f0,#5f55d6);color:#fff;border:0;box-shadow:0 8px 18px rgba(115,103,240,.32)}
body.apex-page .main{margin-left:260px;width:calc(100% - 260px)}
body.apex-page .topbar,html[data-theme="dark"] body.apex-page .topbar{height:66px;background:#fff;color:var(--text);border-bottom:1px solid var(--border);box-shadow:0 2px 14px rgba(47,52,70,.05);backdrop-filter:none}
body.apex-page .topbar h2{color:#2f3446;font-size:20px;font-weight:700;text-transform:none}
body.apex-page .content{padding:24px;background:#f7f7fb}
body.apex-page .panel,html[data-theme="dark"] body.apex-page .panel{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 18px rgba(47,52,70,.06)}
body.apex-page .panel-header,body.apex-page .ceo-data-panel .panel-header,body.apex-page .firmware-upload-panel .panel-header{border-bottom-color:#edf0f6}
body.apex-page .panel-header h3,body.apex-page .panel h3{color:#2f3446;font-weight:700}
body.apex-page .cards{gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
body.apex-page .info-card{border:0;border-radius:8px;box-shadow:0 8px 20px rgba(47,52,70,.08);padding:20px}
body.apex-page .info-card p{font-weight:600;opacity:.86}
body.apex-page .info-card h3{font-size:32px;font-weight:800;color:#fff;text-shadow:none}
body.apex-page .blue{background:linear-gradient(135deg,#00bad1,#38d9e9)}
body.apex-page .bg-green{background:linear-gradient(135deg,#28c76f,#6ee7a3)}
body.apex-page .bg-orange{background:linear-gradient(135deg,#ff9f43,#ffc071)}
body.apex-page .bg-red{background:linear-gradient(135deg,#ea5455,#ff8585)}
body.apex-page input,body.apex-page select,body.apex-page textarea,html[data-theme="dark"] body.apex-page input,html[data-theme="dark"] body.apex-page select,html[data-theme="dark"] body.apex-page textarea{background:#fff;color:#2f3446;border-color:#d8deea;border-radius:6px;font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif}
body.apex-page input:focus,body.apex-page select:focus,body.apex-page textarea:focus,body.apex-page .ceo-data-panel .search-form input:focus{border-color:#7367f0;box-shadow:0 0 0 3px rgba(115,103,240,.14);outline:0}
body.apex-page .btn{border-radius:6px;font-size:12px;font-weight:700;text-transform:none;box-shadow:none}
body.apex-page .btn-primary{background:#7367f0;color:#fff}
body.apex-page .btn-primary:hover{background:#6258d8}
body.apex-page .btn-light,html[data-theme="dark"] body.apex-page .btn-light{background:#f1f2f7;color:#4b5568;border:1px solid #dde2ec}
body.apex-page .btn-green{background:#28c76f;color:#fff}
body.apex-page .btn-red{background:#ea5455;color:#fff}
body.apex-page .btn-orange{background:#ff9f43;color:#fff}
body.apex-page th,body.apex-page .firmware-table th,body.apex-page .ceo-data-table th,html[data-theme="dark"] body.apex-page th,html[data-theme="dark"] body.apex-page .firmware-table th,html[data-theme="dark"] body.apex-page .ceo-data-table th{background:#f3f4f8;color:#5d6679;border-bottom-color:#e4e8f1;font-size:12px;font-weight:700}
body.apex-page td,html[data-theme="dark"] body.apex-page td{border-color:#edf0f6;color:#3f4658}
body.apex-page .ceo-data-table tbody tr,body.apex-page .firmware-table tbody tr,html[data-theme="dark"] body.apex-page .ceo-data-table tbody tr,html[data-theme="dark"] body.apex-page .firmware-table tbody tr{background:#fff}
body.apex-page .ceo-data-table tbody tr:nth-child(even),body.apex-page .firmware-table tbody tr:nth-child(even),html[data-theme="dark"] body.apex-page .ceo-data-table tbody tr:nth-child(even),html[data-theme="dark"] body.apex-page .firmware-table tbody tr:nth-child(even){background:#fbfcff}
body.apex-page .ceo-data-table tbody tr:hover,body.apex-page .firmware-table tbody tr:hover,body.apex-page table tbody tr:hover,html[data-theme="dark"] body.apex-page .ceo-data-table tbody tr:hover,html[data-theme="dark"] body.apex-page .firmware-table tbody tr:hover{background:#f6f5ff}
body.apex-page .sort-btn{color:#5d6679;text-transform:none}
body.apex-page .sort-btn:hover,body.apex-page .sort-btn:focus{background:#edeafd;color:#7367f0}
body.apex-page .column-filters th,html[data-theme="dark"] body.apex-page .column-filters th{background:#fff}
body.apex-page .badge.green{background:#e5f8ed;color:#1f9d57;border:1px solid #c7efd8}
body.apex-page .badge.red{background:#fde8e8;color:#d63b3c;border:1px solid #facbcc}
body.apex-page .badge.orange{background:#fff1df;color:#c86d13;border:1px solid #ffdfb8}
body.apex-page .badge.gray,html[data-theme="dark"] body.apex-page .badge.gray{background:#eef0f5;color:#687387;border:1px solid #dde2ec}
body.apex-page .firmware-name,body.apex-page .firmware-date{color:#2f3446}
body.apex-page .firmware-pill,body.apex-page .firmware-revision,html[data-theme="dark"] body.apex-page .firmware-pill,html[data-theme="dark"] body.apex-page .firmware-revision{background:#f1f2f7;color:#5d6679;border-color:#dde2ec}
body.apex-page .firmware-field,body.apex-page .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div,html[data-theme="dark"] body.apex-page .firmware-field,html[data-theme="dark"] body.apex-page .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div{background:#fbfcff;border-color:#e7eaf3;border-radius:8px}
body.apex-page label,body.apex-page .firmware-field label,body.apex-page .app .panel>form:not(.search-form):not(.firmware-upload-form) label{color:#5d6679;font-weight:700}
body.apex-page .muted{color:#8a94a6}
body.apex-page .menu-btn{background:#f1f2f7;color:#4b5568;border:1px solid #dde2ec}
body.apex-page .app-footer,html[data-theme="dark"] body.apex-page .app-footer{display:block;text-align:center;background:#fff;border-color:#e7eaf3;border-radius:8px;color:#8a94a6;line-height:1.5}
@media(max-width:900px){body.apex-page .sidebar{width:260px;transform:translateX(-100%)}body.apex-page .sidebar.show{transform:translateX(0)}body.apex-page .main{margin-left:0;width:100%}}

body.ceo-page{--primary:#7367f0;--sidebar:#25293c;--side2:#1f2334;--light:#f7f7fb;--border:#e7eaf3;--text:#2f3446;--muted:#8a94a6;--green:#28c76f;--red:#ea5455;--orange:#ff9f43;--blue:#00bad1;background:#f7f7fb;color:var(--text);font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;font-size:14px;overflow-x:hidden}
body.ceo-page h1,body.ceo-page h2,body.ceo-page h3,body.ceo-page .btn,body.ceo-page th,body.ceo-page .badge,body.ceo-page .sidebar nav a,body.ceo-page .app-footer span:first-child{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;letter-spacing:0;text-transform:none}
body.ceo-page .app{background:#f7f7fb}
body.ceo-page .sidebar{width:260px;background:linear-gradient(180deg,#2b3046 0,#22263a 100%);border-right:0;box-shadow:0 10px 30px rgba(47,52,70,.18)}
body.ceo-page .sidebar:before{display:none}
body.ceo-page .sidebar nav{padding:18px 14px}
body.ceo-page .sidebar nav a{min-height:44px;margin-bottom:6px;padding:11px 14px;color:#c8cedf;background:transparent;border:0;border-radius:8px;font-size:13px;font-weight:600;text-transform:none}
body.ceo-page .sidebar nav a:before{color:#aeb7d0;opacity:1}
body.ceo-page .sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:none}
body.ceo-page .sidebar nav a.active{background:linear-gradient(135deg,#7367f0,#5f55d6);color:#fff;border:0;box-shadow:0 8px 18px rgba(115,103,240,.32)}
body.ceo-page .main{margin-left:260px;width:calc(100% - 260px)}
body.ceo-page .topbar,html[data-theme="dark"] body.ceo-page .topbar{height:66px;background:#fff;color:var(--text);border-bottom:1px solid var(--border);box-shadow:0 2px 14px rgba(47,52,70,.05);backdrop-filter:none}
body.ceo-page .topbar h2{color:#2f3446;font-size:20px;font-weight:700;text-transform:none}
body.ceo-page .content{padding:24px;background:#f7f7fb}
body.ceo-page .panel,body.ceo-page .login-card,body.ceo-page .public-card,html[data-theme="dark"] body.ceo-page .panel{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 18px rgba(47,52,70,.06)}
body.ceo-page .panel-header,body.ceo-page .ceo-data-panel .panel-header,body.ceo-page .firmware-upload-panel .panel-header{border-bottom-color:#edf0f6}
body.ceo-page .panel-header h3,body.ceo-page .panel h3{color:#2f3446;font-weight:700}
body.ceo-page .cards{gap:18px}
body.ceo-page .info-card{border:0;border-radius:8px;box-shadow:0 8px 20px rgba(47,52,70,.08);padding:20px}
body.ceo-page .info-card p{font-weight:600;opacity:.86}
body.ceo-page .info-card h3{font-size:32px;font-weight:800;color:#fff;text-shadow:none}
body.ceo-page .blue{background:linear-gradient(135deg,#00bad1,#38d9e9)}
body.ceo-page .bg-green{background:linear-gradient(135deg,#28c76f,#6ee7a3)}
body.ceo-page .bg-orange{background:linear-gradient(135deg,#ff9f43,#ffc071)}
body.ceo-page .bg-red{background:linear-gradient(135deg,#ea5455,#ff8585)}
body.ceo-page input,body.ceo-page select,body.ceo-page textarea,html[data-theme="dark"] body.ceo-page input,html[data-theme="dark"] body.ceo-page select,html[data-theme="dark"] body.ceo-page textarea{background:#fff;color:#2f3446;border-color:#d8deea;border-radius:6px;font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif}
body.ceo-page input:focus,body.ceo-page select:focus,body.ceo-page textarea:focus,body.ceo-page .ceo-data-panel .search-form input:focus{border-color:#7367f0;box-shadow:0 0 0 3px rgba(115,103,240,.14);outline:0}
body.ceo-page .btn{border-radius:6px;font-size:12px;font-weight:700;text-transform:none;box-shadow:none}
body.ceo-page .btn-primary{background:#7367f0;color:#fff}
body.ceo-page .btn-primary:hover{background:#6258d8}
body.ceo-page .btn-light,html[data-theme="dark"] body.ceo-page .btn-light{background:#f1f2f7;color:#4b5568;border:1px solid #dde2ec}
body.ceo-page .btn-green{background:#28c76f;color:#fff}
body.ceo-page .btn-red{background:#ea5455;color:#fff}
body.ceo-page .btn-orange{background:#ff9f43;color:#fff}
body.ceo-page th,body.ceo-page .firmware-table th,body.ceo-page .ceo-data-table th,html[data-theme="dark"] body.ceo-page th,html[data-theme="dark"] body.ceo-page .firmware-table th,html[data-theme="dark"] body.ceo-page .ceo-data-table th{background:#f3f4f8;color:#5d6679;border-bottom-color:#e4e8f1;font-size:12px;font-weight:700}
body.ceo-page td,html[data-theme="dark"] body.ceo-page td{border-color:#edf0f6;color:#3f4658}
body.ceo-page .ceo-data-table tbody tr,body.ceo-page .firmware-table tbody tr,html[data-theme="dark"] body.ceo-page .ceo-data-table tbody tr,html[data-theme="dark"] body.ceo-page .firmware-table tbody tr{background:#fff}
body.ceo-page .ceo-data-table tbody tr:nth-child(even),body.ceo-page .firmware-table tbody tr:nth-child(even),html[data-theme="dark"] body.ceo-page .ceo-data-table tbody tr:nth-child(even),html[data-theme="dark"] body.ceo-page .firmware-table tbody tr:nth-child(even){background:#fbfcff}
body.ceo-page .ceo-data-table tbody tr:hover,body.ceo-page .firmware-table tbody tr:hover,html[data-theme="dark"] body.ceo-page .ceo-data-table tbody tr:hover,html[data-theme="dark"] body.ceo-page .firmware-table tbody tr:hover{background:#f6f5ff}
body.ceo-page .sort-btn{color:#5d6679;text-transform:none}
body.ceo-page .sort-btn:hover,body.ceo-page .sort-btn:focus{background:#edeafd;color:#7367f0}
body.ceo-page .column-filters th,html[data-theme="dark"] body.ceo-page .column-filters th{background:#fff}
body.ceo-page .badge.green{background:#e5f8ed;color:#1f9d57;border:1px solid #c7efd8}
body.ceo-page .badge.red{background:#fde8e8;color:#d63b3c;border:1px solid #facbcc}
body.ceo-page .badge.orange{background:#fff1df;color:#c86d13;border:1px solid #ffdfb8}
body.ceo-page .badge.gray,html[data-theme="dark"] body.ceo-page .badge.gray{background:#eef0f5;color:#687387;border:1px solid #dde2ec}
body.ceo-page .firmware-name,body.ceo-page .firmware-date{color:#2f3446}
body.ceo-page .firmware-pill,body.ceo-page .firmware-revision,html[data-theme="dark"] body.ceo-page .firmware-pill,html[data-theme="dark"] body.ceo-page .firmware-revision{background:#f1f2f7;color:#5d6679;border-color:#dde2ec}
body.ceo-page .firmware-field,body.ceo-page .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div,body.ceo-page .app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>label,body.ceo-page .app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>div:not(.actions):not(.form-actions):not(.table-responsive):not(.table-wrap),body.ceo-page .app .panel>form.grid-2>label,body.ceo-page .app .panel>form.grid-2>div:not(.actions):not(.form-actions),html[data-theme="dark"] body.ceo-page .firmware-field,html[data-theme="dark"] body.ceo-page .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div{background:#fbfcff;border-color:#e7eaf3;border-radius:8px}
body.ceo-page label,body.ceo-page .firmware-field label,body.ceo-page .app .panel>form:not(.search-form):not(.firmware-upload-form) label{color:#5d6679;font-weight:700}
body.ceo-page .muted{color:#8a94a6}
body.ceo-page .menu-btn{background:#f1f2f7;color:#4b5568;border:1px solid #dde2ec}
body.ceo-page .app-footer,html[data-theme="dark"] body.ceo-page .app-footer{background:#fff;border-color:#e7eaf3;border-radius:8px;color:#8a94a6}
body.ceo-page .app-footer span:first-child{color:#2f3446}
@media(max-width:900px){body.ceo-page .sidebar{width:260px;transform:translateX(-100%)}body.ceo-page .sidebar.show{transform:translateX(0)}body.ceo-page .main{margin-left:0;width:100%}}

.employee-ceo-embed{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;font-size:14px}
body.apex-page{--primary:#7367f0;--primary-dark:#6258d8;--sidebar:#25293c;--sidebar-deep:#1f2334;--light:#f7f7fb;--border:#e7eaf3;--text:#2f3446;--muted:#8a94a6;background:#f7f7fb;color:var(--text);font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;font-size:14px}
body.apex-page .sidebar{width:264px;background:#25293c;border-right:0;box-shadow:0 8px 28px rgba(47,52,70,.18)}
body.apex-page .sidebar:before{content:"";display:block;height:10px;margin:18px 18px 10px;border-radius:999px;background:linear-gradient(90deg,#7367f0 0,#9f96ff 40%,rgba(255,255,255,.08) 40%,rgba(255,255,255,.08) 100%)}
body.apex-page .side-brand{height:72px;margin:0 14px 8px;padding:0 12px;border:0;border-radius:10px;background:rgba(255,255,255,.04);color:#fff;font-size:14px;box-shadow:none}
body.apex-page .side-brand span{width:34px;height:34px;border-radius:8px;background:#7367f0;color:#fff;box-shadow:0 8px 18px rgba(115,103,240,.28)}
body.apex-page .sidebar nav{padding:8px 12px 18px}
body.apex-page .side-brand+nav{padding-top:4px}
body.apex-page .sidebar nav a{position:relative;min-height:44px;margin:0 0 5px;padding:11px 13px 11px 14px;color:#bec5d7;background:transparent;border:0;border-radius:8px;font-size:13px;font-weight:600;line-height:1.25;box-shadow:none}
body.apex-page .sidebar nav a:after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:transparent}
body.apex-page .sidebar nav a:before{width:17px;height:17px;flex-basis:17px;color:#9da7c0;opacity:1}
body.apex-page .sidebar nav a:hover{background:rgba(255,255,255,.055);color:#fff}
body.apex-page .sidebar nav a.active{background:#ffffff;color:#5f55d6;box-shadow:0 10px 24px rgba(20,24,42,.18)}
body.apex-page .sidebar nav a.active:before{color:#7367f0}

body.apex-page .app .btn,
body.apex-page .app .btn-sm,
body.apex-page .app .table-wrap td .btn{
  width:auto;
  min-width:max-content;
  max-width:100%;
  min-height:36px;
  padding:8px 12px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.2;
}
body.apex-page .app .topbar .btn{
  width:auto;
  min-width:78px;
  min-height:34px;
}
body.apex-page .app .actions:not(.search-form)>.btn,
body.apex-page .app .actions:not(.search-form)>form,
body.apex-page .app .panel-header .actions>.btn,
body.apex-page .app .panel-header .actions>form,
body.apex-page .app form>.actions>.btn,
body.apex-page .app form>.actions>form,
body.apex-page .app .table-actions>.btn,
body.apex-page .app .table-actions>form,
body.apex-page .app .firmware-row-actions>.btn,
body.apex-page .app .firmware-row-actions>form{
  flex:0 0 auto;
  width:auto;
}
body.apex-page .app .actions:not(.search-form),
body.apex-page .app .panel-header .actions,
body.apex-page .app form>.actions{
  align-items:center;
  gap:10px;
}
body.apex-page .app form>.actions>.btn,
body.apex-page .app form>.actions>form>.btn{
  min-width:132px;
}
body.apex-page .app .table-wrap td .btn{
  min-width:92px;
}
body.apex-page .app .panel-header .actions>.btn,
body.apex-page .app .panel-header .actions>form>.btn{
  min-width:132px;
}
body.apex-page .app .search-form .btn,
body.apex-page .app .input-row .btn{
  flex:0 0 auto;
  width:auto;
  min-width:72px;
  align-self:stretch;
}
body.apex-page .app .search-form input{
  min-width:min(260px,100%);
}
body.apex-page .panel-header{
  align-items:flex-start;
}
body.apex-page .panel-header>.actions{
  margin-top:0;
}
body.apex-page .grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.apex-page .app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>label,
body.apex-page .app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>div:not(.actions):not(.form-actions):not(.table-responsive):not(.table-wrap),
body.apex-page .app .panel>form.grid-2>label,
body.apex-page .app .panel>form.grid-2>div:not(.actions):not(.form-actions){
  background:#fbfcff;
  border-color:#e7eaf3;
  border-radius:8px;
}
body.apex-page .app .panel>form:not(.search-form):not(.firmware-upload-form) .grid-2>div{
  min-width:0;
}
body.apex-page select,
body.apex-page input,
body.apex-page textarea{
  font-size:14px;
}
body.apex-page table td,
body.apex-page table th{
  font-size:13px;
}
@media(max-width:620px){
  body.apex-page .grid-2{grid-template-columns:1fr}
  body.apex-page .panel-header,
  body.apex-page .panel-header>.actions,
  body.apex-page .search-form,
  body.apex-page .input-row{align-items:stretch;flex-direction:column}
  body.apex-page .app .btn,
  body.apex-page .app .actions>.btn,
  body.apex-page .app .actions>form,
  body.apex-page .app .actions>form>.btn{width:100%;min-width:0}
}

body.apex-page .sidebar nav a[data-nav-icon]:before{mask-size:18px 18px;-webkit-mask-size:18px 18px;mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;clip-path:none;border-radius:0}
body.apex-page .sidebar nav a[data-nav-icon="dashboard"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h7v7H4V4zm9 0h7v4h-7V4zM4 13h7v7H4v-7zm9-3h7v10h-7V10z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h7v7H4V4zm9 0h7v4h-7V4zM4 13h7v7H4v-7zm9-3h7v10h-7V10z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="products"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6.5 12 2l8 4.5v11L12 22l-8-4.5v-11zm8 1.9 4.2-2.35L12 3.7 7.8 6.05 12 8.4zm-6-1.05v8.95l5 2.82v-8.95L6 7.35zm12 0-5 2.82v8.95l5-2.82V7.35z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6.5 12 2l8 4.5v11L12 22l-8-4.5v-11zm8 1.9 4.2-2.35L12 3.7 7.8 6.05 12 8.4zm-6-1.05v8.95l5 2.82v-8.95L6 7.35zm12 0-5 2.82v8.95l5-2.82V7.35z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="devices"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm0 4v12h10V6H7zm3 13h4v1h-4v-1z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm0 4v12h10V6H7zm3 13h4v1h-4v-1z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="firmware"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 3h8v3h3v12h-3v3H8v-3H5V6h3V3zm2 3v12h4V6h-4zm-3 3v6h1V9H7zm9 0v6h1V9h-1z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 3h8v3h3v12h-3v3H8v-3H5V6h3V3zm2 3v12h4V6h-4zm-3 3v6h1V9H7zm9 0v6h1V9h-1z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="bug"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8.2 4.8 6.4 3 5 4.4 7.1 6.5A6 6 0 0 0 6 10v1H3v2h3v1H3v2h3.1A6 6 0 0 0 18 14v-1h3v-2h-3v-1c0-1.3-.4-2.5-1.1-3.5L19 4.4 17.6 3l-1.8 1.8A5.9 5.9 0 0 0 12 3c-1.4 0-2.7.5-3.8 1.8zM8 10a4 4 0 0 1 8 0v4a4 4 0 0 1-8 0v-4zm2 0h2V8h-2v2zm2 6h2v-2h-2v2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8.2 4.8 6.4 3 5 4.4 7.1 6.5A6 6 0 0 0 6 10v1H3v2h3v1H3v2h3.1A6 6 0 0 0 18 14v-1h3v-2h-3v-1c0-1.3-.4-2.5-1.1-3.5L19 4.4 17.6 3l-1.8 1.8A5.9 5.9 0 0 0 12 3c-1.4 0-2.7.5-3.8 1.8zM8 10a4 4 0 0 1 8 0v4a4 4 0 0 1-8 0v-4zm2 0h2V8h-2v2zm2 6h2v-2h-2v2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="users"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm8.5 1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zM2 21c.4-4.4 3.1-7 7-7s6.6 2.6 7 7H2zm13.7-6.6c.8-.3 1.7-.4 2.8-.4 2.8 0 4.8 1.8 5.2 5h-5.9a8.2 8.2 0 0 0-2.1-4.6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm8.5 1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zM2 21c.4-4.4 3.1-7 7-7s6.6 2.6 7 7H2zm13.7-6.6c.8-.3 1.7-.4 2.8-.4 2.8 0 4.8 1.8 5.2 5h-5.9a8.2 8.2 0 0 0-2.1-4.6z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="sales"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h2l2.2 10.5A3 3 0 0 0 10.1 17H18v-2h-7.9a1 1 0 0 1-1-.8L8.8 13H18a2 2 0 0 0 1.9-1.4L22 6H7.3L6.8 4H3zm7 17a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h2l2.2 10.5A3 3 0 0 0 10.1 17H18v-2h-7.9a1 1 0 0 1-1-.8L8.8 13H18a2 2 0 0 0 1.9-1.4L22 6H7.3L6.8 4H3zm7 17a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="check"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3zm-1 14.5-4-4 1.4-1.4 2.6 2.6 5.6-5.6L18 9.5l-7 7z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3zm-1 14.5-4-4 1.4-1.4 2.6 2.6 5.6-5.6L18 9.5l-7 7z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="qr"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h8v8H3V3zm2 2v4h4V5H5zm8-2h8v8h-8V3zm2 2v4h4V5h-4zM3 13h8v8H3v-8zm2 2v4h4v-4H5zm10-2h2v2h-2v-2zm4 0h2v4h-4v-2h2v-2zm-6 4h2v4h-2v-4zm4 2h4v2h-4v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h8v8H3V3zm2 2v4h4V5H5zm8-2h8v8h-8V3zm2 2v4h4V5h-4zM3 13h8v8H3v-8zm2 2v4h4v-4H5zm10-2h2v2h-2v-2zm4 0h2v4h-4v-2h2v-2zm-6 4h2v4h-2v-4zm4 2h4v2h-4v-2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="generate"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 2h2v5h-2V2zm0 15h2v5h-2v-5zM2 11h5v2H2v-2zm15 0h5v2h-5v-2zM4.2 5.6l1.4-1.4 3.5 3.5-1.4 1.4-3.5-3.5zm10.7 10.7 1.4-1.4 3.5 3.5-1.4 1.4-3.5-3.5zm0-8.6 3.5-3.5 1.4 1.4-3.5 3.5-1.4-1.4zM4.2 18.4l3.5-3.5 1.4 1.4-3.5 3.5-1.4-1.4zM12 8a4 4 0 1 1 0 8 4 4 0 0 1 0-8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 2h2v5h-2V2zm0 15h2v5h-2v-5zM2 11h5v2H2v-2zm15 0h5v2h-5v-2zM4.2 5.6l1.4-1.4 3.5 3.5-1.4 1.4-3.5-3.5zm10.7 10.7 1.4-1.4 3.5 3.5-1.4 1.4-3.5-3.5zm0-8.6 3.5-3.5 1.4 1.4-3.5 3.5-1.4-1.4zM4.2 18.4l3.5-3.5 1.4 1.4-3.5 3.5-1.4-1.4zM12 8a4 4 0 1 1 0 8 4 4 0 0 1 0-8z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="settings"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.5-2.4 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 3a8 8 0 0 0-2.6 1.5l-2.4-1-2 3.5 2 1.5A9 9 0 0 0 4.5 12c0 .5 0 1 .1 1.5l-2 1.5 2 3.5 2.4-1a8 8 0 0 0 2.6 1.5l.4 3h4l.4-3a8 8 0 0 0 2.6-1.5l2.4 1 2-3.5-2-1.5zM12 15.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.5-2.4 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 3a8 8 0 0 0-2.6 1.5l-2.4-1-2 3.5 2 1.5A9 9 0 0 0 4.5 12c0 .5 0 1 .1 1.5l-2 1.5 2 3.5 2.4-1a8 8 0 0 0 2.6 1.5l.4 3h4l.4-3a8 8 0 0 0 2.6-1.5l2.4 1 2-3.5-2-1.5zM12 15.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="rtc-password"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10V8a5 5 0 0 1 10 0v2h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1zm2 0h6V8a3 3 0 0 0-6 0v2zm3 8a2 2 0 0 0 1-3.7V13h-2v1.3a2 2 0 0 0 1 3.7zM3 3h2v2H3V3zm16 0h2v2h-2V3zM3 7h2v2H3V7zm16 0h2v2h-2V7z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10V8a5 5 0 0 1 10 0v2h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1zm2 0h6V8a3 3 0 0 0-6 0v2zm3 8a2 2 0 0 0 1-3.7V13h-2v1.3a2 2 0 0 0 1 3.7zM3 3h2v2H3V3zm16 0h2v2h-2V3zM3 7h2v2H3V7zm16 0h2v2h-2V7z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="profile"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm-8 9c.5-5 3.5-7 8-7s7.5 2 8 7H4z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm-8 9c.5-5 3.5-7 8-7s7.5 2 8 7H4z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="toolbox"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 4h6l1 3h4a2 2 0 0 1 2 2v3H2V9a2 2 0 0 1 2-2h4l1-3zm2 2-.4 1h2.8L13 6h-2zm11 8v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4h8v2h4v-2h8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 4h6l1 3h4a2 2 0 0 1 2 2v3H2V9a2 2 0 0 1 2-2h4l1-3zm2 2-.4 1h2.8L13 6h-2zm11 8v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4h8v2h4v-2h8z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="product-list"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4V4zm3 4h3V6H7v2zm5 0h5V6h-5v2zM7 13h3v-2H7v2zm5 0h5v-2h-5v2zm-5 5h3v-2H7v2zm5 0h5v-2h-5v2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4V4zm3 4h3V6H7v2zm5 0h5V6h-5v2zM7 13h3v-2H7v2zm5 0h5v-2h-5v2zm-5 5h3v-2H7v2zm5 0h5v-2h-5v2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="spareparts"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M22 6.5 17.5 11 15 8.5 19.5 4A6 6 0 0 0 12 11.5L3 20.5 5.5 23l9-9A6 6 0 0 0 22 6.5zM4 3l5 2 1 3-2 2-3-1-2-5 1-1z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M22 6.5 17.5 11 15 8.5 19.5 4A6 6 0 0 0 12 11.5L3 20.5 5.5 23l9-9A6 6 0 0 0 22 6.5zM4 3l5 2 1 3-2 2-3-1-2-5 1-1z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="repairs"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.7 6.5 17.5 10.7 14 7.2 18.2 3A6.7 6.7 0 0 0 10 11.2L3 18.2 5.8 21l7-7A6.7 6.7 0 0 0 21.7 6.5zM4 4h5l1.2 3.2-2.9 2.9L4 9V4zm1.7 1.7v2.1l1.2.4 1.1-1.1-.4-1.4H5.7zm11 9.2 3.4 3.4-1.8 1.8-3.4-3.4 1.8-1.8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.7 6.5 17.5 10.7 14 7.2 18.2 3A6.7 6.7 0 0 0 10 11.2L3 18.2 5.8 21l7-7A6.7 6.7 0 0 0 21.7 6.5zM4 4h5l1.2 3.2-2.9 2.9L4 9V4zm1.7 1.7v2.1l1.2.4 1.1-1.1-.4-1.4H5.7zm11 9.2 3.4 3.4-1.8 1.8-3.4-3.4 1.8-1.8z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="stock"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5 12 1l8 4v14l-8 4-8-4V5zm8 2.8L16.5 5 12 2.8 7.5 5 12 7.8zM6 7v10.8l5 2.5V9.7L6 7zm12 0-5 2.7v10.6l5-2.5V7zm-9 7h2v2H9v-2zm4-2h4v2h-4v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5 12 1l8 4v14l-8 4-8-4V5zm8 2.8L16.5 5 12 2.8 7.5 5 12 7.8zM6 7v10.8l5 2.5V9.7L6 7zm12 0-5 2.7v10.6l5-2.5V7zm-9 7h2v2H9v-2zm4-2h4v2h-4v-2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="min-stock"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5 12 1l8 4v14l-8 4-8-4V5zm8 2.8L16.5 5 12 2.8 7.5 5 12 7.8zM6 7v10.8l5 2.5V9.7L6 7zm12 0-5 2.7v10.6l5-2.5V7zM8 15h8v2H8v-2zm2-4h4v2h-4v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5 12 1l8 4v14l-8 4-8-4V5zm8 2.8L16.5 5 12 2.8 7.5 5 12 7.8zM6 7v10.8l5 2.5V9.7L6 7zm12 0-5 2.7v10.6l5-2.5V7zM8 15h8v2H8v-2zm2-4h4v2h-4v-2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="performance"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 19h17v2H3V3h2v16zM7 17V9h3v8H7zm5 0V5h3v12h-3zm5 0v-6h3v6h-3z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 19h17v2H3V3h2v16zM7 17V9h3v8H7zm5 0V5h3v12h-3zm5 0v-6h3v6h-3z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="deductions"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5a3 3 0 0 1 3-3h6l7 7v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5zm4 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM7 18 18 7l-1.5-1.5-11 11L7 18z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5a3 3 0 0 1 3-3h6l7 7v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5zm4 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM7 18 18 7l-1.5-1.5-11 11L7 18z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="sales-input"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18l-3-2-3 2-3-2-3 2-2-1.3V3zm4 5h6V6H9v2zm0 4h8v-2H9v2zm0 4h4v-2H9v2zm7-1h3v-2h-2v-2h-2v2h-2v2h2v2h2v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18l-3-2-3 2-3-2-3 2-2-1.3V3zm4 5h6V6H9v2zm0 4h8v-2H9v2zm0 4h4v-2H9v2zm7-1h3v-2h-2v-2h-2v2h-2v2h2v2h2v-2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="blank-receipt"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h8V9H8v2zm0 4h8v-2H8v2zm0 4h5v-2H8v2zM3 6h2v13H3V6zm16 0h2v13h-2V6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h8V9H8v2zm0 4h8v-2H8v2zm0 4h5v-2H8v2zM3 6h2v13H3V6zm16 0h2v13h-2V6z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="sales-report"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20H5V2zm2 2v16h10V4H7zm2 4h6v2H9V8zm0 4h3v5H9v-5zm4 2h3v3h-3v-3zM3 6h2v14H3V6zm16 0h2v14h-2V6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20H5V2zm2 2v16h10V4H7zm2 4h6v2H9V8zm0 4h3v5H9v-5zm4 2h3v3h-3v-3zM3 6h2v14H3V6zm16 0h2v14h-2V6z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="shipping"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h11v10h1.2A3 3 0 0 1 18 13h1.2l-2.1-3H15V7h3.2L22 12.4V17h-2.1a3 3 0 0 1-5.8 0H9.9A3 3 0 0 1 4.1 17H3V5zm2 2v6h8V7H5zm1.9 12a1.4 1.4 0 1 0 0-2.8 1.4 1.4 0 0 0 0 2.8zm10 0a1.4 1.4 0 1 0 0-2.8 1.4 1.4 0 0 0 0 2.8zM15 12v3h4.8v-1.9L18.3 12H15z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h11v10h1.2A3 3 0 0 1 18 13h1.2l-2.1-3H15V7h3.2L22 12.4V17h-2.1a3 3 0 0 1-5.8 0H9.9A3 3 0 0 1 4.1 17H3V5zm2 2v6h8V7H5zm1.9 12a1.4 1.4 0 1 0 0-2.8 1.4 1.4 0 0 0 0 2.8zm10 0a1.4 1.4 0 1 0 0-2.8 1.4 1.4 0 0 0 0 2.8zM15 12v3h4.8v-1.9L18.3 12H15z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="truck"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h12v12h1.1a3.5 3.5 0 0 1 6.8 0H23v2h-2.1a3.5 3.5 0 0 1-6.8 0H9.9a3.5 3.5 0 0 1-6.8 0H2V4h1zm2 2v8h8V6H5zm10 2v6h5.2l-2.2-4H15V8zm-8.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM6 8h5v2H6V8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h12v12h1.1a3.5 3.5 0 0 1 6.8 0H23v2h-2.1a3.5 3.5 0 0 1-6.8 0H9.9a3.5 3.5 0 0 1-6.8 0H2V4h1zm2 2v8h8V6H5zm10 2v6h5.2l-2.2-4H15V8zm-8.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM6 8h5v2H6V8z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="customers"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm-8 9c.4-4.4 3.5-7 8-7s7.6 2.6 8 7H4zm14-11h4v2h-4v-2zm0-4h4v2h-4V6zm0 8h4v2h-4v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm-8 9c.4-4.4 3.5-7 8-7s7.6 2.6 8 7H4zm14-11h4v2h-4v-2zm0-4h4v2h-4V6zm0 8h4v2h-4v-2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="product-list"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4V4zm2 2v3h12V6H6zm0 5v3h12v-3H6zm0 5v2h12v-2H6zm2-9h2v1H8V7zm0 5h2v1H8v-1zm0 5h2v1H8v-1z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4V4zm2 2v3h12V6H6zm0 5v3h12v-3H6zm0 5v2h12v-2H6zm2-9h2v1H8V7zm0 5h2v1H8v-1zm0 5h2v1H8v-1z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="receipt"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h8V9H8v2zm0 4h5v-2H8v2zm8 2h-3v2h3v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h8V9H8v2zm0 4h5v-2H8v2zm8 2h-3v2h3v-2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="deductions"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18H5V3zm2 2v14h10V5H7zm2 2h6v2H9V7zm0 4h6v2H9v-2zm0 4h3v2H9v-2zm7.8-4.8 1.4 1.4-5.4 5.4-1.4-1.4 5.4-5.4zM12 10a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm6 6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18H5V3zm2 2v14h10V5H7zm2 2h6v2H9V7zm0 4h6v2H9v-2zm0 4h3v2H9v-2zm7.8-4.8 1.4 1.4-5.4 5.4-1.4-1.4 5.4-5.4zM12 10a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm6 6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="video"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h13v14H3V5zm2 2v10h9V7H5zm12 3 4-3v10l-4-3v-4zm-8 0 4 2-4 2v-4z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h13v14H3V5zm2 2v10h9V7H5zm12 3 4-3v10l-4-3v-4zm-8 0 4 2-4 2v-4z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="note-products"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h8V9H8v2zm0 4h5v-2H8v2zm8.5 3.2 3.2-3.2-1.4-1.4-1.8 1.8-.8-.8-1.4 1.4 2.2 2.2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h8V9H8v2zm0 4h5v-2H8v2zm8.5 3.2 3.2-3.2-1.4-1.4-1.8 1.8-.8-.8-1.4 1.4 2.2 2.2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="device-id-products"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4V4zm2 2v12h12V6H6zm2 2h8v2H8V8zm0 4h5v2H8v-2zm8 0h2v2h-2v-2zm-1 3h3v2h-3v-2zM2 2h3v2H2V2zm17 0h3v2h-3V2zM2 20h3v2H2v-2zm17 0h3v2h-3v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4V4zm2 2v12h12V6H6zm2 2h8v2H8V8zm0 4h5v2H8v-2zm8 0h2v2h-2v-2zm-1 3h3v2h-3v-2zM2 2h3v2H2V2zm17 0h3v2h-3V2zM2 20h3v2H2v-2zm17 0h3v2h-3v-2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="departments"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 21V7l8-4v18H3zm3-11h2V8H6v2zm0 4h2v-2H6v2zm0 4h2v-2H6v2zm7 3V5h8v16h-8zm2-11h2V8h-2v2zm0 4h2v-2h-2v2zm0 4h2v-2h-2v2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 21V7l8-4v18H3zm3-11h2V8H6v2zm0 4h2v-2H6v2zm0 4h2v-2H6v2zm7 3V5h8v16h-8zm2-11h2V8h-2v2zm0 4h2v-2h-2v2zm0 4h2v-2h-2v2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="positions"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 9.5 8 3 8.5l5 4.1L6.5 19 12 15.6 17.5 19 16 12.6l5-4.1L14.5 8 12 2zm-1 11h2v7h-2v-7z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 9.5 8 3 8.5l5 4.1L6.5 19 12 15.6 17.5 19 16 12.6l5-4.1L14.5 8 12 2zm-1 11h2v7h-2v-7z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="contracts"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v15H6V2zm8 1v5h5l-5-5zM8 11h9V9H8v2zm0 4h9v-2H8v2zm0 4h6v-2H8v2zM3 6h2v16h13v2H3V6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v15H6V2zm8 1v5h5l-5-5zM8 11h9V9H8v2zm0 4h9v-2H8v2zm0 4h6v-2H8v2zM3 6h2v16h13v2H3V6z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="payroll"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v12H3V6zm2 2v8h14V8H5zm7 7a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM1 9h2v6H1V9zm20 0h2v6h-2V9z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v12H3V6zm2 2v8h14V8H5zm7 7a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM1 9h2v6H1V9zm20 0h2v6h-2V9z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="attendance"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 5v5l4 2-1 1.8-5-2.8V7h2zm-4 9.5 1.5-1.5 1.5 1.5 3.5-3.5L17 14.5 12 19l-3-2.5z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 5v5l4 2-1 1.8-5-2.8V7h2zm-4 9.5 1.5-1.5 1.5 1.5 3.5-3.5L17 14.5 12 19l-3-2.5z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="schedule"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h2v3h10V3h2v3h2v15H3V6h2V3zm14 8H5v8h14v-8zM7 13h3v3H7v-3zm5 0h3v3h-3v-3z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h2v3h10V3h2v3h2v15H3V6h2V3zm14 8H5v8h14v-8zM7 13h3v3H7v-3zm5 0h3v3h-3v-3z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="leave"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h2v3h10V3h2v3h2v15H3V6h2V3zm2 10 2-2 3 3 3-3 2 2-3 3 3 3-2 2-3-3-3 3-2-2 3-3-3-3z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h2v3h10V3h2v3h2v15H3V6h2V3zm2 10 2-2 3 3 3-3 2 2-3 3 3 3-2 2-3-3-3 3-2-2 3-3-3-3z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="internal-users"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm-7 9c.4-4 3-6 7-6 1.4 0 2.6.2 3.6.7A7 7 0 0 0 12 17c0 1.1.2 2.1.7 3H2zm15-8 1.2 2.2 2.5.4-1.8 1.8.4 2.6-2.3-1.2-2.3 1.2.4-2.6-1.8-1.8 2.5-.4L17 12z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm-7 9c.4-4 3-6 7-6 1.4 0 2.6.2 3.6.7A7 7 0 0 0 12 17c0 1.1.2 2.1.7 3H2zm15-8 1.2 2.2 2.5.4-1.8 1.8.4 2.6-2.3-1.2-2.3 1.2.4-2.6-1.8-1.8 2.5-.4L17 12z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="email"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v14H3V5zm2 3v9h14V8l-7 5L5 8zm1.5-1 5.5 4 5.5-4h-11z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v14H3V5zm2 3v9h14V8l-7 5L5 8zm1.5-1 5.5 4 5.5-4h-11z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="database-backup"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2c5 0 9 1.6 9 3.7v7.1c-1.2-.8-2.7-1.3-4.3-1.3-3.8 0-7 2.9-7.4 6.6C5.6 17.7 3 16.3 3 14.5V5.7C3 3.6 7 2 12 2zm0 2C7.9 4 5 5 5 5.7c0 .7 2.9 1.7 7 1.7s7-1 7-1.7C19 5 16.1 4 12 4zM5 8.2v2.2c1.4.9 4 1.5 7 1.5 1 0 2-.1 2.9-.2.6-.2 1.2-.3 1.8-.3.8 0 1.6.1 2.3.4V8.2c-1.7.8-4.2 1.2-7 1.2s-5.3-.4-7-1.2zm0 4.7v1.6c0 .6 1.8 1.4 4.6 1.6.2-.7.5-1.4.9-2-2.2-.1-4.1-.5-5.5-1.2zm11.7.6a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11zm.8 2.2v3.1l2.3-1.6 1.1 1.6-4.4 3-4.4-3 1.1-1.6 2.3 1.6v-3.1h2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2c5 0 9 1.6 9 3.7v7.1c-1.2-.8-2.7-1.3-4.3-1.3-3.8 0-7 2.9-7.4 6.6C5.6 17.7 3 16.3 3 14.5V5.7C3 3.6 7 2 12 2zm0 2C7.9 4 5 5 5 5.7c0 .7 2.9 1.7 7 1.7s7-1 7-1.7C19 5 16.1 4 12 4zM5 8.2v2.2c1.4.9 4 1.5 7 1.5 1 0 2-.1 2.9-.2.6-.2 1.2-.3 1.8-.3.8 0 1.6.1 2.3.4V8.2c-1.7.8-4.2 1.2-7 1.2s-5.3-.4-7-1.2zm0 4.7v1.6c0 .6 1.8 1.4 4.6 1.6.2-.7.5-1.4.9-2-2.2-.1-4.1-.5-5.5-1.2zm11.7.6a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11zm.8 2.2v3.1l2.3-1.6 1.1 1.6-4.4 3-4.4-3 1.1-1.6 2.3 1.6v-3.1h2z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="audit-log"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20H5V2zm2 2v16h10V4H7zm2 3h6v2H9V7zm0 4h6v2H9v-2zm0 4h4v2H9v-2zm8.5-2.5 1.5 1.5-4.2 4.2-2.3-2.3 1.4-1.4.9.9 2.7-2.9zM3 6h2v14H3V6zm16 0h2v14h-2V6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20H5V2zm2 2v16h10V4H7zm2 3h6v2H9V7zm0 4h6v2H9v-2zm0 4h4v2H9v-2zm8.5-2.5 1.5 1.5-4.2 4.2-2.3-2.3 1.4-1.4.9.9 2.7-2.9zM3 6h2v14H3V6zm16 0h2v14h-2V6z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="receipt-settings"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h5V9H8v2zm9 1.2c.3 0 .6 0 .9.1l.6-1 1.8 1-.5 1a4 4 0 0 1 .7 1.2h1.1v2h-1.1a4 4 0 0 1-.7 1.2l.5 1-1.8 1-.6-1a4 4 0 0 1-1.8 0l-.6 1-1.8-1 .5-1a4 4 0 0 1-.7-1.2h-1.1v-2h1.1c.2-.4.4-.8.7-1.2l-.5-1 1.8-1 .6 1c.3-.1.6-.1.9-.1zm0 2.1a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h14v20l-2.5-1.6L14 22l-2.5-1.6L9 22l-2.5-1.6L4 22V3a1 1 0 0 1 1-1zm3 5h8V5H8v2zm0 4h5V9H8v2zm9 1.2c.3 0 .6 0 .9.1l.6-1 1.8 1-.5 1a4 4 0 0 1 .7 1.2h1.1v2h-1.1a4 4 0 0 1-.7 1.2l.5 1-1.8 1-.6-1a4 4 0 0 1-1.8 0l-.6 1-1.8-1 .5-1a4 4 0 0 1-.7-1.2h-1.1v-2h1.1c.2-.4.4-.8.7-1.2l-.5-1 1.8-1 .6 1c.3-.1.6-.1.9-.1zm0 2.1a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a[data-nav-icon="warranty-check"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3zm-1 14.5-4-4 1.4-1.4 2.6 2.6 5.6-5.6L18 9.5l-7 7zM7 5.8l5-1.9 5 1.9v1.5l-5-1.8-5 1.8V5.8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3zm-1 14.5-4-4 1.4-1.4 2.6 2.6 5.6-5.6L18 9.5l-7 7zM7 5.8l5-1.9 5 1.9v1.5l-5-1.8-5 1.8V5.8z'/%3E%3C/svg%3E")}
body.apex-page .sidebar nav a.active:after{background:#7367f0}
body.apex-page .main{margin-left:264px;width:calc(100% - 264px)}
body.apex-page .topbar{height:66px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 14px rgba(47,52,70,.05)}
body.apex-page .topbar h2{font-size:20px;font-weight:700;color:#2f3446}
body.apex-page .panel{border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 4px 18px rgba(47,52,70,.06)}
body.apex-page .table-wrap{border:1px solid #edf0f6;border-radius:8px;background:#fff}
body.apex-page .table-wrap table{border-collapse:separate;border-spacing:0;margin:0}
body.apex-page table:not(.ceo-data-table):not(.firmware-table){min-width:920px;table-layout:fixed}
body.apex-page th,body.apex-page .ceo-data-table th,body.apex-page .firmware-table th{background:#f3f4f8;color:#5d6679;border-bottom:1px solid #e4e8f1;font-size:12px;font-weight:700;text-transform:none}
body.apex-page td{border-bottom:1px solid #edf0f6;color:#3f4658;background:transparent}
body.apex-page tbody tr:nth-child(even){background:#fbfcff}
body.apex-page tbody tr:hover{background:#f6f5ff}
body.apex-page .sort-btn{min-height:40px;padding:10px 9px;color:#5d6679;font-size:12px;font-weight:700;text-transform:none;border-radius:0}
body.apex-page .sort-btn:hover,body.apex-page .sort-btn:focus{background:#edeafd;color:#7367f0}
body.apex-page .column-filters th{background:#fff;padding:7px}
body.apex-page .column-filters input{height:34px;border-radius:6px;border-color:#d8deea;background:#fff;color:#2f3446;font-size:12px}
body.apex-page .table-export-toolbar,body.apex-page .firmware-export-actions{gap:8px;margin:0 0 12px}
body.apex-page .app .table-export-toolbar .btn,body.apex-page .app .firmware-export-actions .btn{min-height:34px;min-width:98px;padding:8px 11px;border-radius:6px;font-size:12px;font-weight:700}
body.apex-page .app .topbar-actions .btn{width:auto;min-width:74px}
.ceo-data-table td .actions>form,.ceo-data-table td .actions>.btn{flex-basis:74px;width:74px}
.ceo-data-table th:last-child,.ceo-data-table td:last-child{width:250px;min-width:250px;overflow:visible}
body.apex-page .app .export-pdf,body.apex-page .app [data-table-export="pdf"]{background:#fff4e6;color:#b05c00;border:1px solid #ffd8a8}
body.apex-page .app .export-printer,body.apex-page .app [data-table-export="print"]{background:#eef0ff;color:#6258d8;border:1px solid #d8d4ff}
body.apex-page .app .export-xls,body.apex-page .app [data-table-export="xls"]{background:#e5f8ed;color:#1f9d57;border:1px solid #c7efd8}
body.apex-page .table-pager{justify-content:flex-end;margin-top:12px;gap:10px}
body.apex-page .table-page-info{color:#6f7a90;font-size:12px;font-weight:700}
body.apex-page .table-pager .btn{width:auto;min-width:72px;min-height:34px;border-radius:6px}
body.apex-page .table-pager .btn:disabled{opacity:.5}
body.apex-page .btn{border-radius:6px;font-weight:700}
body.apex-page .btn-primary{background:#7367f0;color:#fff}
body.apex-page .btn-primary:hover{background:#6258d8}
body.apex-page .btn-light{background:#f1f2f7;color:#4b5568;border:1px solid #dde2ec}
body.apex-page .app-footer{display:block;margin:0 24px 20px;text-align:center;background:#fff;border:1px solid #e7eaf3;border-radius:8px;color:#8a94a6}
@media(max-width:900px){body.apex-page .sidebar{width:264px;transform:translateX(-100%)}body.apex-page .sidebar.show{transform:translateX(0)}body.apex-page .main{margin-left:0;width:100%}}

body.apex-page table:not(.ceo-data-table):not(.firmware-table){table-layout:auto}
body.apex-page .bug-action-cell{min-width:132px}
body.apex-page .bug-action-stack{display:flex;flex-direction:column;gap:8px;width:100%;margin:0}
body.apex-page .bug-action-stack+.bug-action-stack{margin-top:8px}
body.apex-page .bug-action-stack select,
body.apex-page .bug-action-stack .btn,
body.apex-page .bug-action-stack form,
body.apex-page .bug-action-stack form>.btn{width:100%;min-width:0}
body.apex-page .bug-action-stack select{min-height:34px;padding:7px 9px;font-size:13px}
body.apex-page .bug-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:8px}
body.apex-page .bug-action-row .btn,
body.apex-page .bug-action-row form,
body.apex-page .bug-action-row form>.btn{width:100%;min-width:0}
body.apex-page .table-wrap td:last-child{white-space:nowrap}
body.apex-page .table-wrap td:last-child .btn{min-width:max-content;white-space:nowrap}

body.apex-page .sidebar{background:#25293c;box-shadow:0 10px 30px rgba(47,52,70,.18)}
body.apex-page .sidebar:before{display:none!important;content:none!important}
body.apex-page .side-brand{display:none}
body.apex-page .sidebar nav,body.apex-page .side-brand+nav{padding:22px 14px 18px}
body.apex-page .sidebar nav a{min-height:46px;margin-bottom:6px;padding:12px 14px;color:#c8cedf;background:transparent;border:0;border-radius:9px;font-size:13px;font-weight:600;line-height:1.25;min-width:0;white-space:nowrap;overflow:hidden}
body.apex-page .sidebar nav a:after{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:999px;background:transparent}
body.apex-page .sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff}
body.apex-page .sidebar nav a.active{background:#fff;color:#6258d8;box-shadow:0 10px 24px rgba(20,24,42,.18)}
body.apex-page .sidebar nav a.active:after{background:#7367f0}
body.apex-page .sidebar nav a.active:before{color:#7367f0}

.sidebar nav .nav-group{margin:0 0 6px}
.sidebar nav .nav-group summary{min-height:42px;padding:11px 14px;margin:0 0 5px;border-radius:9px;color:#c8cedf;font-size:12px;font-weight:800;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.04);white-space:nowrap;overflow:hidden;text-overflow:clip;gap:8px}
.sidebar nav .nav-group summary::-webkit-details-marker{display:none}
.sidebar nav .nav-group summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s;flex:0 0 7px}
.sidebar nav .nav-group[open] summary:after{transform:rotate(-135deg)}
.sidebar nav .nav-group a{margin-left:12px;font-size:12px;min-height:38px}
.sidebar nav a .nav-label{display:block;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap;flex:1 1 auto}
.sidebar nav a:before{flex:0 0 18px}
.sidebar nav a .nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;line-height:20px;color:#fff;background:#ea5455;box-shadow:0 6px 14px rgba(234,84,85,.24);flex:0 0 auto}
.sidebar nav a .nav-badge-orange{background:#ff9f43;box-shadow:0 6px 14px rgba(255,159,67,.24)}
.sidebar nav a .nav-badge-green{background:#28c76f;box-shadow:0 6px 14px rgba(40,199,111,.22)}
.sidebar nav a .nav-badge-blue{background:#2f6fed;box-shadow:0 6px 14px rgba(47,111,237,.22)}
.sidebar nav a.active .nav-badge{color:#fff}
body.ceo-page .sidebar nav .nav-group summary{color:#c8cedf;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
body.ceo-page .sidebar nav .nav-group[open] summary{color:#fff;background:rgba(115,103,240,.16)}

.employee-side-card{margin:18px 14px 12px;padding:16px 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));text-align:center;color:#fff;box-shadow:0 12px 26px rgba(12,15,28,.16)}
.employee-side-photo{width:76px;height:76px;margin:0 auto 10px;border-radius:999px;border:3px solid rgba(255,255,255,.18);background:#7367f0;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 12px 22px rgba(0,0,0,.18)}
.employee-side-photo img{width:100%;height:100%;object-fit:cover;display:block}
.employee-side-photo span{font-size:24px;font-weight:800;color:#fff;letter-spacing:0}
.employee-side-status{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:23px;margin:-2px 0 9px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:900;line-height:1;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff}
.employee-side-status:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.employee-side-status.green{background:rgba(32,201,151,.16);color:#6ef0c8;border-color:rgba(110,240,200,.26)}
.employee-side-status.orange{background:rgba(255,159,28,.16);color:#ffd18a;border-color:rgba(255,209,138,.28)}
.employee-side-status.gray{background:rgba(203,213,225,.12);color:#cbd5e1;border-color:rgba(203,213,225,.22)}
.employee-side-name{font-size:14px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:clip;white-space:nowrap}
.employee-side-meta{min-height:18px;margin-top:4px;color:#cbd2e6;font-size:12px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:clip;white-space:nowrap}
.employee-side-last{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);color:#9ca8c0;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:clip;white-space:nowrap}
body.apex-page .employee-side-card+nav,body.apex-page .employee-side-card+.sidebar-menu-search+nav{padding-top:0}
.sidebar-menu-search{position:relative;flex:0 0 auto;margin:0 14px 10px}
.employee-side-card+.sidebar-menu-search{margin-top:-2px}
.sidebar-menu-search:before{content:"";position:absolute;left:13px;top:13px;width:10px;height:10px;border:2px solid #aeb7d0;border-radius:999px;pointer-events:none;z-index:1}
.sidebar-menu-search:after{content:"";position:absolute;left:24px;top:25px;width:7px;height:2px;border-radius:999px;background:#aeb7d0;transform:rotate(45deg);pointer-events:none;z-index:1}
.sidebar-menu-search-input{width:100%;height:40px;padding:0 38px 0 36px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:12px;font-weight:800;letter-spacing:0;outline:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .18s,background .18s,box-shadow .18s}
.sidebar-menu-search-input::placeholder{color:#aeb7d0}
.sidebar-menu-search-input:focus{border-color:rgba(115,103,240,.75);background:rgba(255,255,255,.12);box-shadow:0 0 0 3px rgba(115,103,240,.18)}
.sidebar-menu-search-clear{position:absolute;right:7px;top:7px;width:26px;min-width:26px;height:26px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;font-size:17px;font-weight:900;line-height:24px;cursor:pointer}
.sidebar-menu-search-clear:hover{background:rgba(255,255,255,.2)}
.sidebar-search-empty{margin-top:8px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.06);color:#c8cedf;font-size:12px;font-weight:800;text-align:center}
.sidebar-search-empty[hidden],.sidebar-menu-search-clear[hidden]{display:none!important}
html.sidebar-collapsed .sidebar-menu-search{display:none}
.employee-photo-preview{width:88px;height:88px;margin:8px 0 10px;border-radius:12px;overflow:hidden;border:1px solid #dfe3e8;background:#f4f6f9}
.employee-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.employee-table-photo{width:42px;height:42px;border-radius:999px;background:#edeafd;color:#6258d8;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-size:13px;font-weight:800;border:1px solid #d8d4ff}
.employee-table-photo.large{width:74px;height:74px;font-size:22px;flex:0 0 74px}
.employee-table-photo img{width:100%;height:100%;object-fit:cover;display:block}
.employee-list-profile{display:flex;align-items:center;gap:10px;min-width:220px}
.employee-list-profile-main{display:grid;gap:3px;min-width:0}
.employee-list-profile-main>b{display:block;min-width:0;color:#2f3446;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:clip;white-space:nowrap}
.employee-list-profile-main>small{display:block;min-width:0;color:#6b7280;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:clip;white-space:nowrap}
.employee-list-online{display:inline-flex;align-items:center;width:max-content;max-width:100%;gap:5px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:clip}
.employee-list-online:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;flex:0 0 6px}
.employee-list-online.green{background:#e5f8ee;color:#137449}
.employee-list-online.orange{background:#fff1df;color:#a55308}
.employee-list-online.gray{background:#eef1f5;color:#596273}
.profile-photo-field{display:flex;align-items:center;gap:14px}
.profile-photo-field input{flex:1}
@media(max-width:620px){.profile-photo-field{align-items:stretch;flex-direction:column}.employee-side-card{margin-top:14px}}
.employee-profile-form{display:flex;flex-direction:column;gap:16px;width:100%}
.profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid #edf0f6;border-radius:8px;background:linear-gradient(135deg,#fbfcff,#f7f5ff)}
.profile-hero-photo.employee-table-photo.large{width:96px;height:96px;font-size:28px}
.profile-hero-main{min-width:0}
.profile-hero-main h3{margin:0 0 5px;color:#2f3446;font-size:22px;line-height:1.2}
.profile-hero-main p{margin:0 0 12px;color:#6f7a90;font-weight:700}
.profile-hero-upload{max-width:360px}
.profile-hero-upload label{margin:0 0 7px;font-size:12px;color:#6f7a90}
.profile-hero-upload input{padding:9px;background:#fff}
.profile-hero-status{align-self:start}
.profile-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:16px;border:1px solid #edf0f6;border-radius:8px;background:#fff}
.profile-section-title h4{margin:0 0 5px;color:#2f3446;font-size:16px}
.profile-section-title p{margin:0;color:#8a94a6;font-size:13px;line-height:1.35}
.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;justify-content:start}
.profile-fields label{margin:0 0 7px;color:#5d6679;font-size:13px}
.profile-fields input,.profile-fields select,.profile-fields textarea{min-height:40px}
.profile-fields textarea{min-height:92px;resize:vertical}
.profile-field-wide{grid-column:1/-1}
.profile-flat-fields{padding:16px;border:1px solid #edf0f6;border-radius:8px;background:#fff}
.profile-actions{display:flex;justify-content:flex-end;padding-top:2px}
.profile-actions .btn{min-width:150px}
@media(max-width:760px){
  .profile-hero{grid-template-columns:1fr;text-align:center}
  .profile-hero-photo.employee-table-photo.large{margin:0 auto}
  .profile-hero-upload{max-width:none}
  .profile-hero-status{align-self:center}
  .profile-section{grid-template-columns:1fr}
  .profile-fields{grid-template-columns:1fr}
  .profile-actions .btn{width:100%}
}

.attendance-cards.cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.stock-performance-chart{display:grid;gap:10px;margin-top:18px}.stock-performance-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr 54px;gap:12px;align-items:center}.stock-performance-name{font-weight:700;overflow:hidden;text-overflow:clip;white-space:nowrap}.stock-performance-track{height:14px;border-radius:999px;background:#edf2f7;overflow:hidden}.stock-performance-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#18c97a,#00b8e6)}.stock-performance-value{text-align:right;font-weight:800}
.qr-stock-table{min-width:1720px;table-layout:auto!important}.ceo-data-table.qr-stock-table td.qr-code-cell{width:280px;min-width:280px;max-width:none;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-all;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.3}
.qr-code-inline{display:flex;align-items:flex-start;gap:8px;min-width:0}.qr-code-inline b{flex:1;min-width:0}.qr-code-inline .copy-qr-code{flex:0 0 auto;min-width:56px;padding:6px 8px;font-family:"Plus Jakarta Sans",Arial,sans-serif;font-size:11px;line-height:1}
.hpp-component-box{margin-top:16px;padding:16px;border:1px solid #edf0f6;border-radius:8px;background:#fff}
.hpp-component-box .panel-header{margin-bottom:12px;padding-bottom:12px}
.hpp-components-table{min-width:1080px;table-layout:fixed}
.hpp-components-table th:nth-child(1),.hpp-components-table td:nth-child(1){width:44%}
.hpp-components-table th:nth-child(2),.hpp-components-table td:nth-child(2){width:12%}
.hpp-components-table th:nth-child(3),.hpp-components-table td:nth-child(3),.hpp-components-table th:nth-child(4),.hpp-components-table td:nth-child(4){width:17%}
.hpp-components-table th:nth-child(5),.hpp-components-table td:nth-child(5){width:10%;overflow:visible}
.hpp-components-table select,.hpp-components-table input{width:100%;min-width:0}
.hpp-components-table td{white-space:normal}
.hpp-deduction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hpp-deduction-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;color:#2f3446}
.hpp-deduction-option input{width:auto;margin-top:3px}
.hpp-deduction-option span{display:flex;min-width:0;flex-direction:column;gap:3px}
.hpp-deduction-option small{color:#6d7788;font-size:12px}
.hpp-deduction-option.is-inactive{opacity:.62}
.hpp-product-table{min-width:1720px}
.hpp-product-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.production-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;overflow-x:auto;padding-bottom:2px;white-space:nowrap}.production-toolbar-left,.production-toolbar-right,.production-period-filter,.production-toolbar form{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin:0;white-space:nowrap}.production-toolbar-left{margin-right:auto}.production-toolbar-right,.production-toolbar>.table-export-toolbar{margin:0 0 0 auto;padding:0;overflow:visible}.production-toolbar>.table-export-toolbar .toolbar-right{margin-left:auto}.production-toolbar .btn,.production-toolbar select,.production-toolbar input{box-sizing:border-box;height:32px;min-height:32px;margin:0;font-size:12px}.production-toolbar .btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:92px;padding:7px 10px;line-height:1}.production-toolbar select,.production-toolbar input{width:auto;min-width:132px;max-width:180px;padding:6px 9px}.production-toolbar [hidden]{display:none!important}
.hpp-product-list-panel .panel-header{border-bottom:0;padding-bottom:0}
.hpp-product-list-panel .hpp-product-control-row{border-top:1px solid #edf1f5;padding-top:14px}
.hpp-product-toolbar{justify-content:flex-end;margin:0}
.hpp-product-toolbar .hpp-sparepart-filter{margin:0;min-width:min(520px,100%);flex:0 1 600px}
.hpp-product-toolbar .hpp-sparepart-filter select{min-width:260px;max-width:420px}
.ceo-data-panel .panel-header>div{width:100%}
.ceo-data-panel .panel-header .hpp-sparepart-filter{display:flex;align-items:center;gap:8px;margin-top:0;max-width:620px}
.ceo-data-panel .panel-header .hpp-sparepart-filter select{min-width:260px}
.hpp-batch-edit-form{margin:0;max-width:760px;flex:1 1 720px}
.hpp-batch-edit-form select,.hpp-batch-edit-form input{min-width:150px}
.hpp-batch-deduction-control{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:280px;max-width:100%}
.hpp-batch-deduction-control[hidden]{display:none!important}
.hpp-batch-deduction-option{display:flex;align-items:center;gap:6px;margin:0;padding:7px 9px;border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;color:#2f3446;font-size:13px}
.hpp-batch-deduction-option input{min-width:0;width:auto;margin:0}
.hpp-batch-deduction-option small{color:#6d7788;font-size:11px}
.hpp-batch-deduction-option.is-inactive{opacity:.62}
.hpp-product-table th:nth-child(1),.hpp-product-table td:nth-child(1){width:42px;min-width:42px}
.hpp-product-table th:nth-child(3),.hpp-product-table td:nth-child(3){width:190px;min-width:190px}
.hpp-product-table td:nth-child(3){white-space:normal;overflow:visible;text-overflow:clip}
.hpp-product-table th:nth-child(4),.hpp-product-table td:nth-child(4){width:190px;min-width:190px}
.hpp-product-table td:nth-child(4){white-space:normal;overflow:visible;text-overflow:clip}
.hpp-product-table th:nth-child(5),.hpp-product-table td:nth-child(5){width:130px;min-width:130px}
.hpp-product-table th:nth-child(14),.hpp-product-table td:nth-child(14){width:180px;min-width:180px}
.hpp-product-table td:nth-child(14){white-space:normal;overflow:visible;text-overflow:clip}
.hpp-product-table th:last-child,.hpp-product-table td:last-child{width:270px;min-width:270px}
.hpp-product-table td .actions>.btn,.hpp-product-table td .actions>form{flex-basis:58px;width:58px}
.employee-product-components{padding:12px;border:1px solid #edf0f6;border-radius:8px;background:#fbfcff}
.employee-product-components-templates{margin-top:12px}
.employee-product-components h4{margin:0 0 10px;color:#2f3446;font-size:15px}
.employee-product-components-table{min-width:520px}
.employee-product-components-table th,.employee-product-components-table td{padding:8px 10px}
.hpp-product-form>.actions{border-top:1px solid #edf1f5;padding-top:14px;margin-top:14px}
.attendance-date-filter{flex:0 1 320px;max-width:100%;justify-content:flex-end;flex-wrap:wrap}
.attendance-date-filter input[type=date]{flex:1 1 170px;min-width:170px;max-width:200px}
.attendance-date-filter .btn{flex:0 0 96px;width:96px;min-width:96px}
.schedule-day-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.schedule-day-checks .check-line{min-height:34px;margin:0!important;padding:7px 9px;border:1px solid #e2e8f0;border-radius:7px;background:#fff}
.schedule-day-checks .check-line input{width:auto}
.schedule-day-checks .check-line:has(input:checked){border-color:#7367f0;background:#f3f0ff;color:#3f35b5}
.schedule-period-box{background:#fbfdff;border:1px solid #e7edf3;border-radius:8px;padding:12px}
.schedule-period-box h4{margin:0 0 12px;color:#33475b}
.attendance-filter-form{display:grid;grid-template-columns:150px 88px minmax(150px,1fr) minmax(130px,1fr) auto;align-items:end;gap:10px;max-width:780px}
.attendance-filter-form input,.attendance-filter-form select{min-width:0;height:38px;padding:8px 10px}
.attendance-month-actions{margin:0 0 14px}
.attendance-matrix-wrap{max-height:72vh;overflow:auto}
.attendance-matrix{min-width:1280px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.attendance-matrix th,.attendance-matrix td{padding:6px 4px;text-align:center;vertical-align:middle}
.attendance-matrix th{position:sticky;top:0;z-index:3}
.attendance-matrix .sticky-col{position:sticky;left:0;z-index:4;text-align:left;background:#fff;box-shadow:1px 0 0 #edf0f6}
.attendance-matrix th.sticky-col{z-index:5;background:#f3f4f8}
.attendance-matrix th:not(.sticky-col):not(.attendance-person-col):not(.attendance-summary-col){width:50px}
.attendance-matrix .attendance-summary-col{width:88px!important;min-width:88px!important}
.attendance-matrix .attendance-person-col{width:220px!important;min-width:220px!important;max-width:220px!important;text-align:left}
.attendance-person{width:220px;min-width:220px;max-width:220px}
.attendance-person b{display:block;color:#2f3446;line-height:1.25;white-space:normal}
.attendance-person span{display:block;margin-top:3px;color:#8a94a6;font-size:11px;line-height:1.2}
.attendance-cell{height:48px;background:#fbfcff}
.attendance-cell.today{box-shadow:inset 0 0 0 2px #7367f0;background:#f2f0ff}
.attendance-cell.has-attendance{background:#f0fdf4}
.attendance-cell.has-fine{background:#fffbeb;box-shadow:inset 0 0 0 1px #f59e0b}
.attendance-cell.has-leave{background:#eff6ff;box-shadow:inset 0 0 0 1px #60a5fa}
.attendance-cell.has-fine.has-leave{background:linear-gradient(135deg,#eff6ff 0,#eff6ff 52%,#fffbeb 52%,#fffbeb 100%);box-shadow:inset 0 0 0 1px #f59e0b}
.attendance-cell .attendance-in,.attendance-cell .attendance-out{display:block;font-size:10px;font-weight:800;line-height:1.05;letter-spacing:0}
.attendance-cell .attendance-in{color:#16824a}
.attendance-cell .attendance-out{margin-top:2px;color:#b05c00}
.attendance-empty{color:#a8afbd}
.attendance-edit-link{display:inline-flex;margin-top:3px;padding:2px 4px;border-radius:6px;background:#f1f2f7;color:#6258d8;font-size:9px;font-weight:800;line-height:1}
.attendance-edit-link:hover{background:#edeafd;color:#4f46c5}
.attendance-crud-form .actions{align-self:end}
.attendance-crud-form .btn{min-width:112px}
.attendance-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.attendance-calendar-head{font-weight:800;text-align:center;color:#6f7a90;padding:8px 4px}
.attendance-day{min-height:132px;border:1px solid #e7eaf3;border-radius:8px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:8px}
.attendance-day.empty{background:transparent;border-color:transparent}
.attendance-day.today{border-color:#7367f0;box-shadow:0 0 0 2px rgba(115,103,240,.14);background:#f7f5ff}
.attendance-day.has-attendance{background:#fbfffd}
.attendance-day-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.attendance-day-top b{font-size:18px;color:#2f3446}
.attendance-day-top span{font-size:11px;font-weight:800;color:#6258d8;background:#edeafd;border-radius:999px;padding:3px 7px;white-space:nowrap}
.attendance-times{display:grid;grid-template-columns:1fr;gap:6px;margin-top:auto}
.attendance-times div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #edf0f6;border-radius:7px;background:#fbfcff;padding:6px 8px}
.attendance-times span{font-size:11px;color:#6f7a90;font-weight:700}
.attendance-times strong{font-size:14px;color:#2f3446}
.attendance-detail-table{min-width:620px}
.work-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.work-calendar-head{font-weight:700;text-align:center;color:#64748b;padding:8px 4px}
.work-calendar-day{min-height:104px;border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:8px}
.work-calendar-day.today{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.14);background:#eff6ff}
.work-calendar-day.holiday{border-color:#dc2626;background:#fef2f2}
.work-calendar-day.empty{background:transparent;border-color:transparent}
.work-calendar-date{font-weight:800;color:#0f172a}
.work-calendar-note{font-size:12px;color:#64748b;line-height:1.35}
.work-calendar-tasks{display:flex;flex-direction:column;gap:4px;margin-top:2px}
.work-calendar-task{font-size:12px;line-height:1.25;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:4px 6px}
.work-calendar-task.leave-task{color:#92400e;background:#fffbeb;border-color:#fde68a}
.work-calendar-task.leave-task.green{color:#166534;background:#f0fdf4;border-color:#bbf7d0}
.work-calendar-task.leave-task.red{color:#991b1b;background:#fef2f2;border-color:#fecaca}
.work-calendar-task.leave-task.orange{color:#9a3412;background:#fff7ed;border-color:#fed7aa}
.work-calendar-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.work-calendar-list li{font-size:12px;line-height:1.25;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:4px 6px}
.attendance-work-calendar .work-calendar-day.has-attendance{background:#fbfffd}
.attendance-work-calendar .work-calendar-day.has-leave{border-color:#60a5fa;background:#eff6ff}
.attendance-work-calendar .work-calendar-day.has-fine{border-color:#f59e0b;background:#fffbeb}
.attendance-work-calendar .work-calendar-day.has-leave.has-fine{background:linear-gradient(135deg,#eff6ff 0,#eff6ff 52%,#fffbeb 52%,#fffbeb 100%);border-color:#f59e0b}
.attendance-work-calendar .work-calendar-day.has-leave .work-calendar-date{color:#1d4ed8}
.attendance-work-calendar .work-calendar-day.has-fine .work-calendar-date{color:#b45309}
.attendance-work-calendar .work-calendar-day.has-leave.has-fine .work-calendar-date{color:#7c3aed}
.attendance-day-list li{display:flex;justify-content:space-between;gap:8px}
.attendance-day-list b{color:#2f3446;font-size:13px}
.attendance-day-list li.attendance-fine{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.attendance-day-list li.attendance-fine b{color:#c2410c}
.leave-attachment-preview{margin-top:10px;width:min(280px,100%);border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;padding:8px}
.leave-attachment-preview img{display:block;width:100%;max-height:190px;object-fit:contain;border-radius:6px;background:#fff}
.sales-report-filter{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;align-items:end}
.sales-report-filter label{display:block;margin:0 0 7px;font-size:13px;font-weight:700;color:#5d6679}
.sales-report-filter input,.sales-report-filter select{width:100%;min-width:0}
.sales-report-filter-actions .btn{width:100%;min-height:38px}
@media(max-width:900px){
  .attendance-cards.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .attendance-filter-form{grid-template-columns:1fr 1fr}
  .sales-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hpp-deduction-grid{grid-template-columns:1fr}
  .hpp-product-control-row{align-items:stretch;flex-direction:column}
  .hpp-product-toolbar{justify-content:flex-start}
  .attendance-filter-form .btn{grid-column:1/-1}
  .attendance-date-filter{width:100%;justify-content:stretch}
  .attendance-date-filter input[type=date],.attendance-date-filter .btn{max-width:none;width:100%;flex-basis:100%}
  .attendance-calendar{gap:5px}
  .attendance-day{min-height:112px;padding:7px}
  .attendance-day-top{align-items:flex-start;flex-direction:column}
  .attendance-times div{align-items:flex-start;flex-direction:column;gap:2px}
  .work-calendar{gap:4px}
  .work-calendar-day{min-height:86px;padding:6px}
  .work-calendar-head{font-size:12px}
  .work-calendar-note{display:none}
  .work-calendar-day .badge{font-size:11px;padding:3px 6px}
}
@media(max-width:620px){
  .attendance-cards.cards{grid-template-columns:1fr}
  .attendance-filter-form{grid-template-columns:1fr}
  .sales-report-filter{grid-template-columns:1fr}
  .attendance-calendar{grid-template-columns:1fr}
  .attendance-calendar-head{display:none}
  .attendance-day.empty{display:none}
}


body.apex-page .panel-header .shipping-date-filter,
body.ceo-page .panel-header .shipping-date-filter{flex:0 1 330px;max-width:100%;justify-content:flex-end;flex-wrap:wrap}
body.apex-page .app .panel-header .shipping-date-filter input,
body.ceo-page .app .panel-header .shipping-date-filter input{flex:1 1 170px;min-width:170px;max-width:200px}
body.apex-page .app .panel-header .shipping-date-filter .btn,
body.ceo-page .app .panel-header .shipping-date-filter .btn{flex:0 0 96px;width:96px;min-width:96px}
body.apex-page .panel-header .sales-date-filter,
body.ceo-page .panel-header .sales-date-filter{flex:0 1 430px;max-width:100%;justify-content:flex-end;flex-wrap:wrap}
body.apex-page .app .panel-header .sales-date-filter input,
body.ceo-page .app .panel-header .sales-date-filter input{flex:1 1 170px;min-width:170px;max-width:200px}
body.apex-page .app .panel-header .sales-date-filter .btn,
body.ceo-page .app .panel-header .sales-date-filter .btn{flex:0 0 96px;width:96px;min-width:96px}
@media(max-width:620px){
  body.apex-page .panel-header .shipping-date-filter,
  body.ceo-page .panel-header .shipping-date-filter,
  body.apex-page .panel-header .sales-date-filter,
  body.ceo-page .panel-header .sales-date-filter{width:100%;justify-content:stretch}
  body.apex-page .app .panel-header .shipping-date-filter input,
  body.ceo-page .app .panel-header .shipping-date-filter input,
  body.apex-page .app .panel-header .shipping-date-filter .btn,
  body.ceo-page .app .panel-header .shipping-date-filter .btn,
  body.apex-page .app .panel-header .sales-date-filter input,
  body.ceo-page .app .panel-header .sales-date-filter input,
  body.apex-page .app .panel-header .sales-date-filter .btn,
  body.ceo-page .app .panel-header .sales-date-filter .btn{max-width:none;width:100%;flex-basis:100%}
}

.sidebar,body.ceo-page .sidebar,body.apex-page .sidebar{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}
.sidebar .side-brand,.sidebar .employee-side-card{flex:0 0 auto}
.sidebar nav,body.ceo-page .sidebar nav,body.apex-page .sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:36px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.sidebar nav::-webkit-scrollbar{width:8px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.sidebar nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.38);border:2px solid transparent;background-clip:padding-box}

.ceo-device-table{min-width:980px!important}
.ceo-device-table th,.ceo-device-table td{font-size:12px}
.ceo-device-table th:nth-child(1),.ceo-device-table td:nth-child(1){width:44px;min-width:44px}
.ceo-device-table th:nth-child(2),.ceo-device-table td:nth-child(2){width:150px;min-width:150px}
.ceo-device-table th:nth-child(3),.ceo-device-table td:nth-child(3){width:240px;min-width:240px;white-space:normal;overflow:visible;text-overflow:clip}
.ceo-device-table th:nth-child(4),.ceo-device-table td:nth-child(4){width:160px;min-width:160px;white-space:normal;overflow:visible;text-overflow:clip}
.ceo-device-table th:nth-child(7),.ceo-device-table td:nth-child(7){width:130px;min-width:130px;white-space:normal}
.ceo-device-table .col-actions{width:174px;min-width:174px;overflow:visible}

.app .table-wrap{max-width:100%;overflow-x:hidden}
.app .table-wrap table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:auto!important}
.app .table-wrap th,.app .table-wrap td{width:auto!important;min-width:0!important;max-width:none!important;padding:10px 12px;line-height:1.35;white-space:normal;overflow:hidden;overflow-wrap:anywhere;word-break:normal;text-overflow:clip;vertical-align:middle}
.app .table-wrap th *,.app .table-wrap td *{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.app .table-wrap input[type="checkbox"],.app .table-wrap input[type="radio"]{width:auto;min-width:0}
.app .table-wrap td b,.app .table-wrap td strong,.app .table-wrap td span:not(.badge),.app .table-wrap td small,.app .table-wrap td a:not(.btn){max-width:100%;white-space:normal;overflow-wrap:anywhere}
.app .table-wrap td .actions,.app .ceo-data-table td .actions,.app .firmware-row-actions,.app .table-wrap td form{overflow:visible;white-space:nowrap}
.app .table-wrap td .btn,.app .table-wrap td .badge{white-space:nowrap;overflow:visible;text-overflow:clip}
.app .table-wrap .attendance-matrix{table-layout:fixed}
.app .table-wrap .attendance-matrix th,.app .table-wrap .attendance-matrix td{padding:5px 3px;overflow:hidden;white-space:normal}
.app .table-wrap .attendance-matrix .sticky-col{position:static;box-shadow:none}
.app .table-wrap .attendance-matrix .attendance-person{width:auto;min-width:0;max-width:none}
.employee-access-panel .panel-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.employee-access-panel .panel-header .actions{justify-self:end;align-self:start}
.employee-access-panel #employee-access-form{display:block!important;width:100%!important;max-width:none!important}
.employee-access-panel #employee-access-form>.table-wrap,.employee-access-panel #employee-access-form>.employee-access-board{display:block!important;width:100%!important;max-width:none!important;grid-column:auto!important}
.employee-access-panel .table-wrap{width:100%!important;max-width:none!important;overflow-x:auto!important}
.employee-access-board{display:grid!important;gap:14px;margin-top:12px}
.employee-access-toolbar{align-items:center;flex-wrap:nowrap;margin:0 0 12px;overflow-x:auto}
.employee-access-toolbar .toolbar-left{flex:1 0 auto;min-width:0}
.employee-access-toolbar .toolbar-right{flex:0 0 auto}
.employee-access-toolbar .btn{min-width:auto;white-space:nowrap}
.employee-access-search-wrap{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;white-space:nowrap}
.employee-access-filter-select,.employee-access-search{min-height:34px;padding:7px 11px;border:1px solid #dde2ec;border-radius:7px;background:#fff;color:#2f3446;font:inherit;font-size:13px;font-weight:800}
.employee-access-filter-select{width:auto;min-width:128px;max-width:150px}
.employee-access-search{width:220px;min-width:180px;max-width:220px}
.employee-access-search::placeholder{color:#8a94a6}
.employee-access-export-wrap{position:absolute!important;left:-99999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.employee-access-pagination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:14px 0 0;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04)}
.employee-access-pagination[hidden]{display:none!important}
.employee-access-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:34px;padding:7px 10px;border:1px solid #dde2ec;border-radius:7px;background:#fff;color:#4b5568;font-size:12px;font-weight:900;line-height:1;cursor:pointer}
.employee-access-page-btn:hover{border-color:#7367f0;color:#7367f0;background:#f6f5ff}
.employee-access-page-btn.active{background:#7367f0;border-color:#7367f0;color:#fff}
.employee-access-page-info{color:#8aa0ad;font-size:12px;font-weight:800}
.employee-access-group-section{display:grid;gap:10px}
.employee-access-group-section[hidden],.employee-access-card[hidden]{display:none!important}
.employee-access-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;color:#111827}
.employee-access-group-head span{font-size:15px;font-weight:900}
.employee-access-group-head b{padding:4px 8px;border-radius:999px;background:#e8f0ff;color:#3150c8;font-size:11px;font-weight:900}
.employee-access-card-list{display:grid;gap:10px}
.employee-access-card{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;padding:14px;border:1px solid #e7eaf3;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.employee-access-card-info{display:grid;align-content:start;gap:7px;min-width:0}
.employee-access-card-info h4{margin:0;color:#2f3446;font-size:16px;font-weight:900;line-height:1.25}
.employee-access-card-info code{display:block;width:max-content;max-width:100%;padding:4px 7px;border:1px solid #d8deea;border-radius:7px;background:#f8f9fc;color:#3150c8;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:clip}
.employee-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;min-width:0}
.employee-role-card{display:grid;gap:8px;align-content:start;min-width:0;padding:10px;border:1px solid #e7eaf3;border-radius:9px;background:#fff;color:#2f3446}
.employee-role-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.employee-role-card-head>b{min-width:0;color:#2f3446;font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:clip}
.employee-access-table{table-layout:fixed!important;width:100%!important;min-width:1180px!important}
.employee-access-table th,.employee-access-table td{vertical-align:middle}
.employee-access-table th:nth-child(1),.employee-access-table td:nth-child(1){width:300px!important;min-width:300px!important;max-width:300px!important}
.employee-access-table th:nth-child(n+2),.employee-access-table td.employee-access-check{width:150px!important;min-width:150px!important;max-width:150px!important;text-align:center}
.employee-access-table td small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.employee-access-action-summary{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap}
.employee-access-page{display:grid;gap:3px;min-width:0}
.employee-access-page b,.employee-access-page small{min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}
.employee-access-route{display:grid;gap:6px;min-width:0;margin-bottom:2px}
.employee-access-route span{display:flex;align-items:center;gap:7px;min-width:0;color:#2f3446;font-size:12px;font-weight:900;line-height:1.2}
.employee-access-route b{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:4px 7px;border-radius:999px;background:#e8f0ff;color:#3150c8;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:0}
.employee-access-route span:nth-child(2) b{background:#eefbf4;color:#18864b}
.employee-access-group-label{display:inline-flex;width:max-content;max-width:100%;margin-bottom:2px;padding:3px 7px;border-radius:999px;background:#e8f0ff;color:#3150c8;font-size:11px;font-weight:900;line-height:1.2}
.employee-access-group{font-weight:800;color:#dff8ff;background:rgba(0,213,255,.06);text-align:left;vertical-align:top!important}
.employee-access-check{padding:8px!important;text-align:center;vertical-align:middle}
.access-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:max-content;min-width:84px;max-width:104px;min-height:34px;padding:6px 8px;border:1px solid #dde2ec;border-radius:7px;background:#f8f9fc;font-size:11.5px;font-weight:800;color:#4b5568;cursor:pointer}
.access-toggle input{width:16px!important;height:16px!important;min-width:16px!important;margin:0;accent-color:#20e58a}
.access-toggle:has(input:checked){border-color:#28c76f;background:#e8f8ef;color:#158246}
.access-toggle-readonly{cursor:default;opacity:.9}
.employee-source-select{display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:100%;margin:0;text-align:left}
.employee-source-select.is-locked b{display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:0;width:100%;padding:0 9px;border:1px solid #fb923c;border-radius:7px;background:#fff7ed;color:#c2410c;font-size:10.5px;font-weight:900;line-height:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip}
.employee-source-control{display:grid;grid-template-columns:54px minmax(0,1fr);gap:7px;align-items:center;min-height:34px}
.employee-source-control>span{color:#6b7280;font-size:10.5px;font-weight:900;text-transform:uppercase}
.employee-source-switch{box-sizing:border-box;display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px;width:100%;height:36px;margin:0;padding:4px 3px;border:1px solid #a5b4fc;border-radius:8px;background:#eef2ff;box-shadow:none}
.employee-source-switch label{display:flex;align-items:center;height:26px;min-width:0;cursor:pointer}
.employee-source-switch input{position:absolute;opacity:0;pointer-events:none}
.employee-source-switch span{display:flex;align-items:center;justify-content:center;width:100%;height:26px;border-radius:5px;color:#374151;font-size:10.5px;font-weight:900;line-height:26px;white-space:nowrap}
.employee-source-switch input:checked+span{background:#7367f0;color:#fff;box-shadow:0 5px 12px rgba(115,103,240,.22)}
.employee-ceo-embed{display:block;min-width:0}
.employee-ceo-embed .panel:first-child{margin-top:0}
.employee-action-row td{background:#fbfcff!important;border-top-color:#e7eaf3!important}
.employee-action-label{padding-left:28px!important}
.employee-action-cell{vertical-align:top!important;padding:8px!important}
.employee-actions-box{border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;overflow:hidden}
.employee-actions-box summary{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:7px 9px;color:#4b5568;font-size:11px;font-weight:900;cursor:pointer;list-style:none}
.employee-actions-box summary::-webkit-details-marker{display:none}
.employee-actions-box summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s}
.employee-actions-box[open] summary:after{transform:rotate(-135deg)}
.employee-actions-box>div{display:grid;gap:6px;padding:0 8px 8px}
.access-action-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:30px;margin:0;padding:6px 7px;border:1px solid #dde2ec;border-radius:7px;background:#fff;color:#4b5568;font-size:11px;font-weight:800;line-height:1.25;cursor:pointer}
.access-action-toggle:last-child{margin-bottom:0}
.access-action-toggle input{width:14px!important;height:14px!important;min-width:14px!important;margin:0;accent-color:#20e58a}
.access-action-toggle span{min-width:0;overflow:hidden;text-overflow:clip}
.access-action-toggle:has(input:checked){border-color:#28c76f;background:#ecfbf3;color:#158246}
.employee-access-tools{display:grid;gap:10px;margin:10px 0 14px}
.employee-access-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.employee-access-area-card{display:grid;gap:4px;padding:12px;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff;color:#1e3a8a}
.employee-access-area-card b{font-size:13px;font-weight:900;color:#1d4ed8}
.employee-access-area-card span{font-size:12px;font-weight:800;line-height:1.45;color:#315188}
.employee-access-area-card.is-ceo{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.employee-access-area-card.is-ceo b{color:#c2410c}
.employee-access-area-card.is-ceo span{color:#9a3412}
.employee-access-tabs{display:flex;gap:8px;flex-wrap:wrap}
.employee-access-tabs button{min-height:34px;padding:0 12px;border:1px solid #dde2ec;border-radius:8px;background:#f1f2f7;color:#4b5568;font-weight:900;cursor:pointer}
.employee-access-tabs button.active{background:#7367f0;border-color:#7367f0;color:#fff}
.employee-access-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:800;line-height:1.5}
.employee-access-note b{color:#1d4ed8}
.employee-access-note.is-warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.employee-access-note.is-warning b{color:#c2410c}
.employee-access-advanced-panel{padding:0;overflow:hidden}
.employee-access-advanced-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}
.employee-access-advanced-panel summary::-webkit-details-marker{display:none}
.employee-access-advanced-panel summary:after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s;color:#64748b}
.employee-access-advanced-panel[open] summary:after{transform:rotate(-135deg)}
.employee-access-advanced-panel summary b{display:block;color:#2f3446;font-size:15px;font-weight:900}
.employee-access-advanced-panel summary small{display:block;margin-top:4px;color:#6b7280;font-size:12px;font-weight:800;line-height:1.45}
.employee-access-advanced-panel>.employee-access-tools,.employee-access-advanced-panel>.table-wrap{margin:0 18px 18px}
.employee-access-action-status{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:5px;margin-top:2px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:900;line-height:1.2}
.employee-access-action-status.is-ready{background:#ecfbf3;color:#158246;border:1px solid #bdebd2}
.employee-access-action-status.is-empty{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.employee-access-action-jump{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border:1px solid #7367f0;border-radius:999px;background:#f6f5ff;color:#5e50ee;font-size:11px;font-weight:900;line-height:1;cursor:pointer}
.employee-access-action-jump:hover{background:#7367f0;color:#fff}
.employee-access-filter{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;gap:8px;align-items:center}
.employee-access-filter input,.employee-access-filter select{min-height:36px;padding:7px 10px;border:1px solid #dde2ec;border-radius:8px;background:#fff;color:#2f3446;font:inherit;font-size:13px;font-weight:800}
.employee-access-filter input::placeholder{color:#8a94a6}
.employee-access-bulk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 9px;border:1px solid #e7eaf3;border-radius:9px;background:#fbfcff}
.employee-access-bulk span{color:#6b7280;font-size:12px;font-weight:900}
.employee-access-bulk button{min-height:26px;padding:0 7px;border:1px solid #dde2ec;border-radius:7px;background:#fff;color:#4b5568;font-size:10.5px;font-weight:900;cursor:pointer}
.employee-access-bulk button:hover{border-color:#7367f0;color:#7367f0;background:#f6f5ff}
.employee-access-sensitive{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;background:#fff1f3;color:#ea5455;border:1px solid #ffd7dc;font-size:11px;font-weight:900}
@media(max-width:900px){.employee-access-filter{grid-template-columns:1fr}.employee-access-filter .btn{width:100%}}
@media(max-width:980px){.employee-access-card{grid-template-columns:1fr}.employee-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.employee-role-grid{grid-template-columns:1fr}.employee-access-panel .panel-header{grid-template-columns:1fr}.employee-access-panel .panel-header .actions{justify-self:stretch}.employee-access-panel .panel-header .btn{width:100%}.employee-access-card{padding:12px}.employee-source-control{grid-template-columns:1fr}}
@media(max-width:900px){.employee-access-area-grid{grid-template-columns:1fr}}
body.ceo-page .employee-access-tabs button{background:#f1f2f7;color:#4b5568;border:1px solid #dde2ec;text-transform:none;box-shadow:none}
body.ceo-page .employee-access-search{background:#fff;color:#2f3446;border-color:#dde2ec}
body.ceo-page .employee-access-card-info h4{color:#2f3446}
body.ceo-page .employee-access-card-info code{color:#3150c8}
body.ceo-page .employee-access-group-label{background:#e8f0ff;color:#3150c8}
body.ceo-page .employee-access-group-head b{background:#e8f0ff;color:#3150c8}
body.ceo-page .employee-access-tabs button.active{background:#7367f0;color:#fff;border-color:#7367f0}
body.ceo-page .employee-access-filter input,
body.ceo-page .employee-access-filter select{background:#fff;color:#2f3446;border-color:#dde2ec}
body.ceo-page .employee-access-filter input::placeholder{color:#8a94a6}
body.ceo-page .employee-access-bulk{background:#fbfcff;border-color:#e7eaf3}
body.ceo-page .employee-access-bulk span{color:#6b7280}
body.ceo-page .employee-access-bulk button{background:#fff;color:#4b5568;border:1px solid #dde2ec;text-transform:none;box-shadow:none}
body.ceo-page .employee-access-bulk button:hover{background:#f6f5ff;color:#7367f0;border-color:#7367f0}
body.ceo-page .employee-access-area-card{background:#eff6ff;color:#1e3a8a;border-color:#dbeafe}
body.ceo-page .employee-access-area-card b{color:#1d4ed8}
body.ceo-page .employee-access-area-card span{color:#315188}
body.ceo-page .employee-access-area-card.is-ceo{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
body.ceo-page .employee-access-area-card.is-ceo b{color:#c2410c}
body.ceo-page .employee-access-area-card.is-ceo span{color:#9a3412}
body.ceo-page .employee-access-note{background:#eff6ff;color:#1e3a8a;border-color:#dbeafe}
body.ceo-page .employee-access-note b{color:#1d4ed8}
body.ceo-page .employee-access-note.is-warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
body.ceo-page .employee-access-note.is-warning b{color:#c2410c}
body.ceo-page .employee-access-advanced-panel summary b{color:#dff8ff}
body.ceo-page .employee-access-advanced-panel summary small{color:#8aa0ad}
body.ceo-page .employee-access-advanced-panel summary:after{color:#9cecff}
body.ceo-page .employee-access-action-status.is-ready{background:#ecfbf3;color:#158246;border-color:#bdebd2}
body.ceo-page .employee-access-action-status.is-empty{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
body.ceo-page .employee-access-action-jump{background:#f6f5ff;color:#5e50ee;border-color:#7367f0;text-transform:none;box-shadow:none}
body.ceo-page .employee-access-action-jump:hover{background:#7367f0;color:#fff}
body.ceo-page .access-toggle{background:#f8f9fc;color:#4b5568;border-color:#dde2ec;text-transform:none;box-shadow:none}
body.ceo-page .access-toggle:has(input:checked){background:#e8f8ef;color:#158246;border-color:#28c76f}
body.ceo-page .employee-source-select.is-locked b{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
body.ceo-page .employee-source-switch{background:#eef2ff;border-color:#a5b4fc}
body.ceo-page .employee-source-switch span{color:#374151}
body.ceo-page .employee-source-switch input:checked+span{background:#7367f0;color:#fff}
body.ceo-page .access-action-toggle{background:#fff;color:#4b5568;border-color:#dde2ec}
body.ceo-page .access-action-toggle:has(input:checked){background:#ecfbf3;color:#158246;border-color:#28c76f}
body.ceo-page .employee-action-row td{background:#fbfcff!important;border-top-color:#e7eaf3!important;color:#2f3446}
body.ceo-page .employee-access-sensitive{background:#fff1f3;color:#ea5455;border-color:#ffd7dc}
.priority-stock-table .priority-stock-row{display:table-row;position:static;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-decoration:none;overflow:visible}
.priority-stock-table .priority-stock-row:before{display:none}
.priority-stock-table .priority-stock-row:hover{transform:none}
.priority-stock-table .priority-stock-row td:first-child{border-left:4px solid #9ca3af}
.priority-stock-table .priority-stock-row.priority-1 td:first-child{border-left-color:#ff5f6d}
.priority-stock-table .priority-stock-row.priority-2 td:first-child{border-left-color:#ff9f1c}
.priority-stock-table .priority-stock-row.priority-3 td:first-child{border-left-color:#8a94a6}
.priority-stock-table .priority-stock-name{color:inherit;text-decoration:none}
.priority-stock-sold{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:7px 11px;border-radius:999px;background:#e8f8ef;color:#147a45;font-weight:900;text-align:center}
.app .table-wrap .qr-code-inline,.app .table-wrap .copy-cell-inline,.app .table-wrap .copy-code-inline{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;width:100%;line-height:1.3}
.app .table-wrap .qr-code-inline>b,.app .table-wrap .copy-cell-inline>b,.app .table-wrap .copy-code-inline>b{flex:1 1 auto;min-width:0;align-self:center}
.app .table-wrap .copy-qr-code,.app .table-wrap .copy-code-btn{flex:0 0 auto;align-self:center;min-width:56px;min-height:30px;padding:6px 8px;line-height:1}
.app .table-wrap .copy-qr-code,.app .table-wrap .copy-code-btn,.app .table-wrap .copy-device-id,.app .table-wrap .copy-icon-only{width:34px!important;min-width:34px!important;height:30px;min-height:30px;padding:6px!important;gap:0;font-size:0!important;line-height:0}
.app .table-wrap .copy-qr-code .btn-icon-outline,.app .table-wrap .copy-code-btn .btn-icon-outline,.app .table-wrap .copy-device-id .btn-icon-outline,.app .table-wrap .copy-icon-only .btn-icon-outline{width:16px;height:16px;margin:0}
.app .table-wrap .copy-qr-code .btn-icon-outline svg,.app .table-wrap .copy-code-btn .btn-icon-outline svg,.app .table-wrap .copy-device-id .btn-icon-outline svg,.app .table-wrap .copy-icon-only .btn-icon-outline svg{width:16px;height:16px}
.app .bug-report-table .bug-action-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.app .bug-report-table .bug-action-row>form,.app .bug-report-table .bug-action-row>.btn{flex:0 0 auto!important;width:auto!important;margin:0}
.app .bug-report-table .bug-action-row .btn{width:34px!important;min-width:34px!important;height:30px;min-height:30px;padding:6px!important;gap:0;font-size:0!important;line-height:0}
.app .bug-report-table .bug-action-row .btn-icon-outline{width:16px;height:16px;margin:0}
.app .bug-report-table .bug-action-row .btn-icon-outline svg{width:16px;height:16px}
.topbar-notifications{position:relative}.topbar-notifications summary{list-style:none}.topbar-notifications summary::-webkit-details-marker{display:none}.topbar-notification-button{width:36px;height:34px;border:1px solid #d8deea;border-radius:7px;background:#fff;color:#5d6679;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.topbar-notification-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar-notification-badge{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ea5455;color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center}.topbar-notification-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:95;width:300px;padding:10px;border:1px solid #d8deea;border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(47,52,70,.18)}.topbar-notification-title{padding:4px 6px 9px;color:#2f3446;font-weight:800}.topbar-notification-item{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;padding:8px;border-radius:7px;color:#2f3446;text-decoration:none}.topbar-notification-item:hover{background:#f6f5ff}.topbar-notification-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;border-radius:999px;font-size:12px;font-weight:800}.topbar-notification-count.red{background:#fce4e4;color:#b42324}.topbar-notification-count.orange{background:#fff0df;color:#9a4b00}.topbar-notification-count.blue{background:#e8f0ff;color:#2f5fc8}.topbar-notification-empty{padding:12px 8px;color:#8a94a6;font-size:13px}.audit-filter-form{margin-bottom:14px;flex-wrap:wrap}.audit-filter-form select{max-width:190px}.audit-filter-form input{min-width:240px}.audit-filter-form input[type=date]{min-width:150px;max-width:170px}
.employee-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 18px;padding:20px;border:1px solid #e7eaf3;border-radius:8px;background:linear-gradient(135deg,#7367f0,#20c997);color:#fff;box-shadow:0 10px 24px rgba(47,52,70,.12)}.employee-hero h3{margin:4px 0;font-size:30px;color:#fff}.employee-hero p{margin:0;opacity:.92}.employee-hero-kicker{font-weight:800;opacity:.86}.employee-hero-status{display:grid;grid-template-columns:repeat(2,104px);gap:10px}.employee-hero-status div{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:12px;text-align:center}.employee-hero-status span{display:block;font-size:12px;font-weight:800;opacity:.82}.employee-hero-status b{font-size:24px}.employee-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.employee-quick-action{border-radius:999px;padding:9px 13px;text-decoration:none;font-weight:800;background:#eef1f7;color:#4b5563}.employee-quick-action.green{background:#e5f8ee;color:#137449}.employee-quick-action.blue{background:#e8f0ff;color:#2f5fc8}.employee-quick-action.orange{background:#fff1df;color:#a55308}.employee-quick-action.red{background:#fde7e7;color:#b32626}.dashboard-audit-summary a.info-card{text-decoration:none;color:#fff;display:block}.dashboard-audit-summary a.info-card:hover{transform:translateY(-1px);filter:brightness(1.03)}.dashboard-audit-panel .panel-header .btn{flex:0 0 auto;width:auto;min-width:104px}.dashboard-audit-list{display:grid;gap:8px}.dashboard-audit-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e6eaf2;border-radius:8px;background:#fbfcff;color:#2f3446;text-decoration:none}.dashboard-audit-item:hover{border-color:#cfd7e6;background:#f6f8fc}.dashboard-audit-icon{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;letter-spacing:0;background:#eef2ff;color:#3150c8}.dashboard-audit-body{min-width:0;display:grid;gap:3px}.dashboard-audit-main,.dashboard-audit-meta{display:block;overflow:hidden;text-overflow:clip;white-space:nowrap}.dashboard-audit-main{font-weight:700}.dashboard-audit-meta{color:#8a94a6;font-size:13px}.dashboard-audit-meta b{color:#5f6878}.dashboard-audit-time{color:#6b7280;font-size:12px;white-space:nowrap}.dashboard-audit-empty{padding:14px 12px;border:1px dashed #d8deea;border-radius:8px;color:#8a94a6;background:#fbfcff}.audit-insight-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin:0 0 16px}.audit-insight-card{border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;padding:14px}.audit-insight-title{font-weight:900;color:#2f3446;margin-bottom:10px}.audit-bars{height:132px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end}.audit-bars a{height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;text-align:center;text-decoration:none;color:#6b7280;font-size:12px;font-weight:800}.audit-bars i{display:block;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#7367f0,#20c997);min-height:8px}.audit-module-rank{display:grid;gap:8px}.audit-module-rank a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:#2f3446}.audit-tone-blue .dashboard-audit-icon,.audit-module-badge.audit-tone-blue span{background:#e8f0ff;color:#2f5fc8}.audit-tone-green .dashboard-audit-icon,.audit-module-badge.audit-tone-green span{background:#e5f8ee;color:#137449}.audit-tone-orange .dashboard-audit-icon,.audit-module-badge.audit-tone-orange span{background:#fff1df;color:#a55308}.audit-tone-red .dashboard-audit-icon,.audit-module-badge.audit-tone-red span{background:#fde7e7;color:#b32626}.audit-tone-purple .dashboard-audit-icon,.audit-module-badge.audit-tone-purple span{background:#f0e9ff;color:#6541b8}.audit-tone-gray .dashboard-audit-icon,.audit-module-badge.audit-tone-gray span{background:#eef1f5;color:#596273}.audit-module-badge{display:inline-flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;font-weight:800;color:#2f3446}.audit-module-badge span{width:26px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;letter-spacing:0;flex:0 0 26px}
@media(max-width:640px){.employee-hero{grid-template-columns:1fr}.employee-hero-status{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-insight-grid{grid-template-columns:1fr}.dashboard-audit-item{grid-template-columns:34px minmax(0,1fr);align-items:start}.dashboard-audit-time{grid-column:2;color:#8a94a6}.dashboard-audit-main,.dashboard-audit-meta{white-space:normal}}

.dashboard-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-shortcut-card{position:relative;display:grid;gap:6px;padding:15px 16px 15px 18px;border:1px solid #e7eaf3;border-radius:8px;text-decoration:none;background:transparent;color:#2f3446;overflow:hidden}.dashboard-shortcut-card:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;width:4px;background:#20c997}.dashboard-shortcut-card:hover{transform:translateY(-1px);border-color:#cfd7e6;background:transparent}.dashboard-shortcut-card b{font-size:15px;line-height:1.2;color:#2f3446}.dashboard-shortcut-card span{color:#6b7280;font-size:13px;line-height:1.3}.dashboard-shortcut-card.green:before{background:#20c997}.dashboard-shortcut-card.blue:before{background:#2f6fed}.dashboard-shortcut-card.orange:before{background:#ff9f1c}.dashboard-shortcut-card.red:before{background:#ff5f6d}.sales-report-visual-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin:0 0 18px}.sales-report-visual-card{margin-bottom:0}.report-bars{display:grid;gap:10px}.report-bar-row{display:grid;grid-template-columns:130px minmax(0,1fr) 120px;gap:10px;align-items:center}.report-bar-row span,.report-bar-row strong{white-space:nowrap;overflow:hidden;text-overflow:clip}.report-bar-row i,.report-product-item i{height:10px;border-radius:999px;background:#eef2f7;overflow:hidden}.report-bar-row i b,.report-product-item i em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7367f0,#20c997)}.report-product-rank{display:grid;gap:10px}.report-product-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center}.report-product-item>span{width:30px;height:30px;border-radius:8px;background:#eef2ff;color:#3150c8;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.report-product-item div{display:grid;gap:4px;min-width:0}.report-product-item b,.report-product-item small{white-space:nowrap;overflow:hidden;text-overflow:clip}.report-product-item small{color:#6b7280}.employee-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.employee-mini-stats div{border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;padding:12px}.employee-mini-stats span{display:block;color:#6b7280;font-weight:800;font-size:12px}.employee-mini-stats b{display:block;margin-top:4px;font-size:24px;color:#2f3446}@media(max-width:900px){.dashboard-shortcut-grid,.sales-report-visual-grid{grid-template-columns:1fr}.report-bar-row{grid-template-columns:1fr}.employee-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.employee-mini-stats{grid-template-columns:1fr}.dashboard-shortcut-grid{grid-template-columns:1fr}}
.dashboard-priority-stock-panel .panel-header .btn{flex:0 0 auto;width:auto;min-width:96px}.priority-stock-list{display:grid;gap:8px}.priority-stock-head,.priority-stock-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(86px,.42fr) minmax(86px,.42fr) minmax(126px,.62fr);gap:12px;align-items:center}.priority-stock-head{padding:0 12px 6px;color:#6b7280;font-size:12px;font-weight:900;text-transform:uppercase}.priority-stock-row{position:relative;padding:12px;border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;color:#2f3446;text-decoration:none;overflow:hidden}.priority-stock-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#9ca3af}.priority-stock-row.priority-1:before{background:#ff5f6d}.priority-stock-row.priority-2:before{background:#ff9f1c}.priority-stock-row.priority-3:before{background:#8a94a6}.priority-stock-row:hover{background:#f6f8fc;border-color:#cfd7e6;transform:translateY(-1px)}.priority-stock-name{display:grid;gap:3px;min-width:0}.priority-stock-name b,.priority-stock-name small{display:block;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.priority-stock-name b{font-size:14px}.priority-stock-name small{color:#6b7280;font-size:12px}.priority-stock-qty,.priority-stock-min{justify-self:start;min-width:54px;padding:7px 11px;border-radius:999px;font-weight:900;text-align:center}.priority-stock-qty{background:#eef2ff;color:#3150c8}.priority-stock-min{background:#eef1f5;color:#596273}.priority-stock-row.priority-1 .priority-stock-qty{background:#fde7e7;color:#b32626}.priority-stock-row.priority-2 .priority-stock-qty{background:#fff1df;color:#a55308}@media(max-width:640px){.priority-stock-head{display:none}.priority-stock-row{grid-template-columns:1fr;gap:8px}.priority-stock-qty,.priority-stock-min{justify-self:start}.priority-stock-row .badge{justify-self:start}}
.dashboard-stock-check-form{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;margin-bottom:12px}.dashboard-stock-check-form input{min-height:40px}.dashboard-stock-check-form .btn{min-width:96px}.dashboard-stock-check-empty{padding:14px 12px;border:1px dashed #d8deea;border-radius:8px;background:#fbfcff;color:#8a94a6}.dashboard-stock-check-results{display:grid;gap:10px}.dashboard-stock-check-card{display:grid;gap:12px;padding:14px;border:1px solid #e7eaf3;border-left:4px solid #20c997;border-radius:8px;background:#fbfcff}.dashboard-stock-check-card.orange{border-left-color:#ff9f1c}.dashboard-stock-check-card.red{border-left-color:#ff5f6d}.dashboard-stock-check-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-stock-check-main h4{margin:4px 0 2px;color:#2f3446;font-size:17px}.dashboard-stock-check-main p{margin:0;color:#6b7280}.dashboard-stock-code{display:inline-flex;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#3150c8;font-size:11px;font-weight:900}.dashboard-stock-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dashboard-stock-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dashboard-stock-metrics div{padding:10px;border:1px solid #e7eaf3;border-radius:8px;background:#fff}.dashboard-stock-metrics span{display:block;color:#6b7280;font-size:12px;font-weight:800}.dashboard-stock-metrics b{display:block;margin-top:4px;color:#2f3446;font-size:22px}.dashboard-stock-latest{display:grid;gap:6px}.dashboard-stock-latest>span{color:#6b7280;font-size:12px;font-weight:900}.dashboard-stock-latest div{display:flex;gap:6px;flex-wrap:wrap}.dashboard-stock-latest code{padding:5px 7px;border:1px solid #d8deea;border-radius:7px;background:#fff;color:#2f3446;font-size:12px}.dashboard-stock-check-card .actions{justify-content:flex-start}@media(max-width:760px){.dashboard-stock-check-form{grid-template-columns:1fr}.dashboard-stock-check-main{display:grid}.dashboard-stock-badges{justify-content:flex-start}.dashboard-stock-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.dashboard-stock-metrics{grid-template-columns:1fr}}
body.ceo-page .dashboard-stock-check-form input{background:#fff;color:#2f3446;border-color:#d8deea}
body.ceo-page .dashboard-stock-check-form input:focus{border-color:#7367f0;box-shadow:0 0 0 3px rgba(115,103,240,.14);outline:0}
.sales-unit-picker{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:8px;align-items:stretch;width:100%;max-width:100%}.sales-unit-picker input{min-width:0;width:100%}.sales-unit-picker .btn{width:86px!important;min-width:86px!important}.sales-selected-units{grid-column:1/-1;display:grid;gap:6px;margin-top:8px}.sales-selected-unit{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #d8deea;border-radius:8px;background:#fbfcff}.sales-selected-unit b{min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.sales-selected-unit button{width:30px!important;min-width:30px!important;height:28px;min-height:28px;padding:4px!important}.sales-unit-picker-field{align-self:start;min-width:0;width:100%;max-width:100%}@media(max-width:560px){.sales-unit-picker{grid-template-columns:1fr}.sales-unit-picker .btn{width:100%!important;min-width:0!important}.sales-selected-unit{align-items:flex-start}.sales-selected-unit b{white-space:normal}}
body.ceo-page .sales-selected-unit{background:#070c13;border-color:#263644;color:#dcecf2}
.courier-month-filter{flex-wrap:wrap;justify-content:flex-end}
.courier-month-filter input{min-width:170px;max-width:210px}
.courier-total-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.courier-total-grid small{display:block;margin-top:4px;color:#6b7280;font-size:12px;font-weight:800}
.courier-input-table th,.courier-price-table th{text-align:center}
.courier-input-table th:first-child,.courier-input-table td:first-child,.courier-price-table th:first-child,.courier-price-table td:first-child{text-align:left}
.courier-input-table th small,.courier-price-table td small{display:block;margin-top:4px;color:#8a94a6;font-size:11px;font-weight:800}
.courier-input-table td:first-child small{display:block;margin-top:3px;color:#8a94a6;font-size:12px}
.courier-check-cell{text-align:center!important;vertical-align:middle!important}
.courier-check-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:82px;min-height:34px;padding:7px 9px;border:1px solid #d8deea;border-radius:8px;background:#fff;color:#6b7280;font-size:12px;font-weight:900;cursor:pointer}
.courier-check-toggle input{width:16px!important;height:16px!important;min-width:16px!important;margin:0;accent-color:#20c997}
.courier-input-table .courier-check-toggle{min-width:38px;width:38px;padding:7px}
.courier-input-table .courier-check-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.courier-check-toggle:has(input:checked){border-color:#9ee8ca;background:#e8f8ef;color:#137449}
.courier-vehicle-select{min-width:128px;height:36px;padding:7px 9px;font-size:13px;font-weight:800;text-align:center}
.courier-input-table td:has(.courier-vehicle-select){overflow:visible}
.courier-price-table input{min-width:104px}
.courier-sunday-row td{background:#f6f7fb!important;color:#8a94a6}
.courier-sunday-row .courier-vehicle-select{background:#eef1f6;color:#8a94a6;cursor:not-allowed}
.courier-price-settings{margin-bottom:16px}
.courier-price-settings .grid-3,.courier-price-settings .grid-4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.courier-price-settings .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.courier-price-settings .grid-3>div,.courier-price-settings .grid-4>div{background:#fbfdff;border:1px solid #e7edf3;border-radius:8px;padding:12px}
.courier-price-settings input{text-align:right}
@media(max-width:980px){.courier-price-settings .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.courier-price-settings .grid-3,.courier-price-settings .grid-4{grid-template-columns:1fr}}
.courier-price-table input{width:150px;max-width:100%;text-align:right}
body.ceo-page .courier-price-table input{background:#07111d;color:#dcecf2;border-color:#263644}
body.ceo-page .courier-check-toggle{background:#fff;border-color:#d8deea;color:#6b7280}
body.ceo-page .courier-check-toggle:has(input:checked){background:#e8f8ef;border-color:#9ee8ca;color:#137449}
body.ceo-page .courier-price-table td small{color:#78909c}
@media(max-width:900px){.courier-total-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.courier-month-filter{width:100%;justify-content:stretch}.courier-month-filter input,.courier-month-filter .btn{max-width:none;width:100%}}
@media(max-width:520px){.courier-total-grid{grid-template-columns:1fr}}
.telegram-token-status{white-space:nowrap;flex:0 0 auto}
.telegram-token-clear,
body.ceo-page .telegram-token-clear{
  width:max-content;
  background:#fff!important;
  color:#4b5563!important;
  border-color:#d8deea!important;
}
.telegram-token-clear:has(input:checked),
body.ceo-page .telegram-token-clear:has(input:checked){
  background:#fff1df!important;
  color:#9a4b00!important;
  border-color:#ffd39a!important;
}
.badge.blue{background:#e8f0ff;color:#2f5fc8}
.audit-batch-actions,.app .audit-batch-actions{margin:0 0 12px;justify-content:flex-start}.app .audit-batch-actions>button,.app .audit-batch-actions>.btn{width:auto;min-width:132px;flex:0 0 auto}
.hr-summary-cards .info-card h3{white-space:nowrap;overflow:hidden;text-overflow:clip}.hr-action-icons{align-items:center;justify-content:center;gap:6px}.app .table-wrap td .hr-action-icons .btn,.hr-action-icons .btn{width:34px!important;min-width:34px!important;height:30px;min-height:30px;padding:6px!important;gap:0;font-size:0!important;line-height:0}.hr-action-icons form{margin:0}.hr-action-icons .btn-icon-outline{width:16px;height:16px;margin:0}.hr-action-icons .btn-icon-outline svg{width:16px;height:16px}.profile-completion-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:center;margin:0 0 16px;padding:14px 16px;border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff}.profile-completion-card span{display:block;color:#6b7280;font-size:12px;font-weight:900}.profile-completion-card strong{display:block;margin-top:3px;color:#2f3446;font-size:28px;line-height:1}.profile-completion-card p{margin:6px 0 0;color:#6b7280;font-size:13px}.profile-completion-card i{height:12px;border-radius:999px;background:#eef2f7;overflow:hidden}.profile-completion-card i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7367f0,#20c997)}.profile-hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px}@media(max-width:760px){.profile-completion-card{grid-template-columns:1fr}.profile-hero-status{align-items:center}}
.internal-users-panel .panel-header h3{white-space:nowrap;flex:0 0 auto}
.salary-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.salary-rule-card{position:relative;min-height:132px;padding:14px 14px 14px 18px;border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;overflow:hidden}.salary-rule-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#8a94a6}.salary-rule-card span{display:block;color:#6b7280;font-size:12px;font-weight:900;text-transform:uppercase}.salary-rule-card b{display:block;margin:7px 0 6px;color:#2f3446;font-size:20px;line-height:1.15}.salary-rule-card p{margin:0;color:#6b7280;font-size:13px;line-height:1.45}.salary-rule-card.blue:before{background:#2f5fc8}.salary-rule-card.green:before{background:#137449}.salary-rule-card.orange:before{background:#d97706}.salary-rule-card.red:before{background:#dc2626}.salary-rule-card.purple:before{background:#6541b8}.salary-rule-card.blue{background:#f4f7ff}.salary-rule-card.green{background:#f1fbf6}.salary-rule-card.orange{background:#fff7ed}.salary-rule-card.red{background:#fff5f5}.salary-rule-card.purple{background:#f7f2ff}@media(max-width:980px){.salary-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.salary-rule-grid{grid-template-columns:1fr}}
.salary-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.salary-summary-card{border:1px solid #e5e7eb;border-radius:8px;padding:13px 14px;background:#fbfcff}.salary-summary-card span{display:block;color:#6b7280;font-size:11px;font-weight:900;text-transform:uppercase}.salary-summary-card b{display:block;margin-top:5px;font-size:20px;line-height:1.15;color:#1f2937}.salary-summary-card.green{background:#effaf4;border-color:#ccefdc}.salary-summary-card.green b{color:#087443}.salary-summary-card.red{background:#fff5f5;border-color:#ffd5d5}.salary-summary-card.red b{color:#b42324}.salary-summary-card.received{background:#fff7ed;border-color:#fed7aa}.salary-summary-card.received span{color:#9a5b16}.salary-summary-card.received b{color:#9a3412}.salary-slip-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin-bottom:18px}.salary-slip-line{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed #d7dce5;padding:8px 0}.salary-slip-line span{color:#6b7280}.salary-slip-line b{text-align:right;color:#1f2937}.salary-slip-section{margin-top:16px}.salary-slip-section h4{margin:0 0 8px;font-size:14px;text-transform:uppercase;color:#25293c;letter-spacing:.3px}.salary-slip-section.salary-income,.salary-slip-section.salary-deduction,.salary-slip-section.salary-attendance{border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;background:#fff}.salary-slip-section.salary-income{background:#f6fff9;border-color:#d6f3df}.salary-slip-section.salary-deduction{background:#fff7f7;border-color:#ffdada}.salary-slip-section.salary-attendance{background:#f5f8ff;border-color:#dfe7ff}@media(max-width:760px){.salary-summary-grid,.salary-slip-grid{grid-template-columns:1fr}}
.professional-auth-page,.public-page{background:radial-gradient(circle at 18% 18%,rgba(115,103,240,.22),transparent 28rem),linear-gradient(135deg,#182033,#2f6fed)}.auth-shell{width:min(980px,96vw);display:grid;grid-template-columns:1fr 430px;gap:22px;align-items:stretch}.auth-intro{border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:28px;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));box-shadow:0 18px 42px rgba(20,24,42,.22)}.auth-intro .brand p,.auth-intro .brand h1{color:#fff}.auth-highlights{display:grid;gap:12px;margin-top:28px}.auth-highlights div{padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.1)}.auth-highlights b{display:block;margin-bottom:4px}.auth-highlights span{display:block;color:rgba(255,255,255,.82);font-size:14px;line-height:1.4}.professional-login-card,.public-verification-card,.nota-card{border-radius:14px;border:1px solid rgba(255,255,255,.65);box-shadow:0 22px 48px rgba(20,24,42,.26)}.professional-login-card{width:100%;max-width:430px}.public-verification-card{width:min(760px,94vw)}.verification-status,.nota-status{display:grid;gap:4px;text-align:center;border-radius:12px;padding:16px;margin:12px 0 16px}.verification-status span,.nota-status span{font-size:12px;font-weight:900;letter-spacing:.04em}.verification-status strong,.nota-status strong{font-size:26px;overflow-wrap:anywhere}.verification-status.ok,.nota-status.ok{background:#e5f8ee;color:#137449;border:1px solid #b8ebd0}.verification-status.warn{background:#fff1df;color:#a55308;border:1px solid #ffd39a}.verification-status.bad,.nota-status.bad{background:#fde7e7;color:#b32626;border:1px solid #f8b8b8}.public-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.public-detail-grid div,.nota-line{border:1px solid #e7eaf3;border-radius:8px;background:#fbfcff;padding:12px}.public-detail-grid span,.nota-line b{display:block;margin-bottom:5px;color:#6b7280;font-size:12px;font-weight:900}.public-detail-grid b,.nota-line span{color:#2f3446;overflow-wrap:anywhere}.nota-check{width:min(680px,94vw)}.nota-card{background:#fff;padding:24px}.nota-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.nota-brand img{width:58px;height:58px;object-fit:contain}.nota-brand h1{font-size:22px;margin:0;color:#2f3446}.nota-brand p{margin:3px 0 0;color:#6b7280}.nota-line{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;margin-bottom:8px}.nota-line b{margin:0}.nota-line span{display:block}.public-page .btn-block,.professional-login-card .btn-block{margin-top:14px}@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}.professional-login-card{max-width:none}.public-detail-grid{grid-template-columns:1fr}.nota-line{grid-template-columns:1fr;gap:4px}}
.sidebar-edge-toggle{position:fixed;left:250px;top:76px;z-index:35;width:34px;height:44px;border:1px solid rgba(0,0,0,.08);border-left:0;border-radius:0 9px 9px 0;background:#fff;color:#374151;box-shadow:0 10px 24px rgba(15,23,42,.14);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:left .22s ease,background .18s ease,color .18s ease}
.sidebar-edge-toggle:hover{background:#eef2f7}
.sidebar-edge-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sidebar-edge-toggle:before{content:"";width:11px;height:11px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);margin-left:4px}
body.ceo-page .sidebar-edge-toggle,body.apex-page .sidebar-edge-toggle{background:#101923;color:#d9f7ff;border-color:rgba(0,213,255,.22);box-shadow:0 0 18px rgba(0,213,255,.12)}
body.ceo-page .sidebar-edge-toggle{left:260px}
body.ceo-page .sidebar-edge-toggle:hover,body.apex-page .sidebar-edge-toggle:hover{background:#142233;color:#fff}
@media(min-width:901px){
  html.sidebar-collapsed .sidebar,
  html.sidebar-collapsed body.ceo-page .sidebar,
  html.sidebar-collapsed body.apex-page .sidebar{transform:translateX(-100%)}
  html.sidebar-collapsed .main,
  html.sidebar-collapsed body.ceo-page .main,
  html.sidebar-collapsed body.apex-page .main{margin-left:0;width:100%}
  html.sidebar-collapsed .sidebar-edge-toggle,
  html.sidebar-collapsed body.ceo-page .sidebar-edge-toggle,
  html.sidebar-collapsed body.apex-page .sidebar-edge-toggle{left:0}
  html.sidebar-collapsed .sidebar-edge-toggle:before,
  html.sidebar-collapsed body.ceo-page .sidebar-edge-toggle:before,
  html.sidebar-collapsed body.apex-page .sidebar-edge-toggle:before{transform:rotate(-135deg);margin-left:-4px}
}
@media(max-width:900px){
  .sidebar-edge-toggle,body.ceo-page .sidebar-edge-toggle{left:0;top:72px}
  .sidebar-edge-toggle:before,body.ceo-page .sidebar-edge-toggle:before{transform:rotate(-135deg);margin-left:-4px}
  .sidebar.show+.sidebar-edge-toggle,body.ceo-page .sidebar.show+.sidebar-edge-toggle{left:250px}
  body.ceo-page .sidebar.show+.sidebar-edge-toggle{left:260px}
  .sidebar.show+.sidebar-edge-toggle:before,body.ceo-page .sidebar.show+.sidebar-edge-toggle:before{transform:rotate(45deg);margin-left:4px}
}
@media print{.sidebar-edge-toggle{display:none!important}}
.dashboard-shortcut-grid{gap:12px}
.dashboard-shortcut-card,
body.ceo-page .dashboard-shortcut-card,
body.apex-page .dashboard-shortcut-card{
  position:relative;
  min-height:92px;
  padding:16px 16px 16px 20px;
  border:1px solid #e3e8f3;
  border-left:0;
  border-radius:8px;
  background:linear-gradient(135deg,#f8fbff,#ffffff)!important;
  color:#2f3446;
  box-shadow:0 10px 22px rgba(47,52,70,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.dashboard-shortcut-card:before,
body.ceo-page .dashboard-shortcut-card:before,
body.apex-page .dashboard-shortcut-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  border-radius:8px 0 0 8px;
  background:#20c997;
}
.dashboard-shortcut-card:after,
body.ceo-page .dashboard-shortcut-card:after,
body.apex-page .dashboard-shortcut-card:after{
  content:"";
  position:absolute;
  right:-28px;
  top:-34px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:rgba(32,201,151,.1);
  pointer-events:none;
}
.dashboard-shortcut-card:hover,
body.ceo-page .dashboard-shortcut-card:hover,
body.apex-page .dashboard-shortcut-card:hover{
  transform:translateY(-2px);
  border-color:#cfd7e6;
  box-shadow:0 14px 30px rgba(47,52,70,.12);
}
.dashboard-shortcut-card b,
body.ceo-page .dashboard-shortcut-card b,
body.apex-page .dashboard-shortcut-card b{
  position:relative;
  z-index:1;
  color:#263044;
  font-size:15px;
  font-weight:900;
}
.dashboard-shortcut-card span,
body.ceo-page .dashboard-shortcut-card span,
body.apex-page .dashboard-shortcut-card span{
  position:relative;
  z-index:1;
  color:#657083;
}
.dashboard-shortcut-card.green,
body.ceo-page .dashboard-shortcut-card.green,
body.apex-page .dashboard-shortcut-card.green{
  background:linear-gradient(135deg,#f0fbf6,#ffffff)!important;
}
.dashboard-shortcut-card.green:before,
body.ceo-page .dashboard-shortcut-card.green:before,
body.apex-page .dashboard-shortcut-card.green:before{background:#20c997}
.dashboard-shortcut-card.green:after,
body.ceo-page .dashboard-shortcut-card.green:after,
body.apex-page .dashboard-shortcut-card.green:after{background:rgba(32,201,151,.12)}
.dashboard-shortcut-card.blue,
body.ceo-page .dashboard-shortcut-card.blue,
body.apex-page .dashboard-shortcut-card.blue{
  background:linear-gradient(135deg,#f0f6ff,#ffffff)!important;
}
.dashboard-shortcut-card.blue:before,
body.ceo-page .dashboard-shortcut-card.blue:before,
body.apex-page .dashboard-shortcut-card.blue:before{background:#2f6fed}
.dashboard-shortcut-card.blue:after,
body.ceo-page .dashboard-shortcut-card.blue:after,
body.apex-page .dashboard-shortcut-card.blue:after{background:rgba(47,111,237,.12)}
.dashboard-shortcut-card.orange,
body.ceo-page .dashboard-shortcut-card.orange,
body.apex-page .dashboard-shortcut-card.orange{
  background:linear-gradient(135deg,#fff7ea,#ffffff)!important;
}
.dashboard-shortcut-card.orange:before,
body.ceo-page .dashboard-shortcut-card.orange:before,
body.apex-page .dashboard-shortcut-card.orange:before{background:#ff9f1c}
.dashboard-shortcut-card.orange:after,
body.ceo-page .dashboard-shortcut-card.orange:after,
body.apex-page .dashboard-shortcut-card.orange:after{background:rgba(255,159,28,.14)}
.dashboard-shortcut-card.red,
body.ceo-page .dashboard-shortcut-card.red,
body.apex-page .dashboard-shortcut-card.red{
  background:linear-gradient(135deg,#fff2f4,#ffffff)!important;
}
.dashboard-shortcut-card.red:before,
body.ceo-page .dashboard-shortcut-card.red:before,
body.apex-page .dashboard-shortcut-card.red:before{background:#ff5f6d}
.dashboard-shortcut-card.red:after,
body.ceo-page .dashboard-shortcut-card.red:after,
body.apex-page .dashboard-shortcut-card.red:after{background:rgba(255,95,109,.13)}
.bg-purple{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.badge.purple{background:#f0e9ff;color:#6541b8;border:1px solid #dfd0ff}
.badge.blue{background:#e8f0ff;color:#2f5fc8;border:1px solid #c8d8ff}
.work-calendar-task.overtime-task{color:#4c1d95!important;background:#f3e8ff!important;border-color:#c4b5fd!important}
.work-calendar-list li.overtime-entry{color:#4c1d95!important;background:#f5f0ff!important;border-color:#c4b5fd!important}
.attendance-cell.has-overtime{background:#f5f0ff;box-shadow:inset 0 0 0 1px #a78bfa}
body.apex-page .bg-purple,body.ceo-page .bg-purple{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
body.apex-page .badge.purple,body.ceo-page .badge.purple{background:#f0e9ff;color:#6541b8;border:1px solid #dfd0ff}
body.apex-page .badge.blue,body.ceo-page .badge.blue{background:#e8f0ff;color:#2f5fc8;border:1px solid #c8d8ff}
.alert-orange{background:#fff3cd;color:#7a4b00;border-radius:8px;padding:12px;margin-top:14px}
.batch-check-all-control{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;border:1px solid #dbe5ef;border-radius:6px;background:#fff;color:#334155;font-size:12px;font-weight:700;white-space:nowrap}
.batch-check-all-control input{width:14px!important;min-width:14px!important;height:14px;margin:0}
.desktop-mode-toggle{background:#eef6ff!important;color:#1d4f91!important;border:1px solid #cfe3ff!important}
.desktop-mode-toggle.is-active{background:#1d4ed8!important;color:#fff!important;border-color:#1d4ed8!important}
html.desktop-mode body.apex-page{min-width:1280px;overflow-x:auto}
html.desktop-mode .app{min-width:1280px}
html.desktop-mode:not(.sidebar-collapsed) .sidebar{transform:none!important}
html.desktop-mode .main{margin-left:250px!important;width:calc(100% - 250px)!important}
html.desktop-mode.sidebar-collapsed .sidebar{transform:translateX(-100%)!important}
html.desktop-mode.sidebar-collapsed .main{margin-left:0!important;width:100%!important}
html.desktop-mode .menu-btn{display:none!important}
html.desktop-mode .cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
html.desktop-mode .detail-grid,html.desktop-mode .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
html.desktop-mode .panel-header{align-items:center;flex-direction:row}
html.desktop-mode .input-row,html.desktop-mode .search-form{flex-direction:row;align-items:center}

/* Smart table sizing: keep tables inside the page while letting short columns hug their content. */
.app .table-wrap{width:100%;max-width:100%;overflow-x:hidden!important}
.app .table-wrap table,
.app .table-wrap .ceo-data-table,
.app .table-wrap .firmware-table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:auto!important}
.app .table-wrap th,
.app .table-wrap td{min-width:0!important;max-width:22rem!important;width:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word;word-break:normal;line-height:1.32;vertical-align:middle}
.app .table-wrap th{white-space:normal!important}
.app .table-wrap .sort-btn{min-width:max-content;max-width:100%;white-space:normal!important}
.app .table-wrap .sort-btn span:first-child{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.app .table-wrap td:first-child,
.app .table-wrap th:first-child{max-width:16rem!important}
.app .table-wrap td:has(.badge),
.app .table-wrap td:has(.btn),
.app .table-wrap td:has(.actions),
.app .table-wrap td:has(input[type="checkbox"]),
.app .table-wrap th:has(input[type="checkbox"]){max-width:max-content!important;white-space:nowrap!important}
.app .table-wrap td:has(.copy-cell-inline),
.app .table-wrap td:has(.copy-code-inline),
.app .table-wrap td:has(.qr-code-inline){max-width:22rem!important;white-space:normal!important}
.app .table-wrap td .badge,
.app .table-wrap td .btn,
.app .table-wrap td input[type="checkbox"],
.app .table-wrap td input[type="radio"]{white-space:nowrap!important;flex:0 0 auto}
.app .table-wrap td .actions,
.app .table-wrap td .table-actions,
.app .table-wrap td form,
.app .table-wrap .firmware-row-actions,
.app .table-wrap .hr-action-icons{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;max-width:max-content!important;white-space:nowrap!important}
.app .table-wrap td .actions>.btn,
.app .table-wrap td .actions>form,
.app .table-wrap td .table-actions>.btn,
.app .table-wrap td .table-actions>form{flex:0 0 auto!important;width:auto!important;min-width:34px!important}
.app .table-wrap td .copy-cell-inline,
.app .table-wrap td .copy-code-inline,
.app .table-wrap td .qr-code-inline{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;max-width:100%;width:100%;white-space:normal!important;overflow:visible!important}
.app .table-wrap td .copy-cell-inline>b,
.app .table-wrap td .copy-code-inline>b,
.app .table-wrap td .qr-code-inline>b{min-width:0;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word}
.app .table-wrap td .copy-qr-code,
.app .table-wrap td .copy-code-btn,
.app .table-wrap td .copy-device-id,
.app .table-wrap td .copy-icon-only{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 34px!important;width:34px!important;min-width:34px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:6px!important;overflow:visible!important;align-self:center!important}
.app .table-wrap .column-filters input{min-width:0!important;width:100%!important}
.app .table-wrap .attendance-matrix{table-layout:fixed!important}
.app .table-wrap .attendance-matrix th,
.app .table-wrap .attendance-matrix td{max-width:none!important;overflow:hidden!important}
.roas-label{display:inline-flex;align-items:center;gap:5px;min-width:0}
.roas-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:5px;border-radius:999px;background:#e8f0ff;color:#2f5fc8;border:1px solid #c8d8ff;font-size:11px;font-weight:900;line-height:1;cursor:help;vertical-align:middle;flex:0 0 17px}
.roas-tip{position:relative;display:inline-block;cursor:help;border-bottom:1px dotted rgba(47,95,200,.55)}
.roas-help:after,.roas-tip:after{content:attr(data-help);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:120;display:none;width:min(300px,72vw);padding:10px 12px;border-radius:8px;background:#172033;color:#fff;font-size:12px;font-weight:600;line-height:1.45;text-transform:none;text-align:left;white-space:normal;box-shadow:0 14px 34px rgba(15,23,42,.28);transform:translateX(-50%)}
.roas-help:hover:after,.roas-help:focus:after,.roas-tip:hover:after,.roas-tip:focus:after{display:block}
.roas-help[data-floating-active="1"]:after,.roas-tip[data-floating-active="1"]:after{display:none!important}
.floating-help-tooltip{position:absolute;z-index:9999;width:min(320px,72vw);padding:10px 12px;border-radius:8px;background:#172033;color:#fff;font-size:12px;font-weight:600;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 14px 34px rgba(15,23,42,.28);pointer-events:none}
.ceo-data-table .sort-btn .roas-help{margin-left:auto;margin-right:4px}
.ceo-data-table .sort-btn .roas-help:after{font-family:"Plus Jakarta Sans",Arial,sans-serif}
.app .table-wrap .table-text-clip{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;max-width:100%;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.28;cursor:help}
.app .table-wrap .table-text-clip.is-shortened-text{word-break:normal!important;overflow-wrap:normal!important}
.app .table-wrap td.is-text-clipped{max-width:22rem!important;max-height:none!important;white-space:normal!important}
.app .table-wrap td.table-text-clip{max-height:3.2em}
.app .table-wrap td .table-text-clip{max-height:2.7em}
.app .table-wrap td.is-text-clipped>a:not(.btn),
.app .table-wrap td.is-text-clipped>span:not(.badge):not(.btn-icon-outline):not(.roas-help):not(.roas-tip),
.app .table-wrap td.is-text-clipped>b,
.app .table-wrap td.is-text-clipped>strong,
.app .table-wrap td.is-text-clipped>small,
.app .table-wrap td.is-text-clipped>code{min-width:0;max-width:100%}
.app .table-wrap small.table-text-clip{font-size:12px}
.app .table-wrap .copy-code-inline .table-text-clip,
.app .table-wrap .copy-cell-inline .table-text-clip,
.app .table-wrap .qr-code-inline .table-text-clip{flex:1 1 auto;min-width:0;max-width:calc(100% - 42px)}
.app .table-wrap .badge.table-text-clip,
.app .table-wrap .btn.table-text-clip{display:inline-flex!important;-webkit-line-clamp:unset;overflow:visible!important;cursor:pointer}
.app .table-wrap .sales-product-table td.qr-code-cell,
.app .table-wrap .sales-product-table td.qr-code-cell b,
.app .table-wrap .sales-product-table .qr-code-inline b{font-family:inherit!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important;word-break:normal!important;overflow-wrap:normal!important}
.sparepart-usage-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 9px;border-radius:999px;background:#e8f0ff;color:#2f5fc8;border:1px solid #c8d8ff;font-size:12px;font-weight:900;white-space:nowrap;text-decoration:none}
.sparepart-usage-badge:hover{background:#dfeaff;color:#244ea8}
.sparepart-usage-badge+small{display:block;margin-top:4px;color:#6b7280;font-size:11px;font-weight:700;line-height:1.2}
.sparepart-view-toggle{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.sparepart-view-toggle button{border:1px solid #d8deea;background:#fff;color:#4b5563;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:900;cursor:pointer}
.sparepart-view-toggle button.active{background:#111827;color:#fff;border-color:#111827}
.sparepart-card-tools{display:flex;justify-content:flex-end;margin:0 0 12px}
.sparepart-card-tools[hidden],.sparepart-card-grid[hidden],.sparepart-card-pagination[hidden],[data-sparepart-table-view][hidden]{display:none!important}
.sparepart-card-search{width:min(360px,100%);height:36px;border:1px solid #d8deea;border-radius:8px;padding:8px 11px;background:#fff}
.sparepart-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.sparepart-data-card{display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:14px;border:1px solid #e5e9f2;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.sparepart-data-card[hidden]{display:none!important}
.sparepart-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
.sparepart-card-title{display:grid;gap:4px;min-width:0}.sparepart-card-title b{color:#111827;font-size:14px;font-weight:900;overflow-wrap:anywhere}.sparepart-card-title span{color:#6b7280;font-size:12px;font-weight:800}
.sparepart-card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sparepart-card-field{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid #eef1f6;border-radius:8px;background:#f9fafc}
.sparepart-card-field span{color:#7b8798;font-size:10px;font-weight:900;text-transform:uppercase}.sparepart-card-field b{color:#2f3446;font-size:12px;font-weight:900;overflow-wrap:anywhere}
.sparepart-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.sparepart-card-actions form{margin:0}
.sparepart-card-pagination{justify-content:flex-end;margin-top:12px}

/* Final table compact guard: prevent narrow screens from breaking text one character per line. */
.app .table-wrap th,
.app .table-wrap td{overflow-wrap:normal!important;word-break:normal!important}
.app .table-wrap td b,
.app .table-wrap td strong,
.app .table-wrap td small,
.app .table-wrap td code,
.app .table-wrap td a:not(.btn),
.app .table-wrap td span:not(.badge):not(.btn-icon-outline):not(.roas-help):not(.roas-tip),
.app .table-wrap td div:not(.actions):not(.table-actions):not(.firmware-row-actions):not(.hr-action-icons):not(.sales-row-actions):not(.copy-cell-inline):not(.copy-code-inline):not(.qr-code-inline){overflow-wrap:normal!important;word-break:normal!important}
.app .table-wrap td .table-text-clip,
.app .table-wrap td .table-text-clip.is-shortened-text{display:block!important;max-width:100%!important;max-height:1.38em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;-webkit-line-clamp:unset!important}
.app .table-wrap td .copy-cell-inline .table-text-clip,
.app .table-wrap td .copy-code-inline .table-text-clip,
.app .table-wrap td .qr-code-inline .table-text-clip{max-width:calc(100% - 42px)!important}
.app .table-wrap .sales-product-table td{overflow:hidden!important}
.app .table-wrap .sales-product-table .table-text-clip{display:block!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:normal!important;line-height:1.35}
.app .table-wrap .sales-product-table .qr-code-inline .table-text-clip,
.app .table-wrap .sales-product-table .copy-cell-inline .table-text-clip{flex:1 1 auto!important;min-width:0!important;max-width:calc(100% - 42px)!important}

/* Apply the Penjualan Produk compact behavior across all data tables. */
.app .table-wrap tbody td:not(:last-child){overflow:hidden!important}
.app .table-wrap tbody td:last-child,
.app .table-wrap tbody td.actions-cell,
.app .table-wrap tbody td:has(.actions),
.app .table-wrap tbody td:has(.table-actions),
.app .table-wrap tbody td:has(.sales-row-actions),
.app .table-wrap tbody td:has(.firmware-row-actions),
.app .table-wrap tbody td:has(.hr-action-icons){overflow:visible!important;white-space:nowrap!important;max-width:max-content!important}
.app .table-wrap tbody td:last-child .actions,
.app .table-wrap tbody td:last-child .table-actions,
.app .table-wrap tbody td:last-child .sales-row-actions,
.app .table-wrap tbody td:last-child .firmware-row-actions,
.app .table-wrap tbody td:last-child .hr-action-icons{max-width:none!important;overflow:visible!important}
.app .table-wrap .table-text-clip,
.app .table-wrap .table-text-clip.is-shortened-text,
.app .table-wrap .table-text-clip{display:block!important;max-width:100%!important;max-height:1.38em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;-webkit-line-clamp:unset!important}
.app .table-wrap .copy-cell-inline .table-text-clip,
.app .table-wrap .copy-code-inline .table-text-clip,
.app .table-wrap .qr-code-inline .table-text-clip,
.app .table-wrap .copy-cell-inline .table-text-clip,
.app .table-wrap .copy-code-inline .table-text-clip,
.app .table-wrap .qr-code-inline .table-text-clip{flex:1 1 auto!important;min-width:0!important;max-width:calc(100% - 42px)!important}
.app .table-wrap tbody td:last-child .table-text-clip,
.app .table-wrap tbody td:last-child .table-text-clip{max-width:14rem!important}

/* Final no-missing-column guard: keep every column inside the table on small screens. */
.app .table-wrap{overflow-x:visible!important}
.app .table-wrap table,
.app .table-wrap .ceo-data-table,
.app .table-wrap .firmware-table,
.app .table-wrap .sales-product-table,
.app .table-wrap .qr-stock-table,
.app .table-wrap .piecework-price-table,
.app .table-wrap .employee-piecework-price-table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important}
.app .table-wrap th,
.app .table-wrap td{min-width:0!important;width:auto!important;max-width:none!important;overflow:hidden!important}
.app .table-wrap th:last-child,
.app .table-wrap td:last-child,
.app .table-wrap td.actions-cell,
.app .table-wrap td:has(.actions),
.app .table-wrap td:has(.table-actions),
.app .table-wrap td:has(.sales-row-actions),
.app .table-wrap td:has(.firmware-row-actions),
.app .table-wrap td:has(.hr-action-icons){width:1%!important;min-width:34px!important;max-width:160px!important;overflow:visible!important;white-space:nowrap!important}
.app .table-wrap td .actions,
.app .table-wrap td .table-actions,
.app .table-wrap .sales-row-actions,
.app .table-wrap .firmware-row-actions,
.app .table-wrap .hr-action-icons{min-width:0!important;max-width:100%!important;width:max-content!important}
.app .table-wrap .sales-row-actions{gap:4px!important}
.app .table-wrap .sales-row-actions .btn{width:34px!important;min-width:34px!important;height:30px!important;padding:6px!important;font-size:0!important}
.app .table-wrap .sales-row-actions .btn i,
.app .table-wrap .sales-row-actions .btn svg{font-size:14px!important}
.app .table-wrap .copy-cell-inline,
.app .table-wrap .copy-code-inline,
.app .table-wrap .qr-code-inline{min-width:0!important;max-width:100%!important}
.app .table-wrap .table-text-clip,
.app .table-wrap .table-text-clip{min-width:0!important}

/* Keep action buttons in one tidy row, like the Penjualan Produk table. */
.app .table-wrap th:last-child,
.app .table-wrap td:last-child,
.app .table-wrap td.actions-cell,
.app .table-wrap td:has(.actions),
.app .table-wrap td:has(.table-actions),
.app .table-wrap td:has(.sales-row-actions),
.app .table-wrap td:has(.firmware-row-actions),
.app .table-wrap td:has(.hr-action-icons){width:168px!important;min-width:168px!important;max-width:168px!important;overflow:hidden!important;white-space:nowrap!important;text-align:center!important}
.app .table-wrap td .actions,
.app .table-wrap td .table-actions,
.app .table-wrap td .sales-row-actions,
.app .table-wrap td .firmware-row-actions,
.app .table-wrap td .hr-action-icons{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;flex-wrap:nowrap!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;white-space:nowrap!important;margin-left:auto!important;margin-right:auto!important}
.app .table-wrap td .actions>form,
.app .table-wrap td .table-actions>form,
.app .table-wrap td .sales-row-actions>form,
.app .table-wrap td .firmware-row-actions>form,
.app .table-wrap td .hr-action-icons>form{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;margin:0!important}
.app .table-wrap td .actions .btn,
.app .table-wrap td .table-actions .btn,
.app .table-wrap td .sales-row-actions .btn,
.app .table-wrap td .firmware-row-actions .btn,
.app .table-wrap td .hr-action-icons .btn{flex:0 0 auto!important;max-width:100%!important}
.app .table-wrap td .actions .btn-icon,
.app .table-wrap td .table-actions .btn-icon,
.app .table-wrap td .sales-row-actions .btn-icon,
.app .table-wrap td .firmware-row-actions .btn-icon,
.app .table-wrap td .hr-action-icons .btn-icon{width:34px!important;min-width:34px!important;height:30px!important;padding:6px!important}
.app .table-wrap td .actions .btn:not(.btn-icon),
.app .table-wrap td .table-actions .btn:not(.btn-icon),
.app .table-wrap td .sales-row-actions .btn:not(.btn-icon),
.app .table-wrap td .firmware-row-actions .btn:not(.btn-icon),
.app .table-wrap td .hr-action-icons .btn:not(.btn-icon){min-width:34px!important;max-width:48px!important;height:30px!important;padding:6px!important;font-size:0!important}
.app .table-wrap td .actions .btn:not(.btn-icon) .btn-icon-outline,
.app .table-wrap td .table-actions .btn:not(.btn-icon) .btn-icon-outline,
.app .table-wrap td .sales-row-actions .btn:not(.btn-icon) .btn-icon-outline,
.app .table-wrap td .firmware-row-actions .btn:not(.btn-icon) .btn-icon-outline,
.app .table-wrap td .hr-action-icons .btn:not(.btn-icon) .btn-icon-outline{margin:0!important}
/* On narrow screens, prefer horizontal scroll over hiding columns. */
@media(max-width:900px){
  body.apex-page,
  body.ceo-page{overflow-x:hidden!important}
  .app .table-wrap{overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;max-width:100%!important}
  .app .table-wrap table,
  .app .table-wrap .ceo-data-table,
  .app .table-wrap .firmware-table,
  .app .table-wrap .sales-product-table,
  .app .table-wrap .qr-stock-table,
  .app .table-wrap .piecework-price-table,
  .app .table-wrap .employee-piecework-price-table{width:max-content!important;max-width:none!important;min-width:920px!important;table-layout:auto!important}
  .app .table-wrap th,
  .app .table-wrap td{width:auto!important;min-width:88px!important;max-width:260px!important}
  .app .table-wrap th:last-child,
  .app .table-wrap td:last-child,
  .app .table-wrap td.actions-cell,
  .app .table-wrap td:has(.actions),
  .app .table-wrap td:has(.table-actions),
  .app .table-wrap td:has(.sales-row-actions),
  .app .table-wrap td:has(.firmware-row-actions),
  .app .table-wrap td:has(.hr-action-icons){width:168px!important;min-width:168px!important;max-width:168px!important}
  .app .table-wrap::-webkit-scrollbar{height:8px}
  .app .table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
  .app .table-wrap::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}
}

/* Compact, polished table checkboxes and selected rows. */
.app .table-wrap th:has(input[type="checkbox"]),
.app .table-wrap td:has(input[type="checkbox"]),
.app .table-wrap th.table-check-column,
.app .table-wrap td.table-check-column{width:44px!important;min-width:44px!important;max-width:44px!important;text-align:center!important;padding-left:8px!important;padding-right:8px!important}
.app .table-wrap th:has(input[type="checkbox"]) .sort-btn{justify-content:center!important;padding-left:4px!important;padding-right:4px!important}
.app .table-wrap th:has(input[type="checkbox"]) .sort-btn span:first-child,
.app .table-wrap th:has(input[type="checkbox"]) .sort-mark,
.app .table-wrap .column-filters th:has(input[type="checkbox"]) input{display:none!important}
.app input[type="checkbox"],
body.apex-page input[type="checkbox"],
body.ceo-page input[type="checkbox"],
.app .batch-check-all-control input[type="checkbox"]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:18px!important;min-width:18px!important;height:18px!important;margin:0;border:1.5px solid #cbd5e1;border-radius:5px;background:#fff;box-shadow:inset 0 1px 1px rgba(15,23,42,.04);cursor:pointer;vertical-align:middle;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.app input[type="checkbox"]:before,
body.apex-page input[type="checkbox"]:before,
body.ceo-page input[type="checkbox"]:before,
.app .batch-check-all-control input[type="checkbox"]:before{content:"";width:9px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .12s ease}
.app input[type="checkbox"]:checked,
body.apex-page input[type="checkbox"]:checked,
body.ceo-page input[type="checkbox"]:checked,
.app .batch-check-all-control input[type="checkbox"]:checked{background-color:#7367f0!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3 7.2 5.8 10 11.2 4' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:center!important;background-size:14px 14px!important;background-repeat:no-repeat!important;border-color:#7367f0!important;box-shadow:0 0 0 3px rgba(115,103,240,.14)}
.app input[type="checkbox"]:checked:before,
body.apex-page input[type="checkbox"]:checked:before,
body.ceo-page input[type="checkbox"]:checked:before,
.app .batch-check-all-control input[type="checkbox"]:checked:before{transform:rotate(-45deg) scale(1)}
.app input[type="checkbox"]:focus-visible,
body.apex-page input[type="checkbox"]:focus-visible,
body.ceo-page input[type="checkbox"]:focus-visible,
.app .batch-check-all-control input[type="checkbox"]:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(115,103,240,.22)}
.app input[type="checkbox"]:disabled,
body.apex-page input[type="checkbox"]:disabled,
body.ceo-page input[type="checkbox"]:disabled,
.app .batch-check-all-control input[type="checkbox"]:disabled{opacity:.45;cursor:not-allowed}
.app .table-wrap tbody tr.table-row-checked>td{background:#f3f0ff!important}
.app .table-wrap tbody tr.table-row-checked>td:first-child{box-shadow:inset 3px 0 0 #7367f0}
.app .table-wrap tbody tr.table-row-checked:hover>td{background:#ece8ff!important}
html.table-tools-booting .app .table-wrap{max-height:420px!important;overflow:hidden!important;position:relative}
html.table-tools-booting .app .table-wrap table{opacity:.02;pointer-events:none}
html.table-tools-booting .app .table-wrap:after{content:"Memuat data...";position:absolute;left:0;right:0;top:0;min-height:96px;display:flex;align-items:center;justify-content:center;background:var(--light,#f8fafc);color:#64748b;font-weight:700;font-size:13px;z-index:5}
html.table-tools-booting body.ceo-page .app .table-wrap:after{background:#f8fafc;color:#64748b}
.app .table-wrap .salary-recap-table th,
.app .table-wrap .salary-recap-table td,
.app .table-wrap .salary-archive-table th,
.app .table-wrap .salary-archive-table td,
.app .table-wrap .salary-recap-table .muted,
.app .table-wrap .salary-recap-inline{white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
.app .table-wrap .salary-recap-table .muted{display:inline!important;font-size:12px}
.app .table-wrap table td,.app .table-wrap table td :not(button):not(.btn){font-size:12px!important}
.app .table-wrap .attendance-matrix td,.app .table-wrap .attendance-matrix td :not(button):not(.btn){font-size:10px!important}
.app .table-wrap .database-table-list{table-layout:fixed!important;min-width:0!important;width:100%!important}
.app .table-wrap .database-table-list th:first-child,
.app .table-wrap .database-table-list td:first-child{width:56px!important;min-width:56px!important;max-width:56px!important;text-align:center!important;padding-left:8px!important;padding-right:8px!important;white-space:nowrap!important}
.app .table-wrap .database-table-list th:nth-child(2),
.app .table-wrap .database-table-list td:nth-child(2){width:auto!important;min-width:0!important;max-width:none!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;word-break:break-word!important;text-overflow:clip!important}
.login-page .brand-logo.auth-logo{background:#fff;padding:6px;overflow:hidden;border:1px solid rgba(255,255,255,.45)}
.login-page .brand-logo.auth-logo img{width:100%;height:100%;object-fit:contain;display:block}

body.auth-login-page{
  min-height:100vh;
  padding:24px;
  background:
    radial-gradient(circle at 20% 18%,rgba(255,205,194,.8),transparent 18rem),
    radial-gradient(circle at 78% 16%,rgba(165,129,224,.78),transparent 18rem),
    radial-gradient(circle at 50% 92%,rgba(94,56,141,.85),transparent 20rem),
    linear-gradient(135deg,#ead5d2,#8771c5 52%,#4b286f);
}
body.auth-login-page .login-card{
  width:min(480px,92vw);
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:46px;
  background:linear-gradient(180deg,rgba(55,54,68,.88),rgba(17,18,29,.94));
  box-shadow:0 28px 70px rgba(16,10,38,.46);
}
body.auth-login-page .brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:104px;
  margin:0;
  padding:18px 28px;
  background:rgba(129,126,146,.46);
  color:#f3f0fa;
  text-align:left;
}
body.auth-login-page .brand-logo.auth-logo{
  width:54px;
  height:54px;
  flex:0 0 54px;
  padding:7px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  border-color:rgba(255,255,255,.28);
}
body.auth-login-page .brand h1{
  margin:0;
  color:#f3f0fa;
  font-size:28px;
  font-weight:500;
  line-height:1.08;
  text-transform:uppercase;
  letter-spacing:4px;
}
body.auth-login-page .brand p{
  margin:4px 0 0;
  color:rgba(243,240,250,.68);
  font-size:12px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}
body.auth-login-page form{
  padding:48px 34px 24px;
}
body.auth-login-page .auth-field{
  position:relative;
  margin:0 0 34px;
  padding-left:56px;
}
body.auth-login-page .auth-field:before{
  content:"";
  position:absolute;
  left:12px;
  top:20px;
  width:24px;
  height:24px;
  background:rgba(207,202,225,.78);
  mask-position:center;
  mask-repeat:no-repeat;
  mask-size:22px 22px;
  -webkit-mask-position:center;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:22px 22px;
}
body.auth-login-page .auth-user:before{
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5L4 8V6l8 5 8-5v2Z'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5L4 8V6l8 5 8-5v2Z'/%3E%3C/svg%3E");
}
body.auth-login-page .auth-password:before{
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2Zm-7-2a2 2 0 0 1 4 0v2h-4V7Zm3 9.73V18h-2v-1.27a2 2 0 1 1 2 0Z'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2Zm-7-2a2 2 0 0 1 4 0v2h-4V7Zm3 9.73V18h-2v-1.27a2 2 0 1 1 2 0Z'/%3E%3C/svg%3E");
}
body.auth-login-page .auth-field label{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
body.auth-login-page .auth-field input{
  height:54px;
  padding:12px 4px;
  border:0;
  border-bottom:2px solid rgba(188,182,207,.44);
  border-radius:0;
  background:transparent;
  color:#f2effa;
  font-size:22px;
  font-weight:500;
}
body.auth-login-page .password-field input{padding-right:46px}
body.auth-login-page .auth-field input::placeholder{color:rgba(200,195,219,.52)}
body.auth-login-page .auth-field input:focus{
  outline:0;
  border-bottom-color:rgba(233,230,244,.82);
  box-shadow:none;
}
body.auth-login-page .toggle-password{
  right:0;
  top:5px;
  bottom:auto;
  width:40px;
  height:40px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:rgba(205,200,225,.72);
}
body.auth-login-page .toggle-password:hover{background:rgba(255,255,255,.07);color:#fff}
body.auth-login-page .btn-primary{
  width:min(270px,100%);
  min-height:68px;
  margin:8px auto 0;
  border-radius:10px;
  background:linear-gradient(180deg,rgba(129,126,146,.86),rgba(90,88,111,.9));
  color:#f9f7ff;
  font-size:20px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  box-shadow:0 14px 28px rgba(0,0,0,.2);
}
body.auth-login-page .btn-primary:hover{filter:brightness(1.06)}
body.auth-login-page .msg-error{
  min-height:22px;
  margin:14px 0 0;
  color:#ffb4c0;
  text-align:center;
  font-weight:700;
}
body.auth-login-page .login-note{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin:0;
  padding:0 34px 34px;
  color:rgba(205,200,225,.58);
  font-size:13px;
}
body.auth-login-page .login-note a{color:rgba(229,225,244,.78);font-weight:700}
@media(max-width:560px){
  body.auth-login-page{padding:14px}
  body.auth-login-page .login-card{border-radius:28px}
  body.auth-login-page .brand{min-height:92px;padding:16px 22px}
  body.auth-login-page .brand-logo.auth-logo{width:44px;height:44px;flex-basis:44px}
  body.auth-login-page .brand h1{font-size:20px;letter-spacing:2px}
  body.auth-login-page form{padding:36px 24px 22px}
  body.auth-login-page .auth-field{padding-left:44px;margin-bottom:28px}
  body.auth-login-page .auth-field:before{left:6px}
  body.auth-login-page .auth-field input{font-size:18px}
  body.auth-login-page .btn-primary{min-height:56px;font-size:16px}
  body.auth-login-page .login-note{padding:0 24px 28px}
}
@media(max-width:900px){
  .app .table-wrap th:has(input[type="checkbox"]),
  .app .table-wrap td:has(input[type="checkbox"]),
  .app .table-wrap th.table-check-column,
  .app .table-wrap td.table-check-column{width:44px!important;min-width:44px!important;max-width:44px!important}
}

/* Flat minimal login override */
body.auth-login-page{
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:var(--light)!important;
  background-image:none!important;
}
body.auth-login-page .login-card{
  width:min(420px,94vw)!important;
  padding:28px!important;
  overflow:visible!important;
  border:1px solid var(--border)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.auth-login-page .brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-height:0!important;
  margin:0 0 22px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid var(--border)!important;
  background:transparent!important;
  color:var(--text)!important;
  text-align:left!important;
}
body.auth-login-page .brand-logo.auth-logo{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  padding:6px!important;
  border:1px solid var(--border)!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.auth-login-page .brand h1{
  margin:0!important;
  color:var(--text)!important;
  font-size:24px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.auth-login-page .brand p{
  margin:3px 0 0!important;
  color:var(--muted)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.auth-login-page form{padding:0!important}
body.auth-login-page .auth-field{
  position:relative!important;
  margin:0 0 14px!important;
  padding-left:0!important;
}
body.auth-login-page .auth-field:before{content:none!important}
body.auth-login-page .auth-field label{
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  display:block!important;
  margin:0 0 7px!important;
  color:var(--text)!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.auth-login-page .auth-field input,
body.auth-login-page .password-field input{
  width:100%!important;
  height:42px!important;
  padding:10px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--text)!important;
  font-size:15px!important;
  font-weight:500!important;
}
body.auth-login-page .password-field input{padding-right:50px!important}
body.auth-login-page .auth-field input::placeholder{color:#9aa3ad!important}
body.auth-login-page .auth-field input:focus{
  outline:0!important;
  border-color:var(--primary)!important;
  box-shadow:0 0 0 3px rgba(0,123,255,.12)!important;
}
body.auth-login-page .toggle-password{
  right:1px!important;
  top:1px!important;
  bottom:1px!important;
  width:46px!important;
  height:auto!important;
  border:0!important;
  border-left:1px solid var(--border)!important;
  border-radius:0 7px 7px 0!important;
  background:#fff!important;
  color:var(--primary)!important;
}
body.auth-login-page .btn-primary{
  width:100%!important;
  min-height:42px!important;
  margin-top:18px!important;
  border-radius:7px!important;
  background:var(--primary)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.auth-login-page .msg-error{
  min-height:20px!important;
  margin:10px 0 0!important;
  color:var(--red)!important;
  text-align:left!important;
  font-weight:600!important;
}
body.auth-login-page .login-note{
  display:block!important;
  margin-top:18px!important;
  padding:0!important;
  color:var(--muted)!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.7!important;
}
body.auth-login-page .login-note a{color:var(--primary)!important;font-weight:700!important}
@media(max-width:560px){
  body.auth-login-page{padding:14px!important}
  body.auth-login-page .login-card{width:100%!important;padding:20px!important}
  body.auth-login-page .brand-logo.auth-logo{width:44px!important;height:44px!important;flex-basis:44px!important}
  body.auth-login-page .brand h1{font-size:21px!important}
}

/* Flat minimal auth pages */
body.login-page{
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:var(--light)!important;
  background-image:none!important;
  color:var(--text)!important;
}
body.login-page .login-card,
body.login-page .public-card{
  width:min(430px,94vw)!important;
  padding:28px!important;
  overflow:visible!important;
  border:1px solid var(--border)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
body.login-page .login-card.public-card{
  width:min(760px,94vw)!important;
}
body.login-page .brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-height:0!important;
  margin:0 0 20px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid var(--border)!important;
  background:transparent!important;
  color:var(--text)!important;
  text-align:left!important;
}
body.login-page .brand-logo,
body.login-page .brand-logo.auth-logo{
  width:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
  padding:8px!important;
  border:1px solid var(--border)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--primary)!important;
  box-shadow:none!important;
  font-size:22px!important;
}
body.login-page .brand-logo img,
body.login-page .brand-logo.auth-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
body.login-page .brand h1{
  margin:0!important;
  color:var(--text)!important;
  font-size:24px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.login-page .brand p{
  margin:3px 0 0!important;
  color:var(--muted)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.login-page form{padding:0!important}
body.login-page label{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--text)!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.login-page input,
body.login-page select,
body.login-page textarea{
  width:100%!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--text)!important;
  font-size:15px!important;
  font-weight:500!important;
}
body.login-page textarea{
  min-height:82px!important;
  resize:vertical!important;
}
body.login-page input:focus,
body.login-page select:focus,
body.login-page textarea:focus{
  outline:0!important;
  border-color:var(--primary)!important;
  box-shadow:0 0 0 3px rgba(0,123,255,.12)!important;
}
body.login-page .grid-2{
  gap:12px 14px!important;
}
body.login-page .auth-field{
  position:relative!important;
  margin:0 0 14px!important;
  padding-left:0!important;
}
body.login-page .auth-field:before{content:none!important}
body.login-page .auth-field label{
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
}
body.login-page .password-field input{padding-right:50px!important}
body.login-page .toggle-password{
  right:1px!important;
  top:1px!important;
  bottom:1px!important;
  width:46px!important;
  height:auto!important;
  border:0!important;
  border-left:1px solid var(--border)!important;
  border-radius:0 7px 7px 0!important;
  background:#fff!important;
  color:var(--primary)!important;
}
body.login-page .toggle-password .password-emoji{
  font-size:24px!important;
  line-height:1!important;
}
body.login-page .btn{
  border-radius:7px!important;
  box-shadow:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body.login-page .btn-primary{
  background:var(--primary)!important;
  color:#fff!important;
}
body.login-page .btn-light{
  border:1px solid var(--border)!important;
  background:#f6f8fb!important;
  color:var(--text)!important;
}
body.login-page .btn-block{
  width:100%!important;
  min-height:42px!important;
  margin-top:14px!important;
  font-size:15px!important;
  font-weight:800!important;
}
body.login-page .actions{
  gap:8px!important;
  margin-top:12px!important;
}
body.login-page .msg-error{
  min-height:0!important;
  margin:10px 0 0!important;
  color:var(--red)!important;
  text-align:left!important;
  font-weight:600!important;
}
body.login-page .msg-error:empty{display:none!important}
body.login-page .alert-green,
body.login-page .alert-red{
  margin:0 0 14px!important;
  border-radius:7px!important;
}
body.login-page .login-note{
  display:block!important;
  margin-top:16px!important;
  padding:0!important;
  color:var(--muted)!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.7!important;
}
body.login-page .login-note a{color:var(--primary)!important;font-weight:700!important}
body.login-page .login-card.public-card form + .btn-block{
  margin-top:10px!important;
}
@media(max-width:900px){
  body.login-page .login-card.public-card{width:min(620px,94vw)!important}
  body.login-page .grid-2{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  body.login-page{padding:14px!important}
  body.login-page .login-card,
  body.login-page .public-card,
  body.login-page .login-card.public-card{
    width:100%!important;
    padding:20px!important;
  }
  body.login-page .brand-logo,
  body.login-page .brand-logo.auth-logo{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
  }
  body.login-page .brand h1{font-size:21px!important}
}

.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.grid-2,
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.table-wrap,
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.table-responsive,
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.profile-hero,
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.profile-fields,
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.profile-actions{
  grid-column:1/-1;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
}
.app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
@media(max-width:620px){
  .app .panel>form:not(.search-form):not(.table-actions):not(.actions):not(.bug-status-filter):not(.firmware-upload-form):not(.production-batch-edit-form)>.grid-2{grid-template-columns:1fr}
}

/* Sidebar pinned menu */
.sidebar nav a{padding-right:38px!important}.sidebar-pin-button{position:absolute;right:8px;top:50%;display:grid;width:25px;height:25px;place-items:center;transform:translateY(-50%);padding:0;border:0;border-radius:6px;background:transparent;color:#8993aa;font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:.16s;z-index:2}.sidebar nav a:hover .sidebar-pin-button,.sidebar nav a:focus-within .sidebar-pin-button,.sidebar-pin-button.is-pinned,.sidebar-pinned-group .sidebar-pin-button{opacity:1}.sidebar-pin-button:hover,.sidebar-pin-button.is-pinned{background:rgba(115,103,240,.2);color:#c4beff}.sidebar-pinned-group{margin:0 0 12px;padding:7px;border:1px solid rgba(159,150,255,.24);border-radius:9px;background:rgba(115,103,240,.09)}.sidebar-pinned-group>summary{color:#dcd9ff!important}.sidebar-pinned-group>a{margin-bottom:4px!important;background:rgba(255,255,255,.045)!important}.sidebar-pinned-group>a.active{background:#fff!important}.sidebar-pinned-group[hidden]{display:none!important}html.sidebar-collapsed .sidebar-pin-button{display:none!important}
.sidebar-pin-toast{position:fixed;right:22px;bottom:22px;z-index:9999;transform:translateY(15px);padding:11px 15px;border-radius:9px;background:#25293c;color:#fff;font-size:12px;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.24);opacity:0;pointer-events:none;transition:.18s}.sidebar-pin-toast.show{transform:translateY(0);opacity:1}.sidebar-pin-toast.error{background:#d63649}@media(hover:none){.sidebar-pin-button{opacity:1}}
.sidebar-pinned-group>a[data-pinned-link]{cursor:grab}.sidebar-pinned-group>a[data-pinned-link]:active{cursor:grabbing}.sidebar-pinned-group>a.is-dragging{opacity:.4}.sidebar-pinned-group>a.drag-before{box-shadow:inset 0 3px 0 #9f96ff!important}.sidebar-pinned-group>a.drag-after{box-shadow:inset 0 -3px 0 #9f96ff!important}

.app .table-wrap:not(:has(.attendance-matrix)),
.app .table-responsive:not(:has(.attendance-matrix)){
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.app table:not(.attendance-matrix){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
.app table:not(.attendance-matrix) th,
.app table:not(.attendance-matrix) td{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  border-right:1px solid #d8e4df!important;
  border-bottom:1px solid #d8e4df!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
}
.app table:not(.attendance-matrix) th:last-child,
.app table:not(.attendance-matrix) td:last-child:not(:has(.actions,.table-actions,.sales-row-actions,.firmware-row-actions,.hr-action-icons)){
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
}
.app table:not(.attendance-matrix) th:last-child,
.app table:not(.attendance-matrix) td:last-child{
  border-right:0!important;
}
.app table:not(.attendance-matrix) .sort-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  overflow:visible!important;
  white-space:normal!important;
  text-align:center!important;
}
.app table:not(.attendance-matrix) .sort-btn span:first-child{
  min-width:0;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip!important;
  text-align:center!important;
  line-height:1.2;
}
.app table:not(.attendance-matrix) .sort-mark{
  display:block;
  flex:0 0 12px;
}
.app table:not(.attendance-matrix) th,
.app table:not(.attendance-matrix) .sort-btn,
.app table:not(.attendance-matrix) .sort-btn>span:first-child,
.app table:not(.attendance-matrix) td,
.app table:not(.attendance-matrix) td *{
  font-size:12px!important;
  font-weight:400!important;
}
.app table:not(.attendance-matrix) .table-text-clip,
.app table:not(.attendance-matrix) .table-text-clip{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  max-height:none!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
}
.app table:not(.attendance-matrix) td.table-value-bold,
.app table:not(.attendance-matrix) td.table-value-bold *{
  font-weight:700!important;
}
.app table:not(.attendance-matrix) td.table-code-value,
.app table:not(.attendance-matrix) td.table-code-value *{
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  text-overflow:clip!important;
}
.app table:not(.attendance-matrix) td.table-person-name,
.app table:not(.attendance-matrix) td.table-person-name *{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.app table:not(.attendance-matrix) th.table-action-column,
.app table:not(.attendance-matrix) td.table-action-column,
.app table:not(.attendance-matrix) td.actions-cell,
.app table:not(.attendance-matrix) td:has(.actions,.table-actions,.sales-row-actions,.firmware-row-actions,.hr-action-icons){
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.app table:not(.attendance-matrix) td.table-action-column>form,
.app table:not(.attendance-matrix) td.actions-cell>form,
.app table:not(.attendance-matrix) td.table-action-column>.actions,
.app table:not(.attendance-matrix) td.table-action-column>.table-actions,
.app table:not(.attendance-matrix) td.table-action-column>.sales-row-actions,
.app table:not(.attendance-matrix) td.table-action-column>.firmware-row-actions,
.app table:not(.attendance-matrix) td.table-action-column>.hr-action-icons,
.app table:not(.attendance-matrix) td.actions-cell>.actions,
.app table:not(.attendance-matrix) td.actions-cell>.table-actions,
.app table:not(.attendance-matrix) td.actions-cell>.sales-row-actions,
.app table:not(.attendance-matrix) td.actions-cell>.firmware-row-actions,
.app table:not(.attendance-matrix) td.actions-cell>.hr-action-icons{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  flex-wrap:nowrap!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
