@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@300;400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:IBM Plex Sans Thai,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172b4d;background:#f5f8fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue:#155eef;--blue-dark:#1246bb;--blue-pale:#eff5ff;--text:#172b4d;--muted:#72809a;--border:#e5ebf3;--white:#fff;--shadow:0 6px 24px rgba(28,55,90,.055)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{color:var(--text)}.hidden{display:none!important}.app-shell{min-height:100vh}.sidebar{width:258px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:23px 15px 15px;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 24px;border-bottom:1px solid #f0f3f8}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#2769f5,#1242b5);display:grid;place-items:center;color:#fff;box-shadow:0 5px 12px #155eef32;flex-shrink:0}.brand strong{font-size:16px;letter-spacing:-.25px;display:block}.brand span{display:block;font-size:11px;color:#8693a8;margin-top:2px}.workspace-label{font-size:10px;letter-spacing:1.5px;color:#a0aaba;font-weight:700;padding:24px 13px 9px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{height:45px;border:0;background:transparent;color:#6b7890;display:flex;align-items:center;gap:12px;text-align:left;padding:0 13px;border-radius:10px;font-size:13px;font-weight:500;transition:.15s}.nav-item span{flex:1}.nav-item small{font-size:10px;color:#7e8ba2;background:#f0f3f8;padding:2px 7px;border-radius:5px}.nav-item:hover{background:#f5f8ff;color:#155eef}.nav-item.active{background:#edf3ff;color:#155eef;font-weight:600}.sidebar-bottom{margin-top:auto}.cloud-status{display:flex;align-items:center;gap:10px;padding:13px 11px;margin-bottom:12px;background:#f7faff;border:1px solid #eaf0f8;border-radius:11px}.cloud-status b,.cloud-status small{display:block}.cloud-status b{font-size:11px}.cloud-status small{font-size:10px;color:#8592a7;margin-top:3px}.online-dot{display:inline-block;width:7px;height:7px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 3px #22c55e1e;flex-shrink:0}.user-mini{border-top:1px solid #edf1f6;padding:15px 4px 0;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#eaf1ff;color:#155eef;border-radius:10px;font-weight:700}.user-meta{min-width:0;flex:1}.user-meta b,.user-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta b{font-size:12px}.user-meta span{font-size:10px;color:#8a96a9;margin-top:2px;max-width:135px}.main-area{margin-left:258px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:85px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:15}.topbar-left{display:flex;align-items:center;gap:12px}.breadcrumb{font-size:10px;color:#97a2b4;display:block;margin-bottom:4px}.breadcrumb span{padding:0 5px;color:#c3cbd7}.topbar h1{font-size:19px;line-height:1.25;margin:0;font-weight:700;letter-spacing:-.3px}.topbar-actions{display:flex;align-items:center;gap:13px}.online-tag{display:flex;align-items:center;gap:8px;color:#63758f;font-size:11px;background:#f7fafc;border:1px solid #e8edf4;border-radius:20px;padding:7px 11px}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#70809a;transition:.15s}.icon-button:hover{background:#f1f5fb;color:#155eef}.content-area{width:100%;max-width:1600px;margin:0 auto;padding:30px 34px 22px;flex:1}.footer{display:flex;justify-content:space-between;gap:16px;padding:14px 34px 22px;color:#9ba6b7;font-size:10px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;color:#7287aa}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}.welcome-row h2{font-size:24px;margin:5px 0;letter-spacing:-.5px}.welcome-row p,.page-toolbar p{font-size:12px;color:#8995a8;margin:0}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:39px;padding:0 14px;border-radius:9px;font-size:12px;font-weight:600;white-space:nowrap;transition:all .15s}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #155eef24}.btn.primary:hover{background:var(--blue-dark)}.btn.secondary{background:#fff;border-color:#dfe7f1;color:#4d5f79}.btn.secondary:hover{background:#f8faff;border-color:#bfcff0;color:#155eef}.btn.ghost{background:transparent;border-color:transparent;color:#667893}.btn.ghost:hover{background:#f4f7fc}.btn.danger-outline{background:#fff;border-color:#f2d4d4;color:#c93a3a}.btn.danger-outline:hover{background:#fff5f5}.btn.full{width:100%}.btn.small{height:32px;padding:0 11px;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:21px}.stat-card{min-width:0;background:#fff;border:1px solid var(--border);border-radius:13px;padding:18px 16px;display:flex;gap:13px;align-items:center;box-shadow:0 2px 6px #1c375a04}.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.stat-icon.blue{background:#edf3ff;color:#2866e9}.stat-icon.green{background:#eaf9f0;color:#19a35b}.stat-icon.orange{background:#fff3e6;color:#e58a1b}.stat-icon.red{background:#fff0f0;color:#e45353}.stat-copy{min-width:0;flex:1}.stat-copy span,.stat-copy small{display:block;color:#8794a8;font-size:10px}.stat-copy strong{display:block;font-size:25px;line-height:1.2;margin:5px 0 3px;letter-spacing:-.5px}.stat-copy small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-spark{color:#b8c5d7;align-self:flex-start}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:18px;margin-bottom:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:13px;padding:20px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.panel-head h3{font-size:14px;margin:0 0 4px}.panel-head p{font-size:10px;color:#93a0b3;margin:0}.text-btn{border:0;background:transparent;color:#155eef;font-size:10px;font-weight:600;display:flex;align-items:center;gap:5px;white-space:nowrap}.text-btn:hover{text-decoration:underline}.job-summary{padding:2px 3px 1px}.job-summary-number{font-size:38px;font-weight:700;letter-spacing:-1px;margin:3px 0 10px}.job-summary-number span{font-size:11px;font-weight:500;color:#8e9aae;letter-spacing:0;margin-left:9px}.summary-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eff2f6;padding:12px 0;font-size:11px}.summary-line span{display:flex;align-items:center;gap:8px;color:#728099}.summary-line b{font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%}.blue-dot{background:#5287fb}.orange-dot{background:#efa23a}.red-dot{background:#e85c5c}.green-dot{background:#22bf70}.job-summary .btn{margin-top:14px}.table-scroll{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.data-table th{background:#f8fafd;color:#8390a4;font-weight:600;font-size:10px;padding:12px 10px;border-top:1px solid #eef1f6;border-bottom:1px solid #e9edf4;white-space:nowrap}.data-table td{padding:12px 10px;border-bottom:1px solid #f0f3f7;color:#465773;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfcff}.data-table th:first-child,.data-table td:first-child{padding-left:14px}.code-cell{font-family:Inter,monospace;font-size:11px;font-weight:700;letter-spacing:.1px;color:#1e56ba;background:#eff5ff;padding:5px 7px;border-radius:5px;display:inline-block;white-space:nowrap}.equipment-name{display:flex;align-items:center;gap:9px;min-width:150px}.equipment-name b{font-size:11px;color:#344762;display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-name span{display:block;font-size:9px;color:#9aa5b5;margin-top:3px}.equipment-avatar{width:31px;height:31px;border-radius:9px;background:#f0f5ff;color:#5580d6;display:grid;place-items:center;flex-shrink:0}.table-type{font-weight:600;color:#4b5d78;white-space:nowrap}.sub-cell{display:block;font-size:9px;color:#9aa5b4;margin-top:3px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:4px 8px;border-radius:6px;font-size:9px;font-weight:600}.pill-green{background:#e8f8ef;color:#1b9553}.pill-blue{background:#edf3ff;color:#2860d4}.pill-orange{background:#fff3e2;color:#c27a13}.pill-red{background:#fff0f0;color:#c83f3f}.pill-gray{background:#f0f2f5;color:#758195}.row-actions{display:flex;gap:3px;justify-content:flex-end}.row-actions button{width:29px;height:29px;border:0;background:transparent;border-radius:7px;color:#8492a6;display:grid;place-items:center}.row-actions button:hover{background:#edf3ff;color:#155eef}.actions-col{text-align:right}.checkbox-col{width:32px}.checkbox-col input,.data-table td input{accent-color:#155eef;width:14px;height:14px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:42px 15px;color:#9ba7b7}.empty svg{color:#bac7d9;margin-bottom:3px}.empty b{font-size:12px;color:#5c6d87;font-weight:600}.empty span{font-size:10px;max-width:310px;line-height:1.6}.page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.page-toolbar h2{margin:0 0 4px;font-size:21px;letter-spacing:-.4px}.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.search-box{height:39px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #e0e7f0;border-radius:9px;background:#fff;flex:1;min-width:200px;color:#8b9ab0}.search-box input{height:100%;outline:0;border:0;background:transparent;width:100%;font-size:11px}.search-box:focus-within{border-color:#8bb0ff;box-shadow:0 0 0 3px #155eef11}.filter-bar select,.field-label select{height:39px;border:1px solid #e0e7f0;border-radius:9px;background:#fff;padding:0 28px 0 11px;font-size:11px;outline:none;max-width:230px}.result-count{white-space:nowrap;color:#8693a7;font-size:10px}.table-panel{padding:0;overflow:hidden}.selection-bar{position:sticky;bottom:12px;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;background:#fff;border:1px solid #dce6f4;box-shadow:0 8px 30px #233e6815;border-radius:12px;margin-top:14px}.selection-bar span{margin-right:auto;font-size:12px;font-weight:600}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:17px;padding:15px 0}.stats-strip div{padding:3px 20px;border-right:1px solid #eef1f6}.stats-strip div:last-child{border-right:0}.stats-strip span,.stats-strip b{display:block}.stats-strip span{font-size:10px;color:#8996a9}.stats-strip b{font-size:22px;margin-top:5px}.audit-note{display:flex;align-items:flex-start;gap:12px;margin-top:16px;background:#f7faff;border-color:#e5edf9;box-shadow:none}.audit-note>svg{color:#386cda;flex-shrink:0}.audit-note b{font-size:12px}.audit-note p{font-size:10px;line-height:1.7;color:#71819b;margin:5px 0 0}.action-type{font-weight:600;color:#425874}.muted-cell{color:#8d9aae!important;white-space:nowrap}.result-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.result-dot.ok{background:#19ab62}.result-dot.fail{background:#e05252}.secure-tag{display:flex;align-items:center;gap:7px;padding:8px 11px;background:#f1f9f5;border:1px solid #e0f2e6;color:#258657;border-radius:8px;font-size:10px;font-weight:600}.scanner-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:18px;align-items:start}.scanner-panel{padding:19px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#f4f7fb;border-radius:11px;gap:4px;margin-bottom:20px}.mode-switch button{height:42px;border:0;background:transparent;border-radius:8px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#7a899e}.mode-switch button.active{background:#fff;color:#155eef;box-shadow:0 2px 6px #203c6c10}.field-label{font-size:11px;font-weight:600;color:#516580;display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field-label select{max-width:none;width:100%}.camera-toolbar{display:flex;justify-content:space-between;align-items:center;margin:8px 0 12px}.camera-toolbar b{display:flex;align-items:center;gap:7px;font-size:12px}.camera-box{height:245px;position:relative;overflow:hidden;border-radius:12px;background:#111b2d;border:1px solid #dfe6f0}.camera-box video{display:block;width:100%;height:100%;object-fit:cover}.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#b6c5da;font-size:11px;text-align:center;padding:15px;background:radial-gradient(ellipse at center,#1e3150,#111b2d)}.camera-placeholder svg{color:#6b95f6}.camera-error{position:absolute;bottom:0;left:0;right:0;background:#9e2f2fdd;color:#fff;font-size:10px;padding:9px 12px}.camera-tip{font-size:10px;color:#8997ab;display:flex;align-items:center;gap:6px;margin:11px 0 20px}.manual-entry{border-top:1px solid #edf1f6;padding-top:17px}.manual-entry .field-label{margin-bottom:8px}.manual-entry form{display:flex;gap:9px}.manual-code-input{display:flex;align-items:center;gap:9px;flex:1;border:1px solid #e0e7f0;border-radius:9px;padding:0 11px;color:#8797af;min-width:0}.manual-code-input input{border:0;outline:0;background:transparent;height:39px;width:100%;min-width:0;font-family:Inter,sans-serif;font-size:12px}.scan-result{display:flex;align-items:center;gap:11px;margin-top:14px;padding:12px;border-radius:10px}.scan-result.success{background:#effaf3;color:#18834a;border:1px solid #d8f2e2}.scan-result.error{background:#fff3f2;color:#bb3737;border:1px solid #f8dedd}.scan-result-icon{display:grid;place-items:center}.scan-result b,.scan-result span{display:block}.scan-result b{font-size:12px}.scan-result span{font-family:Inter,sans-serif;font-size:10px;margin-top:4px}.scanner-side .panel-head{margin-bottom:11px}.count-chip{min-width:25px;text-align:center;padding:5px 7px;background:#eff5ff;color:#155eef;border-radius:6px;font-size:10px;font-weight:700}.scan-worklist{max-height:450px;overflow:auto}.scan-work-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #f0f3f7}.scan-work-row>div{min-width:0}.scan-work-row b,.scan-work-row span{display:block}.scan-work-row b{font-family:Inter,sans-serif;font-size:11px;color:#34557e}.scan-work-row span{font-size:10px;color:#8290a5;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.scan-legend{display:flex;gap:13px;flex-wrap:wrap;border-top:1px solid #edf1f6;padding-top:14px;margin-top:12px}.scan-legend span{display:flex;align-items:center;gap:6px;color:#8592a5;font-size:9px}.jobs-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:18px;align-items:start}.jobs-list-panel{padding:0;overflow:hidden}.jobs-list-panel .panel-head{padding:19px 19px 2px}.jobs-list{max-height:790px;overflow:auto}.job-list-item{display:flex;width:100%;align-items:flex-start;gap:10px;padding:14px 16px;background:#fff;border:0;border-top:1px solid #f0f3f7;text-align:left}.job-list-item:hover{background:#f9fbff}.job-list-item.selected{background:#f1f6ff;box-shadow:inset 3px 0 #155eef}.job-icon{width:34px;height:34px;border-radius:9px;background:#f0f5ff;color:#4a75d3;display:grid;place-items:center;flex-shrink:0}.job-list-copy{min-width:0;flex:1}.job-list-copy>b,.job-list-copy>span{display:block}.job-list-copy>b{font-size:11px;color:#354a67;line-height:1.45}.job-list-copy>span{font-size:9px;color:#8996a9;margin:4px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-chevron{align-self:center;transform:rotate(-90deg);color:#b4c0d0}.job-detail-panel{min-height:380px}.job-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:17px;border-bottom:1px solid #edf1f6}.job-detail-head h2{font-size:18px;margin:5px 0}.job-detail-head p{font-size:10px;color:#8996a8;margin:0}.job-description{font-size:11px;color:#72839b;line-height:1.7;margin:14px 0}.job-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f8fafd;padding:13px;border-radius:10px;margin:16px 0 20px}.job-dates span,.job-dates b{display:block}.job-dates span{font-size:9px;color:#8b98aa}.job-dates b{font-size:11px;margin-top:5px}.panel-head.embedded{margin-bottom:8px}.job-equipment-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f3f7}.je-copy{min-width:0;flex:1}.je-copy b,.je-copy span{display:block}.je-copy b{font-size:11px}.je-copy span{font-size:9px;color:#8694a8;margin-top:4px}.job-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #edf1f6;padding-top:15px;margin-top:18px}.settings-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;align-items:start}.settings-form{padding-top:2px}.stack-form{display:flex;flex-direction:column;gap:13px}.stack-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:#566985}.stack-form input,.stack-form select,.stack-form textarea{width:100%;border:1px solid #dfe6f0;border-radius:8px;background:#fff;padding:10px 11px;outline:0;font-size:12px;font-weight:400;resize:vertical}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:#8bb0ff;box-shadow:0 0 0 3px #155eef12}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;font-size:10px;line-height:1.6}.notice svg{flex-shrink:0;margin-top:1px}.notice.info{background:#f0f6ff;color:#3d67af;border:1px solid #deebff}.notice.warning{background:#fff8e8;color:#986a17;border:1px solid #f7eac3}.notice.error{background:#fff2f1;color:#c04343;border:1px solid #f6dcda}.notice.success{background:#edf9f1;color:#218149;border:1px solid #d7f1e1}.types-list{margin-bottom:14px}.type-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #f0f3f7}.type-icon{width:35px;height:35px;border-radius:9px;background:#f0f5ff;color:#4672cf;display:grid;place-items:center}.type-row>div:nth-child(2){min-width:0;flex:1}.type-row b,.type-row span{display:block}.type-row b{font-size:11px}.type-row>div:nth-child(2) span{font-size:9px;color:#8996a9;margin-top:4px}.active-label{font-size:9px!important;padding:4px 7px;border-radius:5px}.active-label.yes{background:#eaf8f0;color:#248a51}.active-label.no{background:#f2f3f5;color:#8993a3}.code-preview{display:flex;align-items:center;gap:11px;padding:11px 12px;background:#f7faff;border:1px solid #e5edfa;border-radius:9px;color:#3664bb}.code-preview span,.code-preview b{display:block}.code-preview span{font-size:9px;color:#8193af}.code-preview b{font-family:Inter,sans-serif;font-size:16px;margin-top:3px;letter-spacing:.5px}.modal-backdrop{position:fixed;inset:0;background:#172b4d66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:70;display:flex;justify-content:center;align-items:center;padding:18px;overflow:auto}.modal{width:min(100%,515px);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:15px;padding:23px;box-shadow:0 20px 80px #102b5533}.modal-wide{width:min(100%,920px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.modal-head h2{font-size:17px;margin:0}.form-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#f4f7fb;border-radius:9px;margin-bottom:18px}.form-tabs button{border:0;background:transparent;border-radius:7px;height:35px;font-size:11px;color:#7b8aa0;font-weight:600}.form-tabs button.active{background:#fff;color:#155eef;box-shadow:0 2px 6px #243c6210}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:14px;border-top:1px solid #edf1f6}.barcode-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 2px;max-height:55vh;overflow:auto}.barcode-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:110px;padding:9px;border:1px dashed #d4dae5;border-radius:5px;background:#fff;text-align:center;color:#111;break-inside:avoid}.label-title{font-size:10px;font-weight:700;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.label-sub{font-size:8px;color:#444;margin-top:3px}.barcode-label svg{display:block;max-width:100%;height:auto;margin-top:4px}.print-guidance{font-size:11px;margin:0 0 13px}.import-summary{display:flex;gap:15px;padding:11px 12px;background:#f8fafd;border:1px solid #e9eef6;border-radius:8px;margin-bottom:12px;font-size:11px}.green-text{color:#19884b;font-size:10px}.red-text{color:#c83d3d;font-size:10px}.import-preview-table{max-height:50vh;overflow:auto;border:1px solid #edf1f6;border-radius:9px}.import-preview-table th,.import-preview-table td{padding:10px;border-bottom:1px solid #edf1f6;vertical-align:top}.import-preview-table th{position:sticky;top:0;background:#f8fafd}.toast{position:fixed;right:23px;bottom:22px;z-index:100;max-width:min(460px,calc(100vw - 30px));display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:11px;box-shadow:0 12px 36px #1c355824;background:#fff;border:1px solid #e6ecf3;font-size:11px;line-height:1.55;animation:toast-in .18s ease-out}.toast-success>span{color:#1ca05a}.toast-error>span{color:#d54242}.toast button{margin-left:auto;border:0;background:transparent;color:#9aa5b6;display:grid;place-items:center;flex-shrink:0}.spin{animation:spin 1s linear infinite}.mobile-close,.menu-toggle,.mobile-overlay,.auth-mobile-logo{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-shell{min-height:100vh;background:#f7f9fd;display:grid;grid-template-columns:minmax(360px,1fr) minmax(420px,.95fr)}.auth-art{background:radial-gradient(circle at 80% 10%,#366fff 0,transparent 32%),linear-gradient(145deg,#123a92,#174eb9 48%,#0b2b75);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:9vw;position:relative;overflow:hidden}.auth-art:after{content:"";position:absolute;width:580px;height:580px;border:1px solid #ffffff1c;border-radius:50%;right:-220px;bottom:-230px;box-shadow:0 0 0 65px #ffffff08,0 0 0 135px #ffffff06}.brand-mark.large{width:54px;height:54px;border-radius:16px;background:#ffffff20;border:1px solid #ffffff3a;box-shadow:none;margin-bottom:26px}.auth-art .eyebrow{color:#a6c1ff}.auth-art h1{font-size:36px;line-height:1.45;letter-spacing:-1px;margin:18px 0 12px;position:relative;z-index:1}.auth-art>p{font-size:13px;line-height:1.8;color:#d3e0ff;max-width:390px;position:relative;z-index:1}.auth-points{display:flex;flex-direction:column;gap:13px;margin-top:45px;position:relative;z-index:1}.auth-points span{display:flex;align-items:center;gap:10px;color:#e0eaff;font-size:12px}.auth-points svg{color:#89e0b3}.auth-card{width:min(100%,470px);align-self:center;justify-self:center;padding:40px}.auth-card h2{font-size:27px;margin:11px 0 5px;letter-spacing:-.5px}.auth-card>.muted{font-size:12px;color:#8995a8;margin:0 0 28px}.auth-card .eyebrow{color:#7590bc}.auth-links{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px;font-size:11px;color:#8290a4}.auth-links button{border:0;background:transparent;padding:0;color:#155eef;font-size:11px;font-weight:600}.small-note{font-size:10px;text-align:center;color:#a0aaba;line-height:1.7;margin-top:37px}.config-screen,.loading-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f5f8fc}.config-card{width:min(100%,650px);background:#fff;border:1px solid #e1e8f2;border-radius:17px;padding:34px;box-shadow:var(--shadow)}.config-card h1{font-size:24px;margin:19px 0 8px}.config-card p,.config-card li{font-size:12px;line-height:1.8;color:#667891}.config-card ol{padding-left:20px;margin:17px 0}.config-card code{font-size:11px;background:#f1f5fb;border-radius:5px;padding:2px 5px}.loading-screen{display:flex;align-items:center;justify-content:center;gap:12px;color:#6b7c94;font-size:12px}.spinner{width:25px;height:25px;border:3px solid #dce7fa;border-top-color:#155eef;border-radius:50%;animation:spin .75s linear infinite}.recovery-shell{grid-template-columns:1fr}.recovery-card{width:min(100%,440px);justify-self:center}@media(min-width:1500px){.content-area,.topbar{padding-left:42px;padding-right:42px}.stat-card{padding:21px}.stat-copy strong{font-size:29px}}@media(max-width:1250px){.content-area{padding:24px}.topbar{padding:0 24px}.footer{padding-left:24px;padding-right:24px}.sidebar{width:235px}.main-area{margin-left:235px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.panel:first-child{order:1}.dashboard-grid>.panel:last-child{order:0}}@media(max-width:900px){.sidebar{transform:translate(-105%);transition:transform .22s ease;width:270px;box-shadow:none}.sidebar.sidebar-open{transform:translate(0);box-shadow:15px 0 40px #0e27442a}.mobile-overlay{display:block;position:fixed;inset:0;background:#11254070;z-index:25}.mobile-close{display:grid;margin-left:auto}.main-area{margin-left:0}.menu-toggle{display:grid}.topbar{height:74px;padding:0 19px}.content-area{padding:22px 19px}.footer{padding-left:19px;padding-right:19px}.jobs-layout,.scanner-layout,.settings-grid{grid-template-columns:1fr}.jobs-list-panel{max-height:420px}.job-detail-panel{min-height:300px}.auth-shell{grid-template-columns:minmax(0,.8fr) minmax(400px,1fr)}.auth-art{padding:6vw}.auth-art h1{font-size:30px}.auth-card{padding:30px}}@media(max-width:600px){.topbar{height:68px;padding:0 13px}.topbar h1{font-size:16px}.breadcrumb{font-size:9px}.topbar-actions{gap:5px}.online-tag{font-size:0;padding:9px}.online-tag .online-dot{width:7px;height:7px}.content-area{padding:20px 13px}.footer{padding:12px 14px 18px;font-size:9px}.welcome-row{align-items:flex-start;flex-direction:column}.welcome-row h2{font-size:21px}.welcome-row .btn{width:100%}.stats-grid{gap:10px}.stat-card{padding:14px 12px;gap:9px;border-radius:11px}.stat-icon{width:35px;height:35px;border-radius:10px}.stat-icon svg{width:18px}.stat-copy span{font-size:9px}.stat-copy strong{font-size:22px}.stat-copy small{font-size:8px}.stat-spark{display:none}.panel{padding:15px 13px;border-radius:11px}.dashboard-grid{gap:13px}.panel-head h3{font-size:13px}.panel-head p{font-size:9px}.page-toolbar{align-items:flex-start;flex-direction:column}.page-toolbar h2{font-size:20px}.toolbar-actions{width:100%}.toolbar-actions .btn{flex:1;padding:0 9px;font-size:10px}.filter-bar{flex-wrap:wrap;gap:8px}.search-box{flex-basis:100%;min-width:100%}.filter-bar select{flex:1;max-width:none}.result-count{padding-left:5px}.table-panel{padding:0}.data-table th{padding:11px 8px}.data-table td{padding:10px 8px}.stats-strip{grid-template-columns:1fr 1fr}.stats-strip div{padding:10px 13px;border-bottom:1px solid #edf1f6}.stats-strip div:nth-child(2){border-right:0}.stats-strip div:nth-child(3),.stats-strip div:nth-child(4){border-bottom:0}.stats-strip b{font-size:19px}.scanner-panel{padding:14px 12px}.camera-box{height:215px}.mode-switch button{font-size:10px;gap:5px}.manual-entry form{flex-direction:column}.manual-entry form .btn{width:100%}.secure-tag{font-size:9px}.job-detail-head{flex-direction:column}.job-dates{gap:5px;padding:10px}.job-dates b{font-size:10px}.job-actions .btn{flex:1}.settings-grid{gap:13px}.form-row{gap:8px}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;border-radius:16px 16px 0 0;max-height:90vh;padding:20px 16px}.barcode-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:48vh}.import-preview-table{font-size:10px}.modal-actions{position:sticky;bottom:-1px;background:#fff;padding-bottom:4px}.selection-bar{bottom:8px;gap:6px;padding:10px}.selection-bar .btn{font-size:10px;padding:0 8px}.selection-bar span{font-size:10px}.auth-shell{display:flex;align-items:center;justify-content:center;background:#f7f9fd;padding:20px}.auth-art{display:none}.auth-card{padding:25px 0;width:100%;max-width:390px}.auth-card h2{font-size:25px}.auth-mobile-logo{display:flex;align-items:center;gap:10px;margin-bottom:35px}.auth-mobile-logo strong{font-size:14px}.auth-links{font-size:10px}.config-card{padding:25px 20px}.config-card h1{font-size:21px}.toast{right:10px;bottom:10px}.job-list-item{padding:12px 13px}}@media print{@page{size:A4;margin:10mm}body{background:#fff!important}.sidebar,.topbar,.footer,.content-area,.modal-head,.print-guidance,.modal-actions,.toast,.modal-backdrop:not(:has(.barcode-preview-grid)){display:none!important}.modal-backdrop{position:static;display:block!important;background:#fff!important;padding:0!important;-webkit-backdrop-filter:none;backdrop-filter:none}.modal{width:100%;max-height:none;overflow:visible;box-shadow:none;border:0;padding:0}.barcode-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm;max-height:none;overflow:visible;padding:0}.barcode-label{min-height:35mm;border:1px solid #ddd;border-radius:0;padding:3mm;break-inside:avoid}.label-title{font-size:10pt}.label-sub{font-size:8pt}.barcode-label svg{max-width:95%;max-height:20mm}.no-print{display:none!important}}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-top:1px solid #eef1f6;color:#8390a4;font-size:10px}.table-pagination>div{display:flex;align-items:center;gap:10px}.table-pagination b{font-size:10px;color:#5d6f88;font-weight:600}.table-pagination button{height:29px;padding:0 10px;border:1px solid #e0e7f0;border-radius:7px;background:#fff;color:#4f6280;font-size:10px}.table-pagination button:hover:not(:disabled){border-color:#a9c3ff;color:#155eef}.table-pagination button:disabled{opacity:.4;cursor:not-allowed}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:10px;color:var(--text);padding:0 10px;width:auto;min-width:36px;height:36px;background:transparent;font-size:11px;font-weight:600;white-space:nowrap}.theme-toggle:hover{background:var(--blue-pale);color:var(--blue)}.auth-shell{position:relative}.auth-theme-toggle{position:absolute;top:18px;right:18px;z-index:20}:root[data-theme=dark]{color-scheme:dark;--text:#e6edf7;--muted:#9aabc2;--border:#2b3a50;--white:#121d2c;--blue-pale:#15294a;--shadow:0 8px 26px rgba(0,0,0,.22);background:#0b1220;color:#e6edf7}:root[data-theme=dark] body{background:#0b1220;color:#e6edf7}:root[data-theme=dark] .app-shell,:root[data-theme=dark] .main-area,:root[data-theme=dark] .content-area{background:#0b1220;color:#e6edf7}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .panel,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .modal,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .config-card,:root[data-theme=dark] .toast{background:#121d2c;color:#e6edf7;border-color:#2b3a50}:root[data-theme=dark] .brand{border-bottom-color:#28364a}:root[data-theme=dark] .brand strong,:root[data-theme=dark] .topbar h1,:root[data-theme=dark] .panel-head h3,:root[data-theme=dark] .stat-copy strong,:root[data-theme=dark] .welcome-row h2,:root[data-theme=dark] .modal-head h2,:root[data-theme=dark] .equipment-name b,:root[data-theme=dark] .user-meta b,:root[data-theme=dark] .job-list-copy b,:root[data-theme=dark] .je-copy b,:root[data-theme=dark] .type-row b{color:#edf4ff}:root[data-theme=dark] .muted,:root[data-theme=dark] .breadcrumb,:root[data-theme=dark] .brand span,:root[data-theme=dark] .workspace-label,:root[data-theme=dark] .cloud-status small,:root[data-theme=dark] .user-meta span,:root[data-theme=dark] .welcome-row p,:root[data-theme=dark] .page-toolbar p,:root[data-theme=dark] .panel-head p,:root[data-theme=dark] .footer,:root[data-theme=dark] .stat-copy span,:root[data-theme=dark] .stat-copy small,:root[data-theme=dark] .small-note,:root[data-theme=dark] .auth-card>.muted{color:#99a9bf}:root[data-theme=dark] .nav-item{color:#a8b7cc}:root[data-theme=dark] .nav-item:hover,:root[data-theme=dark] .nav-item.active{background:#1b2b43;color:#8eb4ff}:root[data-theme=dark] .nav-item small,:root[data-theme=dark] .avatar,:root[data-theme=dark] .equipment-avatar,:root[data-theme=dark] .type-icon{background:#1b2b43;color:#9bbaff}:root[data-theme=dark] .cloud-status,:root[data-theme=dark] .online-tag,:root[data-theme=dark] .search-box,:root[data-theme=dark] .manual-code-input,:root[data-theme=dark] .camera-placeholder,:root[data-theme=dark] .secure-tag{background:#172538;border-color:#2b3a50;color:#c0cde0}:root[data-theme=dark] .user-mini,:root[data-theme=dark] .summary-line,:root[data-theme=dark] .job-equipment-row,:root[data-theme=dark] .job-list-item,:root[data-theme=dark] .scan-work-row,:root[data-theme=dark] .type-row,:root[data-theme=dark] .table-pagination,:root[data-theme=dark] .modal-actions{border-color:#2b3a50}:root[data-theme=dark] .icon-button{color:#a9b9cf}:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .theme-toggle:hover{background:#1b2b43;color:#9bbcff}:root[data-theme=dark] .btn.secondary,:root[data-theme=dark] .btn.danger-outline,:root[data-theme=dark] .table-pagination button{background:#172538;border-color:#36465d;color:#d0dced}:root[data-theme=dark] .btn.secondary:hover,:root[data-theme=dark] .table-pagination button:hover:not(:disabled){background:#20324b;color:#fff}:root[data-theme=dark] .btn.ghost{color:#bac8da}:root[data-theme=dark] .btn.ghost:hover{background:#1b2b43}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#0d1725;border-color:#34445c;color:#e6edf7}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#71839c}:root[data-theme=dark] .data-table th,:root[data-theme=dark] .import-preview-table th{background:#172538;color:#a9bad0;border-color:#2b3a50}:root[data-theme=dark] .data-table td,:root[data-theme=dark] .import-preview-table td{color:#c6d2e2;border-color:#28364a}:root[data-theme=dark] .data-table tbody tr:hover{background:#172538}:root[data-theme=dark] .code-cell{background:#1c3152;color:#a8c5ff}:root[data-theme=dark] .empty{color:#a5b5cb}:root[data-theme=dark] .empty span{color:#8294ad}:root[data-theme=dark] .camera-box{background:#080e17;border-color:#34445c}:root[data-theme=dark] .mode-switch,:root[data-theme=dark] .form-tabs,:root[data-theme=dark] .import-summary{background:#172538;border-color:#2b3a50}:root[data-theme=dark] .mode-switch button,:root[data-theme=dark] .form-tabs button{color:#9aabc2}:root[data-theme=dark] .mode-switch button.active,:root[data-theme=dark] .form-tabs button.active{background:#243955;color:#b5ceff;box-shadow:none}:root[data-theme=dark] .barcode-preview-grid{background:#0b1220}:root[data-theme=dark] .barcode-label{background:#fff;color:#111;border-color:#5d6878}:root[data-theme=dark] .label-sub{color:#444}:root[data-theme=dark] .form-section,:root[data-theme=dark] .code-preview{background:#172538;border-color:#2b3a50}:root[data-theme=dark] .code-preview b,:root[data-theme=dark] .code-preview span{color:#cfdbed}:root[data-theme=dark] .modal-backdrop{background:#020713b8}:root[data-theme=dark] .auth-shell,:root[data-theme=dark] .config-screen,:root[data-theme=dark] .loading-screen{background:#0b1220;color:#e6edf7}:root[data-theme=dark] .auth-links,:root[data-theme=dark] .auth-links span{color:#a2b2c7}:root[data-theme=dark] .auth-links button,:root[data-theme=dark] .text-btn{color:#8eb4ff}:root[data-theme=dark] .config-card p,:root[data-theme=dark] .config-card li{color:#b1bfd2}:root[data-theme=dark] .config-card code{background:#1b2b43;color:#d7e3f4}:root[data-theme=dark] .spinner{border-color:#27364b;border-top-color:#75a1ff}:root[data-theme=dark] .footer{color:#75869f}@media(max-width:600px){.auth-theme-toggle{top:12px;right:12px}.auth-theme-toggle span{display:none}}@media print{:root[data-theme=dark] body{background:#fff!important;color:#111!important}}:root[data-theme=dark] .modal-actions{background:#121d2c}:root[data-theme=dark] .notice.info{background:#172b43;border-color:#2c4e78;color:#c8dcf6}:root[data-theme=dark] .notice.warning{background:#332819;border-color:#70572e;color:#f2d59a}:root[data-theme=dark] .notice.success{background:#142c24;border-color:#275a43;color:#b8efd0}:root[data-theme=dark] .notice.error{background:#351f26;border-color:#713741;color:#ffc8ce}:root[data-theme=dark] .job-dates,:root[data-theme=dark] .stats-strip div,:root[data-theme=dark] .selection-bar,:root[data-theme=dark] .count-chip{background:#172538;border-color:#2b3a50;color:#c6d5e8}:root[data-theme=dark] .muted-cell,:root[data-theme=dark] .sub-cell{color:#91a3bb}:root[data-theme=dark] .job-chevron{color:#9cafc7}:root[data-theme=dark] .auth-mobile-logo strong{color:#edf4ff}.workspace-company{display:flex;align-items:center;gap:9px;margin:0 4px 11px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--blue-pale);color:var(--blue);min-width:0}.workspace-company>div{min-width:0;flex:1}.workspace-company b,.workspace-company small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-company b{font-size:11px;color:var(--text)}.workspace-company small{font-size:9px;color:var(--muted);margin-top:3px}.company-onboarding-shell{min-height:100vh}.company-onboarding-card{width:min(100%,520px);padding:34px}.company-onboarding-card .brand-mark{margin-bottom:20px}.company-onboarding-card h2{font-size:27px;line-height:1.3;margin:7px 0}.company-onboarding-card .muted{line-height:1.7;margin:0 0 20px}.company-tabs{margin-bottom:18px}.company-settings-panel{margin-bottom:24px}.company-invite-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:var(--blue-pale);border:1px solid var(--border);border-radius:10px}.company-invite-row>div{display:flex;flex-direction:column;gap:5px}.invite-code{font-family:Inter,monospace;font-size:19px;letter-spacing:2px;color:var(--blue)}.settings-subtitle{margin-top:6px}.row-actions .delete-action{color:#c83f3f}.row-actions .delete-action:hover{background:#fff0f0;color:#b91c1c}:root[data-theme=dark] .workspace-company{background:#172538;border-color:#2b3a50;color:#a8c5ff}:root[data-theme=dark] .company-invite-row{background:#172538;border-color:#2b3a50}:root[data-theme=dark] .invite-code{color:#a8c5ff}:root[data-theme=dark] .row-actions .delete-action:hover{background:#351f26;color:#ffc8ce}@media(max-width:600px){.company-onboarding-card{padding:25px 18px}.company-invite-row{align-items:stretch;flex-direction:column}.company-invite-row .btn{width:100%}}.workspace-company.company-switcher{width:calc(100% - 8px);font:inherit;text-align:left;cursor:pointer;color:var(--blue);transition:border-color .15s,background .15s}.workspace-company.company-switcher:hover{border-color:#9bb8f5}.workspace-company.company-switcher>svg:last-child{margin-left:auto;flex-shrink:0}.settings-company-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.company-manager-intro{font-size:12px;line-height:1.75;margin:0 0 17px}.company-manager-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.company-manager-list{display:grid;gap:8px}.company-option{display:flex;align-items:center;gap:12px;width:100%;min-width:0;text-align:left;padding:13px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);transition:border-color .15s,background .15s}.company-option:hover:not(:disabled){border-color:#a8c0f4;background:#f8faff}.company-option.selected{border-color:#9bb8f5;background:var(--blue-pale)}.company-option-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.company-option-copy b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-option-copy small{font-size:10px;color:var(--muted)}.company-switch-arrow{transform:rotate(-90deg);color:var(--muted);flex-shrink:0}.company-current-code{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.invite-code-inline{font-family:Inter,monospace;letter-spacing:1px;margin-left:5px}.company-manager-form{padding-top:4px}.company-modal-message{margin-top:10px}:root[data-theme=dark] .company-option{background:#121d2c;color:#e6edf7;border-color:#2b3a50}:root[data-theme=dark] .company-option:hover:not(:disabled),:root[data-theme=dark] .company-option.selected{background:#172538;border-color:#526f9e}:root[data-theme=dark] .company-option-copy b{color:#edf4ff}@media(max-width:600px){.company-manager-tabs button{font-size:10px;padding:0 3px}.settings-company-actions{align-items:flex-start}.company-current-code{align-items:flex-start;flex-direction:column}}
