:root{--sap-shell:#354a5f;--sap-shell-dark:#243746;--sap-blue:#0a6ed1;--sap-blue-hover:#085caf;--sap-bg:#f5f6f7;--sap-surface:#fff;--sap-border:#d9d9d9;--sap-border-soft:#e5e5e5;--sap-text:#1d2d3e;--sap-muted:#556b7b;--sap-subtle:#6a6d70;--sap-green:#107e3e;--sap-orange:#e9730c;--sap-red:#bb0000;--sap-purple:#925ace;--shadow:0 1px 4px rgba(0,0,0,.12);--navw:248px;--shellh:48px;--radius:4px}*{box-sizing:border-box}html{background:var(--sap-bg);color:var(--sap-text);font:14px/1.45 "72","Segoe UI",Arial,sans-serif}body{margin:0;background:var(--sap-bg);min-height:100vh;color:var(--sap-text)}a{color:var(--sap-blue);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sap-shellbar{position:fixed;inset:0 0 auto 0;height:var(--shellh);z-index:1000;background:var(--sap-shell);color:#fff;display:flex;align-items:center;box-shadow:0 1px 4px #0005}.shell-menu{width:48px;height:48px;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.shell-menu:hover{background:#ffffff14}.shell-brand{display:flex;align-items:center;min-width:0;gap:10px}.shell-brand img{width:30px;height:30px;object-fit:contain;background:#fff;border-radius:3px;padding:2px}.shell-brand strong{font-size:16px;white-space:nowrap}.shell-brand span{font-size:12px;color:#dce8f0;border-left:1px solid #ffffff4a;padding-left:10px;white-space:nowrap}.shell-spacer{flex:1}.shell-search{position:relative;width:min(410px,32vw);margin-right:12px}.shell-search input{width:100%;height:34px;border:1px solid #ffffff55;background:#fff;color:#1d2d3e;border-radius:3px;padding:0 38px 0 12px;outline:none}.shell-search button{position:absolute;right:0;top:0;width:36px;height:34px;border:0;background:transparent;color:#354a5f;cursor:pointer}.shell-status{height:48px;display:flex;align-items:center;gap:8px;padding:0 13px;border-left:1px solid #ffffff22;color:#eaf3f8;font-size:12px}.system-dot{width:8px;height:8px;border-radius:50%;background:#36c56f;box-shadow:0 0 0 3px #36c56f33}.shell-user{position:relative;height:48px;display:flex;align-items:center;gap:9px;padding:0 14px;border-left:1px solid #ffffff22}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#0a6ed1;color:#fff;font-weight:700;border:1px solid #ffffff66}.shell-user-meta{line-height:1.15}.shell-user-meta b{display:block;font-size:12px}.shell-user-meta small{font-size:10px;color:#d5e3ec}.shell-logout{color:#fff;font-size:12px;margin-left:3px}.side-nav{position:fixed;top:var(--shellh);bottom:0;left:0;width:var(--navw);z-index:900;background:#fff;border-right:1px solid #d9d9d9;overflow:auto;padding:8px 0 22px;transition:transform .2s ease}.nav-section-title{padding:14px 16px 6px;color:#6a6d70;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav-link{height:42px;display:flex;align-items:center;gap:12px;padding:0 16px;color:#1d2d3e;border-left:3px solid transparent}.nav-link:hover{background:#f0f7ff}.nav-link.active{background:#eaf4fc;border-left-color:#0a6ed1;color:#0a6ed1;font-weight:700}.nav-icon{width:22px;text-align:center;font-size:16px;color:#4d6d85}.nav-link.active .nav-icon{color:#0a6ed1}.nav-count{margin-left:auto;min-width:22px;padding:1px 6px;text-align:center;border-radius:10px;background:#eef1f4;color:#354a5f;font-size:11px}.main-area{padding-top:var(--shellh);padding-left:var(--navw);min-height:100vh}.content{max-width:1600px;margin:0 auto;padding:20px 24px 72px}.page-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.page-titlebar h1{font-size:24px;line-height:1.25;margin:0 0 3px;font-weight:400}.page-titlebar p{margin:0;color:var(--sap-muted)}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.breadcrumb{font-size:12px;color:#6a6d70;margin-bottom:9px}.breadcrumb a{color:#436b86}.upgrade-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff3cd;border:1px solid #f1c46a;border-left:4px solid #e9730c;padding:12px 14px;margin-bottom:16px;border-radius:3px}.sap-card{background:#fff;border:1px solid var(--sap-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.card-header{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--sap-border-soft)}.card-header h2,.card-header h3{font-size:16px;font-weight:400;margin:0}.card-header p{margin:2px 0 0;color:var(--sap-muted);font-size:12px}.card-body{padding:16px}.card-body.flush{padding:0}.card-footer{padding:10px 16px;border-top:1px solid var(--sap-border-soft);background:#fafafa}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px;margin-bottom:16px}.kpi-card{position:relative;min-height:118px;background:#fff;border:1px solid var(--sap-border);border-radius:4px;padding:14px 15px;box-shadow:var(--shadow);overflow:hidden}.kpi-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent,var(--sap-blue))}.kpi-label{color:#556b7b;font-size:12px}.kpi-number{font-size:30px;line-height:1.2;font-weight:300;margin-top:8px}.kpi-foot{font-size:11px;color:#6a6d70;margin-top:6px}.kpi-card.green{--accent:var(--sap-green)}.kpi-card.orange{--accent:var(--sap-orange)}.kpi-card.red{--accent:var(--sap-red)}.kpi-card.purple{--accent:var(--sap-purple)}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-main-side{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:16px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-tile{min-height:92px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;padding:14px;color:#1d2d3e;display:flex;flex-direction:column;justify-content:space-between}.quick-tile:hover{border-color:#0a6ed1;box-shadow:0 0 0 1px #0a6ed1}.quick-tile .tile-icon{font-size:22px;color:#0a6ed1}.quick-tile b{font-size:13px}.quick-tile small{color:#6a6d70}.sap-btn{min-height:34px;border:1px solid #89919a;background:#fff;color:#1d2d3e;border-radius:3px;padding:6px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:600;white-space:nowrap}.sap-btn:hover{background:#f5f6f7;border-color:#354a5f}.sap-btn.primary{background:#0a6ed1;border-color:#0a6ed1;color:#fff}.sap-btn.primary:hover{background:#085caf;border-color:#085caf}.sap-btn.positive{background:#107e3e;border-color:#107e3e;color:#fff}.sap-btn.negative{background:#fff;border-color:#bb0000;color:#bb0000}.sap-btn.transparent{border-color:transparent;background:transparent;color:#0a6ed1}.sap-btn.small{min-height:28px;padding:4px 9px;font-size:12px}.sap-btn:disabled{opacity:.55;cursor:not-allowed}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar .spacer{flex:1}.search-box{position:relative;min-width:250px}.search-box input{width:100%;height:34px;border:1px solid #89919a;border-radius:3px;padding:0 35px 0 10px;background:#fff}.search-box span{position:absolute;right:10px;top:7px;color:#556b7b}.sap-form{display:grid;gap:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:5px;color:#354a5f}.field label .optional{font-weight:400;color:#6a6d70}.field input,.field select,.field textarea,.sap-input{width:100%;border:1px solid #89919a;background:#fff;color:#1d2d3e;border-radius:2px;padding:8px 10px;outline:none}.field input,.field select,.sap-input{height:36px}.field textarea{min-height:78px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.sap-input:focus{border-color:#0a6ed1;box-shadow:inset 0 0 0 1px #0a6ed1}.field-note{font-size:11px;color:#6a6d70;margin-top:4px}.required{color:#bb0000}.checkbox-row{display:flex;align-items:center;gap:8px;min-height:36px}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.table-wrap{width:100%;overflow:auto}.sap-table{width:100%;border-collapse:collapse;min-width:760px}.sap-table th{height:38px;background:#f7f7f7;border-bottom:1px solid #c4c4c4;color:#354a5f;text-align:left;padding:7px 10px;font-size:12px;font-weight:600;position:sticky;top:0;z-index:2}.sap-table td{border-bottom:1px solid #e5e5e5;padding:9px 10px;vertical-align:top;font-size:13px}.sap-table tbody tr:hover td{background:#f0f7ff}.sap-table .numeric{text-align:right}.object-link{font-weight:600}.mono{font-family:"SFMono-Regular",Consolas,monospace}.subline{display:block;font-size:11px;color:#6a6d70;margin-top:2px}.status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#354a5f}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:#6a6d70}.status.available:before,.status.closed:before,.status.repaired:before,.status.approved:before,.status.found:before{background:#107e3e}.status.issued:before,.status.in_progress:before,.status.open:before,.status.pending:before,.status.warning:before{background:#e9730c}.status.faulty:before,.status.critical:before,.status.rejected:before,.status.missing:before,.status.damaged:before{background:#bb0000}.status.under_repair:before,.status.reserved:before,.status.mismatch:before{background:#0a6ed1}.status.scrapped:before,.status.cancelled:before{background:#6a6d70}.message{border:1px solid;padding:10px 13px;border-radius:3px;margin-bottom:14px;display:flex;gap:10px;align-items:flex-start}.message.success{background:#f1faf4;border-color:#a9d7b8;color:#256f3a}.message.error{background:#fff1f1;border-color:#efb6b6;color:#aa0808}.message.warning{background:#fff8e1;border-color:#f5d288;color:#8d5f00}.message.info{background:#f0f7ff;border-color:#afd5f7;color:#0a5d91}.empty{padding:30px;text-align:center;color:#6a6d70}.alert-list{display:grid}.alert-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #e5e5e5;color:#1d2d3e}.alert-item:last-child{border-bottom:0}.alert-mark{width:10px;height:10px;border-radius:50%;margin-top:5px;background:#0a6ed1}.alert-item.warning .alert-mark{background:#e9730c}.alert-item.critical .alert-mark{background:#bb0000}.alert-item b{display:block;font-size:13px}.alert-item span{display:block;color:#556b7b;font-size:12px;margin-top:2px}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:#c4c4c4}.timeline-item{position:relative;padding:0 0 16px}.timeline-item:before{content:"";position:absolute;left:-20px;top:5px;width:9px;height:9px;border-radius:50%;background:#0a6ed1;border:2px solid #fff;box-shadow:0 0 0 1px #0a6ed1}.timeline-item b{font-size:13px}.timeline-item p{margin:3px 0;color:#556b7b;font-size:12px}.timeline-item time{font-size:11px;color:#6a6d70}.object-header{background:#fff;border:1px solid #d9d9d9;border-radius:4px;box-shadow:var(--shadow);margin-bottom:16px}.object-title{padding:20px 20px 14px;display:flex;justify-content:space-between;gap:20px}.object-title h1{font-size:26px;font-weight:300;margin:0 0 5px}.object-title p{margin:0;color:#556b7b}.object-meta{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));border-top:1px solid #e5e5e5}.object-meta div{padding:11px 16px;border-right:1px solid #e5e5e5}.object-meta div:last-child{border-right:0}.object-meta small{display:block;color:#6a6d70;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.object-meta b{font-size:13px}.tabbar{display:flex;gap:0;border-bottom:1px solid #d9d9d9;background:#fff;padding-left:12px}.tabbar a{padding:11px 14px;color:#354a5f;border-bottom:3px solid transparent}.tabbar a.active{color:#0a6ed1;border-bottom-color:#0a6ed1;font-weight:600}.barcode-card{background:#fff;color:#000;border:1px solid #89919a;padding:14px;text-align:center;max-width:430px}.barcode-svg{width:100%;height:auto;color:#000}.label-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-top:7px}.progress-list{display:grid;gap:12px}.progress-row{display:grid;grid-template-columns:minmax(120px,1fr) 3fr 54px;gap:10px;align-items:center}.progress-row b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar{height:8px;background:#e5e5e5;border-radius:4px;overflow:hidden}.bar span{display:block;height:100%;background:#0a6ed1}.progress-row em{font-style:normal;text-align:right;color:#556b7b;font-size:12px}.summary-strip{display:flex;flex-wrap:wrap;border:1px solid #d9d9d9;background:#fff;margin-bottom:16px}.summary-strip div{padding:10px 16px;border-right:1px solid #e5e5e5;min-width:130px}.summary-strip b{display:block;font-size:18px;font-weight:400}.summary-strip small{color:#6a6d70}.split-actions{display:flex;gap:8px;flex-wrap:wrap}.footer{margin-left:var(--navw);padding:16px 24px 70px;color:#6a6d70;font-size:11px;border-top:1px solid #d9d9d9;background:#f5f6f7;display:flex;justify-content:space-between}.login-page{min-height:100vh;background:#eef2f5;display:grid;place-items:center;padding:24px}.login-window{width:min(980px,100%);display:grid;grid-template-columns:1.2fr .8fr;background:#fff;border:1px solid #c4c4c4;box-shadow:0 12px 30px #0002}.login-hero{background:linear-gradient(145deg,#354a5f,#243746);color:#fff;padding:50px;display:flex;flex-direction:column;justify-content:center}.login-hero img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:4px;padding:6px}.login-hero h1{font-size:34px;font-weight:300;margin:24px 0 8px}.login-hero p{color:#d8e4ec;font-size:16px;max-width:540px}.login-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.login-modules div{border:1px solid #ffffff35;padding:12px}.login-modules b{display:block}.login-modules small{color:#cad9e3}.login-panel{padding:44px 36px;align-self:center}.login-panel h2{font-size:24px;font-weight:300;margin:0 0 5px}.login-panel>p{color:#556b7b;margin:0 0 22px}.mobile-dock{display:none}.scan-box{border:1px dashed #89919a;background:#fafafa;padding:16px;border-radius:4px}.scan-video{width:100%;max-height:280px;background:#111;display:none;margin-top:10px}.import-result{max-height:260px;overflow:auto;background:#fafafa;border:1px solid #d9d9d9;padding:10px;font-family:monospace;font-size:12px}.no-print{}.only-print{display:none}
@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.grid-main-side{grid-template-columns:1fr}.object-meta{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){:root{--navw:0px}.side-nav{transform:translateX(-100%);width:270px;box-shadow:4px 0 18px #0002}.side-nav.open{transform:translateX(0)}.main-area{padding-left:0}.footer{margin-left:0}.shell-search{display:none}.shell-status{display:none}.grid-2,.grid-3{grid-template-columns:1fr}.form-grid,.form-grid.three{grid-template-columns:1fr}.object-meta{grid-template-columns:repeat(2,1fr)}.login-window{grid-template-columns:1fr}.login-hero{padding:30px}.login-panel{padding:30px}.mobile-dock{display:flex;position:fixed;z-index:990;bottom:0;left:0;right:0;height:58px;background:#fff;border-top:1px solid #c4c4c4;box-shadow:0 -2px 8px #0001}.mobile-dock a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#556b7b;font-size:10px}.mobile-dock a span{font-size:18px;line-height:1}.mobile-dock a.active{color:#0a6ed1}.content{padding:16px 14px 76px}.footer{padding-bottom:78px}}
@media(max-width:620px){.shell-brand span,.shell-user-meta{display:none}.shell-user{padding:0 8px}.shell-logout{font-size:0}.shell-logout:after{content:"↪";font-size:18px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-card{min-height:104px}.kpi-number{font-size:26px}.quick-grid{grid-template-columns:1fr 1fr}.page-titlebar{display:block}.page-actions{margin-top:12px}.object-title{display:block}.object-title .page-actions{margin-top:12px}.object-meta{grid-template-columns:1fr 1fr}.object-meta div{border-bottom:1px solid #e5e5e5}.login-modules{grid-template-columns:1fr}.login-hero{display:none}.login-window{max-width:430px}.login-panel{padding:28px 22px}.summary-strip div{flex:1 1 50%}}
@media print{body{background:#fff}.sap-shellbar,.side-nav,.mobile-dock,.footer,.no-print,.page-actions{display:none!important}.main-area{padding:0}.content{padding:0;max-width:none}.only-print{display:block}.sap-card,.object-header{box-shadow:none;border-color:#bbb}.barcode-card{page-break-inside:avoid}.print-label-only>*{display:none!important}.print-label-only .barcode-card{display:block!important;margin:20mm auto;border:1px solid #000}}
.pwa-install-btn{position:fixed;right:18px;bottom:18px;z-index:1200;border:1px solid #0a6ed1;background:#0a6ed1;color:#fff;border-radius:3px;padding:9px 14px;font-weight:700;box-shadow:0 4px 12px #0003;display:none;cursor:pointer}.pwa-install-btn.show{display:inline-flex}.pwa-ios-tip{position:fixed;right:18px;bottom:68px;z-index:1199;max-width:320px;background:#fff;color:#1d2d3e;border:1px solid #89919a;border-radius:4px;padding:12px;box-shadow:0 4px 16px #0003;display:none}.pwa-ios-tip.show{display:block}.pwa-ios-tip button{width:100%;margin-top:8px;border:1px solid #0a6ed1;background:#0a6ed1;color:#fff;border-radius:3px;padding:7px;cursor:pointer}@media(max-width:900px){.pwa-install-btn{bottom:70px;right:12px}.pwa-ios-tip{bottom:120px;right:12px;left:12px;max-width:none}}

/* v20.3 optional mobile asset-photo capture */
.photo-capture-box{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:center;border:1px dashed #89919a;background:#fafafa;border-radius:3px;padding:14px}.photo-capture-copy{display:grid;gap:6px}.photo-capture-copy b{font-size:13px;font-weight:600}.photo-capture-copy span{font-size:12px;color:#556b7b}.photo-capture-copy input[type=file]{height:auto;padding:8px;background:#fff}.asset-photo-preview{display:none;width:100%;height:150px;object-fit:contain;background:#fff;border:1px solid #d9d9d9;border-radius:3px}.asset-photo-preview.show{display:block}.asset-profile-photo{display:block;width:100%;max-height:340px;object-fit:contain;background:#f5f6f7;border:1px solid #d9d9d9;border-radius:3px}.asset-photo-card .card-body{padding:12px}.asset-photo-card .field-note{text-align:center;margin-top:7px}@media(max-width:620px){.photo-capture-box{grid-template-columns:1fr}.asset-photo-preview{height:210px}}


/* v20.4 modern media capture and dual-mode mobile barcode scanner */
.stock-receipt-card{overflow:visible}.serial-entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.serial-input-shell{position:relative}.serial-input-shell input{height:42px;padding-left:42px;font-family:"SFMono-Regular",Consolas,monospace;font-weight:650;letter-spacing:.025em;border-radius:4px}.serial-prefix-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:18px;color:#0a6ed1;z-index:1}.scan-open-btn{min-height:42px;padding-inline:18px}.capture-hints{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.capture-hints span,.upload-rule span{display:inline-flex;align-items:center;gap:5px;border:1px solid #d9e4ec;background:#f4f8fb;color:#3b5870;border-radius:14px;padding:3px 9px;font-size:10px}.capture-hints span:before,.upload-rule span:before{content:"✓";color:#107e3e;font-weight:700}.modern-media-panel{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(320px,1.15fr);gap:18px;border:1px solid #ccd8e1;background:linear-gradient(145deg,#f8fbfd,#fff);border-radius:8px;padding:16px;box-shadow:inset 0 1px 0 #fff}.media-preview-stage{position:relative;min-height:220px;border:1px dashed #91a9bb;border-radius:7px;background:repeating-linear-gradient(45deg,#f4f7f9,#f4f7f9 12px,#f8fafb 12px,#f8fafb 24px);display:grid;place-items:center;overflow:hidden}.media-placeholder{text-align:center;padding:24px;color:#556b7b;display:grid;gap:6px;justify-items:center}.media-placeholder-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#eaf4fc;color:#0a6ed1;font-size:26px}.media-placeholder b{font-size:13px;color:#354a5f}.media-placeholder small{max-width:230px}.asset-photo-preview-modern{display:none;width:100%;height:260px;object-fit:contain;background:#111}.asset-photo-preview-modern.show{display:block}.media-remove{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#bb0000;box-shadow:0 2px 10px #0004;font-size:24px;line-height:1;cursor:pointer}.media-control-area{display:flex;flex-direction:column;justify-content:center}.media-control-area>div:first-child b{font-size:15px;font-weight:600}.media-control-area>div:first-child p{margin:5px 0 15px;color:#556b7b;font-size:12px}.media-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.media-action-card{position:relative;min-height:92px;border:1px solid #b9c7d2;border-radius:7px;background:#fff;padding:14px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.18s ease;box-shadow:0 1px 2px #0000000a}.media-action-card:hover,.media-action-card:focus-within{border-color:#0a6ed1;box-shadow:0 0 0 2px #0a6ed122;transform:translateY(-1px)}.media-action-card input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.media-action-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:#eaf4fc;color:#0a6ed1;font-size:22px;flex:none}.media-action-card.gallery .media-action-icon{background:#eff8f1;color:#107e3e}.media-action-card b,.media-action-card small{display:block}.media-action-card b{font-size:13px}.media-action-card small{font-size:10px;color:#6a6d70;margin-top:3px}.upload-rule{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.scan-modal[hidden]{display:none!important}.scan-modal{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:16px}.scan-modal-backdrop{position:absolute;inset:0;background:rgba(17,31,43,.72);backdrop-filter:blur(3px)}.scan-dialog{position:relative;width:min(720px,100%);max-height:calc(100vh - 28px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 24px 80px #0007;border:1px solid #ffffff55}.scan-dialog-header{display:flex;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid #e5e5e5;background:linear-gradient(135deg,#f7fbff,#fff)}.scan-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#0a6ed1;font-weight:700}.scan-dialog-header h2{font-size:21px;font-weight:400;margin:4px 0 3px}.scan-dialog-header p{margin:0;color:#556b7b;font-size:12px}.scan-close{width:38px;height:38px;border:1px solid #d9d9d9;border-radius:50%;background:#fff;color:#354a5f;font-size:25px;cursor:pointer;flex:none}.scan-dialog-body{padding:18px 22px}.scan-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.scan-option-card{position:relative;min-height:86px;border:1px solid #b9c7d2;border-radius:8px;background:#fff;padding:13px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;cursor:pointer;color:#1d2d3e}.scan-option-card:hover,.scan-option-card:focus-within{border-color:#0a6ed1;box-shadow:0 0 0 2px #0a6ed120}.scan-option-card input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.scan-option-icon{width:44px;height:44px;border-radius:9px;display:grid;place-items:center;background:#eaf4fc;color:#0a6ed1;font-size:24px}.scan-option-card.image .scan-option-icon{background:#eff8f1;color:#107e3e}.scan-option-card b,.scan-option-card small{display:block}.scan-option-card b{font-size:13px}.scan-option-card small{font-size:10px;color:#6a6d70;margin-top:3px}.scan-option-card i{font-style:normal;color:#0a6ed1;font-size:11px;font-weight:700}.scanner-workspace{position:relative;min-height:290px;border-radius:9px;overflow:hidden;background:#101820;border:1px solid #334654}.scanner-idle{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;color:#dbe8f0;padding:28px}.scanner-idle>span{font-size:45px;color:#62b5f5}.scanner-idle b{font-size:15px;margin-top:6px}.scanner-idle small{max-width:430px;color:#9fb4c3;margin-top:5px}.scanner-live-stage,.scanner-image-stage{position:absolute;inset:0}.scanner-live-stage video,.scanner-image-stage img{width:100%;height:100%;min-height:290px;max-height:430px;object-fit:cover;background:#000}.scan-reticle{position:absolute;inset:18% 10%;border:1px solid #ffffff30}.scan-reticle i{position:absolute;width:40px;height:40px;border-color:#46d38a;border-style:solid}.scan-reticle i:nth-child(1){left:-2px;top:-2px;border-width:4px 0 0 4px}.scan-reticle i:nth-child(2){right:-2px;top:-2px;border-width:4px 4px 0 0}.scan-reticle i:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 4px 4px}.scan-reticle i:nth-child(4){right:-2px;bottom:-2px;border-width:0 4px 4px 0}.scan-reticle span{position:absolute;left:3%;right:3%;height:2px;top:10%;background:#46d38a;box-shadow:0 0 10px #46d38a;animation:scanline 1.8s ease-in-out infinite alternate}.image-scan-overlay{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#0a6ed122,transparent);animation:imageSweep 1.5s linear infinite}.scan-feedback{margin-top:12px;border:1px solid #afd5f7;background:#f0f7ff;color:#0a5d91;border-radius:5px;padding:10px 12px;font-size:12px}.scan-feedback.success{border-color:#a9d7b8;background:#f1faf4;color:#256f3a}.scan-feedback.error{border-color:#efb6b6;background:#fff1f1;color:#aa0808}.scan-feedback.scanning{border-color:#f5d288;background:#fff8e1;color:#8d5f00}.scan-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 22px;border-top:1px solid #e5e5e5;background:#fafafa}.scan-modal-open{overflow:hidden}@keyframes scanline{from{top:8%}to{top:90%}}@keyframes imageSweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:760px){.modern-media-panel{grid-template-columns:1fr}.media-preview-stage{min-height:200px}.asset-photo-preview-modern{height:230px}.scan-dialog{max-height:calc(100vh - 12px);border-radius:8px}.scan-dialog-header{padding:16px}.scan-dialog-body{padding:14px}.scan-option-grid{grid-template-columns:1fr}.scanner-workspace{min-height:250px}.scanner-live-stage video,.scanner-image-stage img{min-height:250px}.scan-dialog-footer{position:sticky;bottom:0;padding:11px 14px}.serial-entry-row{grid-template-columns:1fr}.scan-open-btn{width:100%}}
@media(max-width:480px){.media-action-grid{grid-template-columns:1fr}.media-action-card{min-height:76px}.modern-media-panel{padding:12px}.scan-option-card{min-height:74px}.scanner-workspace{min-height:220px}.scanner-live-stage video,.scanner-image-stage img{min-height:220px}.scan-reticle{inset:20% 7%}.scan-dialog-header h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.scan-reticle span,.image-scan-overlay{animation:none}}

/* v20.5 installed-PWA workspace enhancements */
:root{
  --pwa-safe-top:env(safe-area-inset-top,0px);
  --pwa-safe-right:env(safe-area-inset-right,0px);
  --pwa-safe-bottom:env(safe-area-inset-bottom,0px);
  --pwa-safe-left:env(safe-area-inset-left,0px);
  --pwa-dock-height:72px;
  --pwa-shell:#1f3b52;
  --pwa-shell-2:#274c68;
  --pwa-accent:#0a6ed1;
  --pwa-card-radius:14px;
}
html{min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
button,a,input,select,textarea{touch-action:manipulation}
.shell-brand-copy{display:flex;align-items:center;min-width:0}
.shell-view-name{display:none}
.pwa-shell-search-btn{display:none;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer;border-radius:50%}
.pwa-shell-search-btn:active{background:#ffffff1f}
.nav-scrim{display:none;position:fixed;inset:0;z-index:895;border:0;background:rgba(9,24,36,.48);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
body.nav-open .nav-scrim{display:block}
.pwa-search-sheet[hidden]{display:none!important}
.pwa-search-sheet{position:fixed;inset:0;z-index:2600;display:grid;align-items:end}
.pwa-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(8,24,36,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.pwa-search-panel{position:relative;width:100%;background:#fff;border-radius:22px 22px 0 0;padding:8px 18px calc(22px + var(--pwa-safe-bottom));box-shadow:0 -20px 60px #0005;transform:translateY(105%);transition:transform .24s cubic-bezier(.2,.75,.3,1)}
.pwa-search-sheet.open .pwa-search-panel{transform:translateY(0)}
.pwa-sheet-grip{width:42px;height:5px;border-radius:4px;background:#c7d1d8;margin:2px auto 12px}
.pwa-search-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.pwa-search-title>div{display:grid;gap:1px}.pwa-search-title small{color:#607786;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.pwa-search-title b{font-size:19px;font-weight:650}
.pwa-search-title button{width:38px;height:38px;border:1px solid #d5dde3;border-radius:50%;background:#f7f9fa;color:#304b5f;font-size:24px;line-height:1}
.pwa-search-panel form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:2px solid #0a6ed1;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #0a6ed11c}
.pwa-search-panel form>span{padding-left:14px;color:#0a6ed1;font-size:22px}
.pwa-search-panel input{height:52px;border:0;outline:0;padding:0 10px;font-size:16px;min-width:0}
.pwa-search-panel form button{height:52px;border:0;background:#0a6ed1;color:#fff;padding:0 18px;font-weight:700}
.pwa-search-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.pwa-search-shortcuts a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d5e0e8;border-radius:11px;background:#f7fafc;color:#31536b;font-size:12px;font-weight:650}
.pwa-toast-stack{position:fixed;z-index:3200;left:50%;bottom:calc(var(--pwa-dock-height) + var(--pwa-safe-bottom) + 16px);transform:translateX(-50%);width:min(430px,calc(100vw - 26px));display:grid;gap:9px;pointer-events:none}
.pwa-toast{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid #d8e2e9;border-radius:13px;background:rgba(255,255,255,.96);color:#213b4e;box-shadow:0 12px 34px #0004;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transform:translateY(14px);transition:.2s ease;pointer-events:auto}
.pwa-toast.show{opacity:1;transform:translateY(0)}
.pwa-toast .pwa-toast-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eaf4fc;color:#0a6ed1;font-weight:800;flex:none}
.pwa-toast>span{min-width:0;flex:1}.pwa-toast b,.pwa-toast small{display:block}.pwa-toast b{font-size:13px}.pwa-toast small{font-size:11px;color:#5f7483;margin-top:1px}
.pwa-toast button{border:0;background:#eaf4fc;color:#0a6ed1;border-radius:8px;padding:7px 10px;font-weight:700;font-size:11px}
.pwa-toast.offline .pwa-toast-icon{background:#fff3cd;color:#8d5f00}.pwa-toast.success .pwa-toast-icon{background:#ebf7ef;color:#107e3e}
.pwa-connection-bar{display:none;position:fixed;z-index:2500;top:calc(var(--shellh) + var(--pwa-safe-top));left:0;right:0;min-height:32px;padding:7px 14px;background:#fff3cd;border-bottom:1px solid #e3b75a;color:#765300;text-align:center;font-size:11px;font-weight:650}
html.pwa-offline .pwa-connection-bar{display:block}
html.pwa-offline .main-area{padding-top:calc(var(--shellh) + 32px)}
html.pwa-mode .pwa-install-btn,html.pwa-mode .pwa-ios-tip{display:none!important}
html.pwa-mode body{background:#eef3f7;min-height:100dvh;padding-left:var(--pwa-safe-left);padding-right:var(--pwa-safe-right)}
html.pwa-mode .app-shell{min-height:100dvh}
html.pwa-mode .sap-shellbar{height:calc(56px + var(--pwa-safe-top));padding-top:var(--pwa-safe-top);background:linear-gradient(118deg,var(--pwa-shell),var(--pwa-shell-2));box-shadow:0 4px 18px #10283836}
html.pwa-mode .shell-menu{height:56px;width:48px;border-radius:0 0 12px 0}
html.pwa-mode .shell-brand{gap:9px;flex:1}
html.pwa-mode .shell-brand img{width:34px;height:34px;border-radius:9px;padding:3px;box-shadow:0 3px 10px #0002}
html.pwa-mode .shell-brand-copy{display:grid;line-height:1.12}
html.pwa-mode .shell-brand strong{font-size:15px;letter-spacing:.01em}
html.pwa-mode .shell-tagline{display:none}
html.pwa-mode .shell-view-name{display:block;font-size:10px;color:#cfe1ec;border:0;padding:0;margin-top:2px;max-width:43vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.pwa-mode .pwa-shell-search-btn{display:grid;place-items:center}
html.pwa-mode .shell-user{height:56px;border-left:0;padding:0 9px 0 3px}
html.pwa-mode .shell-user .avatar{width:34px;height:34px;border:2px solid #ffffff66;box-shadow:0 2px 8px #0002}
html.pwa-mode .shell-logout{display:none}
html.pwa-mode .side-nav{top:0;height:100dvh;width:min(86vw,330px);padding-top:calc(18px + var(--pwa-safe-top));padding-bottom:calc(24px + var(--pwa-safe-bottom));border-right:0;border-radius:0 20px 20px 0;box-shadow:16px 0 48px #07152166;transform:translateX(-105%);z-index:2700}
html.pwa-mode .side-nav.open{transform:translateX(0)}
html.pwa-mode .nav-scrim{z-index:2650}
html.pwa-mode .nav-section-title{padding:18px 20px 7px;color:#738797;font-size:10px}
html.pwa-mode .nav-link{height:48px;margin:2px 10px;padding:0 12px;border-left:0;border-radius:11px;gap:13px}
html.pwa-mode .nav-link.active{background:#e5f2fc;border-left:0;box-shadow:inset 0 0 0 1px #c9e2f5}
html.pwa-mode .nav-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eef3f6;font-size:16px}
html.pwa-mode .nav-link.active .nav-icon{background:#0a6ed1;color:#fff}
html.pwa-mode .main-area{padding-top:calc(56px + var(--pwa-safe-top));padding-left:0;min-height:100dvh}
html.pwa-mode .content{max-width:none;padding:14px 12px calc(var(--pwa-dock-height) + var(--pwa-safe-bottom) + 32px)}
html.pwa-mode .page-titlebar{margin:2px 2px 13px}
html.pwa-mode .page-titlebar h1{font-size:22px;font-weight:650;letter-spacing:-.015em}
html.pwa-mode .page-titlebar p{font-size:12px}
html.pwa-mode .breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#6e8494}
html.pwa-mode .sap-card{border:1px solid #d7e0e6;border-radius:var(--pwa-card-radius);box-shadow:0 4px 14px rgba(25,57,78,.08);overflow:hidden}
html.pwa-mode .card-header{min-height:52px;padding:11px 14px;background:linear-gradient(180deg,#fff,#fbfcfd)}
html.pwa-mode .card-body{padding:14px}
html.pwa-mode .card-footer{padding-bottom:calc(10px + var(--pwa-safe-bottom))}
html.pwa-mode .kpi-grid{gap:10px}
html.pwa-mode .kpi-card{border-color:#d8e2e9;border-radius:13px;box-shadow:0 3px 12px rgba(25,57,78,.07);padding:13px 13px 12px}
html.pwa-mode .kpi-card:before{width:5px;border-radius:0 5px 5px 0}
html.pwa-mode .quick-tile{border-radius:13px;min-height:100px;border-color:#d7e2e9;box-shadow:0 2px 9px #19394e0d}
html.pwa-mode .quick-tile:active{transform:scale(.985);background:#f5f9fc}
html.pwa-mode .sap-btn{border-radius:10px;min-height:42px;padding:9px 14px}
html.pwa-mode input,html.pwa-mode select,html.pwa-mode textarea{border-radius:10px;min-height:44px;font-size:16px}
html.pwa-mode textarea{min-height:92px}
html.pwa-mode .status{border-radius:999px;padding:4px 9px}
html.pwa-mode .footer{display:none}
html.pwa-mode .message{border-radius:12px;box-shadow:0 3px 12px #00000010}
html.pwa-mode .table-wrap{border:0;border-radius:0}
html.pwa-mode .scan-dialog{border-radius:22px 22px 0 0;border:0;width:100%;max-height:100dvh;align-self:end;box-shadow:0 -18px 60px #0007}
html.pwa-mode .scan-modal{padding:0;align-items:end}
html.pwa-mode .scan-dialog-header{padding:calc(15px + var(--pwa-safe-top)) 17px 13px;background:linear-gradient(145deg,#f2f8fc,#fff)}
html.pwa-mode .scan-dialog-body{padding:15px 14px}
html.pwa-mode .scan-dialog-footer{position:sticky;bottom:0;padding:12px 14px calc(12px + var(--pwa-safe-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html.pwa-mode .scanner-workspace{min-height:min(45dvh,390px);border-radius:14px}
html.pwa-mode .scanner-live-stage video,html.pwa-mode .scanner-image-stage img{min-height:min(45dvh,390px)}
html.pwa-mode .scan-option-card{border-radius:13px;min-height:92px}
html.pwa-mode .modern-media-panel{border-radius:14px;border-color:#d3e0e9;box-shadow:0 4px 14px #19394e0a}
html.pwa-mode .media-preview-stage{border-radius:12px;min-height:240px}
html.pwa-mode .media-action-card{border-radius:12px;min-height:98px}
html.pwa-mode .serial-input-shell input{border-radius:11px}
html.pwa-mode .scan-open-btn{border-radius:11px}
html.pwa-mode .mobile-dock{display:flex;position:fixed;z-index:2400;left:10px;right:10px;bottom:calc(8px + var(--pwa-safe-bottom));height:64px;padding:4px 5px;border:1px solid rgba(196,211,221,.92);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 12px 34px rgba(16,39,56,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
html.pwa-mode .mobile-dock a,html.pwa-mode .mobile-dock button{position:relative;flex:1;min-width:0;border:0;background:transparent;color:#617786;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:10px;border-radius:14px;padding:0;cursor:pointer}
html.pwa-mode .mobile-dock a span,html.pwa-mode .mobile-dock button span{font-size:20px;line-height:1.05}
html.pwa-mode .mobile-dock small{font-size:9px;line-height:1.1;font-weight:650}
html.pwa-mode .mobile-dock a.active{color:#0a6ed1;background:#edf6fd}
html.pwa-mode .mobile-dock .dock-scan{align-self:flex-end;height:72px;margin-top:-18px;overflow:visible;background:transparent!important;color:#fff}
html.pwa-mode .mobile-dock .dock-scan:before{content:"";position:absolute;width:54px;height:54px;top:2px;left:50%;transform:translateX(-50%);border-radius:18px;background:linear-gradient(145deg,#0a78df,#075ba9);box-shadow:0 8px 18px #0a6ed155,0 0 0 5px #eef3f7;z-index:-1}
html.pwa-mode .mobile-dock .dock-scan span{font-size:25px;margin-top:2px}
html.pwa-mode .mobile-dock .dock-scan small{color:#24485f;margin-top:12px}
html.pwa-mode .mobile-dock .dock-scan.active:before{background:linear-gradient(145deg,#075ba9,#063f75)}
html.pwa-mode .mobile-dock a:active,html.pwa-mode .mobile-dock button:active{transform:scale(.94)}
html.pwa-mode .form-actions{position:sticky;z-index:30;bottom:calc(var(--pwa-dock-height) + var(--pwa-safe-bottom) + 2px);margin:18px -14px -14px;padding:10px 14px;background:rgba(255,255,255,.94);border-top:1px solid #dde5ea;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html.pwa-mode .form-actions .sap-btn.primary{min-width:min(100%,240px)}
html.pwa-mode .login-page{min-height:100dvh;padding:calc(18px + var(--pwa-safe-top)) 14px calc(18px + var(--pwa-safe-bottom));background:radial-gradient(circle at 10% 0,#d8ebf8,transparent 42%),linear-gradient(145deg,#eef4f7,#f9fbfc)}
html.pwa-mode .login-window{border-radius:20px;overflow:hidden;box-shadow:0 20px 56px #1735482b}
html.pwa-mode .login-panel{padding:30px 22px calc(28px + var(--pwa-safe-bottom))}
html.pwa-mode .login-panel .sap-btn.primary{width:100%;height:48px}
html.pwa-mode .login-panel input{height:48px}

@media(max-width:900px){
  .pwa-shell-search-btn{display:grid;place-items:center}
  .shell-view-name{display:none}
  .nav-scrim{display:none}
  body.nav-open .nav-scrim{display:block}
}
@media(max-width:680px){
  html.pwa-mode .shell-spacer{display:none}
  html.pwa-mode .shell-brand{min-width:0}
  html.pwa-mode .shell-user-meta{display:none}
  html.pwa-mode .shell-user{margin-left:0}
  html.pwa-mode .content{padding-left:10px;padding-right:10px}
  html.pwa-mode .page-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  html.pwa-mode .page-actions .sap-btn{justify-content:center;text-align:center}
  html.pwa-mode .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  html.pwa-mode .kpi-card{min-height:108px}
  html.pwa-mode .kpi-number{font-size:28px;font-weight:400}
  html.pwa-mode .quick-grid{grid-template-columns:1fr 1fr;gap:9px}
  html.pwa-mode .quick-tile{min-height:108px;padding:12px}
  html.pwa-mode .grid-main-side{display:block}
  html.pwa-mode .modern-media-panel{grid-template-columns:1fr;padding:12px}
  html.pwa-mode .media-action-grid{grid-template-columns:1fr 1fr}
  html.pwa-mode .serial-entry-row{grid-template-columns:1fr}
  html.pwa-mode .scan-open-btn{width:100%}
  html.pwa-mode .scan-option-grid{grid-template-columns:1fr 1fr;gap:8px}
  html.pwa-mode .scan-option-card{grid-template-columns:38px minmax(0,1fr);padding:10px;min-height:84px}
  html.pwa-mode .scan-option-card i{display:none}
  html.pwa-mode .scan-option-icon{width:38px;height:38px;font-size:20px}
  html.pwa-mode .scan-dialog-header h2{font-size:18px}
  html.pwa-mode .scan-dialog-header p{font-size:11px}
  html.pwa-mode .scan-dialog-footer .sap-btn{flex:1}
  html.pwa-mode .pwa-search-panel{padding-left:14px;padding-right:14px}
  html.pwa-mode .pwa-search-shortcuts{gap:6px}
  html.pwa-mode .pwa-search-shortcuts a{font-size:10px}
  html.pwa-mode .sap-table.pwa-card-table{display:block;background:transparent}
  html.pwa-mode .sap-table.pwa-card-table thead{display:none}
  html.pwa-mode .sap-table.pwa-card-table tbody{display:grid;gap:10px;padding:10px;background:#eef3f7}
  html.pwa-mode .sap-table.pwa-card-table tr{display:block;border:1px solid #d6e1e8;border-radius:13px;background:#fff;box-shadow:0 3px 10px #19394e0b;overflow:hidden}
  html.pwa-mode .sap-table.pwa-card-table td{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr);gap:10px;align-items:start;border:0;border-bottom:1px solid #edf0f2;padding:10px 12px;white-space:normal;min-height:40px}
  html.pwa-mode .sap-table.pwa-card-table td:last-child{border-bottom:0}
  html.pwa-mode .sap-table.pwa-card-table td:before{content:attr(data-label);font-size:9px;line-height:1.4;text-transform:uppercase;letter-spacing:.065em;color:#718695;font-weight:750}
  html.pwa-mode .sap-table.pwa-card-table td[colspan]{display:block;text-align:center}
  html.pwa-mode .sap-table.pwa-card-table td[colspan]:before{display:none}
  html.pwa-mode .sap-table.pwa-card-table .subline{white-space:normal}
}
@media(max-width:390px){
  html.pwa-mode .shell-brand strong{font-size:14px}
  html.pwa-mode .shell-view-name{max-width:35vw}
  html.pwa-mode .mobile-dock{left:6px;right:6px}
  html.pwa-mode .mobile-dock small{font-size:8px}
  html.pwa-mode .scan-option-grid{grid-template-columns:1fr}
  html.pwa-mode .page-actions{grid-template-columns:1fr}
}
@media(display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){
  body{padding-top:0}
}
@media(prefers-reduced-motion:reduce){
  .pwa-search-panel,.pwa-toast,.side-nav,.mobile-dock a,.mobile-dock button{transition:none!important;animation:none!important}
}

/* v20.5 compatibility refinements for browser-mobile and desktop PWA */
@media(max-width:900px){
  .mobile-dock button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#556b7b;font-size:10px;border:0;background:#fff;padding:0;cursor:pointer}
  .mobile-dock button span{font-size:18px;line-height:1}
  .mobile-dock small{display:block;font-size:10px;font-weight:400}
}
@media(min-width:901px){
  html.pwa-mode .side-nav{top:calc(56px + var(--pwa-safe-top));bottom:0;height:auto;width:248px;padding:8px 0 22px;border-radius:0;border-right:1px solid #d9d9d9;box-shadow:none;transform:none;z-index:900}
  html.pwa-mode .main-area{padding-left:248px;padding-top:calc(56px + var(--pwa-safe-top))}
  html.pwa-mode .content{max-width:1600px;padding:20px 24px 36px}
  html.pwa-mode .mobile-dock{display:none}
  html.pwa-mode .nav-scrim{display:none!important}
  html.pwa-mode .pwa-shell-search-btn{display:none}
  html.pwa-mode .form-actions{position:static;margin:18px 0 0;padding:12px 0 0;background:transparent;border-top:1px solid #e5e5e5;backdrop-filter:none}
  html.pwa-mode .scan-modal{padding:16px;place-items:center}
  html.pwa-mode .scan-dialog{width:min(760px,100%);max-height:calc(100dvh - 32px);border-radius:18px;align-self:auto}
  html.pwa-mode .scan-dialog-header{padding:20px 22px 16px}
  html.pwa-mode .scan-dialog-footer{padding:13px 22px;bottom:0}
}
html.pwa-mode.pwa-offline .main-area{padding-top:calc(56px + var(--pwa-safe-top) + 32px)}

/* v20.6 deliberate barcode capture, automatic torch and stability confirmation */
.scanner-camera-tools{position:absolute;z-index:8;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}.torch-status,.torch-toggle{min-height:32px;border:1px solid #ffffff45;border-radius:18px;background:rgba(12,26,37,.78);color:#fff;backdrop-filter:blur(8px);box-shadow:0 2px 12px #0004}.torch-status{display:inline-flex;align-items:center;padding:0 11px;font-size:10px;font-weight:700;letter-spacing:.02em}.torch-status.on{background:rgba(116,79,0,.88);border-color:#ffd65a;color:#fff6c2}.torch-toggle{pointer-events:auto;padding:0 13px;font-size:10px;font-weight:700;cursor:pointer}.torch-toggle:hover,.torch-toggle:focus{border-color:#fff;background:#253f53}.scan-ready-overlay[hidden]{display:none!important}.scan-ready-overlay{position:absolute;z-index:7;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;padding:28px;background:rgba(4,16,25,.62);color:#fff;backdrop-filter:blur(2px)}.scan-ready-overlay b{font-size:16px;margin-top:9px}.scan-ready-overlay small{max-width:340px;margin-top:5px;color:#d9e8f2;line-height:1.45}.scan-countdown{width:76px;height:76px;border:3px solid #57d995;border-radius:50%;display:grid;place-items:center;background:#0a1720cc;color:#fff;font-size:32px;font-weight:700;box-shadow:0 0 0 8px #57d99522,0 0 30px #57d99566;animation:scanCountdownPulse .76s ease-in-out infinite}.scan-reticle em{position:absolute;left:10px;right:10px;bottom:18px;text-align:center;color:#fff;font-size:11px;font-style:normal;font-weight:700;text-shadow:0 1px 4px #000;background:rgba(8,25,37,.6);border-radius:12px;padding:5px 8px}.scan-stability{position:absolute;left:8%;right:8%;bottom:5px;height:5px;border-radius:5px;overflow:hidden;background:#ffffff33;box-shadow:0 1px 4px #0005}.scan-stability b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd45d,#47db91);transition:width .16s linear;box-shadow:0 0 8px #47db91}.standalone-scan-stage[hidden]{display:none!important}.standalone-scan-stage{position:relative;min-height:320px;margin-top:16px;border-radius:9px;overflow:hidden;background:#07131c;border:1px solid #334654}.standalone-scan-stage .scan-video{display:block;width:100%;height:min(54vh,480px);min-height:320px;margin:0;object-fit:cover;background:#000}.scan-reticle.standalone{inset:18% 8%}.scan-page-status{margin-top:10px;min-height:20px;font-weight:600;color:#35566d}
@keyframes scanCountdownPulse{0%{transform:scale(.92);opacity:.78}55%{transform:scale(1);opacity:1}100%{transform:scale(.92);opacity:.78}}
@media(max-width:760px){.scanner-camera-tools{top:9px;left:9px;right:9px}.scan-ready-overlay{padding:20px}.scan-countdown{width:68px;height:68px;font-size:28px}.scan-reticle em{font-size:10px}.standalone-scan-stage,.standalone-scan-stage .scan-video{min-height:280px}}
@media(max-width:480px){.torch-status,.torch-toggle{min-height:30px}.torch-status{padding-inline:9px}.torch-toggle{padding-inline:11px}.scan-reticle em{bottom:16px}.scan-stability{bottom:4px}.standalone-scan-stage,.standalone-scan-stage .scan-video{min-height:250px}}
@media(prefers-reduced-motion:reduce){.scan-countdown{animation:none}.scan-stability b{transition:none}}


/* v20.7 installed-PWA auto-hide navigation drawer */
html.pwa-mode body.nav-open{overflow:hidden;touch-action:none}
html.pwa-mode .shell-menu{display:grid;place-items:center;position:relative;flex:0 0 48px}
html.pwa-mode .shell-menu:after{content:"Menu";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);font-size:7px;font-weight:700;letter-spacing:.06em;color:#d8e8f2;opacity:.85}
html.pwa-mode .side-nav{visibility:hidden;pointer-events:none;will-change:transform;overscroll-behavior:contain;transition:transform .22s cubic-bezier(.2,.75,.3,1),visibility 0s linear .22s}
html.pwa-mode .side-nav.open{visibility:visible;pointer-events:auto;transition-delay:0s}
html.pwa-mode .nav-scrim{visibility:hidden;opacity:0;display:block;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
html.pwa-mode body.nav-open .nav-scrim{visibility:visible;opacity:1;pointer-events:auto;display:block!important}
html.pwa-mode .main-area{padding-left:0!important}
@media(min-width:901px){
  html.pwa-mode .side-nav{top:0;bottom:0;height:100dvh;width:min(420px,34vw);max-width:360px;padding-top:calc(18px + var(--pwa-safe-top));padding-bottom:calc(24px + var(--pwa-safe-bottom));border-right:0;border-radius:0 20px 20px 0;box-shadow:16px 0 48px #07152166;transform:translateX(-105%);z-index:2700}
  html.pwa-mode .side-nav.open{transform:translateX(0)}
  html.pwa-mode .main-area{padding-left:0!important;padding-top:calc(56px + var(--pwa-safe-top))}
  html.pwa-mode .content{max-width:1600px;padding:20px 24px 36px}
  html.pwa-mode .nav-scrim{z-index:2650!important}
  html.pwa-mode .pwa-shell-search-btn{display:grid;place-items:center}
  html.pwa-mode .shell-spacer{display:block;flex:1}
}
@media(prefers-reduced-motion:reduce){
  html.pwa-mode .nav-scrim{transition:none!important}
}


/* v20.8 full-screen, responsive PWA, reliable account actions and visible footer */
:root{--pwa-viewport-height:100dvh;--pwa-viewport-width:100vw}
.pwa-nav-account{display:none}
html.pwa-mode,html.pwa-mode body{width:100%;min-width:0;min-height:100%;min-height:100dvh;overflow-x:hidden}
html.pwa-mode body{min-height:var(--pwa-viewport-height,100dvh);overscroll-behavior-y:contain}
html.pwa-mode .app-shell{display:flex;flex-direction:column;width:100%;min-width:0;min-height:var(--pwa-viewport-height,100dvh)}
html.pwa-mode .main-area{flex:1 0 auto;width:100%;min-width:0;min-height:auto!important}
html.pwa-mode .content{width:100%;max-width:1600px;margin-inline:auto;padding-left:clamp(10px,2.1vw,28px);padding-right:clamp(10px,2.1vw,28px)}
html.pwa-mode .footer{display:flex!important;flex:0 0 auto;width:100%;margin-left:0;padding:17px clamp(14px,2.5vw,30px) calc(20px + var(--pwa-safe-bottom));border-top:1px solid #d4dee5;background:linear-gradient(180deg,#eef3f7,#e8eff3);color:#607583;gap:8px 20px;flex-wrap:wrap;align-items:center;justify-content:space-between;position:relative;z-index:1}
html.pwa-mode .footer span{min-width:0;overflow-wrap:anywhere}
html.pwa-mode .side-nav{display:flex;flex-direction:column;max-height:var(--pwa-viewport-height,100dvh);overflow-x:hidden;overflow-y:auto}
html.pwa-mode .pwa-nav-account{display:grid;gap:8px;position:sticky;bottom:0;margin-top:auto;padding:12px 12px calc(12px + var(--pwa-safe-bottom));background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 24%);border-top:1px solid #dbe4ea;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:3}
html.pwa-mode .pwa-nav-user{display:flex;align-items:center;gap:10px;padding:7px 8px 10px;min-width:0}
html.pwa-mode .pwa-nav-user>span:last-child{display:grid;min-width:0;line-height:1.2}
html.pwa-mode .pwa-nav-user b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#233d50}
html.pwa-mode .pwa-nav-user small{color:#6c808e;font-size:10px;margin-top:2px}
html.pwa-mode .pwa-fullscreen-button,html.pwa-mode .pwa-logout-button{width:100%;min-height:50px;border:1px solid #d4e0e7;border-radius:12px;background:#f7fafc;color:#294b62;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:7px 10px;text-align:left;cursor:pointer}
html.pwa-mode .pwa-fullscreen-button>span:first-child,html.pwa-mode .pwa-logout-button>span:first-child{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#e9f3fa;color:#0a6ed1;font-size:17px}
html.pwa-mode .pwa-fullscreen-button span:last-child,html.pwa-mode .pwa-logout-button span:last-child{display:grid;line-height:1.2}
html.pwa-mode .pwa-fullscreen-button b,html.pwa-mode .pwa-logout-button b{font-size:12px}
html.pwa-mode .pwa-fullscreen-button small,html.pwa-mode .pwa-logout-button small{font-size:9px;color:#6c808e;margin-top:2px}
html.pwa-mode .pwa-logout-form{margin:0}
html.pwa-mode .pwa-logout-button{border-color:#efd0d0;background:#fff7f7;color:#9f1717}
html.pwa-mode .pwa-logout-button>span:first-child{background:#fdeaea;color:#b00000}
html.pwa-mode .pwa-fullscreen-button:active,html.pwa-mode .pwa-logout-button:active{transform:scale(.985)}
html.pwa-mode .shell-user{flex:0 0 auto}
html.pwa-mode .shell-user .avatar{cursor:default}
html.pwa-mode .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(155px,100%),1fr))}
html.pwa-mode .quick-grid{grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr))}
html.pwa-mode .grid-3{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
html.pwa-mode .grid-2{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr))}
html.pwa-mode .object-meta{grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr))}
html.pwa-mode .table-wrap,html.pwa-mode .sap-card,html.pwa-mode .card-body{min-width:0;max-width:100%}
html.pwa-mode img,html.pwa-mode video,html.pwa-mode svg{max-width:100%}

@media(max-width:1100px){html.pwa-mode .grid-main-side{grid-template-columns:1fr}}
@media(max-width:900px){
  html.pwa-mode .footer{padding-bottom:calc(var(--pwa-dock-height) + var(--pwa-safe-bottom) + 18px);font-size:10px}
  html.pwa-mode .footer span{flex:1 1 100%;text-align:center}
  html.pwa-mode .mobile-dock{left:50%!important;right:auto!important;transform:translateX(-50%);width:min(720px,calc(100vw - 20px))}
}
@media(min-width:901px){
  html.pwa-mode .footer{padding-bottom:calc(22px + var(--pwa-safe-bottom))}
  html.pwa-mode .content{padding-bottom:32px}
}
@media(max-width:560px){
  html.pwa-mode .sap-shellbar{min-width:0}
  html.pwa-mode .shell-brand{overflow:hidden}
  html.pwa-mode .shell-brand img{width:31px;height:31px}
  html.pwa-mode .shell-view-name{max-width:32vw}
  html.pwa-mode .content{padding-left:9px;padding-right:9px}
  html.pwa-mode .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.pwa-mode .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.pwa-mode .grid-2,html.pwa-mode .grid-3{grid-template-columns:1fr}
  html.pwa-mode .footer{padding-left:12px;padding-right:12px}
}
@media(max-width:390px){
  html.pwa-mode .shell-brand strong{font-size:13px}
  html.pwa-mode .shell-view-name{font-size:9px;max-width:28vw}
  html.pwa-mode .pwa-shell-search-btn{width:40px}
  html.pwa-mode .shell-user{padding-right:5px}
  html.pwa-mode .shell-user .avatar{width:31px;height:31px}
  html.pwa-mode .mobile-dock{width:calc(100vw - 12px);bottom:calc(5px + var(--pwa-safe-bottom))}
  html.pwa-mode .quick-tile{min-height:102px}
}
@media(max-height:560px) and (orientation:landscape){
  html.pwa-mode .sap-shellbar{height:calc(50px + var(--pwa-safe-top))}
  html.pwa-mode .shell-menu,html.pwa-mode .shell-user{height:50px}
  html.pwa-mode .main-area{padding-top:calc(50px + var(--pwa-safe-top))}
  html.pwa-mode .mobile-dock{height:54px;bottom:calc(4px + var(--pwa-safe-bottom))}
  html.pwa-mode .mobile-dock .dock-scan{height:62px;margin-top:-13px}
  html.pwa-mode .content{padding-top:9px}
  html.pwa-mode .side-nav{width:min(72vw,330px)}
}
@media(display-mode:fullscreen){
  html,body{width:100%;height:100%;min-height:100dvh}
  html.pwa-mode .app-shell{min-height:100dvh}
}

/* v20.9 portrait-safe scanner confirmation action */
.scan-modal{z-index:3300}
html.pwa-mode body.scan-modal-open .mobile-dock{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,110%)!important}
html.pwa-mode body.scan-modal-open .pwa-toast-stack{z-index:3400}
html.pwa-mode .scan-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:var(--pwa-viewport-height,100dvh);max-height:var(--pwa-viewport-height,100dvh);overflow:hidden;overscroll-behavior:contain}
html.pwa-mode .scan-dialog-header{min-width:0;flex:0 0 auto}
html.pwa-mode .scan-dialog-body{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:18px;scroll-padding-bottom:96px}
html.pwa-mode .scan-dialog-footer{position:relative!important;bottom:auto!important;z-index:30;display:grid;grid-template-columns:minmax(92px,.72fr) minmax(0,1.28fr);gap:10px;flex:0 0 auto;width:100%;margin:0;padding:11px 14px calc(11px + var(--pwa-safe-bottom));border-top:1px solid #d6e0e7;background:rgba(255,255,255,.98);box-shadow:0 -10px 28px rgba(10,36,54,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
html.pwa-mode .scan-dialog-footer .sap-btn{width:100%;min-width:0;min-height:48px;margin:0;white-space:normal;line-height:1.18;text-align:center;justify-content:center;touch-action:manipulation}
html.pwa-mode #useScannedValue:not(:disabled){background:linear-gradient(145deg,#0878df,#0759a8);border-color:#0759a8;color:#fff;box-shadow:0 7px 18px rgba(10,110,209,.28),0 0 0 3px rgba(10,110,209,.12);animation:detectedActionPulse 1.35s ease-in-out 2}
html.pwa-mode #useScannedValue:disabled{opacity:.55}
html.pwa-mode .scanner-workspace{height:clamp(190px,35svh,360px);min-height:190px;max-height:360px}
html.pwa-mode .scanner-live-stage video,html.pwa-mode .scanner-image-stage img{height:100%;min-height:190px;max-height:360px}
html.pwa-mode .scan-dialog.scan-result-ready .scanner-workspace{height:clamp(170px,27svh,270px);min-height:170px;max-height:270px;transition:height .2s ease,min-height .2s ease}
html.pwa-mode .scan-dialog.scan-result-ready .scan-feedback.success{position:sticky;bottom:0;z-index:4;box-shadow:0 5px 18px rgba(16,62,91,.14)}
@keyframes detectedActionPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}
@media(max-width:520px){
  html.pwa-mode .scan-dialog-header{padding:calc(10px + var(--pwa-safe-top)) 12px 9px;gap:10px}
  html.pwa-mode .scan-dialog-header h2{font-size:17px;line-height:1.2;margin-top:2px}
  html.pwa-mode .scan-dialog-header p{display:none}
  html.pwa-mode .scan-close{width:36px;height:36px}
  html.pwa-mode .scan-dialog-body{padding:10px 10px 14px}
  html.pwa-mode .scan-option-grid{gap:7px;margin-bottom:9px}
  html.pwa-mode .scan-option-card{min-height:70px;padding:8px;gap:8px}
  html.pwa-mode .scan-option-card small{font-size:9px}
  html.pwa-mode .scan-feedback{margin-top:8px;padding:9px 10px;line-height:1.35}
  html.pwa-mode .scan-dialog-footer{grid-template-columns:minmax(82px,.65fr) minmax(0,1.35fr);padding-left:10px;padding-right:10px}
  html.pwa-mode .scan-dialog-footer .sap-btn{font-size:12px;padding-inline:8px}
}
@media(max-width:350px){
  html.pwa-mode .scan-dialog-footer{grid-template-columns:1fr}
  html.pwa-mode .scan-dialog-footer #useScannedValue{order:-1}
  html.pwa-mode .scan-dialog-footer .sap-btn{min-height:46px}
  html.pwa-mode .scanner-workspace{height:190px}
}
@media(max-height:620px) and (orientation:portrait){
  html.pwa-mode .scan-dialog-header{padding-top:calc(7px + var(--pwa-safe-top));padding-bottom:7px}
  html.pwa-mode .scan-kicker{display:none}
  html.pwa-mode .scan-option-card{min-height:62px}
  html.pwa-mode .scanner-workspace,html.pwa-mode .scan-dialog.scan-result-ready .scanner-workspace{height:170px;min-height:170px}
  html.pwa-mode .scanner-live-stage video,html.pwa-mode .scanner-image-stage img{min-height:170px;max-height:170px}
}
@media(min-width:901px){
  html.pwa-mode .scan-dialog{height:auto;max-height:calc(var(--pwa-viewport-height,100dvh) - 32px);grid-template-rows:auto minmax(0,1fr) auto}
  html.pwa-mode .scan-dialog-body{max-height:calc(var(--pwa-viewport-height,100dvh) - 190px)}
  html.pwa-mode .scan-dialog-footer{grid-template-columns:auto auto;justify-content:end;padding:13px 22px}
  html.pwa-mode .scan-dialog-footer .sap-btn{width:auto;min-width:140px}
}
@media(prefers-reduced-motion:reduce){html.pwa-mode #useScannedValue:not(:disabled){animation:none}}


/* v20.10 secure logout controls */
.shell-logout-form{margin:0;display:flex;align-items:center}
.shell-logout{border:0;background:transparent;padding:4px 2px;color:#fff;font-size:12px;margin-left:3px;cursor:pointer;font-family:inherit}
.shell-logout:hover,.shell-logout:focus-visible{text-decoration:underline;outline:none}

/* Asset Care v20.11 independent subdomain access */
.asset-care-role-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:560px}
.status.neutral{background:#eef1f4;color:#445b6e;border-color:#d5dadd}
@media(max-width:760px){
  .asset-care-role-form{min-width:0;display:grid;grid-template-columns:1fr 1fr;width:100%}
  .asset-care-role-form input[name="access_notes"]{grid-column:1/-1;width:100%}
  .asset-care-role-form button{grid-column:1/-1;width:100%;min-height:46px}
  #assetCareUsersTable td:last-child{padding-top:14px}
}

/* Asset Care v20.12 multi-vendor telecom asset workspace */
.multivendor-upgrade{border-left-color:#7b4ea3;background:linear-gradient(90deg,#f7f0ff,#fff)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.portfolio-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:13px;min-height:188px;padding:18px;border:1px solid #d6e0e7;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(31,59,82,.08)}
.portfolio-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#6a7f91}
.portfolio-card.tejas:before{background:#0a6ed1}.portfolio-card.hfcl:before{background:#107e3e}.portfolio-card.ceragon:before{background:#a15c00}
.portfolio-card .portfolio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.portfolio-card h2{font-size:18px;line-height:1.2;margin:0;color:#173548}.portfolio-card p{margin:5px 0 0;color:#5b7080;font-size:12px;line-height:1.45}
.portfolio-card .portfolio-total{display:grid;place-items:center;min-width:54px;height:54px;padding:0 8px;border-radius:12px;background:#eef4f8;color:#173548;font-size:22px;font-weight:800}
.portfolio-card .portfolio-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:auto}
.portfolio-card .portfolio-metrics span{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 5px;border:1px solid #e1e8ed;border-radius:8px;background:#f8fafb;text-align:center}
.portfolio-card .portfolio-metrics b{font-size:16px;color:#1d2d3e}.portfolio-card .portfolio-metrics small{font-size:9px;letter-spacing:.02em;color:#6b7f8d;text-transform:uppercase}
.system-pill{display:inline-flex;align-items:center;max-width:100%;min-height:25px;padding:3px 9px;border:1px solid #c9d6df;border-radius:999px;background:#eef3f7;color:#29475c;font-size:11px;font-weight:750;line-height:1.2;vertical-align:middle}
.system-pill.tejas{border-color:#b7d8f7;background:#eaf4fd;color:#075aab}.system-pill.hfcl{border-color:#b9dfc7;background:#ebf8ef;color:#0b6c35}.system-pill.ceragon{border-color:#f0cfaa;background:#fff4e8;color:#8a4b00}.system-pill.common{border-color:#d9c8eb;background:#f6effd;color:#69418c}.system-pill.other{border-color:#d4dadd;background:#f3f5f6;color:#536672}
.severity-pill{display:inline-flex;align-items:center;min-height:21px;padding:2px 7px;border-radius:999px;border:1px solid transparent;font-size:9px;font-weight:800;letter-spacing:.04em}
.severity-pill.low{background:#edf6ff;color:#075aab;border-color:#c6ddf2}.severity-pill.medium{background:#fff6dc;color:#745100;border-color:#ead08b}.severity-pill.high{background:#fff0e5;color:#9b3e00;border-color:#f0bd99}.severity-pill.critical{background:#ffeaea;color:#a10000;border-color:#edb2b2}
.selected-system-context{display:flex;align-items:center;gap:8px;min-height:42px;margin-top:8px;padding:9px 11px;border:1px dashed #b9c9d4;border-radius:8px;background:#f7fafc;color:#4f6677;font-size:12px}
.selected-system-context.ready{border-style:solid;border-color:#9ec8eb;background:#eef7ff;color:#174b72}
.object-system-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px;color:#566d7d;font-size:12px}
.multivendor-filter{display:grid!important;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(135px,.32fr)) auto auto;align-items:center;gap:8px;width:100%}
.multivendor-filter .search-box{width:100%;min-width:0}
.sap-table .subline .severity-pill{margin-right:4px}
@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-card:last-child{grid-column:1/-1}.multivendor-filter{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(130px,.4fr));}.multivendor-filter select[name="status"]{grid-column:auto}.multivendor-filter .sap-btn{min-height:42px}}
@media(max-width:760px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card:last-child{grid-column:auto}.portfolio-card{min-height:168px;padding:15px}.portfolio-card .portfolio-metrics{gap:5px}.portfolio-card .portfolio-metrics span{padding:7px 3px}.multivendor-filter{grid-template-columns:1fr 1fr}.multivendor-filter .search-box{grid-column:1/-1}.multivendor-filter select[name="status"]{grid-column:1/-1}.multivendor-filter .sap-btn{width:100%}}
@media(max-width:390px){.portfolio-card .portfolio-head{gap:8px}.portfolio-card .portfolio-total{min-width:47px;height:47px;font-size:19px}.portfolio-card .portfolio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.multivendor-filter{grid-template-columns:1fr}.multivendor-filter .search-box,.multivendor-filter select[name="status"]{grid-column:auto}}
html.pwa-mode .portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
html.pwa-mode .portfolio-card{touch-action:manipulation}
.portfolio-card .portfolio-head>div{min-width:0;flex:1}.portfolio-card .portfolio-head b{display:block;font-size:17px;line-height:1.25;color:#173548}.portfolio-card .portfolio-head small{display:block;margin-top:4px;color:#607685;font-size:11px;line-height:1.4}.portfolio-logo{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:11px;background:#eef4f8;color:#173548;font-size:18px;font-weight:850}.portfolio-card.tejas .portfolio-logo{background:#eaf4fd;color:#075aab}.portfolio-card.hfcl .portfolio-logo{background:#ebf8ef;color:#0b6c35}.portfolio-card.ceragon .portfolio-logo{background:#fff4e8;color:#8a4b00}.portfolio-card .portfolio-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}


/* Asset Care v20.13 — in-frame Scan Asset controls */
.scan-lookup-card .card-body{padding:16px}.standalone-scan-stage{display:block;position:relative;isolation:isolate;min-height:clamp(290px,48vh,500px);margin:0;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 38%,#173347 0,#0b1d29 52%,#061019 100%);border:1px solid #314c5f;box-shadow:inset 0 0 0 1px #ffffff0b,0 10px 28px #07131c20}.standalone-scan-stage:before{content:"";position:absolute;z-index:1;inset:13% 8% 19%;border:1px solid #7fc8f533;border-radius:13px;pointer-events:none}.standalone-scan-stage:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,#ffffff08,transparent 35%,#00000028);pointer-events:none}.standalone-scan-stage .scan-video,.standalone-scan-stage .lookup-image-preview{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;background:#000}.lookup-scan-idle[hidden],.scan-frame-primary[hidden],.lookup-image-preview[hidden],.lookup-image-processing[hidden],.standalone-scan-stage .scanner-camera-tools[hidden],.standalone-scan-stage .scan-reticle[hidden]{display:none!important}.lookup-scan-idle{position:absolute;z-index:2;inset:14% 10% 31%;display:grid;place-content:center;justify-items:center;text-align:center;color:#dcecf6;padding:22px;pointer-events:none}.lookup-scan-symbol{font-size:50px;line-height:1;color:#79c8fa;filter:drop-shadow(0 8px 18px #0006)}.lookup-scan-idle b{font-size:16px;margin-top:9px}.lookup-scan-idle small{max-width:380px;margin-top:5px;color:#a8c1d1}.scan-frame-primary{position:absolute;z-index:9;left:50%;bottom:20%;transform:translateX(-50%);width:min(310px,calc(100% - 42px));min-height:58px;border:1px solid #8cd4ff;border-radius:14px;background:linear-gradient(135deg,#0a6ed1,#07589f);color:#fff;box-shadow:0 13px 28px #0007,0 0 0 5px #0a6ed126;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:9px 16px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.scan-frame-primary:hover,.scan-frame-primary:focus-visible{transform:translateX(-50%) translateY(-2px);box-shadow:0 16px 34px #0008,0 0 0 5px #4cb2ff33;filter:brightness(1.06);outline:none}.scan-frame-primary>span{grid-row:1/3;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#ffffff20;font-size:24px}.scan-frame-primary strong{font-size:14px;align-self:end}.scan-frame-primary small{font-size:10px;color:#dceeff;align-self:start}.scan-frame-secondary{position:absolute;z-index:10;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));min-height:42px;border:1px solid #ffffff4f;border-radius:22px;background:rgba(8,25,37,.86);color:#fff;backdrop-filter:blur(10px);box-shadow:0 6px 18px #0005;display:inline-flex;align-items:center;gap:8px;padding:0 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.scan-frame-secondary:hover,.scan-frame-secondary:focus-within{border-color:#7ad0ff;background:rgba(16,54,78,.94);transform:translateY(-1px)}.scan-frame-secondary input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.scan-frame-secondary span{font-size:18px}.scan-frame-secondary b{font-size:11px;white-space:nowrap}.standalone-scan-stage.is-live .scan-frame-secondary{bottom:12px}.standalone-scan-stage.is-live:before,.standalone-scan-stage.is-image:before{display:none}.standalone-scan-stage .scanner-camera-tools{z-index:12}.standalone-scan-stage .scan-ready-overlay{z-index:11}.standalone-scan-stage .scan-reticle{z-index:8}.lookup-image-processing{position:absolute;z-index:8;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;background:rgba(4,16,25,.64);color:#fff;backdrop-filter:blur(2px)}.lookup-image-processing span{width:44px;height:44px;border:4px solid #ffffff42;border-top-color:#55d990;border-radius:50%;animation:lookupSpin .8s linear infinite}.lookup-image-processing b{font-size:13px}.scan-page-status{margin-top:12px;min-height:42px}.scan-manual-form{margin-top:14px;padding-top:14px;border-top:1px solid #e5e5e5}.scan-manual-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.scan-manual-row input{min-width:0}@keyframes lookupSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.scan-lookup-card .card-body{padding:12px}.standalone-scan-stage{min-height:clamp(300px,52svh,480px);border-radius:13px}.lookup-scan-idle{inset:12% 8% 34%}.scan-frame-primary{bottom:19%;min-height:60px}.scan-frame-secondary{right:10px;bottom:10px}.scan-manual-row{grid-template-columns:1fr}.scan-manual-row .sap-btn{width:100%;min-height:44px}}
@media(max-width:420px){.standalone-scan-stage{min-height:clamp(310px,55svh,460px)}.standalone-scan-stage:before{inset:12% 5% 22%}.lookup-scan-idle{inset:10% 6% 37%;padding:14px}.lookup-scan-symbol{font-size:42px}.lookup-scan-idle b{font-size:14px}.lookup-scan-idle small{font-size:10px}.scan-frame-primary{bottom:20%;width:calc(100% - 28px);min-height:56px;border-radius:12px;padding-inline:12px}.scan-frame-secondary{left:50%;right:auto;transform:translateX(-50%);bottom:9px;min-height:40px}.scan-frame-secondary:hover,.scan-frame-secondary:focus-within{transform:translateX(-50%) translateY(-1px)}.standalone-scan-stage.is-live .scan-frame-secondary{left:auto;right:9px;transform:none;padding-inline:11px}.standalone-scan-stage.is-live .scan-frame-secondary:hover,.standalone-scan-stage.is-live .scan-frame-secondary:focus-within{transform:translateY(-1px)}.standalone-scan-stage.is-live .scan-frame-secondary b{font-size:0}.standalone-scan-stage.is-live .scan-frame-secondary b:after{content:"Image";font-size:10px}.scan-reticle.standalone{inset:19% 5% 18%}}
@media(max-height:620px) and (orientation:landscape){.standalone-scan-stage{min-height:300px;height:calc(100svh - 190px);max-height:390px}.lookup-scan-idle{inset:10% 10% 36%}.scan-frame-primary{bottom:20%}.scan-frame-secondary{bottom:9px}.scan-reticle.standalone{inset:18% 7% 19%}}
html.pwa-mode .standalone-scan-stage{min-height:clamp(300px,calc(var(--app-vh,1vh)*52),520px);margin-inline:0}html.pwa-mode .scan-frame-primary,html.pwa-mode .scan-frame-secondary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html.pwa-mode .scan-frame-primary{min-height:60px}html.pwa-mode .scan-frame-secondary{min-height:44px}

/* Asset Care v20.14 — Create Stock Receipt scanner actions inside camera frame */
.stock-scan-stage{isolation:isolate;min-height:clamp(290px,46vh,450px);background:radial-gradient(circle at 50% 38%,#173347 0,#0b1d29 52%,#061019 100%);border-color:#314c5f;box-shadow:inset 0 0 0 1px #ffffff0b,0 10px 28px #07131c20}
.stock-scan-stage:before{content:"";position:absolute;z-index:2;inset:13% 8% 20%;border:1px solid #7fc8f53d;border-radius:13px;pointer-events:none}
.stock-scan-stage:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,#ffffff08,transparent 35%,#00000028);pointer-events:none}
.stock-scan-stage .scanner-idle{z-index:3;inset:12% 8% 35%;pointer-events:none}
.stock-scan-stage .scanner-live-stage,.stock-scan-stage .scanner-image-stage{z-index:1}
.stock-scan-stage .scanner-live-stage video,.stock-scan-stage .scanner-image-stage img{height:100%;min-height:clamp(290px,46vh,450px);max-height:none}
.stock-scan-primary{position:absolute;z-index:15;left:50%;bottom:20%;transform:translateX(-50%);width:min(320px,calc(100% - 42px));min-height:60px;border:1px solid #8cd4ff;border-radius:14px;background:linear-gradient(135deg,#0a6ed1,#07589f);color:#fff;box-shadow:0 13px 28px #0007,0 0 0 5px #0a6ed126;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:9px 16px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.stock-scan-primary:hover,.stock-scan-primary:focus-visible{transform:translateX(-50%) translateY(-2px);box-shadow:0 16px 34px #0008,0 0 0 5px #4cb2ff33;outline:none}
.stock-scan-primary>span{grid-row:1/3;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#ffffff20;font-size:24px}
.stock-scan-primary strong{font-size:14px;align-self:end}.stock-scan-primary small{font-size:10px;color:#dceeff;align-self:start}
.stock-scan-primary[hidden]{display:none!important}
.stock-scan-secondary{position:absolute;z-index:16;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));min-height:44px;border:1px solid #ffffff55;border-radius:24px;background:rgba(8,25,37,.88);color:#fff;backdrop-filter:blur(10px);box-shadow:0 6px 18px #0005;display:inline-flex;align-items:center;gap:8px;padding:0 14px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.stock-scan-secondary:hover,.stock-scan-secondary:focus-within{border-color:#7ad0ff;background:rgba(16,54,78,.95)}
.stock-scan-secondary input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.stock-scan-secondary span{font-size:18px}.stock-scan-secondary b{font-size:11px;white-space:nowrap}
.stock-scan-secondary.compact{padding-inline:11px}.stock-scan-secondary.compact b{font-size:0}.stock-scan-secondary.compact b:after{content:"Image";font-size:10px}
.stock-scan-stage.is-live:before,.stock-scan-stage.is-image:before{display:none}.stock-scan-stage .scanner-camera-tools{z-index:18}.stock-scan-stage .scan-ready-overlay{z-index:17}.stock-scan-stage .scan-reticle{z-index:12}
@media(max-width:760px){.stock-scan-stage{min-height:clamp(300px,52svh,470px)}.stock-scan-stage .scanner-live-stage video,.stock-scan-stage .scanner-image-stage img{min-height:clamp(300px,52svh,470px)}.stock-scan-primary{bottom:20%;min-height:60px}.stock-scan-secondary{right:10px;bottom:10px}}
@media(max-width:420px){.stock-scan-stage{min-height:clamp(310px,55svh,455px)}.stock-scan-stage:before{inset:12% 5% 23%}.stock-scan-stage .scanner-idle{inset:10% 6% 39%;padding:14px}.stock-scan-primary{bottom:21%;width:calc(100% - 28px);min-height:57px;border-radius:12px;padding-inline:12px}.stock-scan-secondary{left:50%;right:auto;transform:translateX(-50%);bottom:9px;min-height:42px}.stock-scan-secondary:hover,.stock-scan-secondary:focus-within{transform:translateX(-50%)}.stock-scan-secondary.compact{left:auto;right:9px;transform:none}.stock-scan-stage .scan-reticle{inset:19% 5% 18%}}
@media(max-height:620px) and (orientation:landscape){.stock-scan-stage{height:calc(100svh - 190px);min-height:280px;max-height:390px}.stock-scan-stage .scanner-live-stage video,.stock-scan-stage .scanner-image-stage img{min-height:280px;height:100%}.stock-scan-primary{bottom:20%}.stock-scan-secondary{bottom:9px}}
html.pwa-mode .stock-scan-stage{height:clamp(280px,calc(var(--app-vh,1vh)*52),500px);min-height:280px;max-height:500px}html.pwa-mode .stock-scan-stage .scanner-live-stage video,html.pwa-mode .stock-scan-stage .scanner-image-stage img{height:100%;min-height:280px;max-height:500px}


/* Asset Care v20.15 — vibrant, interactive barcode detection experience */
.stock-capture-success[hidden],.detected-code-card[hidden]{display:none!important}
.stock-capture-success{position:absolute;z-index:26;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;color:#fff;background:radial-gradient(circle at 50% 45%,rgba(38,220,147,.36),rgba(5,30,44,.76) 50%,rgba(2,13,22,.9));backdrop-filter:blur(3px);pointer-events:none;overflow:hidden;animation:captureSuccessReveal .34s cubic-bezier(.18,.82,.3,1)}
.stock-capture-success:before,.stock-capture-success:after{content:"";position:absolute;width:145%;height:2px;left:-22%;top:50%;background:linear-gradient(90deg,transparent,#48e9b5,#56b9ff,#bd77ff,transparent);box-shadow:0 0 26px #50e1c5;animation:captureSuccessSweep 1.3s ease-out both}
.stock-capture-success:after{transform:rotate(90deg);animation-delay:.12s}
.capture-success-orbit{position:relative;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#16b978,#0a75d8);box-shadow:0 0 0 8px rgba(87,227,184,.13),0 0 0 17px rgba(79,170,255,.09),0 18px 50px rgba(0,0,0,.42);animation:captureSuccessPop .62s cubic-bezier(.16,1.2,.3,1)}
.capture-success-orbit:before{content:"";position:absolute;inset:-8px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,#50f2ba,#5ec5ff,#c775ff,#50f2ba);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:captureOrbitSpin 1.6s linear infinite}
.capture-success-orbit span{font-size:54px;line-height:1;font-weight:900;text-shadow:0 4px 18px rgba(0,0,0,.26)}
.capture-success-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 14px #fff;animation:captureSpark .9s ease-out both}.capture-success-orbit i:nth-of-type(1){left:-22px;top:22px}.capture-success-orbit i:nth-of-type(2){right:-20px;top:12px;animation-delay:.08s}.capture-success-orbit i:nth-of-type(3){left:5px;bottom:-22px;animation-delay:.14s}.capture-success-orbit i:nth-of-type(4){right:0;bottom:-20px;animation-delay:.2s}
.stock-capture-success>b{font-size:19px;margin-top:18px;letter-spacing:.02em;text-shadow:0 3px 16px #000}.stock-capture-success>small{font-size:11px;margin-top:4px;color:#d8fff1;letter-spacing:.06em;text-transform:uppercase}
.stock-capture-success.settled{background:radial-gradient(circle at 50% 45%,rgba(25,177,118,.25),rgba(4,24,36,.86) 62%,rgba(2,13,22,.94));transition:background .35s ease}.stock-capture-success.settled:before,.stock-capture-success.settled:after{opacity:0;transition:opacity .3s ease}
.detected-code-card{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-top:12px;padding:15px 16px;border-radius:16px;border:1px solid rgba(52,185,255,.45);background:linear-gradient(125deg,#ecfbff 0%,#effff7 45%,#f8f1ff 100%);box-shadow:0 13px 32px rgba(22,89,125,.16),inset 0 1px 0 #fff;overflow:hidden}
.detected-code-card:before{content:"";position:absolute;z-index:-2;inset:-2px;background:conic-gradient(from 90deg,#28d39b,#38a9ff,#a85af5,#ffb239,#28d39b);animation:detectedBorderFlow 3s linear infinite}
.detected-code-card:after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:14px;background:linear-gradient(125deg,rgba(236,251,255,.97),rgba(239,255,247,.97) 45%,rgba(248,241,255,.97))}
.detected-code-card.celebrate{animation:detectedCardArrival .52s cubic-bezier(.16,1,.3,1)}
.detected-success-mark{position:relative;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#18b978,#0874d6);color:#fff;box-shadow:0 10px 22px rgba(10,111,169,.27),0 0 0 5px rgba(26,184,123,.1)}
.detected-success-mark span{font-size:30px;font-weight:900}.detected-success-mark i{position:absolute;inset:-6px;border:2px solid rgba(35,203,148,.38);border-radius:22px;animation:detectedMarkPulse 1.45s ease-in-out infinite}
.detected-code-copy{min-width:0}.detected-eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#08755f;margin-bottom:4px}.detected-code-copy strong{display:block;font:800 clamp(18px,4vw,30px)/1.14 "SFMono-Regular",Consolas,monospace;color:#092f46;letter-spacing:.025em;overflow-wrap:anywhere;text-shadow:0 1px 0 #fff}
.detected-code-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.detected-code-meta>span{display:inline-flex;align-items:center;gap:5px;min-height:24px;border-radius:999px;padding:3px 9px;font-size:9px;font-weight:800;letter-spacing:.045em;background:rgba(8,110,209,.09);color:#075b9e;border:1px solid rgba(8,110,209,.15)}.detected-code-meta .stable-detection{background:rgba(19,167,105,.1);color:#087748;border-color:rgba(19,167,105,.18)}.stable-detection i{width:7px;height:7px;border-radius:50%;background:#18b978;box-shadow:0 0 0 4px rgba(24,185,120,.12);animation:stableDotPulse 1.2s ease-in-out infinite}
.detected-code-tools{display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:7px}.detected-code-tools button{min-height:48px;border:1px solid rgba(8,110,209,.2);border-radius:12px;background:rgba(255,255,255,.72);color:#0b5f9f;display:grid;place-items:center;align-content:center;gap:1px;padding:5px 9px;cursor:pointer;box-shadow:0 5px 13px rgba(26,87,120,.08);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.detected-code-tools button:hover,.detected-code-tools button:focus-visible{background:#fff;border-color:#0a6ed1;transform:translateY(-1px);outline:none}.detected-code-tools button span{font-size:17px}.detected-code-tools button b{font-size:9px;white-space:nowrap}.detected-code-tools button.copied{border-color:#13a769;background:#eafff4;color:#087748;animation:copiedBounce .35s ease}
.scan-dialog.scan-result-ready .scan-feedback.success{background:linear-gradient(90deg,#ebfff5,#eaf8ff);border-color:#87dfbc;color:#087748;font-weight:700}
.scan-dialog.scan-result-ready .scan-dialog-footer{background:linear-gradient(180deg,#fff,rgba(232,250,255,.97));box-shadow:0 -12px 30px rgba(23,86,120,.11)}
.detected-use-action:not(:disabled){position:relative;overflow:hidden;background:linear-gradient(110deg,#0874d6,#16a979 58%,#0a6ed1);background-size:180% 100%;border-color:#0874d6;box-shadow:0 9px 22px rgba(8,110,209,.28),0 0 0 4px rgba(19,167,105,.1);animation:detectedUseGlow 2.1s ease-in-out infinite}
.detected-use-action:not(:disabled):before{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);animation:detectedUseShine 1.8s ease-in-out infinite}.detected-use-action>*{position:relative;z-index:1}.detected-use-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.18);font-weight:900}
@keyframes captureSuccessReveal{from{opacity:0}to{opacity:1}}@keyframes captureSuccessPop{0%{transform:scale(.45) rotate(-16deg);opacity:0}75%{transform:scale(1.08) rotate(3deg)}100%{transform:scale(1) rotate(0)}}@keyframes captureOrbitSpin{to{transform:rotate(360deg)}}@keyframes captureSpark{0%{transform:translate(0,0) scale(.2);opacity:0}40%{opacity:1}100%{transform:translate(var(--spark-x,8px),var(--spark-y,-12px)) scale(1.4);opacity:0}}@keyframes captureSuccessSweep{0%{transform:translateY(-110px) rotate(-8deg);opacity:0}35%{opacity:1}100%{transform:translateY(120px) rotate(8deg);opacity:0}}@keyframes detectedBorderFlow{to{transform:rotate(360deg)}}@keyframes detectedCardArrival{0%{opacity:0;transform:translateY(16px) scale(.96)}100%{opacity:1;transform:none}}@keyframes detectedMarkPulse{0%,100%{transform:scale(.96);opacity:.45}50%{transform:scale(1.1);opacity:.9}}@keyframes stableDotPulse{0%,100%{transform:scale(.9)}50%{transform:scale(1.25)}}@keyframes copiedBounce{50%{transform:scale(1.04)}}@keyframes detectedUseGlow{0%,100%{background-position:0 0;transform:translateY(0)}50%{background-position:100% 0;transform:translateY(-1px)}}@keyframes detectedUseShine{0%,35%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}
@media(max-width:680px){.detected-code-card{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:13px}.detected-success-mark{width:50px;height:50px;border-radius:15px}.detected-code-copy strong{font-size:clamp(17px,5.5vw,25px)}.detected-code-tools{grid-column:1/-1;grid-template-columns:1fr 1fr}.detected-code-tools button{min-height:42px;display:flex;flex-direction:row;gap:7px}.scan-dialog.scan-result-ready .scan-dialog-body{padding-bottom:8px}}
@media(max-width:390px){.detected-code-card{grid-template-columns:1fr;text-align:center}.detected-success-mark{margin:auto}.detected-code-meta{justify-content:center}.detected-code-tools{grid-column:auto}.detected-code-tools button{justify-content:center}.stock-capture-success>b{font-size:17px}.capture-success-orbit{width:90px;height:90px}.capture-success-orbit span{font-size:46px}}
@media(max-height:620px) and (orientation:landscape){.stock-capture-success .capture-success-orbit{width:74px;height:74px}.capture-success-orbit span{font-size:38px}.stock-capture-success>b{font-size:15px;margin-top:8px}.stock-capture-success>small{font-size:9px}.detected-code-card{padding:10px 12px}.detected-success-mark{width:44px;height:44px}.detected-code-copy strong{font-size:18px}.detected-code-tools button{min-height:40px}}
@media(prefers-reduced-motion:reduce){.stock-capture-success,.stock-capture-success:before,.stock-capture-success:after,.capture-success-orbit,.capture-success-orbit:before,.capture-success-orbit i,.detected-code-card,.detected-code-card:before,.detected-success-mark i,.stable-detection i,.detected-use-action:not(:disabled),.detected-use-action:not(:disabled):before{animation:none!important}}

.camera-diagnostic-link{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;font-weight:800;color:#0a6ed1;text-decoration:none;min-height:42px;padding:8px 12px;border:1px solid #8dbce9;border-radius:10px;background:#f3f9ff}.camera-diagnostic-link:active{transform:scale(.98)}
/* Asset Care v20.22 explicit rear-camera selection */
.camera-switch{pointer-events:auto;min-height:32px;border:1px solid #74cfff;border-radius:18px;background:rgba(7,88,159,.9);color:#fff;padding:0 13px;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 2px 12px #0004;backdrop-filter:blur(8px)}
.camera-switch:hover,.camera-switch:focus-visible{background:#0a6ed1;border-color:#fff;outline:none}
.scanner-camera-tools{justify-content:flex-start;flex-wrap:wrap}.scanner-camera-tools .torch-status{margin-right:auto}
@media(max-width:480px){.camera-switch{min-height:30px;padding-inline:10px}.scanner-camera-tools{gap:6px}.scanner-camera-tools .torch-status{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Asset Care v20.26 — adaptive PWA workspace enhancements */
.pwa-alert-button,.pwa-fab{display:none}
.pwa-alert-sheet[hidden],.pwa-fab-menu[hidden]{display:none!important}
.pwa-alert-sheet{position:fixed;inset:0;z-index:2620;display:grid;align-items:end}
.pwa-alert-panel{position:relative;width:100%;max-height:min(82dvh,720px);overflow:auto;background:#fff;border-radius:24px 24px 0 0;padding:8px 16px calc(22px + var(--pwa-safe-bottom,0px));box-shadow:0 -22px 65px #07152166;transform:translateY(105%);transition:transform .24s cubic-bezier(.2,.75,.3,1)}
.pwa-alert-sheet.open .pwa-alert-panel{transform:translateY(0)}
.pwa-alert-summary{display:flex;align-items:center;gap:12px;padding:12px 13px;margin-bottom:12px;border:1px solid #dbe5eb;border-radius:15px;background:linear-gradient(135deg,#f8fbfd,#eef6fa)}
.pwa-alert-summary>span{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;font-size:20px;font-weight:850;background:#e8f7ee;color:#107e3e}
.pwa-alert-summary>span.has-alerts{background:#fff0e4;color:#b24c00}
.pwa-alert-summary>div{display:grid;gap:2px;min-width:0}.pwa-alert-summary b{font-size:14px}.pwa-alert-summary small{color:#687d8c;font-size:10px}
.pwa-alert-list{display:grid;gap:8px}.pwa-alert-entry{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #dce5eb;border-radius:13px;background:#fff;color:#1d2d3e;box-shadow:0 3px 11px #18374c0d}
.pwa-alert-entry>i{width:9px;height:9px;border-radius:50%;background:#e9730c;box-shadow:0 0 0 5px #e9730c18}.pwa-alert-entry.critical>i,.pwa-alert-entry.error>i{background:#bb0000;box-shadow:0 0 0 5px #bb000018}.pwa-alert-entry.info>i{background:#0a6ed1;box-shadow:0 0 0 5px #0a6ed118}.pwa-alert-entry span{display:grid;gap:2px;min-width:0}.pwa-alert-entry b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-alert-entry small{font-size:10px;color:#667b89;line-height:1.35}.pwa-alert-entry em{font-style:normal;font-size:22px;color:#7c909d}.pwa-alert-entry:active{transform:scale(.99);background:#f5f9fc}
.pwa-alert-empty{display:grid;justify-items:center;text-align:center;padding:28px 16px;color:#637887}.pwa-alert-empty span{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:#e8f8ee;color:#107e3e;font-size:30px;margin-bottom:10px}.pwa-alert-empty b{color:#233d50}.pwa-alert-empty small{margin-top:4px;max-width:300px}
.pwa-alert-all{display:flex;justify-content:center;align-items:center;min-height:46px;margin-top:12px;border:1px solid #b8d7ef;border-radius:12px;background:#eef7fd;color:#075fae;font-weight:750}
.pwa-search-recent{margin-top:14px}.pwa-recent-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pwa-recent-heading b{font-size:11px;color:#536d7f;text-transform:uppercase;letter-spacing:.06em}.pwa-recent-heading button{border:0;background:transparent;color:#0a6ed1;font-size:10px;font-weight:700}.pwa-recent-list{display:flex;gap:7px;overflow:auto;padding-bottom:4px;scrollbar-width:none}.pwa-recent-list::-webkit-scrollbar{display:none}.pwa-recent-list button{display:flex;align-items:center;gap:7px;flex:0 0 auto;max-width:210px;min-height:38px;border:1px solid #d6e2e9;border-radius:999px;background:#f8fbfd;color:#294b62;padding:7px 12px}.pwa-recent-list button span{color:#0a6ed1}.pwa-recent-list button b{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.pwa-form-section-toggle{display:none}
.pwa-section-collapsed{display:none!important}
.pwa-kpi-links .kpi-card{color:inherit;text-decoration:none}.pwa-kpi-links .kpi-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.pwa-kpi-links .kpi-foot span{font-size:18px;color:var(--accent,var(--sap-blue))}

html.pwa-mode .pwa-alert-button{position:relative;display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:13px;background:transparent;color:#fff;font-size:18px;cursor:pointer}
html.pwa-mode .pwa-alert-button:active{background:#ffffff18;transform:scale(.95)}
html.pwa-mode .pwa-alert-button>b{position:absolute;top:3px;right:2px;min-width:18px;height:18px;border-radius:10px;display:grid;place-items:center;padding:0 4px;background:#e64646;color:#fff;border:2px solid #354a5f;font-size:8px;line-height:1}
html.pwa-mode .pwa-fab{display:block;position:fixed;z-index:2380;right:clamp(14px,3vw,28px);bottom:calc(var(--pwa-dock-height,74px) + var(--pwa-safe-bottom,0px) + 18px)}
html.pwa-mode .pwa-fab-button{position:relative;z-index:2;width:54px;height:54px;border:0;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#0a78df,#0756a2);color:#fff;box-shadow:0 12px 28px #075ba955,0 0 0 5px #eef3f7;cursor:pointer;transition:transform .18s ease,background .18s ease}
html.pwa-mode .pwa-fab-button span{font-size:30px;line-height:1;transition:transform .18s ease}.pwa-fab.open .pwa-fab-button span{transform:rotate(45deg)}.pwa-fab.open .pwa-fab-button{background:linear-gradient(145deg,#344e62,#203747)}
html.pwa-mode .pwa-fab-menu{position:absolute;right:0;bottom:64px;width:min(310px,calc(100vw - 28px));display:grid;gap:7px;padding:10px;border:1px solid #d7e2e9;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 52px #0c26384d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transform:translateY(12px) scale(.96);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease}
html.pwa-mode .pwa-fab-menu.open{opacity:1;transform:none}
html.pwa-mode .pwa-fab-menu a{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-height:54px;padding:7px 10px;border-radius:12px;color:#233f53}
html.pwa-mode .pwa-fab-menu a:active{background:#edf6fd}.pwa-fab-menu a>span{grid-row:1/3;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eaf4fc;color:#0a6ed1;font-size:18px}.pwa-fab-menu a>b{font-size:12px;align-self:end}.pwa-fab-menu a>small{font-size:9px;color:#718593;align-self:start}
html.pwa-mode .pwa-form-section-toggle{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;margin-top:3px;padding:9px 12px;border:1px solid #d6e2e9;border-radius:13px;background:linear-gradient(135deg,#f7fafc,#edf5fa);color:#25465d;text-align:left}
html.pwa-mode .pwa-form-section-toggle>span{display:grid;gap:2px}.pwa-form-section-toggle b{font-size:12px}.pwa-form-section-toggle small{font-size:9px;color:#708593}.pwa-form-section-toggle i{font-style:normal;font-size:17px;color:#0a6ed1}
html.pwa-mode .kpi-card{transition:transform .16s ease,box-shadow .16s ease;border-radius:14px}.pwa-kpi-links .kpi-card:active{transform:scale(.98);box-shadow:0 2px 8px #17354812}
html.pwa-mode .pwa-enter-card{animation:pwaCardEnter .36s ease both;animation-delay:calc(var(--pwa-enter-index,0) * 28ms)}
@keyframes pwaCardEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:680px){
  html.pwa-mode .page-titlebar{margin-bottom:12px}.page-titlebar h1{font-size:20px}.page-titlebar p{font-size:11px;line-height:1.45}.breadcrumb{font-size:10px;margin-bottom:5px}
  html.pwa-mode .portfolio-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-inline:-10px;padding:0 10px 7px;scrollbar-width:none}.portfolio-grid::-webkit-scrollbar{display:none}.portfolio-grid .portfolio-card{flex:0 0 min(86vw,330px);scroll-snap-align:start;min-height:154px}
  html.pwa-mode .kpi-card{min-height:102px;padding:12px}.kpi-label{font-size:10px}.kpi-number{font-size:26px!important}.kpi-foot{font-size:9px}
  html.pwa-mode .sap-table.pwa-card-table tbody{padding:8px;gap:9px}.sap-table.pwa-card-table tr{position:relative;border-radius:15px!important}.sap-table.pwa-card-table tr:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#0a6ed1}.sap-table.pwa-card-table tr[data-status="available"]:before{background:#107e3e}.sap-table.pwa-card-table tr[data-status="faulty"]:before{background:#bb0000}.sap-table.pwa-card-table tr[data-status="under-repair"]:before{background:#925ace}.sap-table.pwa-card-table tr[data-status="issued"]:before{background:#e9730c}
  html.pwa-mode .sap-table.pwa-card-table td.pwa-card-primary{display:block;padding:13px 14px;background:linear-gradient(135deg,#f8fbfd,#eef6fa)}.sap-table.pwa-card-table td.pwa-card-primary:before{display:block;margin-bottom:4px}.sap-table.pwa-card-table td.pwa-card-primary .object-link{font-size:15px}.sap-table.pwa-card-table td.pwa-card-action{display:flex;justify-content:flex-end;background:#fafcfd}.sap-table.pwa-card-table td.pwa-card-action:before{display:none}.sap-table.pwa-card-table td.pwa-card-action .sap-btn{width:100%}
  html.pwa-mode .pwa-fab{right:14px}.pwa-alert-panel{max-height:88dvh}.pwa-alert-entry b{white-space:normal}
}
@media(max-width:390px){
  html.pwa-mode .pwa-alert-button{width:38px;flex-basis:38px}.pwa-alert-button>b{right:0!important}.pwa-fab-menu{width:calc(100vw - 20px)!important}.pwa-search-shortcuts{grid-template-columns:1fr!important}.pwa-search-shortcuts a{min-height:42px!important}
  html.pwa-mode .kpi-grid{gap:7px}.kpi-card{padding:10px!important}.kpi-number{font-size:24px!important}
}
@media(min-width:681px) and (max-width:1100px){
  html.pwa-mode .content{max-width:100%;padding-inline:18px}.pwa-alert-panel,.pwa-search-panel{width:min(620px,100%);margin-inline:auto;border-radius:24px 24px 0 0}.pwa-fab-menu{width:330px!important}
  html.pwa-mode .grid-main-side{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}
}
@media(min-width:901px){
  html.pwa-mode .pwa-alert-button{display:grid}.pwa-alert-sheet,.pwa-search-sheet{align-items:start;justify-items:end;padding:calc(58px + var(--pwa-safe-top)) 18px 18px}.pwa-alert-panel,.pwa-search-panel{width:min(430px,calc(100vw - 36px));max-height:calc(100dvh - 84px);border-radius:18px;transform:translateX(110%);box-shadow:0 20px 65px #0715214d}.pwa-alert-sheet.open .pwa-alert-panel,.pwa-search-sheet.open .pwa-search-panel{transform:none}.pwa-sheet-backdrop{background:#07152122}.pwa-fab{bottom:calc(24px + var(--pwa-safe-bottom))!important}
}
@media(max-height:560px) and (orientation:landscape){
  html.pwa-mode .pwa-fab{bottom:calc(60px + var(--pwa-safe-bottom));right:12px}.pwa-fab-button{width:48px!important;height:48px!important;border-radius:15px!important}.pwa-fab-menu{bottom:55px!important;max-height:70vh;overflow:auto}.portfolio-grid .portfolio-card{min-height:136px}.pwa-alert-panel{max-height:94dvh}
}
@media(prefers-reduced-motion:reduce){.pwa-alert-panel,.pwa-fab-button,.pwa-fab-menu,.pwa-enter-card{animation:none!important;transition:none!important}}

/* Asset Care v20.27 — PWA Lock and enhanced camera controls */
.pwa-lock-settings-button{display:none}
html.pwa-mode .pwa-lock-settings-button{width:100%;min-height:50px;border:1px solid #d4e0e7;border-radius:12px;background:#f7fafc;color:#294b62;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:7px 10px;text-align:left;cursor:pointer}
html.pwa-mode .pwa-lock-settings-button>span:first-child{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#eaf4fc;color:#0a6ed1;font-size:18px}
html.pwa-mode .pwa-lock-settings-button span:last-child{display:grid;line-height:1.2}
html.pwa-mode .pwa-lock-settings-button b{font-size:12px}
html.pwa-mode .pwa-lock-settings-button small{font-size:9px;color:#6c808e;margin-top:2px}
html.pwa-mode .pwa-lock-settings-button:active{transform:scale(.985)}

.pwa-lock-screen[hidden],.pwa-lock-settings-sheet[hidden]{display:none!important}
.pwa-lock-screen{position:fixed;z-index:5200;inset:0;display:grid;place-items:center;padding:calc(18px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));overflow:auto}
.pwa-lock-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 15%,#2d617f 0,#16384f 38%,#081822 100%);opacity:.98}
.pwa-lock-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff0b,transparent 38%,#0a6ed122);pointer-events:none}
.pwa-lock-card{position:relative;width:min(390px,100%);border:1px solid #ffffff28;border-radius:26px;background:rgba(248,252,255,.97);box-shadow:0 30px 90px #0008;padding:22px 20px 20px;text-align:center;transform:translateY(18px) scale(.97);opacity:0;transition:transform .2s ease,opacity .2s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.pwa-lock-screen.open .pwa-lock-card{transform:none;opacity:1}
.pwa-lock-brand{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:12px;color:#25465d}
.pwa-lock-brand>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#0a78df,#0756a2);color:#fff;font-weight:800;box-shadow:0 7px 18px #075ba944}
.pwa-lock-brand div{display:grid;text-align:left;line-height:1.05}.pwa-lock-brand small{font-size:8px;letter-spacing:.12em;color:#768b98}.pwa-lock-brand b{font-size:15px}
.pwa-lock-shield{width:68px;height:68px;margin:4px auto 12px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#e5f4ff,#cce8fa);color:#0a6ed1;font-size:34px;box-shadow:inset 0 0 0 1px #fff,0 10px 30px #0a6ed124}
.pwa-lock-card h2{margin:0;color:#203f55;font-size:22px}.pwa-lock-card>p{margin:5px 0 12px;color:#6b808e;font-size:11px}
.pwa-lock-user{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;border:1px solid #d7e3ea;background:#f5f9fc;border-radius:18px;padding:4px 10px 4px 5px;color:#38556a}
.pwa-lock-user>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0a6ed1;color:#fff;font-size:11px;font-weight:800}.pwa-lock-user b{font-size:10px}
.pwa-lock-dots{display:flex;justify-content:center;gap:11px;min-height:18px;margin:0 0 10px}.pwa-lock-dots i{width:12px;height:12px;border-radius:50%;border:1px solid #9eb2c0;background:#fff;transition:.12s ease}.pwa-lock-dots i.filled{background:#0a6ed1;border-color:#0a6ed1;box-shadow:0 0 0 4px #0a6ed118}
.pwa-lock-error{min-height:18px;margin-bottom:5px;color:#b00020;font-size:10px;font-weight:650}.pwa-lock-error.show{animation:pwaLockShake .22s linear 1}
.pwa-lock-keypad{display:grid;grid-template-columns:repeat(3,68px);justify-content:center;gap:9px;margin:3px auto 14px}
.pwa-lock-keypad button{width:68px;height:52px;border:1px solid #d4e0e8;border-radius:17px;background:#fff;color:#24445a;font-size:20px;font-weight:650;box-shadow:0 3px 9px #102f4210;cursor:pointer;touch-action:manipulation}.pwa-lock-keypad button:active{background:#e9f4fc;transform:scale(.95)}
.pwa-lock-keypad .device{background:#edf8f1;color:#107e3e}.pwa-lock-keypad .erase{background:#fff3f3;color:#a12525}
.pwa-lock-unlock{width:100%;min-height:48px;border:0;border-radius:14px;background:linear-gradient(145deg,#0a78df,#0756a2);color:#fff;font-size:13px;font-weight:750;box-shadow:0 10px 24px #075ba944;cursor:pointer}
.pwa-lock-note{display:block;margin-top:11px;color:#7a8f9c;font-size:8px;line-height:1.4}
body.pwa-locked{overflow:hidden!important;touch-action:none}
@keyframes pwaLockShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

.pwa-lock-settings-sheet{position:fixed;z-index:4700;inset:0;display:grid;align-items:end;justify-items:center}
.pwa-lock-settings-sheet .pwa-sheet-backdrop{position:absolute;inset:0;border:0;background:#07152188;backdrop-filter:blur(3px)}
.pwa-lock-settings-panel{position:relative;width:min(560px,100%);max-height:min(88dvh,760px);overflow:auto;border-radius:24px 24px 0 0;background:#fff;padding:10px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #07152155;transform:translateY(105%);transition:transform .22s ease}
.pwa-lock-settings-sheet.open .pwa-lock-settings-panel{transform:none}
.pwa-lock-settings-panel header{display:flex;justify-content:space-between;gap:12px;padding:8px 2px 12px;border-bottom:1px solid #e0e8ed}.pwa-lock-settings-panel header small{font-size:8px;letter-spacing:.14em;color:#0a6ed1;font-weight:800}.pwa-lock-settings-panel h2{margin:2px 0;font-size:20px;color:#25465d}.pwa-lock-settings-panel header p{margin:0;color:#738794;font-size:10px}.pwa-lock-settings-panel header>button{width:36px;height:36px;border:1px solid #d7e1e8;border-radius:50%;background:#fff;color:#3f596b;font-size:23px}
.pwa-lock-settings-status{display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;align-items:center;margin:14px 0;padding:12px;border:1px solid #cae0ef;border-radius:15px;background:linear-gradient(135deg,#f4faff,#eaf5fc)}.pwa-lock-settings-status>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#0a6ed1;color:#fff;font-size:23px}.pwa-lock-settings-status div{display:grid}.pwa-lock-settings-status b{font-size:12px;color:#28485e}.pwa-lock-settings-status small{font-size:9px;color:#6f8492;margin-top:2px}
.pwa-lock-settings-panel form{display:grid;gap:10px}.pwa-lock-field{display:grid;gap:5px}.pwa-lock-field[hidden]{display:none}.pwa-lock-field label{font-size:10px;font-weight:700;color:#435e71}.pwa-lock-field input,.pwa-lock-field select{width:100%;min-height:46px;border:1px solid #c5d3dd;border-radius:12px;background:#fff;padding:0 12px;color:#253f52;font-size:14px}.pwa-lock-field input:focus,.pwa-lock-field select:focus{outline:none;border-color:#0a6ed1;box-shadow:0 0 0 3px #0a6ed118}
.pwa-lock-settings-message{min-height:18px;color:#a12525;font-size:10px}.pwa-lock-save{min-height:48px;border:0;border-radius:13px;background:#0a6ed1;color:#fff;font-size:12px;font-weight:800}
.pwa-lock-device-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:13px;padding:11px;border:1px solid #d4e4dc;border-radius:14px;background:#f3faf6}.pwa-lock-device-card[hidden]{display:none}.pwa-lock-device-card>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#dff3e7;color:#107e3e;font-size:22px}.pwa-lock-device-card div{display:grid}.pwa-lock-device-card b{font-size:11px;color:#2b5740}.pwa-lock-device-card small{font-size:8px;color:#6e8176;line-height:1.35}.pwa-lock-device-card button{min-height:36px;border:1px solid #8bbda0;border-radius:10px;background:#fff;color:#107e3e;font-size:10px;font-weight:750;padding:0 11px}
.pwa-lock-settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.pwa-lock-settings-actions[hidden]{display:none}.pwa-lock-settings-actions button{min-height:44px;border:1px solid #cbd9e2;border-radius:12px;background:#f7fafc;color:#31526a;font-size:10px;font-weight:750}.pwa-lock-settings-actions .danger{border-color:#efc9c9;background:#fff5f5;color:#a12525}

.enhanced-camera-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start!important;gap:7px!important;pointer-events:none!important}
.camera-tools-summary,.camera-tools-actions{display:flex;align-items:center;gap:6px;min-width:0}.camera-tools-actions{justify-content:flex-end;pointer-events:auto}.camera-tools-summary{pointer-events:none;overflow:hidden}
.camera-lens-pill,.camera-settings-toggle{min-height:32px;border:1px solid #ffffff45;border-radius:18px;background:rgba(12,26,37,.78);color:#fff;backdrop-filter:blur(8px);box-shadow:0 2px 12px #0004}
.camera-lens-pill{display:inline-flex;align-items:center;max-width:min(48vw,240px);padding:0 11px;font-size:10px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.camera-settings-toggle{pointer-events:auto;padding:0 12px;font-size:10px;font-weight:750;cursor:pointer}.camera-settings-toggle[aria-expanded="true"]{border-color:#81d0ff;background:rgba(10,110,209,.92)}
.camera-control-drawer{grid-column:1/-1;pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid #ffffff35;border-radius:13px;background:rgba(7,23,34,.9);box-shadow:0 8px 22px #0005;backdrop-filter:blur(12px)}.camera-control-drawer[hidden]{display:none!important}
.camera-zoom-control{display:grid;grid-template-columns:auto minmax(90px,1fr) 42px;gap:8px;align-items:center;color:#fff;font-size:9px;font-weight:750}.camera-zoom-control[hidden]{display:none!important}.camera-zoom-control input{width:100%;accent-color:#53c5ff}.camera-zoom-control output{text-align:right;color:#bfe9ff;font-variant-numeric:tabular-nums}
.camera-feedback-controls{display:flex;gap:6px}.camera-feedback-controls button{min-height:34px;border:1px solid #ffffff35;border-radius:11px;background:#ffffff0d;color:#cfe5f1;padding:0 9px;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700;white-space:nowrap}.camera-feedback-controls button.active{border-color:#62c7ff;background:#0a6ed17a;color:#fff}.camera-feedback-controls button span{font-size:14px}

@media(max-width:560px){
  .pwa-lock-card{padding:18px 14px 16px;border-radius:22px}.pwa-lock-shield{width:58px;height:58px;font-size:29px}.pwa-lock-keypad{grid-template-columns:repeat(3,minmax(58px,68px));gap:7px}.pwa-lock-keypad button{width:auto;height:48px}.pwa-lock-settings-panel{padding-inline:12px}
  .enhanced-camera-tools{grid-template-columns:1fr!important}.camera-tools-summary,.camera-tools-actions{justify-content:space-between}.camera-tools-actions{grid-row:2}.camera-control-drawer{grid-row:3;grid-template-columns:1fr}.camera-feedback-controls{display:grid;grid-template-columns:1fr 1fr}.camera-feedback-controls button{justify-content:center}.camera-lens-pill{max-width:55vw}.camera-tools-summary .torch-status{margin-left:auto!important;max-width:42vw!important}
}
@media(max-height:590px) and (orientation:landscape){.pwa-lock-screen{align-items:start}.pwa-lock-card{width:min(620px,100%);display:grid;grid-template-columns:140px minmax(0,1fr);column-gap:18px;text-align:left}.pwa-lock-brand,.pwa-lock-shield,.pwa-lock-card h2,.pwa-lock-card>p,.pwa-lock-user,.pwa-lock-note{grid-column:1}.pwa-lock-dots,.pwa-lock-error,.pwa-lock-keypad,.pwa-lock-unlock{grid-column:2}.pwa-lock-keypad{grid-template-columns:repeat(3,62px);margin-top:0}.pwa-lock-keypad button{width:62px;height:43px}.pwa-lock-shield{margin-inline:auto}.pwa-lock-user{justify-self:center}.pwa-lock-card h2,.pwa-lock-card>p{text-align:center}.pwa-lock-note{text-align:center}}
@media(prefers-reduced-motion:reduce){.pwa-lock-card,.pwa-lock-settings-panel,.pwa-lock-error{animation:none!important;transition:none!important}}
.pwa-lock-reset{margin-top:10px;border:0;background:transparent;color:#5f7787;font-size:9px;text-decoration:underline;cursor:pointer}.pwa-lock-reset:active{color:#a12525}

/* Asset Care v20.28 — Advanced biometric App Lock */
.pwa-lock-v2 .pwa-lock-card{width:min(410px,100%);padding:18px 18px 16px;border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#f7fbfe 100%);border:1px solid #ffffffcc;box-shadow:0 28px 80px #071b2d66,0 0 0 1px #0a6ed112;overflow:hidden}
.pwa-lock-v2 .pwa-lock-brand{margin-bottom:8px}
.pwa-lock-security-mark{position:relative;width:76px;height:76px;margin:3px auto 10px;display:grid;place-items:center;border-radius:26px;background:radial-gradient(circle at 35% 25%,#dff5ff,#bcdff3 55%,#9bcce8);box-shadow:inset 0 0 0 1px #fff,0 14px 34px #0a6ed12e}
.pwa-lock-security-mark>span{width:43px;height:43px;display:grid;place-items:center;color:#0a6ed1}.pwa-lock-security-mark svg{width:100%;height:100%;fill:currentColor}
.pwa-lock-security-mark>i{position:absolute;right:5px;bottom:5px;width:17px;height:17px;border-radius:50%;background:#18a957;border:3px solid #f8fcff;box-shadow:0 2px 8px #0a743c55}
.pwa-lock-v2 h2{font-size:24px;letter-spacing:-.02em}.pwa-lock-v2 .pwa-lock-user{margin-bottom:10px}
.pwa-lock-biometric{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:10px;margin:3px 0 10px;padding:9px 10px;border:1px solid #b8dfc7;border-radius:16px;background:linear-gradient(135deg,#f1fbf5,#e7f7ee);color:#1d5133;text-align:left;cursor:pointer;box-shadow:0 7px 18px #107e3e12}
.pwa-lock-biometric[hidden]{display:none!important}.pwa-lock-biometric>span:first-child{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#d8f2e2;color:#107e3e}.pwa-lock-biometric svg{width:25px;height:25px;fill:currentColor}.pwa-lock-biometric>span:nth-child(2){display:grid;gap:1px}.pwa-lock-biometric b{font-size:11px}.pwa-lock-biometric small{font-size:8px;color:#6a8072}.pwa-lock-biometric>i{font-style:normal;font-size:24px;color:#57916d}.pwa-lock-biometric:active{transform:scale(.985)}
.pwa-lock-divider{display:flex;align-items:center;gap:9px;margin:2px 0 7px;color:#8799a5;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.pwa-lock-divider::before,.pwa-lock-divider::after{content:"";height:1px;flex:1;background:#dce6ec}.pwa-lock-divider[hidden]{display:none!important}
.pwa-lock-pin-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 3px 7px;color:#4a6577}.pwa-lock-pin-meta b{font-size:10px}.pwa-lock-pin-meta small{font-size:8px}.pwa-lock-pin-meta small.warning{color:#a12525;font-weight:750}
.pwa-lock-v2 .pwa-lock-dots{gap:12px;margin:0 0 9px}.pwa-lock-v2 .pwa-lock-dots i{width:13px;height:13px;border-width:1.5px;position:relative}.pwa-lock-v2 .pwa-lock-dots i.active::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#9db4c3;animation:pwaPinPulse 1s ease-in-out infinite}.pwa-lock-v2 .pwa-lock-dots i.filled{transform:scale(1.08);background:linear-gradient(145deg,#0b80e9,#0759a7);box-shadow:0 0 0 4px #0a6ed118,0 4px 10px #0a6ed125}
@keyframes pwaPinPulse{50%{opacity:.35;transform:scale(.7)}}
.pwa-lock-v2 .pwa-lock-keypad{grid-template-columns:repeat(3,74px);gap:9px;margin:3px auto 12px}.pwa-lock-v2 .pwa-lock-keypad button{width:74px;height:58px;border-radius:20px;display:grid;place-items:center;align-content:center;gap:0;background:linear-gradient(180deg,#fff,#f7fafc);border-color:#d4e1e9;box-shadow:0 5px 14px #102f4212;user-select:none;-webkit-tap-highlight-color:transparent}.pwa-lock-v2 .pwa-lock-keypad button b{font-size:21px;line-height:1}.pwa-lock-v2 .pwa-lock-keypad button small{min-height:9px;margin-top:2px;font-size:7px;letter-spacing:.12em;color:#91a2ad}.pwa-lock-v2 .pwa-lock-keypad button:active{background:#e9f4fc;box-shadow:inset 0 2px 6px #0a6ed120;transform:scale(.94)}
.pwa-lock-v2 .pwa-lock-keypad .device-mini{display:grid;place-items:center;background:linear-gradient(145deg,#e8f8ef,#d8f0e2);color:#107e3e;border-color:#b8dfc7}.pwa-lock-v2 .pwa-lock-keypad .device-mini svg{width:27px;height:27px;fill:currentColor}.pwa-lock-v2 .pwa-lock-keypad .device-mini.unavailable{visibility:hidden;pointer-events:none}.pwa-lock-v2 .pwa-lock-keypad .erase{display:grid;place-items:center;font-size:23px}
.pwa-lock-v2 .pwa-lock-unlock{min-height:47px;transition:.16s ease}.pwa-lock-v2 .pwa-lock-unlock:disabled{background:#c7d4dd;color:#eef4f7;box-shadow:none;cursor:not-allowed}.pwa-lock-v2 .pwa-lock-unlock:not(:disabled){animation:pwaUnlockReady 1.6s ease-in-out infinite}@keyframes pwaUnlockReady{50%{box-shadow:0 12px 28px #075ba95c}}
.pwa-lock-v2.biometric-prompting .pwa-lock-security-mark{animation:pwaBioPrompt 1s ease-in-out infinite}.pwa-lock-v2.biometric-prompting .pwa-lock-biometric{border-color:#4fc77b;box-shadow:0 0 0 4px #18a95716}@keyframes pwaBioPrompt{50%{transform:scale(1.045);box-shadow:inset 0 0 0 1px #fff,0 0 0 8px #18a95712,0 14px 34px #0a6ed12e}}

.pwa-lock-settings-v2 .pwa-lock-settings-panel{width:min(600px,100%)}.pwa-lock-settings-v2 .pwa-lock-settings-status>span{background:linear-gradient(145deg,#0a78df,#0756a2)}.pwa-lock-settings-v2 .pwa-lock-settings-status svg{width:25px;height:25px;fill:#fff}
.pwa-pin-length-field{margin:0;padding:10px;border:1px solid #d3e0e8;border-radius:14px;background:#f8fbfd}.pwa-pin-length-field legend{padding:0 6px;color:#435e71;font-size:10px;font-weight:750}.pwa-pin-length-field>small{display:block;margin-top:7px;color:#7a8e9a;font-size:8px;line-height:1.4}.pwa-pin-length-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pwa-pin-length-selector button{min-height:51px;border:1px solid #cbd9e2;border-radius:12px;background:#fff;color:#526b7b;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.pwa-pin-length-selector button b{font-size:20px}.pwa-pin-length-selector button span{font-size:9px;text-transform:uppercase;letter-spacing:.06em}.pwa-pin-length-selector button[aria-pressed="true"]{border-color:#0a6ed1;background:#eaf5fd;color:#075aa8;box-shadow:0 0 0 3px #0a6ed112}
.pwa-lock-field>small{color:#7a8d99;font-size:8px;line-height:1.35}.pwa-lock-settings-v2 .pwa-lock-field input{font-variant-numeric:tabular-nums;letter-spacing:.16em;font-weight:700}
.pwa-lock-settings-v2 .pwa-lock-device-card{grid-template-columns:46px minmax(0,1fr) auto;padding:12px}.pwa-lock-settings-v2 .pwa-lock-device-card>span svg{width:25px;height:25px;fill:currentColor}.pwa-biometric-actions{display:grid;gap:6px}.pwa-biometric-actions button{min-width:82px}.pwa-biometric-actions button:last-child{border-color:#e8c4c4;color:#a12525}.pwa-biometric-auto{display:flex;align-items:center;gap:6px;margin-top:7px;color:#4e6a59;font-size:8px}.pwa-biometric-auto input{width:15px;height:15px;accent-color:#107e3e}

@media(max-width:560px){
  .pwa-lock-v2 .pwa-lock-card{padding:15px 12px 14px;border-radius:24px}.pwa-lock-security-mark{width:65px;height:65px;border-radius:22px}.pwa-lock-v2 .pwa-lock-keypad{grid-template-columns:repeat(3,minmax(64px,72px));gap:7px}.pwa-lock-v2 .pwa-lock-keypad button{width:auto;height:54px;border-radius:18px}.pwa-lock-biometric{grid-template-columns:38px minmax(0,1fr) 18px;padding:8px}.pwa-lock-biometric>span:first-child{width:36px;height:36px}.pwa-lock-v2 .pwa-lock-note{margin-top:8px}.pwa-lock-settings-v2 .pwa-lock-device-card{grid-template-columns:42px minmax(0,1fr)}.pwa-lock-settings-v2 .pwa-biometric-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.pwa-lock-settings-v2 .pwa-biometric-actions button{width:100%}
}
@media(max-width:350px){.pwa-lock-v2 .pwa-lock-keypad{grid-template-columns:repeat(3,minmax(58px,66px))}.pwa-lock-v2 .pwa-lock-keypad button{height:50px}.pwa-lock-v2 .pwa-lock-keypad button b{font-size:19px}.pwa-lock-security-mark{width:58px;height:58px}.pwa-lock-v2 h2{font-size:21px}}
@media(max-height:590px) and (orientation:landscape){
  .pwa-lock-v2 .pwa-lock-card{width:min(720px,100%);grid-template-columns:170px minmax(0,1fr);column-gap:20px;row-gap:3px}.pwa-lock-v2 .pwa-lock-brand,.pwa-lock-v2 .pwa-lock-security-mark,.pwa-lock-v2 h2,.pwa-lock-v2>p,.pwa-lock-v2 .pwa-lock-user,.pwa-lock-v2 .pwa-lock-note{grid-column:1}.pwa-lock-v2 .pwa-lock-biometric,.pwa-lock-v2 .pwa-lock-divider,.pwa-lock-v2 .pwa-lock-pin-meta,.pwa-lock-v2 .pwa-lock-dots,.pwa-lock-v2 .pwa-lock-error,.pwa-lock-v2 .pwa-lock-keypad,.pwa-lock-v2 .pwa-lock-unlock,.pwa-lock-v2 .pwa-lock-reset{grid-column:2}.pwa-lock-v2 .pwa-lock-keypad{grid-template-columns:repeat(3,64px);margin:0 auto 6px}.pwa-lock-v2 .pwa-lock-keypad button{width:64px;height:43px;border-radius:15px}.pwa-lock-v2 .pwa-lock-keypad button b{font-size:17px}.pwa-lock-v2 .pwa-lock-keypad button small{display:none}.pwa-lock-security-mark{width:60px;height:60px;margin-inline:auto}.pwa-lock-v2 .pwa-lock-biometric{margin-top:0}.pwa-lock-v2 .pwa-lock-reset{margin-top:4px}
}


/* Asset Care v20.29 — circular HD shell logo */
.shell-brand>img,
html.pwa-mode .shell-brand>img{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  flex:0 0 38px !important;
  aspect-ratio:1/1;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:50% !important;
  border:0 !important;
  outline:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  image-rendering:auto;
}
@media(max-width:620px){
  .shell-brand>img,html.pwa-mode .shell-brand>img{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    flex-basis:36px !important;
  }
}
