:root{--navy:#152033;--navy2:#202d43;--ink:#172131;--muted:#6b7789;--line:#e2e7ed;--bg:#f4f6f8;--white:#fff;--teal:#0b8c7d;--teal2:#dff4f0;--blue:#3176bd;--amber:#df9418;--red:#d65050;--shadow:0 8px 28px rgba(20,30,45,.07)}
*{box-sizing:border-box}html{font-family:"Segoe UI","Noto Sans TC",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.kicker{margin:0 0 5px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.logo{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--teal);color:#fff;font-weight:800}.logo.large{width:58px;height:58px;border-radius:16px;margin:auto;font-size:19px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 20%,#29415f 0,transparent 28%),linear-gradient(145deg,#101a2b,#182a42)}.login-card{width:min(420px,100%);background:#fff;border-radius:20px;padding:36px;box-shadow:0 30px 90px rgba(0,0,0,.28);text-align:center}.login-card h1{font-size:26px;margin:8px 0}.login-card form{text-align:left;display:grid;gap:16px;margin-top:28px}.login-card label,.field{display:grid;gap:7px;font-size:13px;font-weight:650}.login-card input,input,select,textarea{width:100%;border:1px solid #d5dce5;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(11,140,125,.14);border-color:var(--teal)}textarea{min-height:90px;resize:vertical}.form-error{color:var(--red);font-size:13px;margin:0;min-height:18px}.demo-note{font-size:12px;color:var(--muted);margin:20px 0 0}.primary,.secondary,.ghost{border:0;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer}.primary{background:var(--teal);color:#fff}.primary:hover{background:#08786c}.secondary{background:#edf1f5;color:#344256}.ghost{background:transparent;color:var(--muted)}.wide{width:100%;padding:13px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--navy);color:#fff;padding:26px 17px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 27px;font-size:18px}.brand small{display:block;color:#93a0b4;font-size:11px;font-weight:400;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{display:flex;gap:12px;align-items:center;border:0;background:transparent;color:#aeb9c9;border-radius:9px;padding:12px 14px;text-align:left;cursor:pointer}.sidebar nav button span{width:18px;text-align:center}.sidebar nav button:hover,.sidebar nav button.active{background:var(--navy2);color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--teal)}.sidebar-user{margin-top:auto;padding:14px 12px;border-top:1px solid #2c394d;display:grid;gap:3px;font-size:13px}.sidebar-user small{color:#8996aa}main{margin-left:238px;padding:31px 38px 70px;max-width:1700px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.topbar h1{font-size:27px;margin:0}.top-actions{display:flex;align-items:center;gap:8px}.store-chip{padding:8px 11px;border:1px solid var(--line);background:#fff;border-radius:99px;font-size:12px;color:var(--muted)}.page{display:none}.page.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:19px}.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.metric span{color:var(--muted);font-size:12px}.metric strong{display:block;margin:7px 0 3px;font-size:25px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted)}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px;box-shadow:var(--shadow)}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.panel-title h2,.notice-banner h2{font-size:18px;margin:0}.panel-title p{font-size:12px;margin:4px 0 0}.text-btn{border:0;background:transparent;color:var(--teal);cursor:pointer}.item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.item:last-child{border:0}.item strong{font-size:14px}.item p{font-size:12px;color:var(--muted);margin:4px 0 0}.empty{padding:35px 10px;text-align:center;color:var(--muted);font-size:13px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:700;background:#edf0f4;color:#586578;white-space:nowrap}.badge.pending_inspection{background:#eef0f3}.badge.quoting,.badge.pending_approval{background:#fff0d9;color:#94610d}.badge.repairing{background:#e5f0fb;color:#2563a2}.badge.ready_pickup,.badge.ready,.badge.paid{background:var(--teal2);color:#087266}.badge.rework,.badge.unpaid,.badge.partial,.badge.overpaid{background:#fde9e9;color:#a73838}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:15px}.toolbar>input{flex:1}.toolbar>select{width:190px}.inline-field{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}.inline-field input{width:170px}.table-panel{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#fafbfc;color:var(--muted);text-align:left;font-weight:650}th,td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{cursor:pointer}tbody tr:hover{background:#fafcfb}tbody tr:last-child td{border:0}.sub{display:block;font-size:11px;color:var(--muted);margin-top:3px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.profit{color:var(--teal);font-weight:750}.danger{color:var(--red)}.card-list{display:none}.notice-banner{background:linear-gradient(110deg,var(--navy),#294363);border-radius:14px;color:#fff;padding:25px;margin-bottom:18px}.notice-banner .kicker{color:#55c6b7}.notice-banner p:last-child{margin:8px 0 0;color:#c3cdda;font-size:13px}#toast{position:fixed;z-index:30;top:20px;right:24px;background:var(--navy);color:#fff;border-radius:9px;padding:12px 17px;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}dialog{border:0;border-radius:16px;width:min(760px,calc(100vw - 28px));max-height:90vh;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(8,15,25,.62)}#modal-form{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:15px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:21px}.icon-btn{border:0;background:transparent;font-size:25px;color:var(--muted);cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:18px;margin-top:19px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.field.full{grid-column:1/-1}.field small{font-weight:400;color:var(--muted)}.detail-hero{background:#f4f7f9;border-radius:11px;padding:15px;margin-top:16px;display:flex;justify-content:space-between;gap:15px}.detail-hero h3{margin:0 0 5px}.detail-hero p{margin:0;color:var(--muted);font-size:13px}.detail-tabs{display:flex;gap:7px;overflow:auto;padding:15px 0}.detail-tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;white-space:nowrap;cursor:pointer}.detail-tabs button.active{background:var(--navy);color:#fff}.detail-section{display:none}.detail-section.active{display:block}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.mini{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px;cursor:pointer;font-size:12px}.timeline{border-left:2px solid var(--line);margin-left:7px;padding-left:16px}.timeline-item{position:relative;padding:0 0 15px}.timeline-item:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--teal);left:-21px;top:4px}.timeline-item strong{font-size:13px}.timeline-item p{font-size:11px;color:var(--muted);margin:3px 0}.mobile-nav{display:none}
.pattern-field{align-items:center;background:#f7f9fb;border:1px solid var(--line);border-radius:11px;padding:14px}.pattern-grid{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:14px;padding:13px;touch-action:none;user-select:none}.pattern-node{display:grid;place-items:center;width:48px;height:48px;border:2px solid #aab5c3;border-radius:50%;background:#fff;color:#fff;font-weight:800;cursor:pointer}.pattern-node.active{border-color:var(--teal);background:var(--teal);box-shadow:0 0 0 5px rgba(11,140,125,.12)}.pattern-controls{display:flex;align-items:center;justify-content:space-between;width:min(100%,220px);gap:10px;font-size:12px;color:var(--muted)}.pattern-grid.readonly{margin-top:7px}.pattern-grid.readonly .pattern-node{cursor:default}.pattern-sequence{font-size:12px;color:var(--muted);margin:0 0 8px}.unlock-view{align-items:start}.unlock-view>.mini{width:max-content}.material-entry{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.material-line{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:end;margin-bottom:10px}.material-line .remove-material{margin-bottom:2px;color:var(--red)}.material-submit{display:flex;justify-content:flex-end;align-items:end;gap:10px;margin-top:13px}.material-submit .field{min-width:150px}
@media(max-width:1050px){.sidebar{width:205px}.brand strong{font-size:16px}main{margin-left:205px;padding:25px}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}
@media(max-width:720px){body{padding-bottom:66px}.sidebar{display:none}main{margin:0;padding:18px 12px 80px}.topbar{align-items:flex-end;margin-bottom:18px}.topbar h1{font-size:23px}.store-chip,#logout-btn,.top-actions #global-add{display:none}.metric-grid,.metric-grid.compact{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:14px}.metric strong{font-size:20px}.toolbar{display:grid;grid-template-columns:1fr auto}.toolbar>select{width:auto}.toolbar>input{grid-column:1/-1}.table-panel table{display:none}.card-list{display:block;padding:9px 14px}.mobile-card{padding:14px 0;border-bottom:1px solid var(--line)}.mobile-card:last-child{border:0}.mobile-card .top{display:flex;justify-content:space-between;gap:9px}.mobile-card strong{font-size:14px}.mobile-card p{margin:6px 0 0;color:var(--muted);font-size:12px}.mobile-card .bottom{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:12px}.mobile-nav{display:grid;position:fixed;z-index:12;bottom:0;left:0;right:0;grid-template-columns:repeat(5,1fr);height:62px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(20,30,45,.06)}.mobile-nav button{border:0;background:#fff;color:var(--muted);font-size:11px}.mobile-nav button.active{color:var(--teal);font-weight:800}.mobile-nav .mobile-add{width:47px;height:47px;border-radius:50%;background:var(--teal);color:#fff;font-size:25px;margin:-14px auto 0;box-shadow:0 7px 20px rgba(11,140,125,.3)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-actions{position:sticky;bottom:-24px;background:#fff;padding:13px 0 24px}.detail-hero{display:grid}.login-card{padding:28px 22px}}
@media(max-width:720px){.material-line{grid-template-columns:1fr 82px}.material-line .remove-material{grid-column:1/-1;justify-self:end}.material-submit{display:grid}.material-submit .field{min-width:0}}
@media print{.sidebar,.topbar,.mobile-nav,.modal-actions,.detail-tabs,#toast{display:none!important}body{background:#fff;padding:0}.app-shell main{margin:0;padding:0}.page{display:none!important}dialog{position:static!important;display:block!important;max-height:none;width:100%;box-shadow:none}dialog::backdrop{display:none}#modal-form{padding:0}.detail-section{display:block!important}.cost-only{display:none!important}}
.pattern-grid{position:relative}.pattern-lines{position:absolute;inset:13px;width:172px;height:172px;overflow:visible;pointer-events:none;z-index:1}.pattern-lines line{stroke:var(--teal);stroke-width:5;stroke-linecap:round}.pattern-lines marker path{fill:var(--teal)}.pattern-node{position:relative;z-index:2}.password-secret{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f7f9fb;font-size:15px}
.repair-intake-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.repair-intake-mode label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;font-weight:800;cursor:pointer}.repair-intake-mode input{width:auto}.repair-intake-mode label:has(input:checked){border-color:#65bdb1;background:#f4fbfa;color:#075f56}.fault-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.fault-picker-row .mini{font-size:13px;font-weight:750;color:var(--teal);padding-inline:15px}.fault-picker-row .fault-new-button{background:var(--teal);border-color:var(--teal);color:#fff}.fault-create-panel{margin-top:6px;padding:15px;border:1px solid #9bd5cd;border-radius:11px;background:#f4fbfa}.fault-create-panel .form-grid{margin-top:10px}.fault-create-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.fault-selected-title{margin-top:7px;color:#075f56;font-size:12px;font-weight:800}.fault-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;align-items:center;padding:7px 9px;border:1px dashed #9bd5cd;border-radius:9px;background:#fbfefd}.fault-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #65bdb1;border-radius:6px;background:var(--teal2);color:#075f56;padding:8px 10px 8px 12px;cursor:pointer;font-size:13px;font-weight:750}.fault-chip b{font-size:17px;line-height:1}.fault-chip:hover{border-color:var(--teal)}
.repair-material-mode-field{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.repair-abandon-disposition{display:grid;gap:8px}.repair-abandon-disposition label{display:flex;align-items:center;gap:8px;font-weight:700}.repair-abandon-disposition input{width:auto}.modal-actions .danger{border:1px solid #dc2626;border-radius:9px;background:#dc2626;color:#fff;padding:10px 16px;font-weight:800;cursor:pointer}.modal-actions .danger:hover{background:#b91c1c}
.badge.customer_cancelled{background:#f1f5f9;color:#475569}
.actual-fault-card{border:1px solid #9bd5cd;border-radius:11px;background:#f4fbfa;padding:13px}.actual-fault-card strong{color:#075f56}.actual-fault-card small{display:block;margin-top:5px;line-height:1.5}.actual-fault-button{width:max-content;margin-top:8px;background:var(--teal);border-color:var(--teal);color:#fff}.actual-fault-helper{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f7f9fb}.actual-fault-helper p{margin:0 0 5px}.actual-fault-presets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 2px}.actual-fault-presets .mini{font-weight:750;color:#075f56;border-color:#9bd5cd;background:#f4fbfa}
.customer-info-card{border:1px solid #cfdde8;border-radius:13px;background:#f8fafc;padding:14px}.customer-info-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.customer-info-head>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.customer-info-head strong{display:block;font-size:22px;margin-top:2px}.customer-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.customer-info-grid>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 10px}.customer-info-grid small{display:block;color:var(--muted);font-weight:650;margin-bottom:4px}.customer-info-grid a,.customer-info-grid strong{font-size:14px;color:var(--ink);text-decoration:none}.unlock-inline{margin-top:12px;padding-top:12px;border-top:1px dashed #cfdde8}.unlock-inline .mini{font-weight:800;color:var(--teal);margin-right:8px}.unlock-inline small{display:inline;color:var(--muted)}
.phone-link{display:inline-flex;align-items:center;gap:4px;color:var(--teal)!important;font-weight:850;text-decoration:none}.phone-link:before{content:"\260E";font-size:12px}.mobile-card .phone-link,.customer-info-grid .phone-link{padding:4px 9px;border:1px solid #9bd5cd;border-radius:999px;background:#f4fbfa}
@media(max-width:480px){.fault-picker-row{grid-template-columns:1fr}.fault-picker-row .mini{width:100%;padding:10px}}
@media(max-width:480px){.actual-fault-button,.actual-fault-presets .mini{width:100%;padding:10px}.actual-fault-presets{display:grid}}
@media(max-width:480px){.customer-info-grid{grid-template-columns:1fr}.customer-info-head{display:grid}.unlock-inline .mini{width:100%;margin:0 0 6px}}

#repair-table th[data-col="customer"]{min-width:160px}
#repair-table tbody tr.repair-list-row{height:100px;transition:background .15s ease}
#repair-table tbody tr.repair-list-row:hover{background:#f8fafc}
#repair-table tbody tr.repair-list-row td{padding-top:14px;padding-bottom:14px;vertical-align:middle}
.repair-case-cell{min-width:160px;width:210px}
.repair-case{display:flex;flex-direction:column;gap:4px;line-height:1.35;min-width:160px;max-width:260px}
.repair-case-name{font-size:16px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-case-order{font-size:12px;font-weight:500;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-case-phone{font-size:13px;font-weight:600;color:#00897b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-case-phone .phone-link{font-size:13px;font-weight:600;color:#00897b!important;text-decoration:none}
.repair-case-phone.missing{color:#94a3b8}
.repair-device-name{display:block;color:#0f172a;font-size:13px;line-height:1.35;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-fault-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;max-width:240px;color:#334155}
.repair-list-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.repair-more-wrap{position:relative;display:inline-flex}
.repair-more-menu{position:absolute;z-index:25;right:0;top:calc(100% + 6px);min-width:96px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 36px rgba(15,23,42,.15)}
.repair-more-menu .mini{width:100%;justify-content:center}
.repair-more-empty{display:block;padding:7px 9px;color:#94a3b8;font-size:12px;white-space:nowrap}

@media(max-width:720px){
  #repair-cards.card-list{padding:10px 12px}
  .repair-mobile-card{display:grid;gap:10px;padding:15px 0}
  .repair-mobile-card .repair-case{max-width:none;width:100%;gap:4px}
  .repair-mobile-card .repair-case-name{font-size:17px}
  .repair-mobile-card .repair-case-phone .phone-link{padding:0;border:0;background:transparent;font-size:13px;color:#00897b!important}
  .repair-mobile-device{font-size:14px;font-weight:700;color:#0f172a;line-height:1.35}
  .repair-mobile-fault{font-size:13px;color:#475569;line-height:1.45}
  .repair-mobile-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .repair-mobile-summary>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#f8fafc;font-size:12px}
  .repair-mobile-summary>div:last-child{grid-column:1/-1}
  .repair-mobile-summary span:first-child{color:#64748b;font-weight:700}
  .repair-mobile-summary strong{font-size:14px;color:#0f172a}
  .repair-mobile-card .repair-list-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:2px}
  .repair-mobile-card .repair-list-actions .mini{padding:9px 6px;font-size:12px}
  .repair-mobile-card .repair-more-wrap{display:block}
  .repair-mobile-card .repair-more-wrap>.mini{width:100%}
  .repair-mobile-card .repair-more-menu{right:0;left:auto;min-width:110px}
}
.printer-item.active{border-left:4px solid var(--teal);background:#f0fdfa}
.report-content{margin-bottom:18px}.report-performance{margin-top:18px}.report-filters{flex-wrap:wrap}.report-filters .inline-field input{width:155px}
.device-search-field,.customer-lookup-field{position:relative}.customer-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.customer-search-results{margin-top:8px}.customer-picked-note.active{color:#075f56;font-weight:750}.search-select-results button em{font-style:normal;color:var(--teal);font-size:12px;font-weight:800;white-space:nowrap}.device-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.device-combo{display:grid;grid-template-columns:minmax(0,1fr) 42px}.device-combo input{border-radius:9px 0 0 9px!important;border-right:0!important}.device-combo-toggle{border:1px solid #d5dce5;border-left:0;border-radius:0 9px 9px 0;background:#fff;color:#0f172a;font-size:18px;font-weight:900;cursor:pointer}.device-combo-toggle:hover{background:#f8fafc;color:var(--teal)}.device-search-results{margin-top:8px}.device-picker-row .device-new-button{background:var(--teal);border-color:var(--teal);color:#fff;font-size:13px;font-weight:750;padding-inline:15px}.device-create-panel{margin-top:6px;padding:15px;border:1px solid #9bd5cd;border-radius:11px;background:#f4fbfa}.device-create-panel .form-grid{margin-top:10px}.device-create-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:720px){.report-filters{display:grid;grid-template-columns:1fr 1fr}.report-filters .inline-field{display:grid;gap:6px}.report-filters .inline-field input{width:100%}.report-content{display:grid}.report-content .span-2{grid-column:auto}}
@media(max-width:480px){.device-picker-row{grid-template-columns:1fr}.device-picker-row .device-new-button{width:100%;padding:10px}}
.repair-quick-tabs{display:flex;gap:7px;overflow-x:auto;padding:3px 1px 13px;scrollbar-width:thin}.repair-quick-tabs button{display:flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);padding:9px 11px;cursor:pointer}.repair-quick-tabs button b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e7ebf0;color:#4a596c;font-size:11px}.repair-quick-tabs button.active{border-color:var(--teal);background:var(--teal2);color:#075f56;font-weight:800}.repair-quick-tabs button.active b{background:var(--teal);color:#fff}.column-picker{position:relative}.column-picker-menu{position:absolute;z-index:20;right:0;top:calc(100% + 7px);width:185px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(20,30,45,.18)}.column-picker-menu label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:7px;font-size:13px;cursor:pointer}.column-picker-menu label:hover{background:#f4f7f9}.column-picker-menu input{width:auto}.col-hidden{display:none!important}
.repair-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px 14px;border:1px solid #b9ddd8;border-radius:11px;background:#f5fbfa}.repair-selection-bar strong{display:block;color:#075f56;font-size:14px}.repair-selection-bar small{display:block;margin-top:3px;color:var(--muted)}.repair-selection-actions,.repair-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.repair-selection-actions button:disabled{cursor:not-allowed;opacity:.46}.repair-select-col,.repair-select-cell{width:58px;text-align:center}.repair-select-input{width:18px;height:18px;accent-color:var(--teal);cursor:pointer}.repair-actions-col,.repair-actions-cell{width:190px;white-space:nowrap}.repair-row-actions{flex-wrap:nowrap}.repair-row-actions .mini{font-weight:750}.repair-edit-action{border-color:#8fcac2;color:#087266}.repair-print-action{border-color:#9bb7d4;color:#245f98}tbody tr.repair-selected,tbody tr.repair-selected:hover{background:#eaf8f5}.mobile-card.repair-selected{background:#f0faf8;box-shadow:0 0 0 2px #8fcfc5;border-radius:10px;padding-inline:11px}.repair-mobile-select{margin-bottom:9px}.repair-mobile-select label{display:flex;align-items:center;gap:7px;width:max-content;color:#087266;font-size:12px;font-weight:800}.repair-mobile-select input{width:18px;height:18px}.mobile-card>.repair-row-actions{margin-top:12px}.mobile-card>.repair-row-actions .mini{flex:1;padding:9px}
.danger-action{border:1px solid #efb2a8!important;background:#fff8f8!important;color:#a73838!important}.danger-action:hover{background:#fde9e9!important}.delete-warning{display:grid;gap:12px}.delete-warning>strong{color:#8e3025;font-size:17px}.delete-warning p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:720px){.repair-quick-tabs{margin-inline:-12px;padding-inline:12px}.repair-toolbar{grid-template-columns:1fr 1fr}.repair-toolbar>input{grid-column:1/-1}.repair-toolbar .column-picker,.repair-toolbar .column-picker button,.repair-toolbar #add-repair{width:100%}.column-picker-menu{right:auto;left:0}}
@media(max-width:720px){.repair-selection-bar{display:grid;grid-template-columns:1fr;padding:12px}.repair-selection-actions{display:grid;grid-template-columns:repeat(4,1fr)}.repair-selection-actions button{padding:10px 6px;font-size:12px}}
@media(max-width:480px){.repair-selection-actions{grid-template-columns:repeat(2,1fr)}}
.customer-primary{font-size:15px;font-weight:850;color:var(--ink)}.detail-hero h3{font-size:23px}.check-field{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.check-field input{width:auto;flex:none}
@media(max-width:720px){.mobile-card .customer-primary{font-size:17px}.detail-hero h3{font-size:24px}.check-field.full{grid-column:auto}}
.role-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:15px}.role-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;box-shadow:var(--shadow)}.role-card strong{display:block;font-size:13px}.role-card p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.employee-actions{display:flex;gap:6px;flex-wrap:wrap}.settings-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:18px}.settings-layout .panel{align-self:start}.label-printer-panel{grid-column:1/-1}.checkbox-field{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px}.checkbox-field input{width:auto}.terms-editor{min-height:250px}.settings-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.mobile-card .employee-actions{margin-top:10px}.assistant-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eef2f7;color:#64748b;font-weight:800;font-size:12px}.assistant-status.ok{background:#dcfce7;color:#166534}.assistant-status.warn{background:#fff7ed;color:#9a3412}.assistant-status.error{background:#fee2e2;color:#991b1b}.assistant-help{padding:12px 14px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;color:#475569;font-size:13px;line-height:1.55;margin-bottom:14px}.printer-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.printer-list{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;overflow:hidden}.printer-list p{margin:0;padding:14px}.printer-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}.printer-item:last-child{border-bottom:0}.printer-item strong{display:block;color:#0f172a}.printer-item small{color:#64748b}.printer-item button{white-space:nowrap}
.permission-box{border:1px solid #b9ddd8;border-radius:11px;padding:12px;background:#f5fbfa}.permission-option{align-items:flex-start;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}.permission-option strong{font-size:13px}.permission-option small{display:block;margin-top:3px;color:var(--muted);font-weight:400;line-height:1.45}.permission-granted{color:var(--teal);font-weight:800}
.role-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.role-group-card{display:grid;gap:7px}.role-group-card small{display:block;color:var(--muted);font-size:11px;line-height:1.45}.role-group-card.inactive{opacity:.68;background:#f7f7f7}.role-group-card .mini{width:max-content;margin-top:2px;color:var(--teal);font-weight:800}.permission-editor{border:1px solid #b9ddd8;border-radius:12px;background:#f8fffd;padding:13px}.permission-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px}.permission-toolbar .permission-count{margin-left:auto;color:var(--muted);font-weight:700}.permission-tree{display:grid;gap:9px;max-height:55vh;overflow:auto;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px}.permission-group{margin-left:calc(var(--level,0)*18px);border-left:2px solid #dce7ea;padding-left:10px}.permission-node{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 9px;font-size:12px;font-weight:750}.permission-node input{width:auto;accent-color:var(--teal)}.permission-node small{margin-left:auto;color:#98a3b2;font-size:10px;font-weight:600}.permission-node-title{width:max-content;border-color:#9bd5cd;background:#f4fbfa;color:#075f56;margin-bottom:7px}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:7px}.employee-role-note{color:var(--muted);font-size:11px}
@media(max-width:720px){body.owner-session .mobile-nav{grid-template-columns:repeat(6,1fr)}.role-guide{grid-template-columns:1fr 1fr}.settings-layout{grid-template-columns:1fr}.label-printer-panel{grid-column:auto}.terms-editor{min-height:220px}.settings-actions{position:sticky;bottom:62px;background:#fff;padding:12px 0}.printer-item{grid-template-columns:1fr}.printer-actions .secondary,.printer-actions .primary{flex:1 1 140px}}
@media(max-width:720px){.permission-grid{grid-template-columns:1fr}.permission-tree{max-height:58vh}.permission-toolbar .permission-count{width:100%;margin-left:0}.role-group-card .mini{width:100%}}
.part-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.inventory-toolbar{flex-wrap:wrap}.inventory-toolbar>input{min-width:240px}.scanner-shell{margin-top:15px}.scanner-shell>p{text-align:center}.scanner-shell #inventory-reader{border:1px solid var(--line)!important;border-radius:12px;overflow:hidden;background:#111;min-height:180px}.scanner-shell #inventory-reader video{object-fit:cover}.manual-scan{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.scan-result{text-align:center;padding-top:15px}.scan-stock{display:block;font-size:54px;line-height:1;font-weight:900;color:var(--teal)}.scan-result>p{margin:5px 0 15px;color:var(--muted)}.scan-result dl{margin:0;text-align:left;border:1px solid var(--line);border-radius:11px;overflow:hidden}.scan-result dl div{display:grid;grid-template-columns:95px 1fr;padding:10px 12px;border-bottom:1px solid var(--line)}.scan-result dl div:last-child{border:0}.scan-result dt{color:var(--muted)}.scan-result dd{margin:0}.stocktake-input{margin-top:15px;text-align:left}.receipt-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px}.receipt-line{display:grid;grid-template-columns:minmax(180px,2fr) 80px 110px minmax(120px,1fr) auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.receipt-remove{margin-bottom:2px;color:var(--red)}
.compatibility-note,.compatibility-summary{border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin:10px 0;background:#f8fbfb}.compatibility-summary{display:flex;justify-content:space-between;gap:10px;align-items:center}.compatibility-summary span{color:var(--muted);font-size:12px}.compatibility-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:12px}.compatibility-model-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;cursor:pointer}.compatibility-model-option:has(input:checked){border-color:#16a394;background:#effbf8}.compatibility-model-option.is-primary{border-color:#0b776b;background:#e6f7f3}.compatibility-model-option input{width:18px;height:18px;accent-color:var(--teal)}.compatibility-model-option span{display:grid;gap:2px}.compatibility-model-option small{color:var(--muted)}
.repair-scan-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.repair-scan-context strong{display:block}.repair-scan-context span{display:block;color:var(--muted);font-size:13px}.repair-scan-context.active{border-color:#0b9a87;background:#ecfdf5}.repair-scan-result{margin-top:12px}.repair-scan-ok{margin:0;padding:10px 12px;border:1px solid #99f6e4;border-radius:8px;background:#ecfdf5;color:#0f766e;font-weight:800}.repair-scan-error{margin:0;padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c;font-weight:800}.repair-unit-result dl{margin-top:10px}
.repair-scan-confirm{display:grid;gap:12px;border:2px solid #0b9a87;border-radius:8px;background:#fff;padding:14px;text-align:left}.repair-scan-confirm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.repair-scan-confirm-head span{display:block;color:var(--muted);font-size:12px}.repair-scan-confirm-head h3{margin:3px 0 0;font-size:18px}.repair-scan-confirm-head>strong{border-radius:999px;background:#fff1d6;color:#8b5c00;padding:5px 9px;font-size:12px;white-space:nowrap}.repair-scan-confirm .repair-unit-result{padding-top:0}.repair-scan-confirm-note{margin:0;color:#475569;font-size:13px;line-height:1.55}.repair-scan-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.repair-scan-confirm-actions button{min-height:46px}.repair-scan-result.confirm .repair-unit-result>p{margin-top:0}
@media(max-width:720px){.inventory-toolbar{grid-template-columns:1fr 1fr}.inventory-toolbar>input{min-width:0}.inventory-toolbar button{width:100%;padding-inline:8px}.receipt-line{grid-template-columns:1fr 1fr}.receipt-line .field:first-child{grid-column:1/-1}.receipt-line .receipt-remove{grid-column:1/-1;justify-self:end}.scanner-shell #inventory-reader{min-height:240px}}
@media(max-width:720px){.repair-scan-confirm{padding:12px}.repair-scan-confirm-head{align-items:center}.repair-scan-confirm-actions{grid-template-columns:1fr}.repair-scan-confirm-actions .primary{grid-row:1}.repair-unit-result dl div{grid-template-columns:82px minmax(0,1fr)}.repair-unit-result dd{overflow-wrap:anywhere}}
.erp-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.erp-view-tabs{margin-bottom:13px}.erp-view-tabs button:disabled{opacity:.52;cursor:not-allowed}.erp-view{display:block}.erp-view.hidden{display:none!important}.erp-filters{display:grid;grid-template-columns:2fr repeat(5,1fr) auto;gap:9px;margin-bottom:15px;padding:13px}.erp-filters input,.erp-filters select{min-width:0}.erp-unit-filters{grid-template-columns:1.5fr 1fr repeat(6,minmax(110px,1fr)) auto}.erp-inventory-panel{overflow:auto}.erp-inventory-panel table{min-width:1080px}.erp-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:15px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.inventory-status-stack{display:flex;gap:5px;flex-wrap:wrap}.inventory-status-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#edf1f5;color:#344256;padding:4px 7px;font-size:11px;font-weight:750}.inventory-status-pill.in_stock{background:var(--teal2);color:#087266}.inventory-status-pill.allocated{background:#fff0d9;color:#94610d}.inventory-status-pill.used{background:#eef0f3;color:#586578}.inventory-status-pill.returned,.inventory-status-pill.transferred{background:#e5f0fb;color:#2563a2}.inventory-status-pill.lost,.inventory-status-pill.scrapped{background:#fde9e9;color:#a73838}.low-stock-tag{display:inline-flex;margin-left:6px;border-radius:999px;background:#fff0d9;color:#94610d;padding:3px 7px;font-size:11px;font-weight:750}.tracking-note{display:block;font-size:11px;color:var(--muted);margin-top:4px}.tracking-warning{color:#94610d}.unit-detail-toolbar{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr auto;gap:8px;margin:14px 0}.unit-detail-title{display:grid;gap:7px;margin:13px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfc}.unit-detail-title strong{font-size:15px}.unit-detail-table{overflow:auto}.unit-detail-table table{min-width:960px}.unit-code-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.erp-inline-error{padding:18px;text-align:center;color:var(--muted)}.erp-inline-error strong{display:block;color:#a73838;margin-bottom:7px}.stocktake-page{display:grid;gap:15px}.stocktake-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fbfefd}.stocktake-hero h2{margin:0 0 7px;font-size:22px}.stocktake-hero p{margin:0;color:var(--muted);line-height:1.55}.stocktake-safe-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--teal2);color:#087266;padding:9px 13px;font-weight:900;white-space:nowrap}.stocktake-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stocktake-create-form{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr auto;gap:9px;margin:12px 0}.stocktake-lookup-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:12px 0}.stocktake-session-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.stocktake-session-card{display:grid;gap:4px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;text-align:left;color:var(--ink);cursor:pointer}.stocktake-session-card.active{border-color:#75c9be;background:#f4fbfa;box-shadow:inset 4px 0 var(--teal)}.stocktake-session-card strong{font-size:13px}.stocktake-session-card span,.stocktake-session-card small{font-size:11px;color:var(--muted)}.stocktake-last-result{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border:1px solid #b9ddd8;border-radius:10px;background:#f8fffd;color:#075f56;padding:10px 12px;margin:10px 0}.stocktake-last-result strong{font-size:13px}.stocktake-scan-table{margin-top:12px}.stocktake-scan-table table{min-width:760px}.stocktake-result-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.stocktake-result-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}.stocktake-result-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:9px}.stocktake-result-card p{margin:8px 0;color:var(--muted);font-size:12px}.stocktake-result-card dl{margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.stocktake-result-card dl div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.stocktake-result-card dl div:last-child{border-bottom:0}.stocktake-result-card dt{color:var(--muted);font-size:12px}.stocktake-result-card dd{margin:0;word-break:break-word}.stocktake-roadmap ol{margin:0;padding-left:22px;color:#334155;line-height:1.7}.master-toolbar>select{width:auto;min-width:180px}.master-list{display:grid;gap:8px}.master-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.master-row.inactive{background:#f7f7f7;opacity:.72}.master-row>div:first-child{min-width:0}.master-row strong{display:block;font-size:14px}.master-row span,.master-row p{font-size:11px;color:var(--muted);margin:3px 0 0}.master-row>div:last-child{display:flex;align-items:center;gap:7px;flex:none}
.smart-receive-button{background:#315e99}.smart-receive-button:hover{background:#274d80}dialog.wide-modal{width:min(1180px,calc(100vw - 24px))}.ocr-loading{display:grid;justify-items:center;gap:12px;padding:55px 15px;text-align:center}.ocr-loading p{margin:0;color:var(--muted)}.ocr-spinner{width:46px;height:46px;border:5px solid #d8e4e5;border-top-color:var(--teal);border-radius:50%;animation:ocr-spin .8s linear infinite}@keyframes ocr-spin{to{transform:rotate(360deg)}}.ocr-review-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:16px;padding:14px;border:1px solid #b9ddd8;border-radius:11px;background:#f5fbfa}.ocr-review-intro p{margin:5px 0 0;color:var(--muted);font-size:12px}.ocr-engine{margin-top:12px;padding:12px 14px;border-radius:11px;border:1px solid #e3c177;background:#fff8e4;display:grid;gap:4px}.ocr-engine strong{font-size:13px}.ocr-engine span,.ocr-engine p{font-size:12px;line-height:1.45;margin:0;color:#76540b}.ocr-engine.ai{border-color:#8ecfc5;background:#f3fffb}.ocr-engine.ai span,.ocr-engine.ai p{color:#07685c}.ocr-warning{color:#a73838!important}.ocr-previews{display:flex;gap:7px;overflow:auto;max-width:45%}.ocr-previews img{width:90px;height:70px;object-fit:cover;border:1px solid var(--line);border-radius:7px;background:#fff}.ocr-item{margin-bottom:13px;padding:14px;border:1px solid #a9d5ce;border-radius:12px;background:#fbfefd}.ocr-item.needs-review{border-color:#e2a1a1;background:#fff8f8}.ocr-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.ocr-item-head>div{display:flex;align-items:center;gap:9px}.ocr-confidence{padding:4px 8px;border-radius:99px;background:var(--teal2);color:#087266;font-size:11px;font-weight:800}.ocr-item.needs-review .ocr-confidence{background:#fde9e9;color:#a73838}.ocr-source{margin:7px 0 11px;padding:8px 10px;border-radius:7px;background:#f0f3f6;color:#475468;font-size:12px;line-height:1.5}.ocr-item-grid{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1.1fr 1.2fr .65fr .8fr .75fr 1fr;gap:8px;align-items:end}.ocr-item-grid .field{font-size:11px}.ocr-item-grid input,.ocr-item-grid select{padding:9px 8px;font-size:12px}.ocr-raw{margin-top:14px;border:1px solid var(--line);border-radius:9px;padding:11px}.ocr-raw summary{cursor:pointer;color:var(--muted);font-size:12px}.ocr-raw p{margin:9px 0;color:var(--muted);font-size:12px;line-height:1.5}.ocr-raw-preview{border-color:#8ecfc5;background:#f8fffd}.ocr-raw pre{max-height:260px;overflow:auto;white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:11px}
@media(max-width:1050px){.erp-filters,.erp-unit-filters{grid-template-columns:repeat(3,1fr)}.erp-filters>input:first-child{grid-column:1/-1}.unit-detail-toolbar{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.ocr-item-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.erp-actions{display:grid;grid-template-columns:1fr 1fr}.erp-actions button{padding-inline:8px}.erp-filters,.erp-unit-filters{grid-template-columns:1fr 1fr;padding:10px}.erp-filters>input:first-child{grid-column:1/-1}.unit-detail-toolbar{grid-template-columns:1fr 1fr}.unit-detail-toolbar button{grid-column:1/-1}.master-toolbar{grid-template-columns:1fr 1fr}.master-toolbar>select{min-width:0;width:100%}.master-row{align-items:flex-start}.master-row>div:last-child{display:grid;justify-items:end}.erp-pagination{font-size:11px;gap:8px}.erp-pagination button{padding:8px}.ocr-review-intro{display:grid}.ocr-previews{max-width:100%;width:100%}.ocr-previews img{width:110px;height:82px}.ocr-item-grid{grid-template-columns:1fr 1fr}.ocr-item-grid .field:nth-child(-n+5){grid-column:1/-1}.ocr-item-head{align-items:flex-start}.ocr-source{font-size:11px}}
.erp-query-panel{display:grid;gap:9px;margin-bottom:12px;padding:13px}.erp-query-main,.erp-query-advanced{display:grid;gap:8px;align-items:center}.erp-query-main{grid-template-columns:minmax(280px,2.2fr) minmax(132px,.75fr) minmax(132px,.75fr) minmax(112px,.55fr)}.erp-query-advanced{grid-template-columns:minmax(100px,.7fr) minmax(108px,.75fr) minmax(128px,.8fr) minmax(132px,.8fr) minmax(132px,.8fr) minmax(120px,.75fr) minmax(146px,.9fr) auto auto}.erp-query-panel input,.erp-query-panel select{min-width:0;height:42px;padding:9px 11px}.erp-query-panel button{height:42px;white-space:nowrap;padding:0 15px}.erp-page-jump{min-width:64px;max-width:92px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 10px;font:inherit;font-weight:800;color:var(--ink)}.erp-pagination span{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center}
@media(max-width:1280px){.erp-query-main{grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(120px,1fr))}.erp-query-advanced{grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto}.erp-query-advanced #erp-sort{grid-column:span 2}}
@media(max-width:720px){.erp-query-panel{padding:10px}.erp-query-main,.erp-query-advanced{grid-template-columns:1fr 1fr}.erp-query-main #erp-search{grid-column:1/-1}.erp-query-advanced #erp-sort{grid-column:auto}.erp-query-panel button{width:100%}.erp-page-jump{min-width:58px}}
@media(max-width:720px){.stocktake-hero{display:grid}.stocktake-safe-badge{width:max-content}.stocktake-status-grid{grid-template-columns:1fr}.stocktake-create-form,.stocktake-lookup-form{grid-template-columns:1fr}.stocktake-create-form button,.stocktake-lookup-form button{width:100%}.stocktake-session-list,.stocktake-result-list{grid-template-columns:1fr}.stocktake-scan-table table{display:none}.stocktake-scan-table .card-list{display:block}}
@media(max-width:720px){.customer-lookup-row{grid-template-columns:1fr 1fr}.customer-lookup-row input{grid-column:1/-1}.customer-lookup-row button{width:100%}}

.unit-batch-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f8fbfb}.unit-batch-bar strong{display:block;color:#075f56;font-size:14px}.unit-batch-bar small{display:block;margin-top:3px;color:var(--muted)}.unit-detail-batch-bar{border:1px solid var(--line);border-radius:9px;margin:0 0 10px}.unit-batch-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.unit-batch-actions select{min-width:168px;height:36px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-weight:700}.unit-label-queue-progress{height:10px;margin-top:16px;overflow:hidden;border-radius:999px;background:#dbe7e5}.unit-label-queue-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .2s ease}.unit-select-col,.unit-select-cell{width:58px;text-align:center}.erp-summary-select,.erp-unit-select,.unit-detail-select,.unit-mobile-select input{width:18px;height:18px;accent-color:var(--teal)}.erp-summary-select:disabled{cursor:not-allowed;opacity:.42}tbody tr.erp-summary-selected,tbody tr.erp-summary-selected:hover{background:#eaf8f5}.unit-mobile-select input:disabled+span{color:var(--muted)}.unit-mobile-select{display:flex;align-items:center;gap:7px;width:max-content;margin-bottom:8px;color:#087266;font-size:12px;font-weight:800}.unit-label-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.unit-label-preview-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.unit-label-paper{display:grid;grid-template-columns:1fr 86px;gap:10px;align-items:center;border:1px dashed #cbd5e1;border-radius:8px;padding:9px;background:#fff}.unit-label-text{min-width:0;display:grid;gap:4px}.unit-label-text strong{font-size:13px;line-height:1.25;max-height:34px;overflow:hidden}.unit-label-text span{font-size:11px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-label-text .unit-label-item-detail{color:#172033;font-weight:900}.unit-label-text b{white-space:nowrap;overflow:visible;text-overflow:clip}.unit-label-qr svg{display:block;width:86px;height:auto}.unit-label-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--muted);font-size:11px}.erp-inline-warning{border:1px solid #f6d38b;background:#fff8e7;color:#8a5a00;border-radius:9px;padding:10px 12px;margin:12px 0;font-size:13px;line-height:1.45}
.unit-label-preview-card--compatibility{border-color:#9dd8cf;background:#f8fffd}.unit-label-paper--compatibility{display:block;min-height:142px}.unit-label-paper--compatibility .unit-label-text{height:100%;grid-template-rows:auto auto minmax(0,1fr) auto auto}.unit-label-compatibility-list{display:grid;gap:3px;padding:4px 0;border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1}.unit-label-compatibility-list span{display:flex!important;align-items:center;gap:6px;color:#172033!important;font-weight:800;white-space:nowrap!important}.unit-label-compatibility-list span b{display:grid;place-items:center;width:17px;height:17px;border:1px solid #172033;border-radius:50%;font-size:10px;flex:0 0 auto}.unit-label-companion-note{color:#087266!important;font-weight:900}

@media(max-width:720px){.unit-batch-bar{display:grid}.unit-batch-actions{justify-content:stretch}.unit-batch-actions select{width:100%}.unit-batch-actions button{flex:1}.unit-label-preview-grid{grid-template-columns:1fr}.unit-label-paper{grid-template-columns:1fr 78px}.unit-label-qr svg{width:78px}}
.quick-master-bar{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px;border:1px dashed #86c9bf;border-radius:9px;background:#f4fbfa}.quick-master-bar span{font-size:12px;color:var(--muted);margin-right:3px}.quick-master-bar .mini{color:var(--teal);font-weight:750}
@media(max-width:720px){.quick-master-bar{grid-column:auto}.quick-master-bar span{width:100%}.quick-master-bar .mini{flex:1}}
.master-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.master-field-row .quick-master-button{min-width:66px;background:var(--teal);border-color:var(--teal);color:#fff;font-weight:800;white-space:nowrap}.master-field-row .quick-master-button:hover{background:#08786c}
.receive-search-row{grid-template-columns:minmax(0,1fr) auto}.receive-combo{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch}.receive-combo input{border-radius:10px 0 0 10px!important;border-right:0!important}.receive-combo-toggle{border:1px solid var(--line);border-left:0;background:#fff;color:#0f172a;border-radius:0 10px 10px 0;font-size:18px;font-weight:800;cursor:pointer}.receive-combo-toggle:hover{background:#f8fafc;color:var(--teal)}
.search-master-row{position:relative}.search-select-results{position:relative;z-index:20;grid-column:1/-1;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 38px rgba(20,30,45,.12);padding:6px;margin-top:2px}.search-select-results button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:0;background:#fff;border-radius:8px;padding:10px 11px;text-align:left;cursor:pointer}.search-select-results button:hover{background:#f4fbfa;color:#075f56}.search-select-results strong{font-size:14px}.search-select-results small{font-size:11px;color:var(--muted)}.search-empty{padding:12px;color:var(--muted);font-size:13px}
.erp-receive-batch-compact{display:grid;gap:14px}.erp-receive-batch-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.erp-receive-batch-meta .field{min-width:0}.erp-receive-print-option{display:flex!important;align-items:center;justify-content:center;gap:9px;min-height:44px;margin-top:20px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 10px;font-size:12px;font-weight:800}.erp-receive-print-option input{width:18px;height:18px;accent-color:var(--teal)}.erp-receive-editor{border:1px solid #9bd5cd;border-radius:8px;background:#f8fffd;padding:14px}.erp-receive-editor-head,.erp-receive-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.erp-receive-editor-head strong,.erp-receive-details-head strong{display:block;font-size:15px}.erp-receive-editor-head small,.erp-receive-details-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.erp-receive-editor-tools,.erp-receive-editor-actions,.erp-receive-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.erp-receive-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}.erp-receive-search-field{position:relative;min-width:0}.erp-receive-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.erp-receive-picker .quick-master-button{min-width:66px;border-color:var(--teal);background:var(--teal);color:#fff;font-weight:850;white-space:nowrap}.erp-receive-picker .quick-master-button:hover{background:#08786c}.erp-receive-picker .quick-master-button:disabled{opacity:.5}.erp-receive-search-results{position:absolute!important;z-index:50;top:calc(100% + 4px);left:0;right:0;margin:0!important}.erp-receive-search-results button>span{display:grid;min-width:0}.erp-receive-search-results button strong,.erp-receive-search-results button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-receive-location-field{grid-column:span 2}.erp-receive-editor-actions{justify-content:flex-end;margin-top:13px;padding-top:12px;border-top:1px solid #d8e9e6}.erp-receive-details{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.erp-receive-details-head{padding:13px 14px;border-bottom:1px solid var(--line)}.erp-receive-details-head>span{flex:none;border-radius:999px;background:var(--teal2);color:#087266;padding:5px 9px;font-size:11px;font-weight:850}.erp-receive-table-wrap{overflow:auto}.erp-receive-table{min-width:940px}.erp-receive-table th{white-space:nowrap}.erp-receive-table td{vertical-align:middle}.erp-receive-table td>strong,.erp-receive-table td>span{display:block}.erp-receive-table td>span{margin-top:3px;color:var(--muted);font-size:11px}.erp-receive-detail-row.is-editing{background:#f0fdfa;box-shadow:inset 4px 0 var(--teal)}.erp-receive-row-actions{min-width:154px}.erp-receive-summary{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:12px 14px;border-top:1px solid var(--line);background:#f8fafc;color:var(--muted);font-size:12px}.erp-receive-summary span{display:flex;align-items:baseline;gap:6px}.erp-receive-summary strong{color:var(--ink);font-size:14px}
.erp-receive-compatibility-field{grid-column:1/-1;border:1px solid #b7ddd7;border-radius:8px;background:#fff;padding:11px}.erp-receive-compatibility-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.erp-receive-compatibility-head strong{display:block;font-size:13px}.erp-receive-compatibility-head small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.erp-receive-compatibility-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.erp-receive-compatibility-controls label{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#0f5f57;font-size:11px;font-weight:850}.erp-receive-compatibility-controls label input{width:16px;height:16px;accent-color:var(--teal)}.erp-receive-compatibility-controls>span{flex:none;border-radius:999px;background:var(--teal2);color:#087266;padding:5px 9px;font-size:11px;font-weight:850}.erp-receive-compatibility-search{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:9px;margin-top:10px;color:var(--muted);font-size:11px;font-weight:800}.erp-receive-compatibility-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:168px;overflow:auto;margin-top:9px;padding:8px;border:1px dashed #c7d8df;border-radius:7px;background:#f8fafc}.erp-receive-compatibility-options>p{grid-column:1/-1;margin:3px;color:var(--muted);font-size:12px}.erp-receive-compatibility-options>p.is-warning{color:#b45309;font-weight:800}.erp-receive-compatibility-option{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px;cursor:pointer}.erp-receive-compatibility-option.is-primary{border-color:#75c9bd;background:#ecfdf8}.erp-receive-compatibility-option input{width:17px;height:17px;flex:none;accent-color:var(--teal)}.erp-receive-compatibility-option span{display:grid;min-width:0}.erp-receive-compatibility-option strong,.erp-receive-compatibility-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-receive-compatibility-option strong{font-size:12px}.erp-receive-compatibility-option small{margin-top:2px;color:var(--muted);font-size:10px}.erp-receive-table .erp-receive-compatibility-note{margin-top:5px;color:#087266;font-weight:750;white-space:normal}
@media(max-width:1050px){.erp-receive-batch-meta,.erp-receive-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-receive-location-field{grid-column:span 2}}
@media(max-width:720px){.erp-receive-batch-compact{gap:10px}.erp-receive-batch-meta,.erp-receive-editor-grid{grid-template-columns:1fr}.erp-receive-print-option{justify-content:flex-start;margin-top:0}.erp-receive-editor{padding:11px}.erp-receive-editor-head{display:grid}.erp-receive-editor-tools{width:100%}.erp-receive-editor-tools button{flex:1}.erp-receive-location-field{grid-column:auto}.erp-receive-compatibility-head{display:grid}.erp-receive-compatibility-controls{justify-content:flex-start}.erp-receive-compatibility-controls>span{width:max-content}.erp-receive-compatibility-search{grid-template-columns:1fr}.erp-receive-compatibility-options{grid-template-columns:1fr 1fr;max-height:210px}.erp-receive-editor-actions{display:grid;grid-template-columns:1fr 1fr}.erp-receive-editor-actions button{width:100%}.erp-receive-editor-actions .primary:only-child{grid-column:1/-1}.erp-receive-picker{grid-template-columns:minmax(0,1fr) 64px}.erp-receive-table{display:block;min-width:0;padding:10px}.erp-receive-table thead{display:none}.erp-receive-table tbody{display:grid;gap:9px}.erp-receive-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.erp-receive-table td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:8px 9px;border:0;border-bottom:1px solid #edf1f4;font-size:12px}.erp-receive-table td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:750}.erp-receive-table td:nth-child(2),.erp-receive-table td:nth-child(3),.erp-receive-table td:nth-child(8),.erp-receive-table td:nth-child(9),.erp-receive-table td[colspan]{grid-column:1/-1}.erp-receive-table td:nth-last-child(-n+2){border-bottom:0}.erp-receive-table td[colspan]{display:block;text-align:center}.erp-receive-table td[colspan]:before{display:none}.erp-receive-row-actions{display:grid;grid-template-columns:repeat(3,1fr);min-width:0}.erp-receive-row-actions button{width:100%}.erp-receive-summary{justify-content:space-between;gap:8px}.erp-receive-summary span{display:grid;gap:2px}.erp-receive-summary strong{font-size:12px}}
.legacy-customer-result-title{margin:6px 6px 4px;padding-top:8px;border-top:1px solid #e2e8f0;color:#0f766e;font-size:12px;font-weight:900;letter-spacing:.08em}.search-select-results button.legacy-customer-result{background:#f0fdfa;border:1px solid #ccfbf1}.search-select-results button.legacy-customer-result:hover{background:#ccfbf1}

/* Phase 27: centralized supervisor approval center */
.approval-center-page{display:none;gap:14px}.approval-center-page.active{display:grid}.approval-center-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#142b49,#203d60);color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.12)}.approval-center-hero h2{margin:2px 0 7px;font-size:26px}.approval-center-hero p{max-width:820px;margin:0;color:#dbe8f6;line-height:1.55}.approval-center-hero .kicker{color:#62ddc9}.approval-center-category-placeholder{color:#fff}.approval-category-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}.approval-category-tabs button{display:flex;align-items:center;gap:8px;flex:none;min-height:42px;padding:8px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#475569;font-weight:850;cursor:pointer}.approval-category-tabs button b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#e8eef5;color:#334155;font-size:11px}.approval-category-tabs button.active{border-color:var(--teal);background:var(--teal);color:#fff}.approval-category-tabs button.active b{background:rgba(255,255,255,.2);color:#fff}.approval-center-panel{overflow:hidden}.approval-center-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:10px;align-items:end;padding-bottom:14px;border-bottom:1px solid var(--line)}.approval-center-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:850}.approval-center-filters input,.approval-center-filters select{width:100%}.approval-center-summary{padding:11px 2px;color:#075f56;font-size:13px;font-weight:850}.approval-table-wrap{overflow:auto}.approval-table{width:100%;min-width:1040px}.approval-table th{white-space:nowrap}.approval-table td{vertical-align:top}.approval-table td strong,.approval-table td small,.approval-table td span{display:block}.approval-table td small{margin-top:4px;color:var(--muted)}.approval-table td a{display:inline-block;margin-top:5px;color:#087c70;font-size:12px;font-weight:850;text-decoration:none}.approval-category{display:inline-flex!important;width:max-content;margin-bottom:5px;padding:3px 8px;border-radius:999px;background:#e6f7f3;color:#087266;font-size:11px;font-weight:900}.approval-impact{max-width:220px;color:#9a3412;font-weight:800;line-height:1.45}.approval-status{display:inline-flex!important;width:max-content;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:900;white-space:nowrap}.approval-status.pending{background:#fff7ed;color:#c2410c}.approval-status.approved{background:#dcfce7;color:#15803d}.approval-status.rejected{background:#fee2e2;color:#b91c1c}.approval-row-actions{display:flex;gap:6px;min-width:126px;flex-wrap:wrap}.approval-reject{border-color:#efb2a8!important;color:#b42318!important}.approval-card-list{display:none}.approval-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.approval-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.approval-detail-grid>div.wide{grid-column:1/-1}.approval-detail-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800}.approval-detail-grid strong{display:block;margin-top:5px;line-height:1.5;word-break:break-word}.approval-requirements{margin-top:14px;padding:14px;border:1px solid #f0b674;border-radius:12px;background:#fff8ed;color:#92400e}.approval-requirements ul{margin:9px 0;padding-left:22px}.approval-requirements p{margin:8px 0 0;font-size:12px;font-weight:750}.approval-detail-link{display:inline-flex;margin-top:14px;text-decoration:none}.approval-detail-unavailable{margin:14px 0 0;color:#b42318;font-weight:750}.approval-review-confirm>p{margin-top:0;line-height:1.55}.approval-review-impact{margin:12px 0;padding:12px;border:1px solid #f0b674;border-radius:11px;background:#fff8ed}.approval-review-impact span{display:block;color:#9a3412;font-size:12px;font-weight:850}.approval-review-impact strong{display:block;margin-top:4px}.approval-review-confirm textarea{min-height:100px}.approval-mobile-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.approval-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.approval-mobile-head>div{min-width:0}.approval-mobile-head strong,.approval-mobile-head small{display:block}.approval-mobile-head small{margin-top:4px;color:var(--muted);font-size:11px}.approval-mobile-card dl{display:grid;gap:8px;margin:12px 0}.approval-mobile-card dl>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;padding-top:8px;border-top:1px solid #edf2f7}.approval-mobile-card dt{color:var(--muted);font-size:11px;font-weight:850}.approval-mobile-card dd{margin:0;font-size:13px;font-weight:750;line-height:1.45;word-break:break-word}.approval-mobile-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.approval-mobile-actions a{text-decoration:none}
.approval-special-review{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid #99d8ce;border-radius:14px;background:#f1fbf8}.approval-special-review h3,.approval-special-review p{margin:0}.approval-special-checks{display:grid;gap:8px}.approval-special-checks label{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #cfe9e3;border-radius:10px;background:#fff;font-weight:750;line-height:1.45}.approval-special-checks input{flex:none;margin-top:3px}.approval-special-review textarea{min-height:88px}
.approval-review-modal #modal-form{max-height:90vh;overflow:auto}.approval-review-modal .modal-actions{position:sticky;bottom:-24px;z-index:2;margin-inline:-24px;padding:16px 24px 24px;background:linear-gradient(180deg,rgba(255,255,255,.88),#fff 28%)}.approval-review-blocked{margin-top:16px;padding:15px;border:1px solid #f3c08b;border-radius:12px;background:#fff8ed;color:#92400e}.approval-review-blocked p{margin:6px 0 0;line-height:1.55}.approval-domain-section{display:grid;gap:14px;margin-top:16px;padding:16px;border:1px solid #b8ddd7;border-radius:14px;background:#f5fbfa}.approval-domain-section h3,.approval-domain-section p{margin:0}.approval-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.approval-domain-grid .wide{grid-column:1/-1}.approval-domain-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.approval-domain-summary span{padding:10px;border:1px solid #d9e6e4;border-radius:10px;background:#fff;color:var(--muted);font-size:11px;font-weight:800}.approval-domain-summary strong{display:block;margin-top:4px;color:var(--ink);font-size:13px;line-height:1.4;word-break:break-word}.approval-payroll-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.approval-payroll-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid #d9e6e4;border-radius:10px;background:#fff}.approval-payroll-summary span{color:var(--muted);font-size:12px;font-weight:750}.approval-payroll-summary strong{font-size:14px;white-space:nowrap}.approval-confirm-notice{padding:14px;border:1px solid #f0b674;border-radius:11px;background:#fff8ed;color:#92400e}.approval-confirm-notice p{margin-top:6px;line-height:1.55}
@media(max-width:850px){.approval-center-hero{align-items:flex-start;padding:18px}.approval-center-hero .secondary{flex:none}.approval-center-filters{grid-template-columns:1fr 150px}.approval-center-filters .primary{grid-column:1/-1;width:100%}.approval-table-wrap{display:none}.approval-card-list{display:grid;gap:10px}.approval-center-summary{padding-top:14px}}
@media(max-width:720px){.approval-review-modal{width:calc(100vw - 12px);max-height:96vh}.approval-review-modal #modal-form{max-height:96vh;padding:16px}.approval-review-modal .modal-actions{bottom:-16px;margin-inline:-16px;padding:14px 16px 18px}.approval-domain-grid,.approval-domain-summary,.approval-payroll-summary{grid-template-columns:1fr}.approval-domain-grid .wide{grid-column:auto}}
@media(max-width:560px){.approval-center-hero{display:grid}.approval-center-hero .secondary{width:100%}.approval-center-filters{grid-template-columns:1fr}.approval-center-filters .primary{grid-column:auto}.approval-detail-grid{grid-template-columns:1fr}.approval-detail-grid>div.wide{grid-column:auto}.approval-mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.approval-mobile-actions>*{width:100%;text-align:center}.approval-mobile-actions .primary:only-child{grid-column:1/-1}}
.compact-customer-info{padding:12px}.compact-customer-info .customer-info-head span{font-size:14px;font-weight:850;color:var(--ink)}.compact-customer-info .customer-info-head small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.compact-customer-info .customer-info-grid{margin-top:10px}.compact-customer-info .customer-info-grid>div{padding:8px 10px}
.detail-top-info{margin-top:16px}.detail-status-panel{margin:12px 0 6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.detail-status-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.detail-status-summary>span{font-size:12px;font-weight:850;color:var(--muted)}.detail-status-summary>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.detail-status-panel .material-control{margin:9px 0}.detail-status-panel .action-row{margin:9px 0 0}
.material-part-field{position:relative}.material-part-picked{display:block;color:var(--teal)!important;font-weight:800}.material-part-results{z-index:4}.material-line .material-part-results button{display:grid;justify-content:stretch}.material-line .material-part-results small{margin-top:3px}
.material-control{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px 0;padding:13px 15px;border:1px solid;border-radius:11px}.material-control.warning{border-color:#efb2a8;background:#fff5f2;color:#8e3025}.material-control.ready{border-color:#96d4ca;background:#effaf7;color:#07685c}.material-control p{margin:5px 0;font-size:13px}.material-control small{display:block;line-height:1.45}.material-approval{margin:12px 0;padding:16px;border:2px solid #d66b5d;border-radius:12px;background:#fff8f6}.material-approval h3{margin:0;color:#8e3025}.material-approval>p{margin:7px 0 0;color:#9b493e;font-size:13px}.material-approval-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}.timeline-item.approval:before{background:#d66b5d}
.approval-queue-panel{margin-bottom:18px;border-color:#f0c091;background:#fffaf3}.approval-request-item small{display:block;color:#9b493e;margin-top:5px}.approval-review ul,.missing-list{margin:7px 0 0;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}.approval-review li{margin:4px 0}.material-exception-box{margin:15px 0;padding:15px;border:1px dashed #d89a70;border-radius:12px;background:#fffaf5}.material-exception-box .panel-title{margin-bottom:8px}.missing-list{display:grid;gap:5px;color:#8e3025;font-size:13px}
@media(max-width:720px){.material-control{align-items:stretch;flex-direction:column}.material-control .mini{width:100%}.material-approval-actions{display:grid;grid-template-columns:1fr 1fr}.material-approval-actions button{width:100%}}

dialog.repair-detail-modal{width:min(1480px,calc(100vw - 24px))}
dialog.repair-detail-modal #modal-form{padding:20px 24px}
.repair-detail-layout{display:grid;gap:13px}
.repair-detail-command{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.repair-detail-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.repair-detail-headline h3{margin:1px 0 4px;font-size:26px;line-height:1.15}
.repair-detail-headline small{color:var(--muted);font-weight:650}
.repair-detail-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.repair-detail-actions{align-items:center;margin-bottom:0}
.repair-detail-actions select{width:auto;min-width:150px}
.repair-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;margin-top:4px}
.repair-detail-cell{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;min-height:42px;padding:9px 11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.repair-detail-cell>span,.repair-detail-wide-row>span{font-size:13px;font-weight:850;color:#111827}
.repair-detail-cell>div{min-width:0;text-align:right;color:#176fba;font-weight:700;word-break:break-word}
.repair-detail-cell small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:600}
.repair-detail-cell a{color:#176fba;text-decoration:none}
.repair-detail-cell.money-cell>div{font-variant-numeric:tabular-nums}
.repair-detail-cell.unlock-cell>div{text-align:left}
.repair-unlock-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.repair-unlock-summary .mini{padding:5px 8px}
.repair-unlock-summary #unlock-output{flex-basis:100%;text-align:left}
.repair-detail-wide-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-top:0;background:#fff}
.repair-detail-wide-row>div{line-height:1.55;word-break:break-word}
.repair-detail-wide-row strong{color:#075f56}
.repair-detail-wide-row small{display:block;margin-top:4px;color:var(--muted)}
.repair-detail-textarea textarea{min-height:76px}
.repair-actual-fault{border-top:1px solid #9bd5cd!important;margin-top:0}
.repair-detail-cost-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
.repair-detail-cost-strip>div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.repair-detail-cost-strip span{display:block;color:var(--muted);font-size:12px;font-weight:750}
.repair-detail-cost-strip strong{font-size:16px;font-variant-numeric:tabular-nums}
.repair-detail-material-summary{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.repair-detail-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fafbfc;border-bottom:1px solid var(--line)}
.repair-detail-table-wrap{overflow:auto}
.repair-detail-material-summary table{min-width:760px}
.repair-detail-material-summary th,.repair-detail-material-summary td{padding:10px 12px}
.center-cell{text-align:center!important}
@media(max-width:1100px){.repair-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-detail-cost-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){dialog.repair-detail-modal{width:calc(100vw - 12px)}dialog.repair-detail-modal #modal-form{padding:16px}.repair-detail-headline{display:grid}.repair-detail-badges{justify-content:flex-start}.repair-detail-grid{grid-template-columns:1fr}.repair-detail-cell{grid-template-columns:88px minmax(0,1fr);padding:10px}.repair-detail-cell>div{text-align:left}.repair-detail-wide-row{grid-template-columns:1fr;gap:5px}.repair-detail-cost-strip{grid-template-columns:1fr}.repair-detail-actions select,.repair-detail-actions button{width:100%}}
.material-select-card{min-width:0}.material-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.material-search-row .mini{white-space:nowrap}.material-search-button{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:850}.material-filter-panel{margin-top:8px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd;padding:10px 12px}.material-filter-panel summary{cursor:pointer;color:#075f56;font-size:13px;font-weight:850}.material-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.material-filter-grid .field{min-width:0}.material-filter-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.material-filter-search{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:850}.material-filter-hint{color:var(--muted)!important}.material-filter-results{margin-top:10px;max-height:300px}.material-filter-results button{display:grid!important;justify-content:stretch!important}.material-filter-results button strong{line-height:1.35}.material-filter-results button small{line-height:1.45;margin-top:3px}.material-brand-field,.material-model-field{position:relative}.material-brand-results,.material-model-results{z-index:5}.material-model-picked{display:block;color:var(--muted)!important}.material-line .material-brand-results button,.material-line .material-model-results button{display:flex}.material-line .material-part-results button strong{line-height:1.35}.material-line .material-part-results button small{line-height:1.45}
@media(max-width:980px){.material-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.material-line{grid-template-columns:1fr}.material-line .material-qty{max-width:150px}.material-search-row{grid-template-columns:1fr auto}.material-filter-grid{grid-template-columns:1fr}.material-filter-actions{align-items:stretch}.material-filter-search{width:100%}.material-filter-panel{padding:9px}.material-line .remove-material{grid-column:auto;justify-self:end}}

/* Used-device module */
.used-device-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px;padding-bottom:4px}
.used-device-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:850;color:#475569;white-space:nowrap;cursor:pointer}
.used-device-tabs button.active,.used-device-tabs button:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.used-device-toolbar{flex-wrap:wrap}
.used-device-toolbar input{min-width:280px}
.used-device-toolbar select{min-width:170px}
.used-device-form .field.full textarea{min-height:96px}
.used-detail{display:grid;gap:13px;margin-top:14px}
.used-detail-v3{display:grid;gap:14px;margin-top:14px}
.used-detail-v3-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.used-detail-v3-metric{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.03)}
.used-detail-v3-metric span{display:block;color:var(--muted);font-size:12px;font-weight:850}
.used-detail-v3-metric strong{display:block;margin-top:5px;font-size:19px;font-variant-numeric:tabular-nums;color:#0f172a}
.used-detail-v3-metric strong.accent,.used-detail-v3-profit{color:#008f7a}
.used-detail-v3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.used-detail-v3-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.used-detail-v3-card h3{margin:0 0 9px;color:#075f56;font-size:14px;font-weight:950}
.used-detail-v3-row{display:grid;grid-template-columns:126px minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid #eef2f7}
.used-detail-v3-row:first-of-type{border-top:0}
.used-detail-v3-row span{color:var(--muted);font-size:12px;font-weight:900}
.used-detail-v3-row strong{min-width:0;color:#0f172a;font-size:13px;font-weight:800;word-break:break-word}
.used-detail-v3-record-table{overflow:auto}
.used-detail-v3-record-table table{width:100%;min-width:520px}
.used-detail-v3-empty{padding:16px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center;font-weight:800}
.used-detail-v3-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.used-device-card .part-actions{margin-top:12px}
@media(max-width:720px){
  .used-device-tabs{position:sticky;top:0;z-index:3;background:var(--bg);padding:8px 0}
  .used-device-toolbar{grid-template-columns:1fr 1fr}
  .used-device-toolbar input,.used-device-toolbar select{grid-column:1/-1;min-width:0;width:100%}
  .used-device-toolbar button{width:100%}
  .used-detail-v3-metrics,.used-detail-v3-grid{grid-template-columns:1fr}
  .used-detail-v3-row{grid-template-columns:92px minmax(0,1fr)}
  .used-detail-v3-actions button{width:100%}
}

/* Repair detail UX redesign: one header, KPI cards, card overview */
dialog.repair-detail-modal #modal-form{padding:18px 22px}
dialog.repair-detail-modal .modal-head{align-items:flex-start;padding-bottom:8px}
dialog.repair-detail-modal .modal-head h2{font-size:18px}
dialog.repair-detail-modal .modal-head .kicker{display:none}
.repair-detail-redesign{gap:12px}
.repair-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#f8fffd,#f4f8fb)}
.repair-detail-main-id h3{margin:0 0 5px;font-size:28px;line-height:1.1;color:#07111f}
.repair-detail-main-id strong{display:block;font-size:15px;color:#075f56}
.repair-detail-main-id span{display:block;margin-top:3px;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.03em}
.repair-inline-warning .material-control{margin:0}
.repair-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.repair-kpi-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.03)}
.repair-kpi-card span{display:block;color:var(--muted);font-size:12px;font-weight:850}
.repair-kpi-card strong{display:block;margin-top:5px;font-size:20px;font-variant-numeric:tabular-nums;color:#0f172a}
.repair-kpi-card.warning-kpi strong{color:#b42318}
.repair-kpi-card.profit-kpi strong{color:#008f7a}
.repair-kpi-card.locked-kpi strong{font-size:14px;color:var(--muted)}
.repair-detail-actions{position:relative;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
.repair-detail-actions .primary{background:var(--teal);border-color:var(--teal);color:#fff}
.repair-detail-actions .secondary{background:#f8fafc;border-color:var(--line);color:#0f172a}
.repair-detail-actions .compact-status-select,.repair-detail-actions .pickup-select{min-width:132px;max-width:160px}
.repair-save-status{font-weight:850}
.repair-more-menu{position:relative}
.repair-more-menu summary{list-style:none;cursor:pointer;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px;font-weight:850}
.repair-more-menu summary::-webkit-details-marker{display:none}
.repair-more-menu-content{position:absolute;right:0;top:calc(100% + 6px);z-index:15;min-width:150px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.14)}
.repair-more-menu-content .danger-action{width:100%}
.repair-sticky-tabs{position:sticky;top:0;z-index:9;display:flex;gap:6px;margin:0;padding:8px 0;background:#fff;border-bottom:1px solid var(--line)}
.repair-sticky-tabs button{padding:8px 12px;border-radius:999px;font-weight:850}
.repair-overview-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.repair-info-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.repair-info-card-wide{margin-top:12px}
.repair-card-title{margin-bottom:10px;color:#075f56;font-size:14px;font-weight:950}
.repair-info-row{display:grid;grid-template-columns:126px minmax(0,1fr);gap:12px;align-items:start;padding:10px 0;border-top:1px solid #eef2f7}
.repair-info-row:first-of-type{border-top:0}
.repair-info-row>span{color:var(--muted);font-size:12px;font-weight:900}
.repair-info-row>div{min-width:0;color:#0f172a;font-weight:800;word-break:break-word}
.repair-info-row.phone-row a{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid #94d8cf;border-radius:999px;color:#008f7a;text-decoration:none}
.repair-info-row.unlock-row .repair-unlock-summary{justify-content:flex-start}
.repair-info-row.actual-fault-row strong{display:block;color:#075f56}
.repair-info-row.actual-fault-row .mini{margin-top:8px}
.repair-info-row.engineer-note-row textarea{min-height:86px}
.compact-cost-strip{margin-top:12px}

@media(max-width:900px){
  .repair-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .repair-overview-cards{grid-template-columns:1fr}
}
@media(max-width:720px){
  dialog.repair-detail-modal{width:calc(100vw - 10px);max-height:96vh}
  dialog.repair-detail-modal #modal-form{padding:14px 14px 96px}
  .repair-detail-header{padding:12px;border-radius:14px}
  .repair-detail-main-id h3{font-size:22px}
  .repair-detail-main-id strong{font-size:13px}
  .repair-detail-main-id span{font-size:12px}
  .repair-detail-badges{justify-content:flex-end}
  .repair-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .repair-kpi-card{padding:10px}
  .repair-kpi-card strong{font-size:16px}
  .repair-sticky-tabs{top:0;overflow-x:auto;padding:7px 0}
  .repair-sticky-tabs button{white-space:nowrap;padding:7px 10px}
  .repair-info-card{padding:12px}
  .repair-info-row{grid-template-columns:92px minmax(0,1fr);gap:8px;padding:9px 0}
  .repair-detail-actions{position:fixed;left:10px;right:10px;bottom:10px;z-index:30;flex-wrap:nowrap;overflow-x:auto;padding:8px;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.24)}
  .repair-detail-actions button,.repair-detail-actions select,.repair-more-menu summary{flex:0 0 auto;white-space:nowrap;width:auto!important}
  .repair-detail-actions .compact-status-select,.repair-detail-actions .pickup-select{min-width:118px}
  .repair-more-menu-content{right:auto;left:0;top:auto;bottom:calc(100% + 8px)}
}

/* PWA / mobile app shell */
.offline-banner{position:fixed;left:50%;bottom:18px;z-index:1200;transform:translateX(-50%);padding:10px 14px;border-radius:999px;background:#0f172a;color:#fff;font-size:13px;font-weight:850;box-shadow:0 18px 40px rgba(15,23,42,.25)}
.pwa-install-card{position:fixed;right:18px;bottom:18px;z-index:1190;display:flex;align-items:center;gap:10px;max-width:min(460px,calc(100vw - 36px));padding:14px;border:1px solid #9ad8d1;border-radius:18px;background:#f7fffd;box-shadow:0 18px 45px rgba(15,23,42,.18)}
.pwa-install-card strong{display:block;color:#075f56;font-size:15px}
.pwa-install-card span{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.pwa-install-card button{white-space:nowrap}
body.dashboard-v2-mode .pwa-install-card{display:none!important}
body.used-device-v2-preview-mode .pwa-install-card,
body.used-device-v2-preview-mode #pwa-install-card,
body.used-device-v2-preview-mode #pwa-install-btn{display:none!important}
@media(max-width:720px){
  body{overscroll-behavior-y:none}
  .top-actions #pwa-install-btn{display:none}
  .pwa-install-card{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:none;align-items:flex-start;flex-wrap:wrap}
  .pwa-install-card>div{flex:1 1 180px}
  .offline-banner{left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;text-align:center;border-radius:14px}
}
@media(display-mode:standalone){
  body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
}

/* Compact phone layout for repair detail */
@media(max-width:720px){
  dialog.repair-detail-modal{
    width:100vw;
    max-width:100vw;
    height:100dvh;
    max-height:100dvh;
    margin:0;
    border-radius:0;
  }
  dialog.repair-detail-modal #modal-form{
    padding:12px 12px calc(86px + env(safe-area-inset-bottom));
  }
  dialog.repair-detail-modal .modal-head{
    position:sticky;
    top:0;
    z-index:22;
    margin:-12px -12px 10px;
    padding:10px 12px;
    background:#fff;
  }
  dialog.repair-detail-modal .modal-head h2{
    font-size:18px;
    line-height:1.2;
  }
  dialog.repair-detail-modal .icon-btn{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    border-radius:10px;
    font-size:24px;
    background:#fff;
  }
  .repair-detail-redesign{gap:10px}
  .repair-detail-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:12px;
    border-radius:13px;
  }
  .repair-detail-main-id h3{
    margin-bottom:4px;
    font-size:20px;
    line-height:1.18;
    word-break:break-word;
  }
  .repair-detail-main-id strong{
    font-size:13px;
    line-height:1.35;
  }
  .repair-detail-main-id span{
    font-size:12px;
    letter-spacing:0;
  }
  .repair-detail-badges{
    display:grid;
    justify-items:end;
    gap:5px;
  }
  .repair-detail-badges .badge{
    padding:4px 7px;
    font-size:10px;
  }
  .repair-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .repair-kpi-card{
    min-height:70px;
    padding:10px 12px;
    border-radius:13px;
  }
  .repair-kpi-card span{
    font-size:11px;
  }
  .repair-kpi-card strong{
    margin-top:4px;
    font-size:17px;
  }
  .repair-sticky-tabs{
    top:58px;
    margin:0 -12px;
    padding:8px 12px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
  }
  .repair-sticky-tabs button{
    padding:8px 12px;
    font-size:14px;
  }
  .repair-info-card{
    padding:12px;
    border-radius:13px;
  }
  .repair-card-title{
    margin-bottom:6px;
    font-size:18px;
  }
  .repair-info-row{
    grid-template-columns:76px minmax(0,1fr);
    gap:8px;
    padding:8px 0;
  }
  .repair-info-row>span{
    font-size:12px;
  }
  .repair-info-row>div{
    font-size:14px;
    line-height:1.35;
  }
  .repair-info-row.phone-row a{
    padding:5px 9px;
    font-size:13px;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .repair-info-row textarea,
  .repair-info-row input,
  .repair-info-row select{
    font-size:14px;
    padding:9px 10px;
  }
  .repair-overview-cards{
    gap:10px;
  }
  .repair-detail-actions{
    left:8px;
    right:8px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    gap:6px;
    padding:7px;
    border-radius:14px;
  }
  .repair-detail-actions button,
  .repair-detail-actions select,
  .repair-more-menu summary{
    min-height:42px;
    padding:9px 12px;
    font-size:14px;
  }
  .repair-detail-actions .compact-status-select,
  .repair-detail-actions .pickup-select{
    min-width:104px;
    max-width:136px;
  }
}

/* Extra dense mode for real shop phone usage */
@media(max-width:720px){
  dialog.repair-detail-modal #modal-form{
    padding:8px 8px calc(74px + env(safe-area-inset-bottom))!important;
  }
  dialog.repair-detail-modal .modal-head{
    margin:-8px -8px 6px!important;
    padding:7px 8px!important;
    min-height:42px;
  }
  dialog.repair-detail-modal .modal-head h2{
    font-size:16px!important;
  }
  dialog.repair-detail-modal .icon-btn{
    width:34px!important;
    height:34px!important;
    border-radius:8px!important;
    font-size:22px!important;
  }
  .repair-detail-redesign{gap:7px!important}
  .repair-detail-header{
    padding:9px 10px!important;
    border-radius:11px!important;
  }
  .repair-detail-main-id h3{
    font-size:17px!important;
    line-height:1.15!important;
    margin:0 0 2px!important;
  }
  .repair-detail-main-id strong{
    font-size:12px!important;
    line-height:1.25!important;
  }
  .repair-detail-main-id span{
    font-size:11px!important;
    line-height:1.2!important;
    margin-top:2px!important;
  }
  .repair-detail-badges .badge{
    padding:3px 6px!important;
    font-size:10px!important;
  }
  .repair-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .repair-kpi-card{
    min-height:52px!important;
    padding:8px 10px!important;
    border-radius:10px!important;
  }
  .repair-kpi-card span{
    font-size:10px!important;
    line-height:1.1!important;
  }
  .repair-kpi-card strong{
    margin-top:3px!important;
    font-size:15px!important;
    line-height:1.15!important;
  }
  .repair-sticky-tabs{
    top:42px!important;
    margin:0 -8px!important;
    padding:6px 8px!important;
    gap:5px!important;
  }
  .repair-sticky-tabs button{
    padding:7px 10px!important;
    font-size:13px!important;
    border-radius:999px!important;
  }
  .repair-info-card{
    padding:8px 10px!important;
    border-radius:11px!important;
  }
  .repair-card-title{
    margin-bottom:4px!important;
    font-size:16px!important;
    line-height:1.2!important;
  }
  .repair-info-row{
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:6px!important;
    padding:6px 0!important;
  }
  .repair-info-row>span{
    font-size:11px!important;
    line-height:1.25!important;
  }
  .repair-info-row>div{
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:750!important;
  }
  .repair-info-row.phone-row a{
    padding:4px 8px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .repair-overview-cards{
    gap:7px!important;
  }
  .repair-info-card-wide{
    margin-top:7px!important;
  }
  .repair-info-row.unlock-row .repair-unlock-summary{
    gap:5px!important;
  }
  .pattern-grid.readonly{
    transform:scale(.78);
    transform-origin:left top;
    margin-bottom:-34px;
  }
  .repair-detail-actions{
    left:6px!important;
    right:6px!important;
    bottom:calc(6px + env(safe-area-inset-bottom))!important;
    gap:5px!important;
    padding:6px!important;
    border-radius:12px!important;
  }
  .repair-detail-actions button,
  .repair-detail-actions select,
  .repair-more-menu summary{
    min-height:38px!important;
    padding:8px 10px!important;
    font-size:13px!important;
    border-radius:9px!important;
  }
  .repair-detail-actions .compact-status-select,
  .repair-detail-actions .pickup-select{
    min-width:96px!important;
    max-width:126px!important;
  }
}

/* Auto detected phone mode: prevent tablet layout from leaking into phones */
body.device-phone dialog.repair-detail-modal,
body.device-phone dialog.repair-detail-modal.repair-phone-auto{
  position:fixed!important;
  inset:0!important;
  width:var(--app-vw,100vw)!important;
  max-width:var(--app-vw,100vw)!important;
  height:var(--app-vh,100dvh)!important;
  max-height:var(--app-vh,100dvh)!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body.device-phone dialog.repair-detail-modal #modal-form{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
}
body.device-phone dialog.repair-detail-modal .repair-detail-redesign,
body.device-phone dialog.repair-detail-modal .repair-detail-layout,
body.device-phone dialog.repair-detail-modal .repair-detail-header,
body.device-phone dialog.repair-detail-modal .repair-kpi-grid,
body.device-phone dialog.repair-detail-modal .repair-overview-cards,
body.device-phone dialog.repair-detail-modal .repair-info-card,
body.device-phone dialog.repair-detail-modal .repair-info-row{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.device-phone dialog.repair-detail-modal .repair-detail-redesign *,
body.device-phone dialog.repair-detail-modal .repair-detail-layout *{
  min-width:0;
}
body.device-phone dialog.repair-detail-modal .repair-kpi-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.device-phone dialog.repair-detail-modal .repair-kpi-card,
body.device-phone dialog.repair-detail-modal .repair-info-card{
  overflow:hidden!important;
}
body.device-phone dialog.repair-detail-modal .repair-detail-main-id h3,
body.device-phone dialog.repair-detail-modal .repair-detail-main-id strong,
body.device-phone dialog.repair-detail-modal .repair-info-row>div{
  overflow-wrap:anywhere;
}
body.device-phone dialog.repair-detail-modal .repair-sticky-tabs{
  max-width:100%!important;
  overflow-x:auto!important;
}
body.device-phone dialog.repair-detail-modal .repair-detail-actions{
  max-width:calc(var(--app-vw,100vw) - 12px)!important;
  overflow-x:auto!important;
}
body.device-small-phone dialog.repair-detail-modal .repair-detail-main-id h3{
  font-size:16px!important;
}
body.device-small-phone dialog.repair-detail-modal .repair-card-title{
  font-size:15px!important;
}
body.device-small-phone dialog.repair-detail-modal .repair-info-row{
  grid-template-columns:62px minmax(0,1fr)!important;
}
body.device-small-phone dialog.repair-detail-modal .repair-info-row>div{
  font-size:12px!important;
}

.repair-mobile-floating-close{
  display:none;
}
body.device-phone dialog.repair-detail-modal .repair-mobile-floating-close{
  position:fixed;
  top:max(8px,env(safe-area-inset-top));
  right:10px;
  z-index:80;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #d8e0e8;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  color:#425066;
  font-size:28px;
  line-height:1;
  box-shadow:0 8px 24px rgba(15,23,42,.14);
}
body.device-phone dialog.repair-detail-modal .repair-mobile-floating-close:active{
  transform:scale(.96);
}

/* Repair order detail: full workspace style like a real ERP detail page */
dialog.repair-detail-modal{
  width:min(1680px,calc(100vw - 28px))!important;
  max-height:96vh!important;
}
dialog.repair-detail-modal .modal-head{
  display:none!important;
}
dialog.repair-detail-modal #modal-form{
  padding:18px!important;
  background:#f7f9fb;
}
.repair-workspace-detail{
  gap:16px!important;
}
.repair-workspace-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:4px 2px 14px;
  border-bottom:1px solid #e5ebf2;
}
.repair-workspace-breadcrumb{
  margin-bottom:12px;
  color:#64748b;
  font-size:13px;
  font-weight:850;
}
.repair-workspace-order{
  display:flex;
  align-items:center;
  gap:9px;
}
.repair-workspace-order h2{
  margin:0;
  color:#0f172a;
  font-size:30px;
  line-height:1.15;
  letter-spacing:.01em;
}
.repair-copy-order{
  padding:6px 8px!important;
  color:#64748b!important;
}
.repair-workspace-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:12px;
  color:#64748b;
  font-size:13px;
  font-weight:750;
}
.repair-workspace-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.repair-workspace-head-actions .mini{
  min-width:86px;
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.repair-workspace-detail>.repair-detail-header{
  display:none!important;
}
.repair-workspace-detail>.repair-kpi-grid{
  order:3;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.repair-workspace-detail>.repair-detail-actions{
  order:2;
  justify-content:flex-end;
  padding:0;
  border:0;
  background:transparent;
}
.repair-workspace-detail>.repair-detail-actions #quick-complete,
.repair-workspace-detail>.repair-detail-actions #quick-payment-tab,
.repair-workspace-detail>.repair-detail-actions #quick-pickup{
  min-width:132px;
  min-height:46px;
  border-radius:10px;
  color:#fff;
  font-size:15px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.repair-workspace-detail>.repair-detail-actions #quick-complete{
  background:#0f9f88;
  border-color:#0f9f88;
}
.repair-workspace-detail>.repair-detail-actions #quick-payment-tab{
  background:#2563eb;
  border-color:#2563eb;
}
.repair-workspace-detail>.repair-detail-actions #quick-pickup{
  background:#f59e0b;
  border-color:#f59e0b;
}
.repair-workspace-detail>.repair-detail-actions #detail-status,
.repair-workspace-detail>.repair-detail-actions #detail-pickup,
.repair-workspace-detail>.repair-detail-actions #update-status{
  background:#fff;
}
.repair-workspace-detail>.repair-sticky-tabs{
  order:4;
  top:0;
  margin:0;
  padding:12px 0 0;
  background:#f7f9fb;
  border-bottom:0;
}
.repair-workspace-detail>.repair-sticky-tabs button{
  display:flex;
  align-items:center;
  gap:6px;
  padding:11px 16px;
  border:0;
  border-bottom:3px solid transparent;
  border-radius:0;
  background:transparent;
  color:#475569;
}
.repair-workspace-detail>.repair-sticky-tabs button.active{
  border-bottom-color:#0f9f88;
  color:#0f9f88;
  background:transparent;
}
.repair-workspace-detail .detail-section.active{
  order:5;
}
.repair-workspace-detail .detail-section[data-section="summary"].active{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);
  gap:16px;
  align-items:start;
}
.repair-workspace-detail .repair-overview-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.repair-workspace-detail .repair-info-card{
  border-color:#e5ebf2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.repair-workspace-detail .repair-info-card-wide{
  margin-top:0;
}
.repair-workspace-detail .detail-section[data-section="summary"].active>.repair-info-card-wide{
  grid-column:1;
}
.repair-workspace-detail .detail-section[data-section="summary"].active>.compact-cost-strip,
.repair-workspace-detail .detail-section[data-section="summary"].active>.repair-detail-material-summary{
  grid-column:1;
}
.repair-workspace-detail .compact-cost-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.repair-workspace-detail .compact-cost-strip>div{
  border-radius:14px;
  background:#fff;
}
.repair-workspace-detail .repair-detail-material-summary{
  margin-top:0;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.repair-workspace-detail .detail-section[data-section="summary"].active::after{
  content:'狀態總覽';
  grid-column:2;
  grid-row:1 / span 4;
  display:block;
  min-height:260px;
  padding:18px;
  border:1px solid #e5ebf2;
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  font-size:18px;
  font-weight:950;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.repair-workspace-detail .detail-section[data-section="summary"].active.has-workspace-status::after{
  display:none;
}
.repair-workspace-status-card{
  grid-column:2;
  grid-row:1 / span 4;
  padding:18px;
  border:1px solid #e5ebf2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.repair-workspace-status-card .repair-info-row{
  grid-template-columns:94px minmax(0,1fr);
}
.repair-workspace-status-card .repair-info-row>div{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.repair-workspace-status-card .badge{
  justify-self:end;
}
.profit-text{
  color:#008f7a!important;
}
.repair-workspace-side-stack{
  grid-column:2;
  display:grid;
  gap:16px;
}
.repair-side-card,
.detail-section[data-section="photos"],
.detail-section[data-section="files"],
.detail-section[data-section="internal"]{
  border:1px solid #e5ebf2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.repair-side-card{
  padding:16px;
}
.repair-side-card-head,
.repair-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.repair-side-card-head strong,
.repair-section-head strong{
  color:#0f172a;
  font-size:16px;
  font-weight:900;
}
.repair-section-head p,
.repair-side-card p{
  margin:.25rem 0 0;
}
.repair-side-photo-grid,
.repair-photo-grid{
  display:grid;
  gap:12px;
}
.repair-side-photo-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.repair-photo-grid{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  margin-bottom:16px;
}
.repair-side-photo,
.repair-photo-thumb{
  display:block;
  overflow:hidden;
  border:1px solid #e5ebf2;
  border-radius:14px;
  background:#f8fafc;
  color:#334155;
  text-decoration:none;
}
.repair-side-photo img,
.repair-photo-thumb img{
  display:block;
  width:100%;
  height:110px;
  object-fit:cover;
  background:#eef2f7;
}
.repair-photo-thumb img{
  height:132px;
}
.repair-side-photo span,
.repair-photo-thumb span{
  display:block;
  padding:8px 10px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
  font-weight:800;
}
.repair-file-list{
  display:grid;
  gap:10px;
}
.repair-file-list.compact{
  max-height:220px;
  overflow:auto;
}
.repair-file-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid #e5ebf2;
  border-radius:12px;
  background:#f8fafc;
}
.repair-file-row strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#0f172a;
}
.repair-file-row p,
.repair-file-row small{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
}
.timeline.compact{
  display:grid;
  gap:10px;
  max-height:220px;
  overflow:auto;
}
.timeline.compact .timeline-item{
  margin:0;
  padding:10px 10px 10px 14px;
  border-left:3px solid #0f9f88;
  border-radius:10px;
  background:#f8fafc;
}
.repair-internal-note-list{
  margin-bottom:16px;
}
.detail-section[data-section="photos"].active,
.detail-section[data-section="files"].active,
.detail-section[data-section="internal"].active{
  padding:18px;
}

@media(max-width:980px){
  .repair-workspace-detail .detail-section[data-section="summary"].active{
    grid-template-columns:1fr;
  }
  .repair-workspace-detail .detail-section[data-section="summary"].active::after{
    display:none;
  }
  .repair-workspace-status-card{
    grid-column:1;
    grid-row:auto;
  }
  .repair-workspace-side-stack{
    grid-column:1;
  }
  .repair-workspace-detail>.repair-kpi-grid,
  .repair-workspace-detail .compact-cost-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  dialog.repair-detail-modal #modal-form{
    padding:10px 10px calc(82px + env(safe-area-inset-bottom))!important;
  }
  .repair-workspace-hero{
    padding:6px 4px 10px;
    gap:8px;
  }
  .repair-workspace-breadcrumb{
    display:none;
  }
  .repair-workspace-order h2{
    font-size:16px;
  }
  .repair-copy-order{
    display:none!important;
  }
  .repair-workspace-meta{
    gap:4px;
    margin-top:5px;
    font-size:10px;
    line-height:1.25;
  }
  .repair-workspace-meta span{
    flex-basis:100%;
  }
  .repair-workspace-head-actions{
    display:none;
  }
  .repair-workspace-detail>.repair-detail-actions{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    z-index:40;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding:7px!important;
    border:1px solid #e5ebf2!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -10px 28px rgba(15,23,42,.18)!important;
  }
  .repair-workspace-detail>.repair-detail-actions #quick-complete,
  .repair-workspace-detail>.repair-detail-actions #quick-payment-tab,
  .repair-workspace-detail>.repair-detail-actions #quick-pickup{
    min-width:auto;
    min-height:40px;
    padding:8px 13px!important;
    font-size:13px!important;
  }
  .repair-workspace-detail>.repair-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .repair-workspace-detail>.repair-sticky-tabs{
    top:0!important;
    margin:0 -10px!important;
    padding:8px 10px!important;
    background:rgba(247,249,251,.96);
    overflow-x:auto;
  }
  .repair-workspace-detail .repair-overview-cards{
    grid-template-columns:1fr;
  }
  .repair-workspace-side-stack{
    gap:10px;
  }
  .repair-side-card{
    padding:12px;
  }
  .repair-side-photo-grid,
  .repair-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .repair-side-photo img,
  .repair-photo-thumb img{
    height:96px;
  }
  .repair-file-row{
    padding:10px;
  }
}

/* Mobile bottom navigation: make common pages feel like real thumb-friendly buttons. */
@media(max-width:720px){
  body{
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }
  .mobile-nav{
    grid-template-columns:repeat(6,minmax(0,1fr));
    left:10px;
    right:10px;
    bottom:8px;
    height:auto;
    min-height:68px;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    gap:6px;
    border:1px solid rgba(226,231,237,.95);
    border-radius:20px;
    background:rgba(255,255,255,.96);
    box-shadow:0 -8px 26px rgba(15,23,42,.12);
    backdrop-filter:blur(12px);
  }
  .mobile-nav button{
    min-height:48px;
    border-radius:14px;
    background:#f5f7fa;
    color:#445066;
    font-size:13px;
    font-weight:800;
    letter-spacing:.01em;
    box-shadow:inset 0 0 0 1px rgba(226,231,237,.65);
  }
  .mobile-nav button.active{
    background:#e5f5f2;
    color:var(--teal);
    box-shadow:inset 0 0 0 1px rgba(11,140,125,.2);
  }
  .mobile-nav button:active{
    transform:scale(.97);
  }
  .mobile-nav .mobile-add{
    width:58px;
    height:58px;
    min-height:58px;
    margin:-24px auto 0;
    border-radius:50%;
    background:var(--teal);
    color:#fff;
    font-size:34px;
    line-height:1;
    box-shadow:0 12px 28px rgba(11,140,125,.34);
  }
  .mobile-menu-backdrop:not(.hidden){
    display:block;
    position:fixed;
    inset:0;
    z-index:38;
    background:rgba(15,23,42,.46);
    backdrop-filter:blur(5px);
  }
  .mobile-menu-sheet:not(.hidden){
    display:flex;
  }
  .mobile-menu-sheet{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(88px + env(safe-area-inset-bottom));
    z-index:39;
    max-height:min(78vh,620px);
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(226,231,237,.98);
    border-radius:24px;
    background:#fff;
    box-shadow:0 26px 90px rgba(15,23,42,.26);
  }
  .mobile-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 16px 12px;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu-brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }
  .mobile-menu-brand>span{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:var(--teal);
    color:#fff;
    font-weight:900;
  }
  .mobile-menu-brand strong,.mobile-menu-brand small{
    display:block;
  }
  .mobile-menu-brand small{
    color:var(--muted);
    font-size:12px;
    margin-top:2px;
  }
  .mobile-menu-user{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:10px;
    padding:12px 16px;
    background:#f8fafc;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu-user>div{
    display:grid;
    gap:3px;
    min-width:0;
  }
  .mobile-menu-user span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
  }
  .mobile-menu-user strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#0f172a;
    font-size:15px;
  }
  .mobile-menu-user small{
    color:var(--muted);
    font-size:12px;
  }
  .mobile-menu-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:14px;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-menu-list button{
    display:grid;
    grid-template-columns:34px 1fr;
    grid-template-rows:auto auto;
    align-items:center;
    gap:2px 10px;
    min-height:66px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    color:#0f172a;
    text-align:left;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
  }
  .mobile-menu-list button span{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:11px;
    background:#e5f5f2;
    color:var(--teal);
    font-weight:900;
  }
  .mobile-menu-list button strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
  }
  .mobile-menu-list button small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:11px;
  }
  .mobile-menu-list button.active{
    border-color:rgba(11,140,125,.32);
    background:#eefaf7;
    box-shadow:0 12px 24px rgba(11,140,125,.09);
  }
  .mobile-menu-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding:12px 14px 14px;
    border-top:1px solid var(--line);
    background:#fff;
  }
  body.mobile-menu-open{
    overflow:hidden;
  }
}

@media(max-width:380px){
  .mobile-nav{
    left:6px;
    right:6px;
    gap:4px;
    padding-inline:6px;
  }
  .mobile-nav button{
    min-height:46px;
    border-radius:13px;
    font-size:12px;
  }
  .mobile-nav .mobile-add{
    width:54px;
    height:54px;
    min-height:54px;
  }
}

@media(min-width:721px){
  .mobile-menu-backdrop,
  .mobile-menu-sheet{
    display:none!important;
  }
}

@media print{
  .mobile-menu-backdrop,
  .mobile-menu-sheet{
    display:none!important;
  }
}

/* Professional repair work order list */
body.repair-list-page-mode .topbar{display:none}
body.repair-list-page-mode main{padding-top:28px}
.repair-workbench-page{padding-bottom:28px;overflow-x:hidden}
.repair-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.repair-page-head h2{margin:2px 0 4px;font-size:30px;letter-spacing:-.04em;color:#0f172a}
.repair-page-actions{display:flex;gap:10px;align-items:center}
.repair-scan-claim-button{border-color:#0f9f8f!important;background:#ecfdf9!important;color:#087b69!important;font-weight:900}
.repair-ops-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:14px}
.repair-summary-card{background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:16px 18px;box-shadow:0 14px 34px rgba(15,23,42,.06);min-height:86px}
.repair-summary-card span{display:block;color:#64748b;font-size:13px;font-weight:700;margin-bottom:8px}
.repair-summary-card strong{font-size:24px;line-height:1;color:#0f172a}
.repair-summary-card.clock strong{color:#c2410c}.repair-summary-card.tool strong{color:#15803d}.repair-summary-card.chat strong{color:#7e22ce}.repair-summary-card.box strong{color:#1d4ed8}.repair-summary-card.cash strong{color:#0f766e}.repair-summary-card.warn strong{color:#b91c1c}
.repair-list-shell{padding:0;border:0;overflow:visible;background:#fff;border-radius:22px;box-shadow:0 16px 38px rgba(15,23,42,.07)}
.repair-status-tabs{display:flex;align-items:center;gap:8px;padding:18px 20px 0;border-bottom:1px solid #e2e8f0;overflow-x:auto}
.repair-status-tabs button{border:0;background:transparent;padding:12px 4px 14px;color:#64748b;font-weight:800;white-space:nowrap;position:relative}
.repair-status-tabs button b{margin-left:7px;background:#eef2f7;color:#475569;border-radius:999px;padding:2px 8px;font-size:12px}
.repair-status-tabs button.active{color:#00897b}
.repair-status-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:999px;background:#00897b}
.repair-status-tabs button.active b{background:#dff7f2;color:#00796b}
.repair-list-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 140px 140px 140px 160px 150px 82px;gap:10px;padding:16px 20px;align-items:center}
.repair-search-wrap{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dbe3ed;border-radius:12px;padding:0 12px}
.repair-search-wrap span{color:#94a3b8;font-size:18px}
.repair-search-wrap input{border:0;outline:0;width:100%;height:42px;background:transparent}
.repair-list-toolbar select{height:44px;border:1px solid #dbe3ed;border-radius:12px;background:#fff;padding:0 12px;color:#334155;font-weight:700}
.repair-selection-bar-compact{margin:0 20px 14px;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px dashed #cbd5e1}
.repair-column-picker{display:flex;justify-content:flex-end;margin:0 20px 14px;position:relative}
.repair-column-picker>#column-picker-button{min-width:132px;font-weight:850}
.repair-column-picker-menu{right:0;left:auto;top:calc(100% + 7px);z-index:1250;width:min(380px,calc(100vw - 40px));padding:0;overflow:hidden;border-radius:14px}
.repair-column-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 11px;border-bottom:1px solid #e5edf3}
.repair-column-picker-head strong{display:block;color:#0f172a;font-size:15px}.repair-column-picker-head small{display:block;margin-top:3px;color:#64748b;font-size:11px}
.repair-column-picker-head .mini{width:31px;height:31px;padding:0;font-size:19px}
.repair-column-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px 14px;border-bottom:1px solid #edf2f7;background:#f8fafc}
.repair-column-presets button.active{border-color:#0f988b;background:#e6f8f5;color:#08766b}
.repair-column-options{max-height:min(440px,56vh);overflow:auto;padding:7px}
.repair-column-option{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:5px;border:1px solid transparent;border-radius:9px;padding:4px 5px;background:#fff}
.repair-column-option:hover{border-color:#d9e5ec;background:#f8fafc}.repair-column-option.dragging{opacity:.45}.repair-column-option.drag-over{border-color:#0f988b;background:#ecfdf9}
.repair-column-drag-handle{width:28px;height:32px;border:0;background:transparent;color:#94a3b8;font-weight:900;letter-spacing:-2px;cursor:grab}.repair-column-drag-handle:active{cursor:grabbing}
.repair-column-option label{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:5px!important;background:transparent!important;color:#334155;font-size:13px;font-weight:800}
.repair-column-option label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repair-column-option label small{margin-left:auto;color:#94a3b8;font-size:10px}
.repair-column-option input{width:17px!important;height:17px;flex:none;accent-color:#0f988b}
.repair-column-move{display:flex;gap:3px}.repair-column-move .mini{width:28px;height:28px;padding:0}.repair-column-move .mini:disabled{opacity:.3}
.repair-column-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid #e5edf3;background:#f8fafc}
.repair-column-picker-footer span{color:#64748b;font-size:11px;font-weight:750}.repair-column-picker-footer span[data-tone="saved"]{color:#08766b}.repair-column-picker-footer span[data-tone="local"]{color:#b45309}
.repair-table-wrap{width:100%;overflow-x:auto}
.repair-floating-scrollbar{position:fixed;z-index:1080;bottom:max(14px,env(safe-area-inset-bottom));display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:7px;min-width:260px;padding:6px 8px;border:1px solid #cbd8e3;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 14px 34px rgba(15,23,42,.22);backdrop-filter:blur(8px)}
.repair-floating-scroll-track{width:100%;height:22px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-color:#0f988b #dfe7ec;scrollbar-width:auto;cursor:ew-resize}
.repair-floating-scroll-track::-webkit-scrollbar{height:14px}.repair-floating-scroll-track::-webkit-scrollbar-track{border-radius:999px;background:#dfe7ec}.repair-floating-scroll-track::-webkit-scrollbar-thumb{min-width:72px;border:3px solid #dfe7ec;border-radius:999px;background:#0f988b}.repair-floating-scroll-track::-webkit-scrollbar-thumb:hover{background:#087b70}
.repair-floating-scroll-spacer{height:1px;pointer-events:none}
.repair-floating-scroll-step{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d9e3eb;border-radius:8px;background:#fff;color:#0f766e;font-size:22px;font-weight:900;line-height:1;cursor:pointer}.repair-floating-scroll-step:hover,.repair-floating-scroll-step:focus-visible{border-color:#75cfc3;background:#ecfdf9;outline:none}.repair-floating-scroll-step:focus-visible{box-shadow:0 0 0 3px rgba(20,184,166,.18)}
body:not(.repair-list-page-mode) #repair-floating-scrollbar{display:none!important}
.repair-pro-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}
.repair-pro-table th{height:42px;padding:10px 12px;background:#f8fafc;color:#64748b;font-size:12px;text-align:left;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7}
.repair-pro-table td{padding:14px 12px;border-bottom:1px solid #edf2f7;vertical-align:middle;color:#0f172a}
.repair-pro-table tr:hover td{background:#f8fafc}
.repair-pro-table th:nth-child(1),.repair-pro-table td:nth-child(1){width:46px}
.repair-pro-table th:nth-child(2),.repair-pro-table td:nth-child(2){width:155px}
.repair-pro-table th:nth-child(3),.repair-pro-table td:nth-child(3){width:235px}
.repair-pro-table th:nth-child(4),.repair-pro-table td:nth-child(4){width:230px}
.repair-pro-table th:nth-child(5),.repair-pro-table td:nth-child(5){width:112px}
.repair-pro-table th:nth-child(6),.repair-pro-table td:nth-child(6){width:108px}
.repair-pro-table th:nth-child(7),.repair-pro-table td:nth-child(7){width:116px}
.repair-pro-table th:nth-child(8),.repair-pro-table td:nth-child(8){width:115px}
.repair-pro-table th:nth-child(9),.repair-pro-table td:nth-child(9){width:120px}
.repair-pro-table th:nth-child(10),.repair-pro-table td:nth-child(10){width:52px}
.repair-order-cell strong{display:block;font-size:14px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-order-cell span,.repair-pro-table .sub{display:block;font-size:12px;color:#64748b;margin-top:3px;font-weight:600}
.repair-case{display:flex;flex-direction:column;gap:4px;line-height:1.35;min-width:0}
.repair-case-name{font-size:15px;font-weight:800;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-case-order{font-size:12px;font-weight:600;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-case-phone a,.repair-case-phone{font-size:13px;font-weight:800;color:#00897b;text-decoration:none}
.repair-device-line{font-weight:800;color:#0f172a;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-progress-cell strong{display:block;font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-progress-cell span{display:block;margin-top:5px;color:#475569;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-progress-cell i{display:block;width:86px;height:4px;margin-top:8px;border-radius:999px;background:linear-gradient(90deg,#0f9f8f 65%,#e2e8f0 65%)}
.repair-engineer-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;margin-right:6px;background:#e0f2fe;color:#0369a1;font-weight:900;font-size:12px}
.repair-primary-action{border:1px solid #cceee9;background:#f0fdfa;color:#00796b;border-radius:12px;padding:9px 12px;font-weight:900;white-space:nowrap;box-shadow:0 6px 14px rgba(15,118,110,.08)}
.repair-primary-action.pay{background:#fff1f2;color:#be123c;border-color:#fecdd3}.repair-primary-action.notice{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}.repair-primary-action.pickup{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.repair-primary-action.finish,.repair-primary-action.inspect{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.repair-primary-action.quote{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.repair-list-actions{position:relative;display:inline-flex}
.repair-list-actions>button.repair-quick-icon{display:inline-flex}
.repair-more-button{width:34px;height:34px;border-radius:10px;border:1px solid #dbe3ed;background:#fff;color:#475569;font-weight:900}
.repair-more-menu{position:absolute;right:0;top:40px;z-index:20;min-width:116px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px;box-shadow:0 18px 36px rgba(15,23,42,.14);display:grid;gap:6px}
.repair-more-menu .mini{display:block;width:100%;text-align:left}
.repair-list-footer{padding:12px 20px 18px;color:#64748b;font-size:13px;font-weight:700}
.badge.pending_inspection{background:#fff7ed;color:#c2410c}.badge.pending_approval{background:#f3e8ff;color:#7e22ce}.badge.repairing{background:#dcfce7;color:#15803d}.badge.ready_pickup{background:#dbeafe;color:#1d4ed8}.badge.completed{background:#f1f5f9;color:#64748b}.badge.unpaid{background:#fee2e2;color:#b91c1c}.badge.partial{background:#ffedd5;color:#c2410c}.badge.paid{background:#dcfce7;color:#15803d}

@media(max-width:1500px){
  .repair-ops-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .repair-list-toolbar{grid-template-columns:minmax(260px,1fr) repeat(3,130px) 150px 140px 78px}
  .repair-pro-table th:nth-child(4),.repair-pro-table td:nth-child(4){width:190px}
  .repair-pro-table th:nth-child(3),.repair-pro-table td:nth-child(3){width:210px}
}
@media(max-width:900px){
  .repair-page-head{align-items:flex-start;flex-direction:column}
  .repair-page-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .repair-ops-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .repair-summary-card{padding:12px 14px;min-height:72px}.repair-summary-card strong{font-size:20px}
  .repair-list-toolbar{grid-template-columns:1fr 1fr;padding:14px}.repair-search-wrap{grid-column:1/-1}
  .repair-status-tabs{padding:12px 14px 0}
  .repair-selection-bar-compact,.repair-pro-table{display:none!important}
  .repair-mobile-cards{display:grid!important;padding:12px;gap:12px}
  .repair-mobile-card{border:1px solid #e2e8f0;border-radius:18px;padding:14px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05)}
  .repair-mobile-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
  .repair-mobile-device{font-weight:900;color:#0f172a;margin:10px 0 4px}
  .repair-mobile-fault{color:#475569;font-size:13px}
  .repair-mobile-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0}
  .repair-mobile-summary div{background:#f8fafc;border-radius:12px;padding:8px}
  .repair-mobile-summary span{display:block;color:#64748b;font-size:12px;margin-bottom:4px}
  .repair-mobile-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.repair-mobile-actions .repair-primary-action{flex:1}
}

/* Dashboard Home V2 */
body.dashboard-v2-mode{background:#f5f7fa}
body.dashboard-v2-mode .topbar{display:none}
body.dashboard-v2-mode main{background:#f5f7fa}
.dashboard-home-v2-page{padding:22px 24px 28px;background:#f5f7fa;min-height:100vh;overflow:visible}
.dashboard-home-v2-page.active{display:block}
.dashboard-home-v2-page *{box-sizing:border-box}
#dashboard-home-v2-root{max-width:1480px;margin:0 auto}
.dashboard-v2-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.dashboard-v2-header h1{margin:0;color:#0f172a;font-size:28px;line-height:1.15;font-weight:900}
.dashboard-v2-header p{margin:7px 0 0;color:#64748b;font-size:14px;font-weight:700}
.dashboard-v2-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-v2-branch,.dashboard-v2-search{height:44px;display:flex;align-items:center;background:#fff;border:1px solid #e6ebf1;border-radius:12px;box-shadow:0 10px 22px rgba(15,23,42,.04)}
.dashboard-v2-branch span{font-size:13px;color:#64748b;margin-left:12px;font-weight:800}
.dashboard-v2-branch select{height:42px;border:0;background:transparent;outline:0;padding:0 12px;color:#0f172a;font-weight:900}
.dashboard-v2-search{width:330px;padding:0 8px 0 14px}
.dashboard-v2-search input{height:42px;flex:1;border:0;outline:0;background:transparent;color:#0f172a}
.dashboard-v2-search button,.dashboard-v2-round{border:0;background:#fff;color:#475569;font-weight:900;border-radius:10px;height:34px;min-width:34px}
.dashboard-v2-round{border:1px solid #e6ebf1;height:44px;width:44px;box-shadow:0 10px 22px rgba(15,23,42,.04)}
.dashboard-v2-user{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:1px solid #e6ebf1;border-radius:13px;background:#fff;padding:8px 14px;color:#0f172a;font-weight:900;box-shadow:0 10px 22px rgba(15,23,42,.04)}
.dashboard-v2-user small{color:#64748b;font-weight:700}
.dashboard-v2-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.dashboard-v2-kpi{position:relative;min-height:126px;border:1px solid #e6ebf1;border-radius:14px;background:#fff;padding:18px 18px 14px;text-align:left;box-shadow:0 12px 28px rgba(15,23,42,.045);overflow:hidden;cursor:pointer}
.dashboard-v2-kpi:hover,.dashboard-v2-pending button:hover,.dashboard-v2-table tbody tr:hover,.dashboard-v2-activity button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(15,23,42,.075)}
.dashboard-v2-kpi span:not(.dashboard-v2-icon){display:block;color:#475569;font-size:13px;font-weight:900;margin:3px 0 8px 64px}
.dashboard-v2-kpi strong{display:block;color:#0f172a;font-size:27px;line-height:1.1;font-weight:950;margin-left:64px}
.dashboard-v2-kpi small{display:block;color:#64748b;font-size:12px;font-weight:800;margin:8px 0 0 64px}
.dashboard-v2-icon{position:absolute;left:18px;top:20px;width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:22px;box-shadow:0 10px 20px rgba(12,168,139,.22)}
.dashboard-v2-icon.green{background:linear-gradient(135deg,#0ca88b,#10b981)}.dashboard-v2-icon.blue{background:linear-gradient(135deg,#2f80ed,#60a5fa)}.dashboard-v2-icon.orange{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.dashboard-v2-icon.purple{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.dashboard-v2-spark{position:absolute;right:14px;bottom:13px;width:96px;height:58px;opacity:.9}
.dashboard-v2-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:16px}
.dashboard-v2-span-3{grid-column:span 3}.dashboard-v2-span-4{grid-column:span 4}.dashboard-v2-span-6{grid-column:span 6}.dashboard-v2-span-8{grid-column:span 8}
.dashboard-v2-card{background:#fff;border:1px solid #e6ebf1;border-radius:14px;padding:20px;box-shadow:0 12px 28px rgba(15,23,42,.045);min-width:0}
.dashboard-v2-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.dashboard-v2-card-title h2{margin:0;color:#0f172a;font-size:16px;font-weight:950}
.dashboard-v2-card-title button{border:0;background:transparent;color:#0ca88b;font-weight:900;cursor:pointer}
.dashboard-v2-pill{display:inline-flex;align-items:center;height:30px;border:1px solid #e6ebf1;border-radius:9px;padding:0 10px;margin-left:6px;background:#fff;color:#475569;font-size:12px;font-weight:900}
.dashboard-v2-chart-legend{display:flex;gap:18px;align-items:center;color:#64748b;font-size:12px;font-weight:800;margin-bottom:8px}
.dashboard-v2-chart-legend i{width:22px;height:3px;border-radius:99px;display:inline-block;margin-right:-12px}.dashboard-v2-chart-legend .current{background:#2f80ed}.dashboard-v2-chart-legend .previous{background:#cbd5e1}
.dashboard-v2-line-chart{width:100%;height:260px;display:block}.dashboard-v2-line-chart .grid line{stroke:#edf2f7}.dashboard-v2-line-chart path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.dashboard-v2-line-chart .current{stroke:#2f80ed}.dashboard-v2-line-chart .previous{stroke:#cbd5e1;stroke-dasharray:5 6}.dashboard-v2-line-chart text{fill:#94a3b8;font-size:11px}
.dashboard-v2-donut-wrap{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.dashboard-v2-donut{width:148px;height:148px;border:0;border-radius:50%;background:conic-gradient(var(--segments));position:relative;cursor:pointer}
.dashboard-v2-donut:after{content:"";position:absolute;inset:26px;background:#fff;border-radius:50%}
.dashboard-v2-donut span{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;font-size:13px;font-weight:900}
.dashboard-v2-donut strong{color:#0f172a;font-size:24px}.dashboard-v2-donut small{color:#64748b}
.dashboard-v2-legend{display:grid;gap:8px}.dashboard-v2-legend button{display:grid;grid-template-columns:10px 1fr auto auto;gap:8px;align-items:center;border:0;background:transparent;text-align:left;color:#334155;font-size:12px;font-weight:800;cursor:pointer}.dashboard-v2-legend i{width:10px;height:10px;border-radius:50%}.dashboard-v2-legend b{color:#0f172a}.dashboard-v2-legend small{color:#94a3b8}
.dashboard-v2-pending{display:grid;gap:10px}.dashboard-v2-pending button{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;border:0;background:#fff;text-align:left;padding:10px 0;border-bottom:1px solid #edf2f7;cursor:pointer;transition:.15s}.dashboard-v2-pending button span{width:34px;height:34px;border-radius:12px}.dashboard-v2-pending .red span{background:#fee2e2}.dashboard-v2-pending .orange span{background:#ffedd5}.dashboard-v2-pending .blue span{background:#dbeafe}.dashboard-v2-pending .purple span{background:#f3e8ff}.dashboard-v2-pending .green span{background:#dcfce7}.dashboard-v2-pending strong{display:block;color:#0f172a;font-size:13px}.dashboard-v2-pending small{display:block;margin-top:3px;color:#64748b;font-size:12px}.dashboard-v2-pending b{font-size:22px}.dashboard-v2-pending .red b{color:#ef4444}.dashboard-v2-pending .orange b{color:#f59e0b}.dashboard-v2-pending .blue b{color:#2f80ed}.dashboard-v2-pending .purple b{color:#7c3aed}.dashboard-v2-pending .green b{color:#10b981}
.dashboard-v2-table{width:100%;border-collapse:collapse;table-layout:fixed}.dashboard-v2-table th{padding:10px 12px;text-align:left;background:#f8fafc;color:#64748b;font-size:12px}.dashboard-v2-table td{padding:13px 12px;border-bottom:1px solid #edf2f7;color:#0f172a;font-size:13px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v2-table tr{cursor:pointer}.dashboard-v2-table a{color:#2563eb;text-decoration:none;font-weight:900}
.dashboard-v2-badge{display:inline-flex;align-items:center;height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:900;background:#f1f5f9;color:#64748b}.dashboard-v2-badge.pending_inspection,.dashboard-v2-badge.quoting{background:#fff7ed;color:#c2410c}.dashboard-v2-badge.pending_approval{background:#f3e8ff;color:#7e22ce}.dashboard-v2-badge.repairing{background:#dcfce7;color:#15803d}.dashboard-v2-badge.ready_pickup{background:#dbeafe;color:#1d4ed8}.dashboard-v2-badge.completed{background:#dcfce7;color:#15803d}
.dashboard-v2-activity{display:grid;gap:2px}.dashboard-v2-activity button{display:grid;grid-template-columns:14px 1fr;gap:10px;border:0;background:#fff;text-align:left;padding:10px 0;border-bottom:1px solid #edf2f7;cursor:pointer}.dashboard-v2-activity button.disabled{cursor:default}.dashboard-v2-activity i{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#0ca88b}.dashboard-v2-activity .node-1{background:#2f80ed}.dashboard-v2-activity .node-2{background:#ef4444}.dashboard-v2-activity .node-3{background:#f59e0b}.dashboard-v2-activity .node-4{background:#7c3aed}.dashboard-v2-activity strong{display:block;color:#0f172a;font-size:13px}.dashboard-v2-activity small{color:#64748b;font-size:12px}
.dashboard-v2-performance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dashboard-v2-performance article{background:#fff;border:1px solid #e6ebf1;border-radius:14px;padding:18px 20px;box-shadow:0 12px 28px rgba(15,23,42,.045)}.dashboard-v2-performance span{display:block;color:#64748b;font-size:13px;font-weight:900}.dashboard-v2-performance strong{display:block;margin:8px 0 5px;color:#0f172a;font-size:24px}.dashboard-v2-performance small{color:#64748b;font-size:12px}
.dashboard-v2-empty{min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;font-weight:900}.dashboard-v2-empty.compact{min-height:76px;padding:18px}
.dashboard-v2-error{background:#fff;border:1px solid #fecaca;border-radius:16px;padding:28px;color:#991b1b}.dashboard-v2-error button{margin-top:12px;border:0;background:#0ca88b;color:#fff;border-radius:12px;padding:10px 16px;font-weight:900}
.dashboard-v2-skeleton{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dashboard-v2-skeleton span{min-height:120px;border-radius:14px;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);animation:dashPulse 1.2s infinite}.dashboard-v2-skeleton span:nth-child(n+5){grid-column:span 2;min-height:280px}@keyframes dashPulse{50%{opacity:.55}}
.dashboard-v2-workbench{margin-bottom:16px}
.dashboard-workbench-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.dashboard-workbench-item{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;align-items:center;border:1px solid #e6ebf1;border-radius:13px;background:#fff;padding:13px;text-align:left;color:#0f172a;cursor:pointer;min-width:0}
.dashboard-workbench-item:hover{border-color:#9bd8cd;box-shadow:0 12px 26px rgba(15,23,42,.07);transform:translateY(-1px)}
.dashboard-workbench-item span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8fbf6;color:#087b69;font-weight:950}
.dashboard-workbench-item strong{font-size:14px;font-weight:950;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-workbench-item small{color:#64748b;font-size:12px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-workbench-item em{grid-column:2;display:inline-flex;width:max-content;max-width:100%;border-radius:999px;background:#ecfdf5;color:#047857;padding:3px 7px;font-size:10px;font-style:normal;font-weight:900;line-height:1.2}
.dashboard-workbench-item.is-disabled{background:#f8fafc;color:#64748b;border-style:dashed}
.dashboard-workbench-item.is-disabled span{background:#eef2f7;color:#64748b}
@media(max-width:1200px){
  .dashboard-v2-kpis,.dashboard-v2-performance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-v2-span-6,.dashboard-v2-span-3,.dashboard-v2-span-8,.dashboard-v2-span-4{grid-column:span 12}
  .dashboard-v2-main-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-v2-main-row .dashboard-v2-span-6{grid-column:span 2}.dashboard-v2-main-row .dashboard-v2-span-3{grid-column:span 1}
}
@media(max-width:760px){
  .dashboard-home-v2-page{padding:14px 12px 92px}.dashboard-v2-header{display:grid}.dashboard-v2-top-actions{justify-content:stretch}.dashboard-v2-search{width:100%;order:3}.dashboard-v2-branch,.dashboard-v2-user{flex:1}
  .dashboard-workbench-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-workbench-item{padding:12px;grid-template-columns:34px minmax(0,1fr)}
  .dashboard-workbench-item span{width:34px;height:34px}
  .dashboard-workbench-item small{white-space:normal}
  .dashboard-v2-kpis,.dashboard-v2-performance,.dashboard-v2-main-row{grid-template-columns:1fr}.dashboard-v2-main-row .dashboard-v2-span-6,.dashboard-v2-main-row .dashboard-v2-span-3{grid-column:span 1}
  .dashboard-v2-donut-wrap{grid-template-columns:1fr;justify-items:center}.dashboard-v2-table thead{display:none}.dashboard-v2-table,.dashboard-v2-table tbody,.dashboard-v2-table tr,.dashboard-v2-table td{display:block;width:100%}.dashboard-v2-table tr{border:1px solid #edf2f7;border-radius:14px;margin-bottom:10px;padding:10px}.dashboard-v2-table td{border:0;padding:5px 4px}.dashboard-v2-line-chart{height:210px}
}
@media(max-width:380px){.dashboard-workbench-grid{grid-template-columns:1fr}}
/* Revenue Performance Report V2 */
body.revenue-report-v2-mode{background:#f5f7fa}
.revenue-performance-report-v2-page{padding:0}
.revenue-v2{color:#10243d;width:100%;max-width:1680px;margin:0 auto;padding:2px 0 28px;box-sizing:border-box}
.revenue-v2 *{box-sizing:border-box}
.revenue-v2 button,.revenue-v2 select,.revenue-v2 input{font:inherit}
.revenue-v2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.revenue-kicker{margin:0 0 4px;color:#0a8f78;font-size:13px;font-weight:800;letter-spacing:.04em}
.revenue-v2 h1{margin:0;font-size:30px;line-height:1.15;letter-spacing:-.03em;color:#0f172a}
.revenue-user-chip{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e6ebf1;border-radius:999px;padding:8px 12px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.revenue-user-chip span{background:#e8fbf6;color:#087b69;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}
.revenue-user-chip b{font-size:13px}
.revenue-filter-bar{display:grid;grid-template-columns:1.05fr 1.45fr 1fr 1fr 1fr auto auto;gap:12px;align-items:end;margin-bottom:14px}
.revenue-filter-bar label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:#334155}
.revenue-filter-bar select,.revenue-filter-bar input{height:42px;border:1px solid #dbe3ed;border-radius:10px;background:#fff;color:#0f172a;padding:0 12px;outline:none}
.revenue-filter-bar select:focus,.revenue-filter-bar input:focus{border-color:#0ca88b;box-shadow:0 0 0 3px rgba(12,168,139,.13)}
.revenue-filter-bar .date-range{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.revenue-quick-dates{display:flex;background:#fff;border:1px solid #dbe3ed;border-radius:10px;padding:4px;gap:2px}
.revenue-quick-dates button{height:34px;padding:0 12px;border:0;background:transparent;border-radius:8px;color:#475569;font-weight:800;cursor:pointer}
.revenue-quick-dates button.active,.revenue-quick-dates button:hover{background:#0ca88b;color:#fff}
.revenue-report-actions{display:flex;align-items:center;gap:10px;position:relative}
.revenue-report-actions .secondary,.revenue-report-actions .primary{height:42px;border-radius:10px;padding:0 16px;font-weight:900;cursor:pointer}
.revenue-report-actions .secondary{background:#fff;border:1px solid #0ca88b;color:#087b69}
.revenue-report-actions .primary{background:#0b9f86;border:1px solid #0b9f86;color:#fff}
.export-wrap{position:relative}
.revenue-export-menu{position:absolute;right:0;top:48px;z-index:20;background:#fff;border:1px solid #dbe3ed;border-radius:12px;box-shadow:0 18px 42px rgba(15,23,42,.15);padding:8px;min-width:130px}
.revenue-export-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;border-radius:8px;padding:10px 12px;font-weight:800;cursor:pointer}
.revenue-export-menu button:hover{background:#f1f5f9}
.revenue-kpi-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin-bottom:16px}
.revenue-kpi-card{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid #e6ebf1;border-radius:13px;padding:18px;min-height:108px;box-shadow:0 12px 28px rgba(15,23,42,.05);cursor:pointer;transition:.16s ease}
.revenue-kpi-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.09)}
.kpi-icon{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;font-size:22px;font-weight:900;flex:none}
.kpi-icon.blue{background:#e6f2ff;color:#2563eb}.kpi-icon.green{background:#e6fbf4;color:#0ca88b}.kpi-icon.orange{background:#fff3df;color:#f59e0b}.kpi-icon.teal{background:#e4fbf7;color:#089981}.kpi-icon.purple{background:#f1e8ff;color:#8b5cf6}.kpi-icon.sky{background:#e6f5ff;color:#0284c7}.kpi-icon.red{background:#ffe9e9;color:#ef4444}
.kpi-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.kpi-title{font-size:12px;color:#64748b;font-weight:900}
.kpi-copy strong{font-size:22px;color:#0f172a;line-height:1}
.kpi-copy small{font-size:12px;color:#64748b}.good{color:#0ca88b!important}.bad{color:#ef4444!important}
.revenue-main-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.revenue-main-grid>*,.revenue-bottom-grid>*,.revenue-kpi-card{min-width:0}
.revenue-card{background:#fff;border:1px solid #e6ebf1;border-radius:13px;box-shadow:0 12px 28px rgba(15,23,42,.045);padding:18px;min-width:0;max-width:100%}
.revenue-trend-card{grid-column:span 1}.revenue-payment-card{grid-column:span 1}.revenue-daily-card{grid-column:span 1}
.revenue-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.revenue-card-head h2{margin:0;color:#0f172a;font-size:17px;letter-spacing:-.01em}
.revenue-card-head p{margin:4px 0 0;color:#64748b;font-size:12px}
.revenue-card-head select{height:34px;border:1px solid #dbe3ed;border-radius:9px;background:#fff;padding:0 10px;color:#334155;font-weight:800}
.chart-legend{display:flex;gap:18px;color:#64748b;font-size:12px;font-weight:800;margin-bottom:4px}
.chart-legend span::before{content:"";display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle;border-radius:99px;background:#0ca88b}.chart-legend .previous::before{background:#94a3b8;border-top:2px dashed #94a3b8}
.revenue-line-chart svg{width:100%;height:246px;overflow:visible}.chart-grid line{stroke:#e6ebf1;stroke-width:1}.chart-area{fill:rgba(12,168,139,.08)}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-line.current{stroke:#0ca88b}.chart-line.previous{stroke:#94a3b8;stroke-dasharray:7 7}.chart-point{fill:#0ca88b;stroke:#fff;stroke-width:2}
.chart-axis{display:flex;justify-content:space-between;color:#64748b;font-size:11px}
.revenue-donut-wrap{display:grid;grid-template-columns:250px 1fr;gap:18px;align-items:center}
.revenue-donut{width:230px;height:230px;border-radius:50%;border:0;background:conic-gradient(var(--segments));display:grid;place-items:center;position:relative;cursor:pointer}
.revenue-donut::before{content:"";position:absolute;inset:58px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #e6ebf1}
.revenue-donut span,.revenue-donut strong{position:relative;z-index:1}.revenue-donut span{font-size:12px;color:#64748b;font-weight:900}.revenue-donut strong{font-size:18px;color:#0f172a}
.revenue-donut-legend{display:flex;flex-direction:column;gap:7px}.revenue-donut-legend button{display:grid;grid-template-columns:14px 1fr 56px 100px;gap:9px;align-items:center;border:0;background:#fff;border-bottom:1px solid #eef2f7;padding:8px 0;text-align:left;cursor:pointer;color:#334155}.revenue-donut-legend i{width:10px;height:10px;border-radius:50%}.revenue-donut-legend b{font-size:12px;color:#64748b}.revenue-donut-legend strong{text-align:right;color:#0f172a}
.revenue-bar-list{display:flex;flex-direction:column;gap:10px}.revenue-bar-list button{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto auto;align-items:center;gap:12px;border:0;background:transparent;text-align:left;cursor:pointer;color:#0f172a}.bar-label{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:9px;background:#e9eef5;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:#0ca88b;border-radius:999px}.bar-sub{font-size:12px;color:#64748b}.revenue-bar-list strong{font-size:13px}.revenue-bar-list.engineer .bar-track i{background:linear-gradient(90deg,#0ca88b,#3b82f6)}
.revenue-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}.revenue-table{width:100%;max-width:100%;border-collapse:collapse;font-size:13px}.revenue-table th{color:#64748b;font-size:12px;text-align:left;background:#f8fafc;border-bottom:1px solid #e6ebf1;padding:11px 10px}.revenue-table td{padding:11px 10px;border-bottom:1px solid #eef2f7;color:#0f172a;white-space:nowrap}.revenue-table tfoot td{font-weight:900;background:#f8fafc}.revenue-table.compact td,.revenue-table.compact th{padding:10px 9px}.rank{display:inline-grid;place-items:center;width:22px;height:22px;background:#eef7ff;border-radius:7px;margin-right:8px;color:#2563eb;font-weight:900}
.link-btn{border:0;background:transparent;color:#0ca88b;font-weight:900;cursor:pointer}
.revenue-bottom-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr 1.25fr;gap:14px;margin-top:16px}.revenue-bottom-card{background:#fff;border:1px solid #e6ebf1;border-radius:13px;padding:16px;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;box-shadow:0 12px 28px rgba(15,23,42,.045)}.revenue-bottom-card>span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#eff6ff}.revenue-bottom-card h3{margin:0;font-size:16px}.revenue-bottom-card strong{grid-column:2;font-size:17px}.revenue-bottom-card div{grid-column:2;display:grid;grid-template-columns:repeat(3,auto);gap:6px 18px;color:#0f172a}.revenue-bottom-card b{display:block;color:#64748b;font-size:12px}.revenue-bottom-card button{grid-column:2;justify-self:end;border:1px solid currentColor;background:#fff;border-radius:8px;padding:8px 12px;font-weight:900;cursor:pointer}.revenue-bottom-card.green{border-color:#0ca88b}.revenue-bottom-card.orange{border-color:#f59e0b}.revenue-bottom-card.red{border-color:#ef4444}.revenue-bottom-card.teal{border-color:#0ca88b}
.revenue-empty{min-height:120px;display:grid;place-items:center;text-align:center;color:#64748b}.revenue-empty strong{display:block;color:#0f172a;margin-bottom:4px}.revenue-error{background:#fff;border:1px solid #fecaca;color:#991b1b;border-radius:13px;padding:28px}.revenue-error h3{margin:0 0 8px;color:#7f1d1d}.revenue-v2-skeleton{display:grid;gap:16px}.skeleton-line,.skeleton-card,.skeleton-row>div{background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);background-size:200% 100%;animation:revenueShimmer 1.2s infinite;border-radius:14px}.skeleton-line{height:40px}.skeleton-line.w40{width:40%}.skeleton-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}.skeleton-card{height:108px}.skeleton-row{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.skeleton-row>div{height:310px}.skeleton-row.small{grid-template-columns:repeat(3,1fr)}.skeleton-row.small>div{height:190px}@keyframes revenueShimmer{to{background-position:-200% 0}}
.report-center-basis{margin:7px 0 0;color:#64748b;font-size:13px}.report-center-tabs{display:flex;gap:7px;overflow-x:auto;padding:6px;margin:0 0 14px;background:#eaf0f5;border-radius:13px}.report-center-tabs button{flex:0 0 auto;border:0;border-radius:9px;background:transparent;color:#52657a;font-weight:800;padding:10px 15px;cursor:pointer}.report-center-tabs button.active{background:#fff;color:#087f6b;box-shadow:0 2px 8px rgba(15,23,42,.09)}.report-center-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.report-center-summary article{padding:15px;border:1px solid #dfe7ef;border-radius:13px;background:#fff}.report-center-summary span{display:block;color:#64748b;font-size:12px;font-weight:800}.report-center-summary strong{display:block;margin-top:7px;color:#0f172a;font-size:22px}.report-center-summary article.positive strong{color:#07836d}.report-center-summary article.danger strong{color:#c62828}.report-center-results{grid-column:1/-1}.report-center-table-wrap{max-width:100%;overflow:auto}.report-center-table{min-width:920px}.report-order-link{border:0;background:transparent;color:#087f6b;font-weight:900;padding:0;cursor:pointer;text-decoration:underline}.report-center-notice{border:1px solid #f4c987;background:#fff8e9;color:#8a4b08;border-radius:11px;padding:11px 13px;font-weight:700;font-size:13px}.report-center-filters{grid-template-columns:1fr 1.6fr 1fr 1fr auto auto}
.report-center{min-height:calc(100vh - 110px)}.report-center-results>.revenue-card-head{align-items:flex-start;gap:16px}.report-center-table thead th{position:sticky;top:0;z-index:2;background:#f7fafc}.report-sort-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;font-weight:900;padding:0;cursor:pointer;white-space:nowrap}.report-sort-button span{color:#94a3b8;font-size:12px}.report-sort-button.active{color:#087f6b}.report-sort-button.active span{color:#087f6b}.report-column-picker{position:relative;flex:0 0 auto}.report-column-picker>summary{list-style:none;border:1px solid #d9e3ec;border-radius:9px;background:#f8fafc;color:#334155;font-weight:900;padding:9px 12px;cursor:pointer}.report-column-picker>summary::-webkit-details-marker{display:none}.report-column-picker>summary span{color:#087f6b;font-size:12px}.report-column-picker-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:12;width:230px;max-height:360px;overflow:auto;display:grid;gap:5px;padding:12px;border:1px solid #d9e3ec;border-radius:12px;background:#fff;box-shadow:0 15px 35px rgba(15,23,42,.18)}.report-column-picker-menu>strong{padding:3px 5px 7px}.report-column-picker-menu label{display:flex;align-items:center;gap:9px;padding:7px;border-radius:7px;cursor:pointer}.report-column-picker-menu label:hover{background:#f0fdfa}.report-column-picker-menu input{width:17px;height:17px;accent-color:#0c9a84}.report-column-picker-menu small{color:#64748b;padding:7px 5px 2px;line-height:1.45}.report-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 4px 2px;color:#64748b;font-size:13px;font-weight:800}.report-pagination label,.report-pagination>div{display:flex;align-items:center;gap:8px}.report-pagination select,.report-pagination button{border:1px solid #d9e3ec;border-radius:8px;background:#fff;padding:7px 10px;font-weight:800;color:#334155}.report-pagination button{cursor:pointer}.report-pagination button:disabled{opacity:.45;cursor:not-allowed}.report-pagination b{color:#334155;white-space:nowrap}
@media(max-width:1100px){.report-center-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-center-filters{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.report-center-summary,.report-center-filters{grid-template-columns:1fr}.report-center-tabs{margin-left:-6px;margin-right:-6px}.report-center-summary strong{font-size:19px}.report-pagination{align-items:stretch;flex-direction:column}.report-pagination>div{justify-content:space-between}.report-column-picker-menu{position:fixed;left:14px;right:14px;top:auto;bottom:14px;width:auto;max-height:65vh}.report-center-results>.revenue-card-head{align-items:stretch;flex-direction:column}.report-column-picker>summary{width:100%;text-align:center}}
@media (max-width:1500px){.revenue-filter-bar{grid-template-columns:repeat(3,1fr);}.revenue-report-actions{grid-column:span 1}.revenue-kpi-grid{grid-template-columns:repeat(4,1fr)}.revenue-bottom-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1400px){.revenue-card{padding:14px}.revenue-table{font-size:12px}.revenue-table td,.revenue-table th{padding:9px 7px}.revenue-table.compact td,.revenue-table.compact th{padding:8px 6px}.revenue-donut-legend button{grid-template-columns:12px 1fr 48px 82px;gap:7px}.revenue-bar-list button{grid-template-columns:minmax(76px,128px) 1fr auto auto;gap:9px}}
@media (max-width:1100px){.revenue-kpi-grid{grid-template-columns:repeat(2,1fr)}.revenue-main-grid{grid-template-columns:1fr}.revenue-donut-wrap{grid-template-columns:1fr}.revenue-donut{margin:auto}.revenue-filter-bar{grid-template-columns:1fr 1fr}.revenue-bottom-grid{grid-template-columns:1fr}.revenue-table-wrap{overflow-x:auto}}
@media (max-width:720px){
  body.revenue-report-v2-mode,
  body.revenue-report-v2-mode main,
  body.revenue-report-v2-mode .page.active,
  .revenue-performance-report-v2-page,
  .revenue-v2{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  body.revenue-report-v2-mode main{padding-left:12px;padding-right:12px}
  .revenue-v2{padding:0 0 96px}
  .revenue-v2-head{display:block}
  .revenue-v2 h1{font-size:28px}
  .revenue-user-chip{margin-top:10px;width:100%;justify-content:space-between}
  .revenue-filter-bar{grid-template-columns:minmax(0,1fr);width:100%;gap:10px}
  .revenue-filter-bar label,
  .revenue-filter-bar select,
  .revenue-filter-bar input,
  .revenue-filter-bar .date-range{min-width:0;width:100%}
  .revenue-filter-bar .date-range{grid-template-columns:1fr}
  .revenue-quick-dates{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible}
  .revenue-quick-dates button{min-width:0;padding:0 4px;font-size:14px}
  .revenue-report-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:10px;align-items:stretch}
  .revenue-report-actions .secondary,
  .revenue-report-actions .primary{width:100%;min-width:0;padding:0 8px;flex:initial;white-space:nowrap}
  .export-wrap{min-width:0;width:100%}
  .revenue-export-menu{right:auto;left:0;min-width:min(180px,100vw - 28px)}
  .revenue-kpi-grid{grid-template-columns:minmax(0,1fr);gap:10px;width:100%}
  .revenue-kpi-card{width:100%;padding:14px;min-height:94px;overflow:hidden}
  .kpi-icon{width:42px;height:42px;border-radius:14px}
  .kpi-copy{min-width:0;overflow:hidden}
  .kpi-copy strong{font-size:22px;line-height:1.12;white-space:normal;overflow-wrap:anywhere}
  .kpi-title,.kpi-copy small{white-space:normal}
  .revenue-main-grid,.revenue-bottom-grid{grid-template-columns:minmax(0,1fr);width:100%}
  .revenue-card{padding:14px;overflow:hidden}
  .revenue-card-head{align-items:flex-start}
  .revenue-line-chart svg{height:190px}
  .revenue-donut-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}
  .revenue-donut{width:210px;height:210px}
  .revenue-donut::before{inset:52px}
  .revenue-donut-legend{width:100%}
  .revenue-donut-legend button{grid-template-columns:12px minmax(0,1fr) 46px 72px;gap:7px;min-width:0}
  .revenue-donut-legend strong{font-size:12px}
  .revenue-bar-list button{grid-template-columns:minmax(0,1fr) auto;min-width:0}
  .bar-track,.bar-sub{grid-column:1 / -1}
  .revenue-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .revenue-table{min-width:640px}
  .revenue-bottom-card{grid-template-columns:38px minmax(0,1fr);overflow:hidden}
  .revenue-bottom-card div{grid-template-columns:1fr 1fr}
}
@media print{
  @page{size:A4 landscape;margin:10mm}
  body.revenue-report-v2-mode .sidebar,body.revenue-report-v2-mode .topbar,body.revenue-report-v2-mode .mobile-nav,.revenue-report-actions,.revenue-quick-dates,.revenue-export-menu{display:none!important}
  body.revenue-report-v2-mode .app,body.revenue-report-v2-mode main{display:block!important;background:#fff!important}
  .revenue-v2{max-width:none;padding:0;color:#111827}
  .revenue-card,.revenue-kpi-card,.revenue-bottom-card{box-shadow:none;break-inside:avoid}
  .revenue-filter-bar{grid-template-columns:repeat(4,1fr)}
}

/* Used Device Management V2 preview */
body.used-device-v2-preview-mode{background:#f8f9fb;overflow-x:hidden}
body.used-device-v2-preview-mode .topbar{display:none}
body.used-device-v2-preview-mode main{margin-left:194px;padding:20px 30px 34px;max-width:none;background:#f8f9fb;overflow-x:hidden}
body.used-device-v2-preview-mode .sidebar{width:194px;background:#0e1c33;padding:20px 12px}
body.used-device-v2-preview-mode .brand{gap:10px;padding:0 7px 22px;font-size:16px}
body.used-device-v2-preview-mode .brand .logo{width:42px;height:42px;border-radius:11px}
body.used-device-v2-preview-mode .brand small{font-size:10px;color:#95a3b8}
body.used-device-v2-preview-mode .sidebar nav{gap:4px}
body.used-device-v2-preview-mode .sidebar nav button{height:45px;padding:0 11px;border-radius:9px;font-size:13px;gap:10px;color:#b6c2d2}
body.used-device-v2-preview-mode .sidebar nav button span{width:18px;color:inherit}
body.used-device-v2-preview-mode .sidebar nav button.active{background:#142641;color:#fff;box-shadow:inset 3px 0 #008175}
body.used-device-v2-preview-mode .sidebar nav button.active span{color:#14b8a6}
body.used-device-v2-preview-mode .sidebar-user{margin:0 4px 0;padding:15px 8px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#fff}
.used-device-management-v2-page{min-height:100vh;background:#f8f9fb}
.udv2{font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:#102033;width:100%;max-width:none}
.udv2 *{box-sizing:border-box}
.udv2 button,.udv2 input,.udv2 select{font:inherit}
.udv2-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.udv2-kicker{margin:0 0 6px;color:#008175;font-size:12px;font-weight:800;letter-spacing:.04em}
.udv2-title{margin:0;color:#102033;font-size:29px;line-height:1.05;font-weight:850;letter-spacing:-.02em}
.udv2-subtitle{margin:8px 0 0;color:#667085;font-size:14px;font-weight:600}
.udv2-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;padding-top:4px}
.udv2-branch,.udv2-btn{height:38px;border-radius:8px;border:1px solid #dce3ea;background:#fff;color:#344054;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.udv2-btn.outline{border-color:rgba(0,129,117,.45);color:#008175;background:#fff}
.udv2-btn.primary{border-color:#008175;background:#008175;color:#fff}
.udv2-btn:hover,.udv2-branch:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.08)}
.udv2-tabs{display:flex;align-items:center;gap:8px;margin:10px 0 14px;flex-wrap:wrap}
.udv2-tab{height:32px;border:1px solid #dfe6ee;background:#fff;color:#344054;border-radius:999px;padding:0 13px;font-size:12px;font-weight:800;cursor:pointer}
.udv2-tab.active{background:#008175;border-color:#008175;color:#fff;box-shadow:0 8px 18px rgba(0,129,117,.18)}
.udv2-kpi-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-bottom:14px}
.udv2-kpi{min-width:0;height:88px;background:#fff;border:1px solid #e6eaf0;border-radius:10px;padding:13px 10px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center;box-shadow:0 4px 16px rgba(15,23,42,.05)}
.udv2-kpi-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:18px;background:#e7f7f5;color:#008175}
.udv2-kpi:nth-child(2) .udv2-kpi-icon,.udv2-kpi:nth-child(8) .udv2-kpi-icon{background:#eef7ff;color:#2563eb}
.udv2-kpi:nth-child(3) .udv2-kpi-icon{background:#fff7e8;color:#b7791f}
.udv2-kpi:nth-child(4) .udv2-kpi-icon{background:#eff6ff;color:#2563eb}
.udv2-kpi:nth-child(5) .udv2-kpi-icon{background:#ecfdf5;color:#059669}
.udv2-kpi:nth-child(6) .udv2-kpi-icon{background:#f1f5ff;color:#4f46e5}
.udv2-kpi:nth-child(7) .udv2-kpi-icon{background:#f4f3ff;color:#7c3aed}
.udv2-kpi-label{display:block;color:#667085;font-size:11px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udv2-kpi strong{display:block;margin-top:5px;color:#102033;font-size:19px;line-height:1;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udv2-kpi small{display:block;margin-top:7px;color:#667085;font-size:10.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udv2-kpi small.positive{color:#008175}
.udv2-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;align-items:start}
.udv2-card{background:#fff;border:1px solid #e6eaf0;border-radius:10px;box-shadow:0 4px 16px rgba(15,23,42,.05);min-width:0}
.udv2-list-card{overflow:hidden}
.udv2-filters{display:grid;grid-template-columns:minmax(220px,1fr) 94px 94px 94px 94px 108px 76px;gap:8px;align-items:end;padding:12px;border-bottom:1px solid #eef1f4}
.udv2-filter-field{display:grid;gap:4px;min-width:0}
.udv2-filter-field label{color:#667085;font-size:10.5px;font-weight:800}
.udv2-search-wrap{position:relative}
.udv2-search-wrap input,.udv2-filter-field select{height:36px;width:100%;border:1px solid #dce3ea;background:#fff;border-radius:8px;color:#344054;padding:0 10px;font-size:12px;font-weight:650;min-width:0}
.udv2-search-wrap input{padding-right:30px}
.udv2-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#98a2b3;font-size:13px}
.udv2-export{height:36px;border:1px solid #dce3ea;background:#fff;color:#008175;border-radius:8px;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}
.udv2-table-wrap{width:100%;overflow:visible}
.udv2-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.udv2-table thead th{height:38px;background:#fafbfc;color:#667085;font-size:11px;font-weight:900;text-align:left;padding:8px 8px;border-bottom:1px solid #eef1f4;white-space:nowrap}
.udv2-table tbody td{height:56px;padding:6px 8px;border-bottom:1px solid #eef1f4;vertical-align:middle;color:#102033;line-height:1.25}
.udv2-table tbody tr{cursor:default}
.udv2-table tbody tr:hover{background:#fbfefd}
.udv2-col-photo{width:50px}.udv2-col-model{width:142px}.udv2-col-id{width:142px}.udv2-col-source{width:108px}.udv2-col-status{width:78px}.udv2-col-money{width:84px}.udv2-col-profit{width:84px}.udv2-col-warranty{width:88px}.udv2-col-branch{width:65px}.udv2-col-actions{width:78px}
.udv2-device-cell{display:flex;align-items:center;gap:8px;min-width:0}
.udv2-phone{width:38px;height:44px;border-radius:7px;background:linear-gradient(145deg,#111827,#334155);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 3px 8px rgba(15,23,42,.12);position:relative;flex:0 0 auto}
.udv2-phone::before{content:"";position:absolute;inset:3px;border-radius:5px;background:linear-gradient(160deg,rgba(255,255,255,.25),transparent 48%),linear-gradient(145deg,var(--phone-a,#1e293b),var(--phone-b,#64748b))}
.udv2-phone::after{content:"";position:absolute;top:5px;left:50%;transform:translateX(-50%);width:10px;height:2px;border-radius:99px;background:rgba(255,255,255,.45)}
.udv2-phone-phone2{--phone-a:#7c3aed;--phone-b:#60a5fa}.udv2-phone-phone3{--phone-a:#e5e7eb;--phone-b:#94a3b8}.udv2-phone-phone4{--phone-a:#38bdf8;--phone-b:#1d4ed8}.udv2-phone-phone5{--phone-a:#22c55e;--phone-b:#0f766e}.udv2-phone-phone6{--phone-a:#020617;--phone-b:#475569}.udv2-phone-phone7{--phone-a:#fde047;--phone-b:#f59e0b}
.udv2-model-title{font-weight:900;color:#102033;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udv2-model-sub,.udv2-id-sub,.udv2-source-sub,.udv2-profit-rate,.udv2-warranty-sub{display:block;margin-top:3px;color:#667085;font-size:10.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udv2-id-main,.udv2-source-main{font-weight:800;color:#102033;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udv2-money{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}
.udv2-profit{font-variant-numeric:tabular-nums;font-weight:900;color:#102033;white-space:nowrap}
.udv2-profit-rate{color:#008175;font-weight:900}
.udv2-muted{color:#98a2b3;font-weight:800}
.udv2-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:24px;border-radius:6px;padding:0 8px;font-size:11px;font-weight:900;white-space:nowrap}
.udv2-badge-待販售{background:#e4f8f5;color:#008175}
.udv2-badge-整新中{background:#fff4e5;color:#c26a00}
.udv2-badge-待檢測{background:#e8f3ff;color:#2563eb}
.udv2-badge-已售出{background:#eef1f4;color:#667085}
.udv2-badge-保固中{background:#f2eaff;color:#7c3aed}
.udv2-badge-待整新{background:#fff7db;color:#b7791f}
.udv2-row-actions{display:flex;align-items:center;gap:5px}
.udv2-icon-btn{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#008175;display:grid;place-items:center;cursor:pointer;font-size:14px}
.udv2-icon-btn:hover{background:#e7f7f5}
.udv2-pagination{height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#667085;font-size:12px;font-weight:700}
.udv2-pages{display:flex;align-items:center;gap:5px}
.udv2-page-btn{min-width:28px;height:28px;border:1px solid transparent;background:transparent;border-radius:7px;color:#667085;font-size:12px;font-weight:900;cursor:pointer}
.udv2-page-btn.active{background:#008175;color:#fff}
.udv2-page-size{display:flex;align-items:center;gap:6px;white-space:nowrap}
.udv2-page-size select{height:30px;border:1px solid #dce3ea;border-radius:7px;padding:0 7px;background:#fff}
.udv2-aside{display:grid;gap:12px}
.udv2-side-card{padding:13px 14px}
.udv2-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.udv2-side-head h2{margin:0;color:#102033;font-size:13px;font-weight:900}
.udv2-side-head button{border:0;background:transparent;color:#008175;font-size:10.5px;font-weight:900;cursor:pointer}
.udv2-sales-card{min-height:190px}
.udv2-sales-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.udv2-sales-item span{display:block;color:#667085;font-size:10.5px;font-weight:800}
.udv2-sales-item strong{display:block;margin-top:4px;color:#102033;font-size:14px;line-height:1.1;font-weight:900;white-space:nowrap}
.udv2-sales-item small{display:block;margin-top:5px;color:#008175;font-size:10px;font-weight:800;white-space:nowrap}
.udv2-sales-item small.down{color:#ef4444}
.udv2-popular-card{min-height:150px}
.udv2-popular-list{display:grid;gap:7px}
.udv2-popular-row{display:grid;grid-template-columns:18px minmax(0,1fr) 54px 32px;align-items:center;gap:6px;font-size:10.5px;color:#667085}
.udv2-popular-row b{color:#102033;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udv2-mini-bar{height:7px;background:#eaf0f7;border-radius:999px;overflow:hidden}
.udv2-mini-bar i{display:block;height:100%;background:#9cc8ff;border-radius:999px}
.udv2-pending-card{min-height:140px}
.udv2-task-list{display:grid;gap:9px;margin-bottom:11px}
.udv2-task{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#102033;font-size:11.5px;font-weight:800}
.udv2-dot{width:7px;height:7px;border-radius:50%;background:#2563eb;margin-right:5px;display:inline-block}.udv2-dot.orange{background:#f59e0b}.udv2-dot.red{background:#ef4444}
.udv2-task strong{font-size:12px}
.udv2-wide-soft{height:34px;width:100%;border:0;border-radius:8px;background:#e7f7f5;color:#008175;font-size:12px;font-weight:900;cursor:pointer}
.udv2-empty{padding:32px 10px;text-align:center;color:#667085;font-size:13px}
.udv2-menu{position:fixed;z-index:40;width:156px;background:#fff;border:1px solid #e6eaf0;border-radius:10px;box-shadow:0 18px 38px rgba(15,23,42,.16);padding:6px}
.udv2-menu button{width:100%;height:31px;border:0;background:#fff;border-radius:7px;text-align:left;padding:0 9px;color:#344054;font-size:12px;font-weight:800;cursor:pointer}
.udv2-menu button:hover{background:#f3f7f8;color:#008175}
.used-device-v2-error{background:#fff;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:24px}
@media(max-width:1450px){
  body.used-device-v2-preview-mode main{padding:18px 24px}
  .udv2-kpi{padding:11px 8px;grid-template-columns:34px minmax(0,1fr)}
  .udv2-kpi-icon{width:32px;height:32px}
  .udv2-kpi strong{font-size:17px}
  .udv2-main-grid{grid-template-columns:minmax(0,1fr) 210px}
  .udv2-filters{grid-template-columns:minmax(190px,1fr) 86px 86px 86px 86px 98px 70px}
  .udv2-table thead th,.udv2-table tbody td{padding-left:6px;padding-right:6px}
  .udv2-col-model{width:130px}.udv2-col-id{width:126px}.udv2-col-source{width:98px}.udv2-col-money{width:76px}.udv2-col-profit{width:78px}
}
@media(max-width:1180px){
  .udv2-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .udv2-main-grid{grid-template-columns:1fr}
  .udv2-aside{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  body.used-device-v2-preview-mode .sidebar{display:none}
  body.used-device-v2-preview-mode main{margin:0;padding:16px 12px 86px}
  .udv2-header{display:block}
  .udv2-actions{justify-content:stretch;margin-top:13px;display:grid;grid-template-columns:1fr 1fr}
  .udv2-actions .udv2-btn.primary{grid-column:1/-1}
  .udv2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .udv2-main-grid,.udv2-aside{grid-template-columns:1fr}
  .udv2-filters{grid-template-columns:1fr 1fr}
  .udv2-filter-field:first-child{grid-column:1/-1}
  .udv2-table-wrap{overflow-x:auto}
  .udv2-table{min-width:980px}
  .udv2-pagination{align-items:flex-start;height:auto;padding:12px;display:grid}
}

/* Used Device Management V2 - responsive rebuild */
html,body,#root,#app{width:100%;max-width:100%;margin:0}
body.used-device-v2-preview-mode{overflow-x:hidden;background:#f8f9fb}
body.used-device-v2-preview-mode .app,
body.used-device-v2-preview-mode .page.active,
.used-device-management-v2-page,
.udv2{width:100%;max-width:100%;min-width:0}
.udv2,.udv2 *,.udv2 *::before,.udv2 *::after{box-sizing:border-box;min-width:0}
.udv2 svg,.udv2-svg{width:18px;height:18px;display:block;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.udv2 button{touch-action:manipulation}
.udv2-mobile-layout,.udv2-mobile-bottom-nav,.udv2-mobile-filter-backdrop,.udv2-mobile-filter-sheet{display:none}
.udv2-action-cell{position:relative}
.udv2-inline-menu{position:absolute;right:0;top:34px;z-index:20;width:156px;background:#fff;border:1px solid #e6eaf0;border-radius:10px;box-shadow:0 18px 38px rgba(15,23,42,.16);padding:6px}
.udv2-inline-menu button{width:100%;height:32px;border:0;background:#fff;border-radius:7px;text-align:left;padding:0 9px;color:#344054;font-size:12px;font-weight:800;cursor:pointer}
.udv2-inline-menu button:hover{background:#f3f7f8;color:#008175}
.udv2-badge-for-sale{background:#e4f8f5;color:#008175}
.udv2-badge-refurbishing{background:#fff4e5;color:#c26a00}
.udv2-badge-inspection{background:#e8f3ff;color:#2563eb}
.udv2-badge-sold{background:#eef1f4;color:#667085}
.udv2-badge-warranty{background:#f2eaff;color:#7c3aed}
.udv2-badge-refurbish{background:#fff7db;color:#b7791f}
.udv2-toast{position:fixed;right:24px;bottom:24px;z-index:80;background:#102033;color:#fff;border-radius:12px;padding:12px 16px;font-size:13px;font-weight:800;box-shadow:0 18px 42px rgba(15,23,42,.24)}
.udv2-search-empty{border:1px dashed #dce3ea;border-radius:12px;padding:18px;text-align:center;color:#667085;font-size:13px}
.udv2-action-panel{display:none}
.udv2-action-panel.open{display:grid}

@media (min-width:1280px){
  .udv2-desktop-layout{display:block}
  .udv2-mobile-layout{display:none!important}
}

@media (min-width:768px) and (max-width:1279px){
  body.used-device-v2-preview-mode .sidebar,
  body.used-device-v2-preview-mode .topbar{display:none!important}
  body.used-device-v2-preview-mode main{margin-left:0!important;padding:20px!important;background:#f8f9fb;overflow-x:hidden}
  .udv2-desktop-layout{display:none!important}
  .udv2-mobile-layout{display:block!important}
  .udv2-mobile-bottom-nav{display:none!important}
  .udv2-mobile-header{display:grid;gap:14px;margin-bottom:14px}
  .udv2-mobile-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .udv2-mobile-title h1{margin:0;color:#102033;font-size:28px;line-height:1.2;font-weight:850}
  .udv2-mobile-title p{margin:6px 0 0;color:#667085;font-size:14px;font-weight:650}
  .udv2-mobile-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
  .udv2-mobile-primary{height:44px;border:0;border-radius:12px;background:#008175;color:#fff;padding:0 16px;display:inline-flex;align-items:center;gap:8px;font-weight:900;cursor:pointer}
  .udv2-mobile-secondary{height:44px;min-width:44px;border:1px solid #dce3ea;border-radius:12px;background:#fff;color:#344054;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;font-weight:900;cursor:pointer}
  .udv2-mobile-action-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .udv2-mobile-action-panel .udv2-mobile-secondary{width:100%}
  .udv2-mobile-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
  .udv2-mobile-search-card,.udv2-mobile-card,.udv2-mobile-summary-card{background:#fff;border:1px solid #e6eaf0;border-radius:14px;box-shadow:0 4px 16px rgba(15,23,42,.05)}
  .udv2-mobile-search-card{padding:12px;margin-bottom:12px}
  .udv2-mobile-search-row{display:flex;gap:10px}
  .udv2-mobile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .udv2-mobile-summary .udv2-aside{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:767px){
  body.used-device-v2-preview-mode,
  body.used-device-v2-preview-mode main,
  .used-device-management-v2-page,
  .udv2{width:100%;max-width:100%;overflow-x:hidden}
  body.used-device-v2-preview-mode .sidebar,
  body.used-device-v2-preview-mode .topbar{display:none!important}
  body.used-device-v2-preview-mode main{
    margin-left:0!important;
    padding:14px 16px calc(88px + env(safe-area-inset-bottom))!important;
    background:#f6f8fa;
    overflow-x:hidden;
  }
  .udv2-desktop-layout{display:none!important}
  .udv2-mobile-layout{display:block!important}
  .udv2-mobile-header{display:grid;gap:12px;margin-bottom:12px}
  .udv2-mobile-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .udv2-mobile-title{min-width:0}
  .udv2-mobile-title h1{margin:0;color:#102033;font-size:24px;line-height:1.25;font-weight:850;letter-spacing:-.02em}
  .udv2-mobile-title p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.5;font-weight:650}
  .udv2-mobile-top-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
  .udv2-mobile-primary,
  .udv2-mobile-secondary,
  .udv2-mobile-more{
    min-height:44px;
    min-width:44px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:900;
    cursor:pointer;
  }
  .udv2-mobile-primary{width:100%;border:0;background:#008175;color:#fff;padding:0 14px}
  .udv2-mobile-secondary,.udv2-mobile-more{border:1px solid #dce3ea;background:#fff;color:#344054;padding:0 11px}
  .udv2-mobile-action-panel{grid-template-columns:1fr;gap:8px;background:#fff;border:1px solid #e6eaf0;border-radius:14px;padding:10px;box-shadow:0 4px 16px rgba(15,23,42,.05)}
  .udv2-mobile-action-panel .udv2-mobile-secondary{width:100%;justify-content:flex-start}

  .udv2-tabs{display:flex!important;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:4px -16px 12px;padding:0 16px 4px;max-width:none}
  .udv2-tabs::-webkit-scrollbar{display:none}
  .udv2-tab{flex:0 0 auto;min-height:44px;height:44px;padding:0 15px;white-space:nowrap}

  .udv2-mobile-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
  .udv2-mobile-kpi-grid .udv2-kpi{height:auto;min-height:100px;width:100%;padding:12px;display:grid;grid-template-columns:1fr;gap:8px;align-items:start}
  .udv2-mobile-kpi-grid .udv2-kpi-icon{width:38px;height:38px;border-radius:13px}
  .udv2-mobile-kpi-grid .udv2-kpi-label{display:block;font-size:12px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
  .udv2-mobile-kpi-grid .udv2-kpi strong{font-size:20px;line-height:1.12;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
  .udv2-mobile-kpi-grid .udv2-kpi small{font-size:11px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
  .udv2-mobile-kpi-grid .udv2-kpi-wide-mobile{grid-column:1 / -1}

  .udv2-mobile-search-card{background:#fff;border:1px solid #e6eaf0;border-radius:14px;padding:12px;margin-bottom:12px;box-shadow:0 4px 16px rgba(15,23,42,.05)}
  .udv2-mobile-search-row{display:flex;align-items:center;gap:8px;width:100%}
  .udv2-mobile-search-input{flex:1;min-width:0;height:44px;border:1px solid #dce3ea;border-radius:12px;background:#fff;padding:0 12px;color:#102033;font-size:14px;font-weight:700}
  .udv2-mobile-filter-btn{height:44px;min-width:44px;border:1px solid #dce3ea;border-radius:12px;background:#fff;color:#008175;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:900;cursor:pointer}

  .udv2-mobile-filter-backdrop.open{display:block;position:fixed;inset:0;background:rgba(15,23,42,.34);z-index:120}
  .udv2-mobile-filter-sheet.open{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:130;
    background:#fff;
    border-radius:18px 18px 0 0;
    padding:16px 16px calc(16px + env(safe-area-inset-bottom));
    box-shadow:0 -18px 44px rgba(15,23,42,.18);
  }
  .udv2-filter-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  .udv2-filter-sheet-head h2{margin:0;color:#102033;font-size:18px;font-weight:900}
  .udv2-filter-sheet-form{display:grid;gap:10px}
  .udv2-filter-sheet-form label{display:grid;gap:6px;color:#667085;font-size:12px;font-weight:900}
  .udv2-filter-sheet-form select{height:44px;border:1px solid #dce3ea;border-radius:12px;background:#fff;padding:0 12px;color:#102033;font-weight:800}
  .udv2-filter-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
  .udv2-filter-sheet-actions button{height:44px;border-radius:12px;font-weight:900;cursor:pointer}
  .udv2-filter-reset{background:#fff;border:1px solid #dce3ea;color:#344054}
  .udv2-filter-apply{background:#008175;border:1px solid #008175;color:#fff}

  .udv2-mobile-list{display:grid;grid-template-columns:1fr;gap:12px}
  .udv2-mobile-card{background:#fff;border:1px solid #e6eaf0;border-radius:14px;padding:14px;box-shadow:0 4px 16px rgba(15,23,42,.05);width:100%;max-width:100%}
  .udv2-mobile-card-main{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}
  .udv2-mobile-card .udv2-phone{width:72px;height:88px;border-radius:12px}
  .udv2-mobile-model-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
  .udv2-mobile-model-row h3{margin:0;color:#102033;font-size:16px;line-height:1.25;font-weight:900;overflow-wrap:anywhere}
  .udv2-mobile-spec{margin:5px 0 10px;color:#667085;font-size:13px;font-weight:750;line-height:1.35}
  .udv2-mobile-id-block{display:grid;gap:8px}
  .udv2-mobile-id-block span{display:block;color:#98a2b3;font-size:10px;font-weight:900;letter-spacing:.04em}
  .udv2-mobile-id-block strong{display:block;color:#102033;font-size:12.5px;line-height:1.3;font-weight:850;overflow-wrap:anywhere}
  .udv2-mobile-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;color:#667085;font-size:12px;line-height:1.4}
  .udv2-mobile-meta b{display:block;color:#102033;font-size:12px;margin-top:2px;overflow-wrap:anywhere}
  .udv2-mobile-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #eef1f4}
  .udv2-mobile-finance div{background:#f8fafc;border-radius:10px;padding:9px 8px}
  .udv2-mobile-finance span{display:block;color:#667085;font-size:10.5px;font-weight:900}
  .udv2-mobile-finance strong{display:block;margin-top:4px;color:#102033;font-size:13px;line-height:1.2;font-weight:900;overflow-wrap:anywhere}
  .udv2-mobile-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}
  .udv2-mobile-card-actions button{min-width:44px;min-height:44px;border:1px solid #dce3ea;border-radius:12px;background:#fff;color:#008175;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;cursor:pointer}

  .udv2-mobile-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0;color:#667085;font-size:13px;font-weight:850}
  .udv2-mobile-pagination button{min-width:44px;min-height:44px;border:1px solid #dce3ea;border-radius:12px;background:#fff;color:#344054;font-weight:900;cursor:pointer}
  .udv2-mobile-summary{display:grid;gap:12px;margin-top:12px}
  .udv2-mobile-summary .udv2-aside{display:grid;grid-template-columns:1fr;gap:12px}
  .udv2-mobile-summary .udv2-side-card{border-radius:14px;padding:14px}
  .udv2-mobile-summary .udv2-sales-card,
  .udv2-mobile-summary .udv2-popular-card,
  .udv2-mobile-summary .udv2-pending-card{min-height:0}

  .udv2-mobile-bottom-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:0;
    z-index:90;
    display:flex!important;
    align-items:center;
    justify-content:space-around;
    min-height:calc(64px + env(safe-area-inset-bottom));
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);
    border:1px solid #e6eaf0;
    border-radius:18px 18px 0 0;
    box-shadow:0 -10px 30px rgba(15,23,42,.12);
    backdrop-filter:blur(12px);
  }
  .udv2-mobile-bottom-nav button{
    min-width:52px;
    min-height:44px;
    border:0;
    background:transparent;
    color:#667085;
    border-radius:13px;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
  }
  .udv2-mobile-bottom-nav button.active{background:#e7f7f5;color:#008175}
  .udv2-mobile-bottom-nav .udv2-mobile-add{
    width:56px;
    height:56px;
    min-width:56px;
    min-height:56px;
    border-radius:999px;
    background:#008175;
    color:#fff;
    margin-top:-30px;
    box-shadow:0 14px 26px rgba(0,129,117,.28);
  }
  .udv2-mobile-bottom-nav .udv2-mobile-add svg{width:25px;height:25px;margin:auto}
  .udv2-toast{left:16px;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));text-align:center}
}

@media (max-width:380px){
  body.used-device-v2-preview-mode main{padding-left:12px!important;padding-right:12px!important}
  .udv2-mobile-kpi-grid{gap:8px}
  .udv2-mobile-kpi-grid .udv2-kpi{padding:11px 10px}
  .udv2-mobile-finance{grid-template-columns:1fr}
}
/* UsedDeviceManagementV2 mobile RWD hardening - 20260623 rwd03
   This block intentionally sits at the end so it can correct older preview CSS
   that used desktop widths or mismatched class names. */
html,
body,
#root,
#app {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

body {
  overflow-x: hidden;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

.udv2,
.udv2 *,
.udv2 *::before,
.udv2 *::after {
  box-sizing: border-box;
  min-width: 0;
}

.udv2 {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.udv2 svg,
.udv2-svg {
  width: 18px;
  height: 18px;
  display: block;
  flex: 0 0 auto;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.used-device-v2-preview-mode .mobile-nav {
  display: none !important;
}

body.used-device-v2-preview-mode .page.active,
body.used-device-v2-preview-mode #page-usedDeviceManagementPreview {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.udv2-mobile-layout,
.udv2-mobile-bottom-nav {
  display: none;
}

@media (min-width: 1280px) {
  .udv2-desktop-layout {
    display: block !important;
  }

  .udv2-mobile-layout,
  .udv2-mobile-bottom-nav {
    display: none !important;
  }

  .udv2-main-grid {
    grid-template-columns: minmax(0, 1fr) 220px !important;
  }

  .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  body.used-device-v2-preview-mode .sidebar,
  body.used-device-v2-preview-mode .topbar,
  body.used-device-v2-preview-mode .mobile-nav {
    display: none !important;
  }

  body.used-device-v2-preview-mode main,
  body.used-device-v2-preview-mode .main,
  body.used-device-v2-preview-mode .main-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding: 20px !important;
    overflow-x: hidden !important;
    background: #f6f8fa;
  }

  .udv2-desktop-layout {
    display: none !important;
  }

  .udv2-mobile-layout {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding-bottom: 24px;
  }

  .udv2-mobile-bottom-nav {
    display: none !important;
  }

  .udv2-mobile-header {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  .udv2-mobile-title-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .udv2-mobile-title-row h1 {
    margin: 0 !important;
    color: #102033 !important;
    font-size: 26px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
  }

  .udv2-mobile-header > p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .udv2-mobile-head-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  .udv2-mobile-branch,
  .udv2-mobile-more,
  .udv2-mobile-primary,
  .udv2-mobile-action-panel button,
  .udv2-mobile-filter-toggle,
  .udv2-sheet-close,
  .udv2-sheet-reset,
  .udv2-sheet-apply,
  .udv2-mobile-card-actions button,
  .udv2-mobile-pagination button {
    min-height: 44px !important;
    touch-action: manipulation;
  }

  .udv2-mobile-action-panel {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .udv2-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    max-width: 100% !important;
    padding: 2px 0 10px !important;
  }

  .udv2-tabs::-webkit-scrollbar {
    display: none;
  }

  .udv2-tab {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    white-space: nowrap !important;
  }

  .udv2-mobile-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .udv2-mobile-search-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  .udv2-mobile-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .udv2-mobile-summary .udv2-aside {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 767px) {
  body.used-device-v2-preview-mode,
  body.used-device-v2-preview-mode #root,
  body.used-device-v2-preview-mode #app {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background: #f6f8fa !important;
  }

  body.used-device-v2-preview-mode .sidebar,
  body.used-device-v2-preview-mode .topbar,
  body.used-device-v2-preview-mode .mobile-nav {
    display: none !important;
  }

  body.used-device-v2-preview-mode main,
  body.used-device-v2-preview-mode .main,
  body.used-device-v2-preview-mode .main-content,
  body.used-device-v2-preview-mode .app-main,
  body.used-device-v2-preview-mode .content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    padding: 14px 16px calc(104px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    background: #f6f8fa !important;
  }

  .udv2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    padding: 0 !important;
  }

  .udv2-desktop-layout {
    display: none !important;
  }

  .udv2-mobile-layout {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  }

  .udv2-mobile-header {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 12px !important;
  }

  .udv2-mobile-title-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .udv2-mobile-title-row h1 {
    margin: 0 !important;
    color: #102033 !important;
    font-size: 24px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
  }

  .udv2-mobile-header > p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .udv2-mobile-head-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
  }

  .udv2-mobile-branch,
  .udv2-mobile-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 138px !important;
    padding: 0 12px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #102033 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
  }

  .udv2-mobile-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 46px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #008175 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    box-shadow: 0 12px 24px rgba(0, 129, 117, 0.22);
  }

  .udv2-mobile-action-panel {
    display: none !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 10px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
  }

  .udv2-mobile-action-panel.is-open {
    display: grid !important;
  }

  .udv2-mobile-action-panel button {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #0f766e !important;
    font-size: 14px !important;
    font-weight: 750 !important;
  }

  .udv2-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 0 10px !important;
    margin: 8px 0 10px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;
  }

  .udv2-tabs::-webkit-scrollbar {
    display: none;
  }

  .udv2-tab {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 750 !important;
  }

  .udv2-mobile-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin-bottom: 12px !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi {
    min-height: 100px !important;
    height: auto !important;
    padding: 13px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid #e5eaf0 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi-label {
    display: block !important;
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi strong {
    display: block !important;
    color: #102033 !important;
    font-size: 20px !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .udv2-mobile-kpi-grid .udv2-kpi small {
    display: block !important;
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi:nth-last-child(-n + 2) {
    grid-column: 1 / -1;
  }

  .udv2-mobile-search-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px !important;
    margin: 0 0 12px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  }

  .udv2-mobile-search {
    position: relative !important;
    min-width: 0 !important;
  }

  .udv2-mobile-search .udv2-search-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 38px 0 13px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    color: #102033 !important;
    font-size: 14px !important;
    background: #fff !important;
  }

  .udv2-mobile-search .udv2-search-input::placeholder {
    color: #98a2b3;
  }

  .udv2-mobile-search .udv2-svg {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    color: #667085;
    pointer-events: none;
  }

  .udv2-mobile-filter-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 84px !important;
    height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #0f766e !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .udv2-mobile-sheet-backdrop {
    display: none !important;
  }

  .udv2-mobile-sheet-backdrop.is-open {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(15, 23, 42, 0.42) !important;
    z-index: 1090 !important;
  }

  .udv2-mobile-filter-sheet {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: translateY(105%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-height: min(78vh, 680px) !important;
    padding: 10px 16px calc(16px + env(safe-area-inset-bottom)) !important;
    border-radius: 22px 22px 0 0 !important;
    background: #fff !important;
    z-index: 1100 !important;
    box-shadow: 0 -18px 40px rgba(15, 23, 42, 0.16) !important;
    transition: transform 0.22s ease;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .udv2-mobile-filter-sheet.is-open {
    transform: translateY(0) !important;
  }

  .udv2-sheet-grip {
    width: 44px !important;
    height: 5px !important;
    margin: 0 auto 2px !important;
    border-radius: 999px !important;
    background: #d0d5dd !important;
  }

  .udv2-sheet-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .udv2-sheet-head strong,
  .udv2-sheet-head h2 {
    color: #102033 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }

  .udv2-sheet-close {
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #667085 !important;
  }

  .udv2-sheet-field {
    display: grid !important;
    gap: 6px !important;
  }

  .udv2-sheet-field span {
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
  }

  .udv2-sheet-field select {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #102033 !important;
    font-size: 14px !important;
    padding: 0 12px !important;
  }

  .udv2-sheet-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding-top: 4px !important;
  }

  .udv2-sheet-reset,
  .udv2-sheet-apply {
    width: 100% !important;
    height: 46px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 850 !important;
  }

  .udv2-sheet-reset {
    border: 1px solid #dce3ea !important;
    background: #fff !important;
    color: #344054 !important;
  }

  .udv2-sheet-apply {
    border: 0 !important;
    background: #008175 !important;
    color: #fff !important;
  }

  .udv2-mobile-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .udv2-mobile-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
    overflow: visible !important;
  }

  .udv2-mobile-device-main {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .udv2-mobile-phone-wrap {
    width: 72px !important;
    height: 88px !important;
    border-radius: 12px !important;
    background: #f2f5f8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .udv2-mobile-phone-wrap .udv2-phone {
    width: 62px !important;
    height: 78px !important;
    object-fit: contain !important;
  }

  .udv2-mobile-device-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  .udv2-mobile-model-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  .udv2-mobile-model-row h3 {
    margin: 0 !important;
    color: #102033 !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
  }

  .udv2-mobile-model-row .udv2-badge {
    flex: 0 0 auto !important;
  }

  .udv2-mobile-spec {
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  .udv2-mobile-id-block {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    row-gap: 3px !important;
    padding: 8px 9px !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
  }

  .udv2-mobile-id-block span {
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  .udv2-mobile-id-block strong {
    color: #102033 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .udv2-mobile-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 8px !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .udv2-mobile-finance {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid #eef1f4 !important;
  }

  .udv2-mobile-finance div {
    min-width: 0 !important;
  }

  .udv2-mobile-finance small {
    display: block !important;
    color: #98a2b3 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
  }

  .udv2-mobile-finance strong {
    display: block !important;
    color: #102033 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  .udv2-mobile-card-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin-top: 12px !important;
    position: relative !important;
  }

  .udv2-mobile-card-actions button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #0f766e !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  .udv2-mobile-card-menu {
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    z-index: 30 !important;
    width: min(220px, calc(100vw - 48px)) !important;
    padding: 8px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16) !important;
  }

  .udv2-mobile-card-menu button {
    width: 100% !important;
    justify-content: flex-start !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .udv2-mobile-pagination {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 12px 0 !important;
    padding: 12px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 14px !important;
    background: #fff !important;
  }

  .udv2-mobile-pagination button {
    height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #0f766e !important;
    font-size: 13px !important;
    font-weight: 850 !important;
  }

  .udv2-mobile-pagination span {
    color: #667085 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  .udv2-mobile-summary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 12px !important;
  }

  .udv2-mobile-summary .udv2-aside {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .udv2-mobile-summary .udv2-side-card {
    width: 100% !important;
    margin: 0 !important;
  }

  .udv2-mobile-bottom-nav {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 0 !important;
    z-index: 1000 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    border: 1px solid rgba(229, 234, 240, 0.92) !important;
    border-radius: 22px 22px 0 0 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.14) !important;
    backdrop-filter: blur(14px);
  }

  .udv2-mobile-bottom-nav button {
    min-width: 0 !important;
    min-height: 44px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
  }

  .udv2-mobile-bottom-nav button.active,
  .udv2-mobile-bottom-nav button.is-active {
    background: rgba(0, 129, 117, 0.1) !important;
    color: #008175 !important;
  }

  .udv2-bottom-plus {
    position: relative !important;
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    justify-self: center !important;
    margin-top: -26px !important;
    border-radius: 50% !important;
    background: #008175 !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(0, 129, 117, 0.28) !important;
  }
}

@media (max-width: 390px) {
  .udv2-mobile-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi {
    grid-column: auto !important;
  }

  .udv2-mobile-kpi-grid .udv2-kpi:nth-last-child(-n + 2) {
    grid-column: 1 / -1 !important;
  }

  .udv2-mobile-device-main {
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }

  .udv2-mobile-phone-wrap {
    width: 64px !important;
    height: 80px !important;
  }

  .udv2-mobile-phone-wrap .udv2-phone {
    width: 56px !important;
    height: 72px !important;
  }
}

/* UsedDeviceManagementV2 RWD polish - 20260623 rwd05 */
@media (min-width: 1280px) {
  body.used-device-v2-preview-mode .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) .udv2-kpi {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 7px !important;
    padding: 12px 8px !important;
  }

  body.used-device-v2-preview-mode .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) .udv2-kpi-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 11px !important;
  }

  body.used-device-v2-preview-mode .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) .udv2-kpi-copy {
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) .udv2-kpi strong {
    font-size: clamp(14px, 0.95vw, 18px) !important;
    letter-spacing: -0.035em !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.used-device-v2-preview-mode .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) .udv2-kpi:nth-child(5) strong,
  body.used-device-v2-preview-mode .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) .udv2-kpi:nth-child(7) strong,
  body.used-device-v2-preview-mode .udv2-kpi-grid:not(.udv2-mobile-kpi-grid) .udv2-kpi:nth-child(8) strong {
    font-size: clamp(12px, 0.78vw, 15px) !important;
  }
}

@media (max-width: 767px) {
  body.used-device-v2-preview-mode .app-shell,
  body.used-device-v2-preview-mode .main-content,
  body.used-device-v2-preview-mode .page,
  body.used-device-v2-preview-mode .udv2,
  body.used-device-v2-preview-mode .udv2-mobile-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card {
    position: relative !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-menu {
    right: 14px !important;
    top: auto !important;
    bottom: 62px !important;
    max-width: calc(100vw - 48px) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-filter-sheet {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
  }

body.used-device-v2-preview-mode .udv2-mobile-bottom-nav {
    width: auto !important;
    max-width: calc(100% - 20px) !important;
  }
}

/* UsedDeviceManagementV2 responsive hardening rwd-06
   Scope: preview/formal V2 page only.  Desktop layout stays intact; mobile is
   rendered as its own touch-first card experience instead of a shrunken table. */
html,
body,
#root {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

body {
  overflow-x: hidden;
}

body.used-device-v2-preview-mode,
body.used-device-v2-preview-mode * {
  box-sizing: border-box;
}

body.used-device-v2-preview-mode .udv2,
body.used-device-v2-preview-mode .udv2 * {
  min-width: 0;
}

body.used-device-v2-preview-mode .udv2 svg {
  flex: 0 0 auto;
}

@media (min-width: 768px) and (max-width: 1279px) {
  body.used-device-v2-preview-mode .main-content {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.used-device-v2-preview-mode .udv2-desktop-layout {
    display: none !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-layout {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px !important;
    overflow-x: hidden !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-summary .udv2-aside {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 767px) {
  html,
  body,
  #root {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.used-device-v2-preview-mode .sidebar,
  body.used-device-v2-preview-mode .topbar,
  body.used-device-v2-preview-mode .udv2-desktop-layout {
    display: none !important;
  }

  body.used-device-v2-preview-mode .app-shell,
  body.used-device-v2-preview-mode .main-content,
  body.used-device-v2-preview-mode .page,
  body.used-device-v2-preview-mode .page.active,
  body.used-device-v2-preview-mode .udv2,
  body.used-device-v2-preview-mode .udv2-mobile-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.used-device-v2-preview-mode .main-content {
    margin-left: 0 !important;
    padding: 14px 16px calc(112px + env(safe-area-inset-bottom)) !important;
    background: #f6f8fa !important;
    overflow-y: visible !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-layout {
    display: block !important;
    padding: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-header {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-title-row h1 {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #102033 !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-header > p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-head-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-branch,
  body.used-device-v2-preview-mode .udv2-mobile-more {
    min-height: 44px !important;
    height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #008175 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-branch {
    max-width: 136px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-more {
    width: 44px !important;
    flex: 0 0 44px !important;
    padding: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-primary {
    width: 100% !important;
    min-height: 46px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #008175 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow: 0 12px 24px rgba(0, 129, 117, 0.18) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-action-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-action-panel button {
    min-height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #102033 !important;
    justify-content: flex-start !important;
    padding: 0 12px !important;
    font-weight: 800 !important;
  }

  body.used-device-v2-preview-mode .udv2-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: calc(100% + 32px) !important;
    max-width: calc(100% + 32px) !important;
    margin: 4px -16px 12px !important;
    padding: 0 16px 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.used-device-v2-preview-mode .udv2-tabs::-webkit-scrollbar {
    display: none !important;
  }

  body.used-device-v2-preview-mode .udv2-tab {
    flex: 0 0 auto !important;
    min-width: auto !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi {
    width: 100% !important;
    min-height: 104px !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon label"
      "value value"
      "note note" !important;
    align-items: center !important;
    gap: 7px 9px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    border: 1px solid #e6eaf0 !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi-icon {
    grid-area: icon !important;
    width: 36px !important;
    height: 36px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi-copy {
    display: contents !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi-label {
    grid-area: label !important;
    display: block !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi strong {
    grid-area: value !important;
    display: block !important;
    color: #102033 !important;
    font-size: 20px !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi small {
    grid-area: note !important;
    display: block !important;
    color: #667085 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi-wide-mobile {
    grid-column: 1 / -1 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-search-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 12px !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-search {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-search .udv2-search-input {
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    padding: 0 38px 0 12px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #102033 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-search span {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #667085 !important;
    pointer-events: none !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-filter-toggle {
    min-width: 44px !important;
    max-width: 94px !important;
    height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    color: #102033 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-sheet-backdrop {
    display: none !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-sheet-backdrop.is-open {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 900 !important;
    background: rgba(15, 23, 42, 0.42) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-filter-sheet {
    display: block !important;
    visibility: hidden !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 910 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(82vh, 620px) !important;
    padding: 12px 16px calc(18px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: translateY(110%) !important;
    transition: transform 0.2s ease, visibility 0.2s ease !important;
    border-radius: 20px 20px 0 0 !important;
    background: #ffffff !important;
    box-shadow: 0 -16px 36px rgba(15, 23, 42, 0.18) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-filter-sheet.is-open {
    visibility: visible !important;
    transform: translateY(0) !important;
  }

  body.used-device-v2-preview-mode .udv2-sheet-header,
  body.used-device-v2-preview-mode .udv2-sheet-actions {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.used-device-v2-preview-mode .udv2-sheet-field {
    display: grid !important;
    gap: 6px !important;
    margin: 12px 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-sheet-field select {
    width: 100% !important;
    height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    padding: 0 12px !important;
    background: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  body.used-device-v2-preview-mode .udv2-sheet-actions {
    grid-template-columns: 1fr 1fr !important;
    margin-top: 14px !important;
  }

  body.used-device-v2-preview-mode .udv2-sheet-actions button {
    min-height: 44px !important;
    border-radius: 12px !important;
    font-weight: 850 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    overflow: visible !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-device-main {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-phone-wrap {
    width: 72px !important;
    height: 88px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    background: #f2f5f7 !important;
    overflow: hidden !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-phone-wrap .udv2-phone {
    width: 60px !important;
    height: 78px !important;
    max-width: 100% !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-device-copy {
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-model-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-model-row h3 {
    margin: 0 !important;
    color: #102033 !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-model-row .udv2-badge {
    flex: 0 0 auto !important;
    max-width: 92px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-spec {
    display: block !important;
    margin: 5px 0 10px !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-id-block {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
    padding: 8px 0 !important;
    border-top: 1px solid #eef1f4 !important;
    background: transparent !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-id-block span {
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-id-block strong {
    display: block !important;
    color: #102033 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 12px 0 !important;
    padding: 10px !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance div {
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance span {
    display: block !important;
    margin-bottom: 3px !important;
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance strong {
    display: block !important;
    color: #102033 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-actions button {
    min-height: 44px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-menu {
    right: 14px !important;
    top: auto !important;
    bottom: 62px !important;
    width: min(240px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-pagination {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 12px 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-pagination button {
    min-height: 44px !important;
    border-radius: 12px !important;
    font-weight: 850 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-pagination span {
    color: #667085 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-summary {
    width: 100% !important;
    margin: 14px 0 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-summary .udv2-aside {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.used-device-v2-preview-mode .udv2-side-card {
    width: 100% !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-bottom-nav {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 0 !important;
    z-index: 700 !important;
    width: auto !important;
    max-width: calc(100% - 20px) !important;
    min-height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 6px !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 22px 22px 0 0 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.14) !important;
    backdrop-filter: blur(14px) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-bottom-nav button {
    min-width: 0 !important;
    min-height: 44px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: #667085 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-bottom-nav button.is-active {
    background: rgba(0, 129, 117, 0.12) !important;
    color: #008175 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-bottom-nav .udv2-mobile-add {
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    justify-self: center !important;
    margin-top: -26px !important;
    border-radius: 999px !important;
    background: #008175 !important;
    color: #ffffff !important;
    box-shadow: 0 14px 26px rgba(0, 129, 117, 0.3) !important;
  }

  body.used-device-v2-preview-mode .udv2-toast {
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    z-index: 920 !important;
    max-width: none !important;
  }
}

@media (max-width: 390px) {
  body.used-device-v2-preview-mode .main-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.used-device-v2-preview-mode .udv2-tabs {
    width: calc(100% + 24px) !important;
    max-width: calc(100% + 24px) !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi:nth-child(7),
  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi:nth-child(8) {
    grid-column: 1 / -1 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-device-main {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-phone-wrap {
    width: 64px !important;
    height: 80px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-phone-wrap .udv2-phone {
    width: 54px !important;
    height: 72px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance {
    gap: 6px !important;
    padding: 9px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance strong {
    font-size: 12px !important;
  }
}

/* Used device V2 responsive hardening: tablet/mobile must be real layouts, not shrunken desktop. */
body.used-device-v2-preview-mode .pwa-install-card,
body.used-device-v2-preview-mode #pwa-install-card,
body.used-device-v2-preview-mode #pwa-install-btn {
  display: none !important;
}

@media (max-width: 1279px) {
  body.used-device-v2-preview-mode,
  body.used-device-v2-preview-mode html,
  body.used-device-v2-preview-mode #root,
  body.used-device-v2-preview-mode .app-shell,
  body.used-device-v2-preview-mode .main-content,
  body.used-device-v2-preview-mode .page,
  body.used-device-v2-preview-mode .udv2,
  body.used-device-v2-preview-mode .udv2-mobile-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.used-device-v2-preview-mode .udv2-desktop-layout,
  body.used-device-v2-preview-mode .udv2-table,
  body.used-device-v2-preview-mode .udv2-table-wrap,
  body.used-device-v2-preview-mode .udv2-pager,
  body.used-device-v2-preview-mode .udv2-aside:not(.udv2-mobile-summary .udv2-aside) {
    display: none !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
    overflow: visible !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-device-main {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-phone-wrap {
    width: 72px !important;
    height: 88px !important;
    min-width: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    background: #f1f5f9 !important;
    overflow: hidden !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-phone-wrap .udv2-phone {
    width: 62px !important;
    height: 80px !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    flex: 0 0 auto !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-device-copy {
    min-width: 0 !important;
    width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-model-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-model-row h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #102033 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-model-row .udv2-badge {
    flex: 0 0 auto !important;
    max-width: 96px !important;
    min-height: 24px !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-spec {
    display: block !important;
    margin: 5px 0 10px !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-id-block {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 0 !important;
    border-top: 1px solid #eef1f4 !important;
    background: transparent !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-id-block span {
    display: block !important;
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-id-block strong {
    display: block !important;
    color: #102033 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 10px 0 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 12px 0 !important;
    padding: 10px !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance div {
    min-width: 0 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance span {
    display: block !important;
    margin-bottom: 3px !important;
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-finance strong {
    display: block !important;
    color: #102033 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-actions button {
    min-width: 0 !important;
    min-height: 44px !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #008175 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 12px !important;
    cursor: pointer !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-menu {
    position: absolute !important;
    right: 14px !important;
    top: auto !important;
    bottom: 62px !important;
    width: min(240px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    padding: 8px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.16) !important;
    z-index: 740 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-card-menu button {
    min-height: 38px !important;
    width: 100% !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #102033 !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    padding: 0 10px !important;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  body.used-device-v2-preview-mode .main-content {
    padding: 20px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-summary .udv2-aside {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-bottom-nav {
    display: none !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi {
    min-height: 96px !important;
    padding: 10px 12px !important;
    gap: 6px 8px !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi strong {
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    font-size: clamp(15px, 2.1vw, 18px) !important;
    line-height: 1.15 !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi-label,
  body.used-device-v2-preview-mode .udv2-mobile-kpi-grid .udv2-kpi small {
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

@media (max-width: 767px) {
  body.used-device-v2-preview-mode .main-content {
    padding-bottom: calc(128px + env(safe-area-inset-bottom)) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-layout {
    padding-bottom: calc(136px + env(safe-area-inset-bottom)) !important;
  }

  body.used-device-v2-preview-mode .udv2-mobile-bottom-nav {
    min-height: calc(66px + env(safe-area-inset-bottom)) !important;
    padding-bottom: calc(8px + env(safe-area-inset-bottom)) !important;
  }
}

/* Modular sidebar navigation */
.sidebar{width:238px;padding:20px 12px;background:#132031;overflow:hidden}
.brand{padding:0 10px 13px}
.sidebar-search{padding:0 6px 10px}
.sidebar-search input{height:35px;border:1px solid rgba(148,163,184,.16);border-radius:9px;background:#0e1a2a;color:#e8eef7;padding:0 12px;font-size:12px}
.sidebar-search input::placeholder{color:#8594aa}
.sidebar nav.nav-modules{flex:0 0 auto;min-height:0;display:block;overflow:visible;padding:0 2px 0 0;scrollbar-width:none;-ms-overflow-style:none}
.sidebar nav.nav-modules::-webkit-scrollbar{width:0;height:0;display:none}
.nav-module,.nav-module-single{border-radius:0;max-width:100%;overflow:hidden}
.nav-module summary{list-style:none;display:grid;grid-template-columns:24px minmax(0,1fr) auto 12px;align-items:center;gap:8px;min-height:37px;padding:0 8px;color:#b4c2d4;cursor:pointer;border-radius:8px}
.nav-module summary::-webkit-details-marker{display:none}
.nav-module summary strong,.nav-module-single strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}
.nav-module summary i{font-style:normal;color:#9fb0c4;font-size:13px;line-height:1;transition:.18s}
.nav-module[open] summary i{transform:rotate(180deg)}
.sidebar nav .nav-module-single{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:37px;border:0;background:transparent;color:#b4c2d4;text-align:left;cursor:pointer;padding:0 8px;border-radius:8px}
.nav-icon{display:grid!important;place-items:center;width:22px!important;height:22px;border-radius:7px;background:rgba(148,163,184,.12);color:#9fd3e8;font-size:12px;text-align:center}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:18px;padding:0 7px;border-radius:4px;background:#16c6a6;color:#fff;font-size:10px;font-weight:900;line-height:18px}
.nav-module:hover summary,.sidebar nav .nav-module-single:hover{background:#1b2b42;color:#f8fafc}
.nav-module.active summary,.sidebar nav .nav-module-single.active{background:#243a59;color:#fff;box-shadow:inset 3px 0 #12d6bd}
.nav-module.active .nav-icon,.nav-module-single.active .nav-icon{background:#0f8f80;color:#dffdfa}
.nav-children{display:grid;gap:0;margin:3px 0 6px;padding:6px 0;background:#0b1624;border:0;border-radius:0 0 9px 9px;overflow:hidden}
.sidebar nav .nav-child{position:relative;isolation:isolate;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;max-width:100%;min-height:31px;border:0;background:transparent;color:#d5e5f4;border-radius:0;padding:0 12px 0 32px;font-size:12px;text-align:left;cursor:pointer;overflow:visible}
.sidebar nav .nav-child span{width:auto;text-align:left}
.nav-child-marker{display:grid!important;place-items:center;width:14px!important;color:#38d8c7;font-size:10px}
.nav-child-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850;letter-spacing:.1px;text-shadow:0 1px 0 rgba(0,0,0,.18)}
.sidebar nav .nav-child:hover{color:#fff;background:#12263b}
.sidebar nav .nav-child.active{color:#f2fffd;background:rgba(20,184,166,.08);box-shadow:inset 2px 0 rgba(18,214,189,.72)}
.sidebar nav .nav-child.active::before{display:none}
.nav-child small{color:#718096;font-size:10px;white-space:nowrap}
.nav-child.is-disabled,.nav-module-single.is-disabled{opacity:.62}
.nav-filter-hidden{display:none!important}
.sidebar-footer-links{display:grid;gap:2px;margin-top:7px;padding:8px 6px 6px;border-top:1px solid rgba(148,163,184,.18)}
.nav-footer-link{display:flex;align-items:center;gap:9px;width:100%;min-height:30px;border:0;background:transparent;color:#8fa1b8;border-radius:7px;padding:0 8px;text-align:left;font-size:12px;cursor:pointer}
.nav-footer-link:hover{background:#19283a;color:#fff}
.nav-footer-link span{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:rgba(148,163,184,.12)}
.sidebar-user{margin-top:6px;flex:0 0 auto}
.sidebar-user-meta{display:grid;gap:3px;min-width:0}
.sidebar-user-meta span,.sidebar-user-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.sidebar-account-actions button{min-width:0;min-height:30px;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:rgba(148,163,184,.08);color:#cbd5e1;padding:5px 7px;font-size:11px;font-weight:800;cursor:pointer}
.sidebar-account-actions button:hover{border-color:rgba(45,212,191,.5);background:rgba(20,184,166,.14);color:#f0fdfa}
.sidebar-account-actions button:disabled{opacity:.55;cursor:wait}
.mobile-menu-footer-links{display:none}

@media(max-width:1050px){
  .nav-module summary,.sidebar nav .nav-module-single{grid-template-columns:26px minmax(0,1fr) auto 14px;padding-inline:9px}
  .nav-children{padding-left:30px}
}

@media(max-width:720px){
  .mobile-menu-list.nav-modules{display:grid;grid-template-columns:1fr;gap:10px;padding:14px;overflow:auto;-webkit-overflow-scrolling:touch}
  .mobile-menu-list .nav-module,.mobile-menu-list .nav-module-single{display:block;height:auto;min-height:0;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.04);overflow:hidden}
  .mobile-menu-list .nav-module summary,.mobile-menu-list .nav-module-single{display:grid;grid-template-columns:34px minmax(0,1fr) auto 16px;align-items:center;gap:9px;min-height:58px;padding:12px;border-radius:16px;color:#0f172a}
  .mobile-menu-list .nav-module-single{grid-template-columns:34px minmax(0,1fr) auto;border:1px solid var(--line);background:#fff;text-align:left;width:100%}
  .mobile-menu-list .nav-icon{width:34px;height:34px;border-radius:11px;background:#e5f5f2;color:var(--teal);font-weight:900}
  .mobile-menu-list .nav-module summary strong,.mobile-menu-list .nav-module-single strong{display:block;min-width:0;color:#0f172a;font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-list .nav-module.active,.mobile-menu-list .nav-module-single.active{border-color:rgba(11,140,125,.32);background:#eefaf7}
  .mobile-menu-list .nav-module.active summary,.mobile-menu-list .nav-module-single.active{box-shadow:none;background:transparent;color:#075f56}
  .mobile-menu-list .nav-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}
  .mobile-menu-list .nav-child{display:flex;align-items:center;justify-content:space-between;min-height:42px;border:1px solid #edf2f7;border-radius:12px;background:#f8fafc;color:#334155;padding:9px 10px;font-size:12px}
  .mobile-menu-list .nav-child .nav-child-marker{display:none!important}
  .mobile-menu-list .nav-child .nav-child-title{display:block;min-width:0;width:auto;height:auto;background:transparent;color:inherit;font-size:12px;font-weight:900;white-space:normal;overflow:visible;text-overflow:clip}
  .mobile-menu-list .nav-child.active{border-color:#9bd8cd;background:#e8fbf6;color:#075f56}
  .mobile-menu-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 12px}
  .mobile-menu-footer-links .nav-footer-link{justify-content:center;border:1px solid var(--line);background:#fff;color:#475569;border-radius:12px;padding:9px 6px;font-size:11px}
  .mobile-menu-footer-links .nav-footer-link span{display:none}
}

.hr-page{display:grid;gap:18px}.hr-hero{display:flex;align-items:center;justify-content:space-between;gap:16px}.hr-hero h2{margin:4px 0 6px;font-size:24px}.hr-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hr-entry-card{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:18px;text-align:left;cursor:pointer;box-shadow:var(--shadow);color:var(--ink)}.hr-entry-card span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e7f8f5;color:var(--teal);font-weight:900}.hr-entry-card strong{font-size:16px}.hr-entry-card small{grid-column:2;color:var(--muted);font-size:12px}.hr-entry-card.is-disabled{opacity:.58;cursor:not-allowed}.hr-clock-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.hr-clock-main{display:grid;gap:16px}.hr-clock-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hr-clock-top h2{font-size:48px;line-height:1;margin:0;font-variant-numeric:tabular-nums}.hr-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2f7;color:#475569;font-size:12px;font-weight:900;padding:6px 10px;white-space:nowrap}.hr-status.working,.hr-status.normal{background:#dcfce7;color:#166534}.hr-status.late,.hr-status.early_leave,.hr-status.late_and_early_leave,.hr-status.missing_clock_in,.hr-status.missing_clock_out{background:#fff7ed;color:#9a3412}.hr-status.absent{background:#fee2e2;color:#991b1b}.hr-status.no_schedule,.hr-status.day_off{background:#e0f2fe;color:#075985}.hr-employee{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid #d9ebe8;border-radius:12px;background:#f5fbfa}.hr-employee strong{font-size:18px}.hr-employee small{color:var(--muted)}.hr-warning{padding:12px 14px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#92400e;font-weight:800;font-size:13px}.hr-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hr-schedule-grid>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.hr-schedule-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.hr-schedule-grid strong{font-size:15px}.hr-clock-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hr-clock-actions button{min-height:52px;font-size:16px}.hr-clock-actions button:disabled{opacity:.45;cursor:not-allowed}.hr-events .item{align-items:flex-start}.hr-error{border-color:#fecaca;background:#fff7f7}.hr-attendance-filters{display:grid;grid-template-columns:180px 220px auto 1fr;gap:10px;align-items:end;margin-bottom:14px}.hr-attendance-filters .field{margin:0}.hr-attendance-filters button{width:max-content}.hr-correction-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.hr-correction-form .field{margin:0}.hr-correction-form button{min-height:40px}.hr-correction-list{display:grid;gap:10px}.hr-correction-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px}.hr-correction-row strong{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}.hr-correction-row small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.hr-correction-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.hr-correction-actions button{min-height:34px;padding-inline:12px}.hr-correction-note{grid-column:1/-1;border-top:1px solid #eef2f7;padding-top:8px;color:#475569;font-size:12px}
.hr-location-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:10px;align-items:end;padding:13px 14px;border:1px solid #cfe7e1;border-radius:12px;background:#f4fbf9}.hr-location-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.hr-location-card strong{display:block;color:#075f56;font-size:14px}.hr-location-card .field{margin:0}.hr-location-card small{grid-column:1/-1;color:#64748b;font-size:12px}
.hr-location-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.hr-location-form .field{margin:0}.hr-location-map-panel{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:12px;display:grid;gap:10px}.hr-location-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hr-location-map-head strong{display:block;color:#0f172a;font-size:14px}.hr-location-map-head small{display:block;margin-top:3px;color:#64748b;font-size:12px}.hr-location-map-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hr-location-map{height:320px;border:1px solid #cbd5e1;border-radius:12px;overflow:hidden;background:#e2e8f0}.hr-location-map-placeholder{height:100%;display:grid;place-items:center;color:#64748b;font-size:13px;font-weight:800;text-align:center;padding:20px}.hr-location-map-status{margin:0;color:#64748b;font-size:12px;font-weight:800}.hr-location-map-status.ok{color:#0f766e}.hr-location-map-status.error{color:#b91c1c}.hr-location-switches{grid-column:1/-1;display:flex;gap:10px;align-items:center;margin-top:0}.hr-location-switches .check-row{flex:1 1 0;min-width:0;height:58px;min-height:0;display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;align-content:center;column-gap:9px;row-gap:1px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 11px;color:#334155;font-size:13px;font-weight:800;overflow:hidden}.hr-location-switches .check-row input{grid-row:1/3;grid-column:1;margin:0;width:16px;height:16px}.hr-location-switches .check-row span{grid-column:2;display:block;min-width:0}.hr-location-switches .check-row strong{display:block;font-size:13px;color:#0f172a;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hr-location-switches .check-row small{display:block;margin-top:2px;font-size:11px;line-height:1.2;color:#64748b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hr-location-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;justify-content:flex-end}.hr-location-list{display:grid;gap:10px}.hr-location-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.9fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px}.hr-location-row strong{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}.hr-location-row small{display:block;color:var(--muted);font-size:12px;line-height:1.5}
.hr-location-place-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.hr-location-address-search-host{min-width:0;min-height:42px}.hr-location-place-autocomplete,.hr-location-address-search-host gmp-place-autocomplete{display:block;width:100%;min-height:42px}.hr-location-map-placeholder-inline{min-height:42px;display:flex;align-items:center;padding:9px 12px;border:1px dashed #cbd5e1;border-radius:10px;background:#fff;color:#64748b;font-size:12px;font-weight:800}.hr-location-gps-accuracy{min-height:16px;margin:0;color:#1d4ed8;font-size:12px;font-weight:850}
.hr-shift-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.hr-shift-form .field{margin:0}.hr-shift-form .check-row{min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px;font-weight:850;color:#334155}.hr-shift-row,.hr-schedule-row{display:grid;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px}.hr-shift-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto}.hr-schedule-list{display:grid;gap:10px}.hr-schedule-row{grid-template-columns:minmax(0,1fr) minmax(180px,.65fr) minmax(180px,.85fr) auto}.hr-shift-row strong,.hr-schedule-row strong{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}.hr-shift-row small,.hr-schedule-row small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.hr-schedule-row .field{margin:0}.hr-schedule-row .mini{margin-top:6px}.hr-schedule-bulk-form{display:grid;grid-template-columns:180px 180px minmax(220px,1fr) auto;gap:12px;align-items:end}.hr-schedule-bulk-form .field{margin:0}.hr-bulk-note{min-width:0}.hr-week-pattern{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;padding:12px;border:1px solid #d9ebe8;border-radius:13px;background:#f6fbfa}.hr-bulk-summary{grid-column:1/-2;color:#475569;font-size:13px;font-weight:800;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.hr-monthly-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.hr-monthly-card{min-height:112px;display:grid;align-content:center;gap:5px}.hr-monthly-card span{color:var(--muted);font-size:12px;font-weight:800}.hr-monthly-card strong{font-size:26px;color:var(--ink);line-height:1}.hr-monthly-card small{color:#64748b;font-size:12px;font-weight:800}.hr-leave-panel{display:grid;gap:14px}.hr-leave-toolbar{display:flex;gap:10px;flex-wrap:wrap}.hr-leave-tool{border:1px solid var(--line);background:#fff;color:#334155;border-radius:999px;padding:10px 16px;font-weight:900}.hr-leave-tool.is-active{background:#0f988b;color:#fff;border-color:#0f988b;box-shadow:0 8px 20px rgba(15,152,139,.2)}.hr-leave-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.hr-leave-counter{border:1px solid #d9ebe8;border-radius:13px;background:#f7fbfa;padding:13px 14px}.hr-leave-counter span{display:block;color:#64748b;font-size:12px;font-weight:850}.hr-leave-counter strong{display:block;margin-top:4px;color:#0f172a;font-size:22px}.hr-leave-counter small{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:800}.hr-leave-counter.is-danger{border-color:#fecaca;background:#fff7f7}.hr-leave-counter.is-danger strong,.hr-leave-counter.is-danger small{color:#b91c1c}.hr-leave-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.hr-leave-weekday{text-align:center;color:#64748b;font-size:12px;font-weight:900;padding:6px}.hr-leave-blank{min-height:74px}.hr-leave-day{min-height:74px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;color:#0f172a;text-align:left;padding:10px;display:grid;align-content:space-between;gap:5px;cursor:pointer}.hr-leave-day span{font-size:13px;color:#64748b;font-weight:900}.hr-leave-day strong{font-size:15px}.hr-leave-day em{font-style:normal;color:#b45309;font-size:11px;font-weight:900}.hr-leave-day.is-work{background:#eff6ff;border-color:#bfdbfe}.hr-leave-day.is-rest{background:#dcfce7;border-color:#86efac}.hr-leave-day.is-annual_leave{background:#f3e8ff;border-color:#d8b4fe}.hr-leave-day.is-national_holiday,.hr-leave-day.is-holiday{background:#fffbeb;border-color:#fcd34d}.hr-leave-day.is-clear{background:#f8fafc;border-style:dashed}.hr-leave-day:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.08)}.hr-leave-day.has-events{box-shadow:inset 0 0 0 2px #f59e0b}.hr-leave-actions{display:flex;justify-content:flex-end}

@media(max-width:900px){.hr-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-clock-layout{grid-template-columns:1fr}.hr-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-attendance-filters{grid-template-columns:1fr 1fr}.hr-attendance-filters button{width:100%}.hr-correction-form{grid-template-columns:1fr 1fr}.hr-correction-row{grid-template-columns:1fr}.hr-location-form{grid-template-columns:1fr 1fr}.hr-location-switches{display:grid;grid-template-columns:1fr}.hr-location-row{grid-template-columns:1fr}.hr-shift-form{grid-template-columns:1fr 1fr}.hr-shift-row,.hr-schedule-row{grid-template-columns:1fr}.hr-schedule-bulk-form{grid-template-columns:1fr 1fr}.hr-week-pattern{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-bulk-summary{grid-column:1/-1}.hr-schedule-bulk-form button[type=submit]{width:100%}.hr-monthly-cards,.hr-leave-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.hr-hero{display:grid}.hr-entry-grid{grid-template-columns:1fr}.hr-entry-card{grid-template-columns:38px minmax(0,1fr);padding:15px}.hr-clock-top h2{font-size:38px}.hr-clock-actions{grid-template-columns:1fr}.hr-schedule-grid{grid-template-columns:1fr}.hr-location-card{grid-template-columns:1fr}.hr-attendance-filters{grid-template-columns:1fr}.hr-attendance-filters+.table-panel table{display:none}.hr-attendance-filters+.table-panel .card-list{display:block;padding:9px 14px}.hr-correction-form{grid-template-columns:1fr}.hr-correction-actions{justify-content:stretch}.hr-correction-actions button{flex:1 1 120px}.hr-location-form{grid-template-columns:1fr}.hr-location-map-head{display:grid}.hr-location-map-tools{display:grid;grid-template-columns:1fr}.hr-location-map-tools button{width:100%}.hr-location-map{height:260px}.hr-location-actions{display:grid;grid-template-columns:1fr}.hr-location-actions button{width:100%}.hr-schedule-bulk-form{grid-template-columns:1fr}.hr-week-pattern{grid-template-columns:1fr}.hr-schedule-bulk-form button[type=submit]{width:100%}.hr-monthly-cards,.hr-leave-summary{grid-template-columns:1fr}.hr-leave-calendar{gap:5px}.hr-leave-blank{min-height:54px}.hr-leave-day{min-height:58px;padding:7px}.hr-leave-day strong{font-size:12px}.hr-leave-toolbar{display:grid;grid-template-columns:1fr 1fr}.hr-leave-actions button{width:100%}}
@media(max-width:720px){.hr-location-place-search{grid-template-columns:1fr}.hr-location-place-search button{width:100%}}
.hr-leave-board{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;align-items:start}.hr-leave-date-panel{border:1px solid #d9ebe8;border-radius:16px;background:#f8fbfb;padding:16px;position:sticky;top:14px;max-height:calc(100vh - 160px);overflow:auto}.hr-leave-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #dbe8e6;padding-bottom:12px;margin-bottom:12px}.hr-leave-panel-head span{display:block;color:#0f988b;font-size:12px;font-weight:950;letter-spacing:.04em}.hr-leave-panel-head h3{margin:3px 0 3px;font-size:20px;color:#0f172a}.hr-leave-panel-head p{margin:0;color:#64748b;font-size:12px;font-weight:800}.hr-leave-holiday-note{display:inline-flex;margin:2px 0 5px;border-radius:999px;background:#fef3c7;color:#92400e;padding:4px 8px;font-size:12px;font-weight:950;font-style:normal}.hr-leave-holiday-badge{display:inline-flex;align-self:flex-start;border-radius:999px;background:#fef3c7;color:#92400e;padding:3px 6px;font-size:10px;font-weight:950}.hr-leave-panel-head>strong{flex:0 0 auto;background:#e7f8f5;color:#08796f;border-radius:999px;padding:8px 10px;font-size:12px}.hr-leave-employee-list{display:grid;gap:9px}.hr-leave-employee-row{display:grid;gap:9px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;padding:11px}.hr-leave-employee-row.is-danger{border-color:#fecaca;background:#fffafa}.hr-leave-employee-info{display:grid;gap:3px}.hr-leave-employee-info strong{font-size:14px;color:#0f172a}.hr-leave-employee-info span{font-size:12px;color:#64748b;font-weight:800}.hr-leave-choice-group{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.hr-leave-choice{border:1px solid #dbe5ef;background:#f8fafc;color:#334155;border-radius:9px;padding:7px 6px;font-size:12px;font-weight:950}.hr-leave-choice.is-active{color:#fff;border-color:transparent}.hr-leave-choice.is-work.is-active{background:#2563eb}.hr-leave-choice.is-rest.is-active{background:#0f988b}.hr-leave-choice.is-annual_leave.is-active{background:#7c3aed}.hr-leave-choice.is-national_holiday.is-active{background:#b45309}.hr-leave-choice.is-clear.is-active{background:#64748b}.hr-leave-day{display:flex;flex-direction:column;align-content:initial;justify-content:flex-start;gap:7px;min-height:112px}.hr-leave-day.is-selected{border-color:#0f988b;box-shadow:0 0 0 3px rgba(15,152,139,.18),0 12px 26px rgba(15,23,42,.08);background:#f0fdfa}.hr-leave-chips{display:flex;flex-wrap:wrap;gap:4px}.hr-leave-chip{display:inline-flex;align-items:center;max-width:100%;border-radius:999px;padding:3px 6px;font-size:11px;line-height:1.2;color:#0f172a;background:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hr-leave-chip.is-rest{background:#ccfbf1;color:#0f766e}.hr-leave-chip.is-annual_leave{background:#ede9fe;color:#6d28d9}.hr-leave-chip.is-national_holiday{background:#fef3c7;color:#92400e}.hr-leave-chip.is-work{background:#dbeafe;color:#1d4ed8}.hr-leave-chips small{font-size:11px;font-weight:900;color:#64748b;align-self:center}.hr-leave-actions{gap:10px}.hr-leave-actions::before{content:'點日期後在右側替員工選休假、特休、國定假日或上班；只儲存變更項目。';margin-right:auto;color:#64748b;font-size:12px;font-weight:800;align-self:center}
@media(max-width:1100px){.hr-leave-board{grid-template-columns:1fr}.hr-leave-date-panel{position:static;max-height:none}.hr-leave-day{min-height:96px}}
@media(max-width:720px){.hr-leave-choice-group{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-leave-day{min-height:82px}.hr-leave-chip{font-size:10px}.hr-leave-actions{display:grid}.hr-leave-actions::before{margin:0 0 8px}.hr-leave-summary{grid-template-columns:1fr}}

/* HR labor card and payroll MVP */
.hr-card-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.hr-card-toolbar .field{min-width:260px;margin:0}.hr-card-detail{min-width:0}.hr-card-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.hr-card-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hr-card-form .field{margin:0}.hr-card-form .full{grid-column:1/-1}.hr-card-form textarea{min-height:86px;resize:vertical}.hr-document-panel{display:grid;gap:12px}.hr-doc-slot{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fbfb}.hr-doc-slot img,.hr-doc-placeholder{width:100%;aspect-ratio:4/3;border-radius:12px;border:1px dashed #bdd7d2;background:#eef6f4;object-fit:cover;display:grid;place-items:center;color:#64748b;font-weight:800}.hr-doc-slot strong{font-size:14px}.hr-doc-slot small{color:#64748b}.hr-payroll-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1fr);gap:16px;align-items:start}.hr-payroll-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.hr-payroll-result div{border:1px solid #dbe7e4;border-radius:12px;background:#f8fbfb;padding:12px}.hr-payroll-result span{display:block;color:#64748b;font-size:12px}.hr-payroll-result strong{font-size:20px;color:#082f49}.hr-payroll-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1100px){.hr-card-grid,.hr-payroll-grid{grid-template-columns:1fr}.hr-document-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.hr-card-toolbar{display:grid}.hr-card-toolbar .field{min-width:0}.hr-card-form,.hr-payroll-settings-form{grid-template-columns:1fr}.hr-document-panel{grid-template-columns:1fr}.hr-payroll-result{grid-template-columns:1fr}}
.hr-payroll-breakdown{margin-top:12px;border:1px solid #dbe7e4;border-radius:14px;background:#fff;padding:12px}.hr-payroll-breakdown ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.hr-payroll-breakdown li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #edf3f1;padding-bottom:8px}.hr-payroll-breakdown li:last-child{border-bottom:0;padding-bottom:0}.hr-payroll-breakdown span{color:#475569}.hr-payroll-breakdown strong{white-space:nowrap;color:#082f49}.notice.warning{margin-top:12px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412}.notice.warning ul{margin:8px 0 0;padding-left:18px}
.hr-payroll-batch-panel{display:grid;gap:12px}.hr-payroll-batch-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.hr-payroll-batch-scroll{max-width:100%}.hr-payroll-batch-table{min-width:980px}.hr-payroll-batch-table th,.hr-payroll-batch-table td{vertical-align:top}.hr-payroll-batch-table input{width:100%;min-width:86px;padding:8px 10px;border:1px solid #d6e3df;border-radius:10px;background:#fff;font-weight:800}.hr-payroll-batch-table input.hr-batch-note{min-width:150px}.hr-batch-estimate{display:grid;gap:3px;min-width:112px;color:#0f766e;font-weight:900}.hr-batch-estimate strong{font-size:16px;color:#064e3b;white-space:nowrap}.hr-batch-estimate small{color:#64748b;font-size:11px;font-weight:800}.hr-batch-estimate span{display:block;white-space:nowrap}.hr-payroll-batch-table .mini{white-space:nowrap}.hr-payroll-advanced-panel{padding:0;overflow:hidden}.hr-payroll-advanced-panel>summary{cursor:pointer;padding:16px 20px;font-weight:900;color:#0f172a;list-style:none}.hr-payroll-advanced-panel>summary::-webkit-details-marker{display:none}.hr-payroll-advanced-panel>summary::after{content:'展開';float:right;color:#0f766e;font-size:13px}.hr-payroll-advanced-panel[open]>summary{border-bottom:1px solid #e2e8f0}.hr-payroll-advanced-panel[open]>summary::after{content:'收合'}.hr-payroll-advanced-panel .hr-payroll-grid{padding:16px}@media(max-width:720px){.hr-payroll-batch-panel .panel-title{display:grid;gap:10px}.hr-payroll-batch-panel .action-row{justify-content:stretch}.hr-payroll-batch-panel .action-row button{flex:1}.hr-payroll-batch-tools{display:grid}.hr-payroll-batch-table{min-width:940px}}
.hr-batch-grade{min-width:92px;border:1px solid #d6e3df;border-radius:10px;background:#f8fbfb;padding:8px 10px;display:grid;gap:2px}.hr-batch-grade strong{color:#0f766e;font-size:13px;white-space:nowrap}.hr-batch-grade span{color:#64748b;font-size:11px;font-weight:800}
.hr-batch-overtime-summary{min-width:86px;border:1px solid #d6e3df;border-radius:10px;background:#f8fbfb;padding:8px 10px;display:grid;gap:1px;color:#0f766e}.hr-batch-overtime-summary strong{font-size:18px;line-height:1;color:#064e3b}.hr-batch-overtime-summary span,.hr-batch-overtime-summary small{font-size:11px;font-weight:800;color:#64748b}
.hr-payroll-batch-close-panel{display:grid;gap:12px}.hr-payroll-batch-skipped{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:12px;padding:12px}.hr-payroll-batch-skipped ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}
.hr-setup-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hr-setup-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dbe7e4;border-radius:14px;background:#f8fbfb;padding:13px}.hr-setup-item span{display:inline-flex;border-radius:999px;padding:4px 8px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:900}.hr-setup-item strong{display:block;margin-top:7px;color:#0f172a}.hr-setup-item p{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45}.hr-setup-item.is-ready{border-color:#99f6e4;background:#f0fdfa}.hr-setup-item.is-ready span{background:#14b8a6;color:#fff}.hr-setup-item.is-partial span,.hr-setup-item.is-draft span{background:#f59e0b;color:#fff}.hr-setup-item.is-todo span{background:#e2e8f0;color:#475569}.hr-setup-meta{display:grid;justify-items:end;gap:8px}.hr-setup-meta b{font-size:18px;color:#0f766e;white-space:nowrap}@media(max-width:900px){.hr-setup-list{grid-template-columns:1fr}.hr-setup-item{grid-template-columns:1fr}.hr-setup-meta{justify-items:start;display:flex;align-items:center;justify-content:space-between}}
.hr-adjustment-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.hr-adjustment-summary span{border:1px solid #dbe7e4;background:#f8fbfb;border-radius:999px;padding:8px 12px;color:#475569;font-size:13px}.hr-adjustment-summary strong{color:#082f49}.hr-adjustment-list{display:grid;gap:8px}.hr-adjustment-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid #dbe7e4;border-radius:12px;background:#fff;padding:10px}.hr-adjustment-item div{display:grid;gap:2px;min-width:0}.hr-adjustment-item span{color:#64748b;font-size:12px}.hr-adjustment-item .danger{color:#b91c1c}@media(max-width:720px){.hr-adjustment-item{grid-template-columns:1fr}.hr-adjustment-item>strong{justify-self:start}.hr-adjustment-item button{justify-self:start}}
.hr-payroll-statement-list{display:grid;gap:10px}.hr-payroll-statement-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(360px,1.8fr) auto;align-items:center;gap:14px;border:1px solid #dbe7e4;border-radius:14px;background:#fff;padding:13px 14px}.hr-payroll-statement-row.is-draft{border-left:4px solid #14b8a6}.hr-payroll-statement-row.is-confirmed{border-left:4px solid #3b82f6}.hr-payroll-statement-row.is-paid{border-left:4px solid #16a34a}.hr-payroll-statement-row.is-voided{opacity:.72;border-left:4px solid #94a3b8}.hr-payroll-statement-main{display:grid;gap:4px;min-width:0}.hr-payroll-statement-main strong{color:#0f172a;font-size:15px}.hr-payroll-statement-main span{color:#64748b;font-size:12px;line-height:1.4}.hr-payroll-statement-money{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hr-payroll-statement-money span{border:1px solid #dbe7e4;background:#f8fbfb;border-radius:12px;padding:8px 10px;color:#64748b;font-size:12px;font-weight:800}.hr-payroll-statement-money strong{display:block;margin-top:2px;color:#0f766e;font-size:15px;white-space:nowrap}.hr-payroll-statement-money .net{border-color:#99f6e4;background:#f0fdfa}.hr-payroll-statement-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.hr-payroll-statement-actions .mini{white-space:nowrap}@media(max-width:1100px){.hr-payroll-statement-row{grid-template-columns:1fr}.hr-payroll-statement-actions{justify-content:flex-start}.hr-payroll-statement-money{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.hr-payroll-statement-money{grid-template-columns:1fr}.hr-payroll-statement-row{padding:12px}}
.hr-insurance-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hr-insurance-preview div{border:1px solid #dbe7e4;border-radius:14px;background:#f8fbfb;padding:12px}.hr-insurance-preview span,.hr-insurance-preview small{display:block;color:#64748b}.hr-insurance-preview strong{display:block;margin:4px 0;color:#0f766e;font-size:22px}@media(max-width:720px){.hr-insurance-preview{grid-template-columns:1fr}}
.hr-schedule-holiday-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:13px;padding:12px 14px;margin-bottom:14px;font-weight:900}.hr-schedule-holiday-alert span{font-size:12px;color:#a16207}.hr-schedule-row.is-holiday{border-color:#fcd34d;background:#fffbeb}.hr-schedule-row.is-holiday small{color:#92400e}

.hr-leave-choice-group{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}
.hr-leave-choice.is-personal_leave.is-active{background:#ea580c}
.hr-leave-choice.is-sick_leave.is-active{background:#dc2626}
.hr-leave-choice.is-emergency_sick_leave.is-active{background:#db2777}
.hr-leave-chip.is-personal_leave{background:#ffedd5;color:#c2410c}
.hr-leave-chip.is-sick_leave{background:#fee2e2;color:#b91c1c}
.hr-leave-chip.is-emergency_sick_leave{background:#fce7f3;color:#be185d}
.hr-leave-day strong:empty{display:none}

/* Repair order management polish: clearer operations board without changing workflow behavior. */
.repair-page-badge{display:inline-flex;vertical-align:middle;margin-left:8px;border:1px solid #99f6e4;background:#ecfdf5;color:#047857;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;letter-spacing:0}
.repair-ops-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.repair-summary-card{position:relative;overflow:hidden;border-color:#dfe9f2;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 16px 34px rgba(15,23,42,.065)}
.repair-summary-card::after{content:"";position:absolute;right:-18px;bottom:-20px;width:64px;height:64px;border-radius:50%;background:rgba(15,152,139,.08)}
.repair-summary-card small{display:block;margin-top:8px;color:#94a3b8;font-size:11px;font-weight:850}
.repair-summary-card.quote strong{color:#c2410c}
.repair-board-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:0;border-top:1px solid #edf2f7}
.repair-board-main{min-width:0}
.repair-today-panel{border-left:1px solid #edf2f7;background:#fbfdff;padding:16px;display:grid;align-content:start;gap:12px}
.repair-today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.repair-today-head span{display:block;color:#64748b;font-size:12px;font-weight:900}.repair-today-head strong{display:block;margin-top:3px;color:#0f172a;font-size:28px;line-height:1}.repair-today-head small{color:#94a3b8;font-size:11px;font-weight:800;text-align:right}
.repair-today-list{display:grid;gap:9px}.repair-today-list button{display:grid;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:11px;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.035)}
.repair-today-list button>span{width:11px;height:32px;border-radius:999px;background:#14b8a6}.repair-today-list button.orange>span{background:#f97316}.repair-today-list button.purple>span{background:#8b5cf6}.repair-today-list button.blue>span{background:#3b82f6}.repair-today-list button.red>span{background:#ef4444}
.repair-today-list strong{display:block;color:#0f172a;font-size:13px}.repair-today-list small{display:block;margin-top:2px;color:#64748b;font-size:11px;font-weight:800}.repair-today-list b{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#eef2f7;color:#0f172a;font-size:13px}
.repair-pro-table{border-spacing:0 0}.repair-pro-table th{background:#f8fafc;font-size:11px;letter-spacing:.02em;text-transform:none}.repair-pro-table tbody tr{position:relative}.repair-pro-table tbody tr::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:999px;background:transparent}.repair-pro-table tbody tr.is-unpaid::before{background:#ef4444}.repair-pro-table tbody tr.is-ready::before{background:#3b82f6}.repair-pro-table tbody tr.is-waiting::before{background:#8b5cf6}.repair-pro-table tbody tr.is-quote::before{background:#f97316}
.repair-pro-table td{height:92px}.repair-pro-table tr:hover td{background:#fbfdfa}.repair-case-name{font-size:14px}.repair-case-order{font-size:11px}.repair-device-line{margin-top:7px;font-size:13px}.repair-progress-cell i{width:100%;max-width:110px;background:linear-gradient(90deg,#14b8a6 58%,#e2e8f0 58%)}
.repair-primary-action{min-width:90px;border-radius:11px;padding:9px 11px}.repair-more-button{width:auto;min-width:48px;height:34px;padding:0 10px}.repair-more-menu{min-width:132px}.repair-more-menu .mini{border:0;background:#f8fafc;border-radius:9px;color:#334155}.repair-more-menu .mini:hover{background:#e8fbf6;color:#087b69}.repair-more-menu .danger-action{color:#b91c1c;background:#fff1f2}
.repair-list-footer{border-top:1px solid #edf2f7;background:#fff;border-radius:0 0 0 22px}
@media(max-width:1500px){.repair-board-layout{grid-template-columns:minmax(0,1fr) 250px}.repair-ops-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.repair-today-panel{padding:14px}}
@media(max-width:1180px){.repair-board-layout{grid-template-columns:1fr}.repair-today-panel{border-left:0;border-top:1px solid #edf2f7;border-radius:0 0 22px 22px}.repair-today-list{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-list-footer{border-radius:0}}
@media(max-width:900px){.repair-page-badge{display:none}.repair-board-layout{display:block}.repair-today-panel{margin:0 12px 12px;border:1px solid #e2e8f0;border-radius:18px}.repair-today-list{grid-template-columns:1fr}.repair-mobile-card{border-left:4px solid #14b8a6}.repair-mobile-card .repair-more-button{min-width:54px}.repair-list-footer{display:none}}

/* Mobile login auto-fit overrides: keep the login card inside small phone viewports. */
.login-shell{min-height:100vh;min-height:100svh;padding:clamp(12px,4vw,24px);overflow:auto;overflow-x:hidden;}
@supports (height:100dvh){.login-shell{min-height:100dvh;}}
.login-card{width:min(420px,calc(100vw - 24px));max-width:100%;max-height:calc(100svh - 24px);overflow:auto;padding:clamp(22px,5vw,36px);}
@supports (height:100dvh){.login-card{max-height:calc(100dvh - 24px);}}
.login-card input{font-size:16px;min-height:46px;line-height:1.35;-webkit-text-size-adjust:100%;}
.login-card input::placeholder{color:#8b98aa;}
.login-card button[type="submit"]{min-height:46px;font-size:16px;}
@media(max-width:480px){.login-shell{place-items:start center;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));}.login-card{width:100%;border-radius:16px;padding:22px 16px;box-shadow:0 18px 60px rgba(0,0,0,.24);}.logo.large{width:50px;height:50px;border-radius:14px;font-size:17px}.login-card h1{font-size:clamp(22px,7vw,26px);line-height:1.18}.login-card form{gap:12px;margin-top:20px}.wide{padding:12px}.demo-note{margin-top:14px;}}
@media(max-height:620px){.login-shell{place-items:start center}.login-card{padding-block:18px}.login-card form{margin-top:16px;gap:10px}.logo.large{width:46px;height:46px}.login-card h1{margin:6px 0;font-size:22px}.login-card input{padding:10px 11px;min-height:44px}.demo-note{margin-top:10px}}
@media(max-width:360px){.login-card{width:calc(100vw - 16px);padding:18px 14px}.login-card h1{font-size:21px}.login-card label{gap:5px}.login-card form{gap:10px}}

/* Mobile menu disclosure fix: closed modules must not leave blank child rows. */
.nav-module:not([open])>.nav-children{display:none!important;}
@media(max-width:720px){.mobile-menu-list .nav-module summary{list-style:none}.mobile-menu-list .nav-module summary::-webkit-details-marker{display:none}.mobile-menu-list .nav-module:not([open])>.nav-children{display:none!important}.mobile-menu-list .nav-module[open]>.nav-children{display:grid}.mobile-menu-list .nav-module[open]{background:#fff}.mobile-menu-list .nav-child:empty,.mobile-menu-list .nav-child .nav-child-title:empty{display:none!important}}

/* Mobile menu card renderer: iPhone uses simple module cards instead of details/summary. */
@media(max-width:720px){.mobile-menu-list .mobile-menu-module-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 10px;width:100%;min-height:66px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;color:#0f172a;text-align:left;box-shadow:0 8px 20px rgba(15,23,42,.04)}.mobile-menu-list .mobile-menu-module-card .nav-icon{grid-row:1/3;width:34px!important;height:34px!important;border-radius:11px;background:#e5f5f2;color:var(--teal);font-weight:900}.mobile-menu-list .mobile-menu-module-card strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;color:#0f172a}.mobile-menu-list .mobile-menu-module-card small{grid-column:2/4;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:11px;font-weight:800}.mobile-menu-list .mobile-menu-module-card.active{border-color:rgba(11,140,125,.32);background:#eefaf7;box-shadow:0 12px 24px rgba(11,140,125,.09)}.mobile-menu-list .mobile-menu-module-card.active strong{color:#075f56}.mobile-menu-list .mobile-menu-module-card:empty{display:none!important}}
/* Mobile dashboard polish: cleaner home cards and five-item bottom navigation. */
@media(max-width:760px){
  body.dashboard-v2-mode{background:#f4f7fb;padding-bottom:104px;overflow-x:hidden}
  body.dashboard-v2-mode main{padding:18px 16px 112px;background:#f4f7fb;overflow-x:hidden}
  .dashboard-home-v2-page{padding:4px 0 96px;background:#f4f7fb}
  .dashboard-v2-header{display:grid;gap:14px;margin:0 0 14px}
  .dashboard-v2-title h1{font-size:31px;letter-spacing:-.04em}
  .dashboard-v2-title p{font-size:13px;line-height:1.4}
  .dashboard-v2-top-actions{display:grid;grid-template-columns:minmax(0,1.05fr) 48px minmax(0,1fr);gap:10px;align-items:stretch;justify-content:stretch}
  .dashboard-v2-branch,.dashboard-v2-round,.dashboard-v2-user{height:56px;border-radius:15px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
  .dashboard-v2-branch{min-width:0}.dashboard-v2-branch span{width:38px;margin-left:11px;line-height:1.05}.dashboard-v2-branch select{min-width:0;width:100%;padding:0 8px;font-size:15px}
  .dashboard-v2-round{width:48px;min-width:48px;font-size:18px}
  .dashboard-v2-user{min-width:0;padding:9px 12px}.dashboard-v2-user small,.dashboard-v2-user{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dashboard-v2-search{grid-column:1/-1;order:initial;width:100%;height:58px;border-radius:16px;padding:0 12px 0 18px}.dashboard-v2-search input{font-size:15px}.dashboard-v2-search button{background:transparent;color:#0f172a}
  .dashboard-v2-card{border-radius:20px;padding:18px 16px;box-shadow:0 12px 28px rgba(15,23,42,.055)}
  .dashboard-v2-card-title{margin-bottom:14px}.dashboard-v2-card-title h2{font-size:17px}.dashboard-v2-card-title button{font-size:15px;color:#0b8c7d}
  .dashboard-workbench-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .dashboard-workbench-item{position:relative;min-height:98px;border-radius:16px;padding:14px 12px;grid-template-columns:42px minmax(0,1fr);gap:4px 10px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.035)}
  .dashboard-workbench-item span{width:42px;height:42px;border-radius:14px;background:#e8fbf6;color:#087b69;font-size:18px}.dashboard-workbench-item strong{font-size:15px}.dashboard-workbench-item small{font-size:12px;line-height:1.25;white-space:normal}.dashboard-workbench-item em{font-size:10px;padding:3px 7px}
  .dashboard-workbench-item .nav-badge{position:absolute;right:11px;top:11px;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#10bfa4;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
  .dashboard-v2-kpis{grid-template-columns:1fr;gap:12px}.dashboard-v2-kpi{min-height:122px;border-radius:20px;padding:18px}.dashboard-v2-kpi span:not(.dashboard-v2-icon),.dashboard-v2-kpi strong,.dashboard-v2-kpi small{margin-left:60px}.dashboard-v2-icon{left:18px;top:20px}.dashboard-v2-spark{right:12px;bottom:10px;width:90px}
  .dashboard-v2-lower-row{display:none}.dashboard-v2-performance{display:none}.dashboard-v2-main-row{gap:12px}.dashboard-v2-main-row .dashboard-v2-card:not(:first-child){display:none}
  .mobile-nav,body.owner-session .mobile-nav{display:grid!important;grid-template-columns:1fr 1fr 68px 1fr 1fr!important;left:14px;right:14px;bottom:10px;height:74px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border:1px solid rgba(226,231,237,.95);border-radius:24px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 18px 42px rgba(15,23,42,.16);overflow:visible}
  .mobile-nav button{display:grid;place-items:center;gap:3px;border:0;border-radius:17px;background:transparent;color:#64748b;font-weight:900;font-size:11px;line-height:1;min-width:0}.mobile-nav button span{display:grid;place-items:center;width:28px;height:24px;border-radius:10px;color:inherit}.mobile-nav button small{font-size:11px;font-weight:900}.mobile-nav button.active{background:#e8fbf6;color:#087b69}.mobile-nav .mobile-add{width:64px;height:64px;margin:-28px auto 0;border-radius:50%;background:#0b8c7d;color:#fff;font-size:34px;line-height:1;box-shadow:0 16px 34px rgba(11,140,125,.38)}
  .mobile-menu-sheet{border-radius:24px 24px 0 0}.mobile-menu-list{gap:10px}.mobile-menu-list .mobile-menu-module-card{min-height:68px;border-radius:18px}.mobile-menu-actions{padding-bottom:4px}
}
@media(max-width:380px){.dashboard-workbench-grid{gap:9px}.dashboard-workbench-item{min-height:94px;padding:12px 10px;grid-template-columns:38px minmax(0,1fr)}.dashboard-workbench-item span{width:38px;height:38px}.dashboard-v2-top-actions{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr)}}

/* HR repair damage and bonus settlement */
.hr-repair-operations-panel{display:grid;gap:16px}
.hr-repair-operations-warning{display:inline-flex;align-items:center;border-left:4px solid #f59e0b;border-radius:7px;background:#fffbeb;padding:10px 12px;color:#92400e;font-size:12px;font-weight:900;line-height:1.5}
.hr-repair-operations-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hr-repair-operations-cards article{display:grid;gap:5px;min-height:108px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:14px}
.hr-repair-operations-cards span{color:#64748b;font-size:12px;font-weight:900}
.hr-repair-operations-cards strong{color:#0f172a;font-size:21px;line-height:1.2}
.hr-repair-operations-cards small{color:#64748b;font-size:11px;font-weight:700;line-height:1.45}
.hr-repair-operations-table{width:100%;min-width:980px;border-collapse:collapse}
.hr-repair-operations-table th,
.hr-repair-operations-table td{border-bottom:1px solid #e2e8f0;padding:10px 9px;text-align:left;font-size:12px;white-space:nowrap}
.hr-repair-operations-table th{background:#f8fafc;color:#64748b;font-weight:900}
.hr-repair-operations-table td{color:#0f172a;font-weight:800}
.hr-repair-operations-table td strong,
.hr-repair-operations-table td small{display:block}
.hr-repair-operations-table td small{margin-top:3px;color:#94a3b8;font-size:10px}
.hr-repair-operations-footnote{margin:0;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff;padding:10px 12px;color:#1e3a8a;font-size:12px;font-weight:800;line-height:1.55}
.hr-bonus-entry-detail{display:grid;gap:10px;border-top:1px solid #e2e8f0;padding-top:14px}
.hr-bonus-entry-detail h3{margin:0;color:#0f172a;font-size:16px}
.hr-bonus-entry-table{min-width:1040px}
.hr-bonus-share-list{display:flex;flex-wrap:wrap;gap:6px;max-width:480px;white-space:normal}
.hr-bonus-share-list span{display:inline-flex;gap:4px;border:1px solid #99f6e4;border-radius:999px;background:#f0fdfa;padding:5px 8px;color:#475569;font-size:11px;line-height:1.3}
.hr-bonus-share-list span strong{display:inline;color:#0f766e;font-size:11px}
.hr-bonus-share-list .is-empty{border-color:#e2e8f0;background:#f8fafc;color:#64748b}
.hr-bonus-entry-table button{min-height:34px;white-space:normal}
.hr-bonus-rule-manager{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px}
.hr-bonus-rule-editor,
.hr-bonus-rule-list{min-width:0;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:16px}
.hr-bonus-rule-editor h3,
.hr-bonus-rule-list h3{margin:0;color:#0f172a}
.hr-bonus-rule-editor .action-row{justify-content:flex-end;margin-top:12px}
.hr-bonus-rule-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce7ef;border-radius:10px;background:#fbfefe;padding:11px 12px}
.hr-bonus-rule-card+.hr-bonus-rule-card{margin-top:8px}
.hr-bonus-rule-card.is-inactive{opacity:.62;background:#f8fafc}
.hr-bonus-rule-card>div:first-child{display:grid;gap:3px;min-width:0}
.hr-bonus-rule-card strong{color:#0f172a;font-size:13px}
.hr-bonus-rule-card span,
.hr-bonus-rule-card small{color:#64748b;font-size:11px;font-weight:700;line-height:1.45}
.hr-bonus-rule-card>div:last-child{display:flex;gap:7px;flex-shrink:0}
.hr-bonus-rule-card button{min-height:34px;padding:0 10px}
@media(max-width:1000px){.hr-bonus-rule-manager{grid-template-columns:1fr}.hr-repair-operations-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hr-repair-operations-cards{grid-template-columns:1fr}.hr-bonus-rule-card{align-items:flex-start;flex-direction:column}.hr-bonus-rule-card>div:last-child{width:100%}.hr-bonus-rule-card button{flex:1}.hr-repair-operations-panel .hr-card-toolbar{grid-template-columns:1fr}}

/* Legacy repair archive: read-only old-system records kept separate from active repairs. */
.legacy-archive-panel{display:grid;gap:16px}
.legacy-source-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.legacy-source-chip{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f8fafc;display:grid;gap:4px}
.legacy-source-chip strong{font-size:15px;color:var(--ink)}
.legacy-source-chip span{font-size:13px;color:var(--muted)}
.legacy-source-chip small{font-size:12px;color:#64748b;line-height:1.45}
.legacy-source-chip.ready{border-color:#99f6e4;background:#ecfdf5}
.legacy-source-chip.ready span{color:#047857}
.legacy-source-chip.reserved{border-style:dashed}
.legacy-repair-toolbar{align-items:center}
.legacy-archive-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.6}
.legacy-repair-table td .sub{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.legacy-detail-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:10px;text-decoration:none}
.repair-list-footer #legacy-repair-count{display:none}
.repair-list-footer .legacy-pagination{width:100%}
.legacy-pagination{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}
.legacy-pagination-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#334155}
.legacy-pagination-summary span{font-size:13px;color:#334155}
.legacy-pagination-summary label{display:inline-flex;align-items:center;gap:6px}
.legacy-pagination-summary select{height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800;padding:0 8px}
.legacy-pagination-pages{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.legacy-pagination-pages .secondary,.legacy-page-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800}
.legacy-pagination-pages .secondary:disabled{opacity:.5;cursor:not-allowed}
.legacy-page-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}
.legacy-pagination-ellipsis{padding:0 7px;color:#64748b;font-size:13px}
.repair-list-footer #repair-list-count{display:none}
.repair-list-footer .repair-pagination{width:100%}
.repair-pagination{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}
.repair-pagination-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#334155}
.repair-pagination-summary span{font-size:13px;color:#334155}
.repair-pagination-summary label{display:inline-flex;align-items:center;gap:6px}
.repair-pagination-summary select{height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800;padding:0 8px}
.repair-pagination-pages{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.repair-pagination-pages .secondary,.repair-page-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800}
.repair-pagination-pages .secondary:disabled{opacity:.5;cursor:not-allowed}
.repair-page-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}
.repair-pagination-ellipsis{padding:0 7px;color:#64748b;font-size:13px}
.legacy-repair-detail-panel{display:grid;gap:16px}
.legacy-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.legacy-detail-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.legacy-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.legacy-detail-card,.legacy-detail-block{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px}
.legacy-detail-card h3,.legacy-detail-block h3{margin:0 0 12px;color:var(--ink)}
.legacy-detail-field{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef2f7}
.legacy-detail-field:last-child{border-bottom:0}
.legacy-detail-field span{color:var(--muted);font-size:13px}
.legacy-detail-field strong{text-align:right;color:var(--ink)}
.legacy-detail-note{white-space:pre-wrap;line-height:1.7;color:var(--ink)}
.legacy-detail-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.legacy-detail-section-title h3{margin:0}
.legacy-detail-section-title span{color:var(--muted);font-size:13px}
.legacy-detail-error{display:grid;gap:10px}
.legacy-detail-empty-materials{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569;padding:14px;line-height:1.6}
.legacy-detail-empty-materials strong{display:block;color:#0f172a;margin-bottom:4px}
.legacy-detail-empty-materials p{margin:0;font-size:13px}
@media (max-width:760px){
  .legacy-repair-toolbar{grid-template-columns:1fr}
  .legacy-repair-table{display:none}
  .legacy-repair-card .top{align-items:flex-start}
  .legacy-detail-head{display:grid}
  .legacy-detail-actions{justify-content:stretch}
  .legacy-detail-actions>*{width:100%;justify-content:center}
  .legacy-detail-field{display:grid}
  .legacy-detail-field strong{text-align:left}
  .legacy-detail-parts-table{min-width:760px}
  .legacy-pagination{align-items:stretch}
  .legacy-pagination-summary,.legacy-pagination-pages{width:100%;justify-content:flex-start}
  .legacy-pagination-pages{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .repair-pagination{align-items:stretch}
  .repair-pagination-summary,.repair-pagination-pages{width:100%;justify-content:flex-start}
  .repair-pagination-pages{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
}
@media(max-width:900px){.repair-pagination-footer{display:block!important;padding:12px 14px 18px}}

/* Phase 11: repair work queue sorting */
.repair-sort-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;width:100%;min-height:30px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:900;text-align:left;cursor:pointer}
.repair-sort-button span{display:inline-flex;align-items:center;justify-content:center;min-width:16px;color:#94a3b8;font-size:13px}
.repair-sort-button:hover,.repair-sort-button:focus-visible{color:#087b69;outline:none}
.repair-sort-button:focus-visible{box-shadow:0 0 0 3px rgba(20,184,166,.16);border-radius:6px}
.repair-sort-button.active{color:#087b69}.repair-sort-button.active span{color:#0f9f8f}
.repair-sort-indicator{display:flex;align-items:center;gap:7px;min-height:34px;margin:-4px 20px 12px;padding:6px 10px;border-radius:10px;background:#f0fdfa;color:#0f766e;font-size:12px}
.repair-sort-indicator span{font-weight:700;color:#64748b}.repair-sort-indicator strong{font-size:12px}.repair-sort-indicator small{font-weight:700;color:#0f766e}
.repair-mobile-sort-field{display:none}
@media(max-width:900px){
  .repair-mobile-sort-field{display:flex;align-items:center;gap:8px;grid-column:1/-1;height:44px;padding:0 10px;border:1px solid #dbe3ed;border-radius:12px;background:#fff;color:#475569;font-size:12px;font-weight:900}
  .repair-mobile-sort-field select{flex:1;height:40px!important;border:0!important;padding:0!important;outline:0}
  .repair-sort-indicator{margin:0 14px 8px;flex-wrap:wrap}
}

/* Phase 12: repair advanced filters and shareable list state. */
.repair-list-toolbar{grid-template-columns:minmax(250px,1fr) repeat(5,minmax(112px,140px)) 128px 82px}
.repair-advanced-anchor{position:relative;min-width:0}
.repair-advanced-toggle{width:100%;height:44px;white-space:nowrap;padding:0 12px}
.repair-advanced-toggle[aria-expanded="true"]{border:1px solid #0f988b;background:#edfdfa;color:#08766b}
#repair-advanced-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:3px;padding:0 5px;border-radius:999px;background:#0f988b;color:#fff;font-size:11px;line-height:1}
.repair-advanced-popover{position:absolute;z-index:1200;right:0;top:calc(100% + 8px);width:min(900px,calc(100vw - 300px));max-height:min(720px,calc(100vh - 150px));overflow:auto;border:1px solid #d9e3ec;border-radius:14px;background:#fff;padding:17px;box-shadow:0 24px 65px rgba(15,23,42,.22)}
.repair-advanced-head,.repair-advanced-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.repair-advanced-head{position:sticky;z-index:2;top:-17px;margin:-17px -17px 0;padding:16px 17px 13px;border-bottom:1px solid #e5edf3;background:#fff}
.repair-advanced-head strong{display:block;color:#0f172a;font-size:16px}.repair-advanced-head small{display:block;margin-top:3px;color:#64748b;font-size:12px}
.repair-advanced-head .mini{width:34px;height:34px;padding:0;font-size:20px}
.repair-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.repair-advanced-group,.repair-advanced-field{min-width:0;margin:0;border:1px solid #e1e8ef;border-radius:11px;background:#fbfcfd;padding:11px}
.repair-advanced-group legend{padding:0 5px;color:#334155;font-size:12px;font-weight:900}
.repair-advanced-wide{grid-column:1/-1}
.repair-option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.repair-option-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}
.repair-option-list{display:grid;gap:6px;max-height:150px;overflow:auto;padding-right:3px}
.repair-option-grid label,.repair-option-list label,.repair-option-standalone{display:flex;align-items:center;gap:7px;min-width:0;border-radius:8px;background:#fff;padding:7px 8px;color:#334155;font-size:12px;font-weight:800;cursor:pointer}
.repair-option-grid label:has(input:checked),.repair-option-list label:has(input:checked),.repair-option-standalone:has(input:checked){background:#e6f8f5;color:#08766b;box-shadow:inset 0 0 0 1px #8ed5cb}
.repair-option-grid input,.repair-option-list input,.repair-option-standalone input{flex:none;width:16px;height:16px;margin:0}
.repair-option-standalone{margin-top:6px}
.repair-advanced-field{display:grid;align-content:start;gap:7px;color:#475569;font-size:12px;font-weight:900}
.repair-advanced-field input,.repair-advanced-field select{min-width:0;height:42px}
.repair-date-range-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.repair-date-range-grid .repair-advanced-field{background:#fff}
.repair-advanced-footer{position:sticky;z-index:2;bottom:-17px;justify-content:flex-end;margin:16px -17px -17px;padding:14px 17px;border-top:1px solid #e5edf3;background:#fff}
.repair-active-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-4px 20px 12px}
.repair-active-filters button{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid #b7ddd7;border-radius:999px;background:#f0fdfa;padding:5px 10px;color:#076d63;font-size:12px;font-weight:850;cursor:pointer}
.repair-active-filters button:hover{border-color:#0f988b;background:#e2f8f4}.repair-active-filters button span{font-size:16px;line-height:1}
#toast{z-index:1300}
@media(max-width:1450px){.repair-list-toolbar{grid-template-columns:minmax(250px,1.4fr) repeat(3,minmax(120px,1fr));}.repair-list-toolbar .repair-search-wrap{grid-column:span 2}.repair-advanced-popover{width:min(850px,calc(100vw - 290px))}}
@media(max-width:900px){
  .repair-list-toolbar{grid-template-columns:1fr 1fr!important}
  .repair-list-toolbar .repair-search-wrap{grid-column:1/-1}
  .repair-advanced-anchor{grid-column:1/-1}
  .repair-advanced-popover{position:fixed;left:10px;right:10px;top:auto;bottom:max(74px,calc(62px + env(safe-area-inset-bottom)));width:auto;max-height:calc(100dvh - 104px);padding:14px;border-radius:16px}
  .repair-advanced-head{top:-14px;margin:-14px -14px 0;padding:14px}.repair-advanced-footer{bottom:-14px;margin:14px -14px -14px;padding:13px 14px}
  .repair-advanced-grid{grid-template-columns:1fr 1fr}.repair-advanced-wide{grid-column:1/-1}.repair-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-date-range-grid{grid-template-columns:1fr 1fr}
  .repair-active-filters{margin:0 14px 10px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.repair-active-filters button{flex:none;max-width:85vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:520px){.repair-advanced-grid{grid-template-columns:1fr}.repair-advanced-wide{grid-column:auto}.repair-advanced-footer>*{flex:1}.repair-option-grid{grid-template-columns:1fr 1fr}.repair-date-range-group{grid-column:auto}.repair-date-range-grid{grid-template-columns:1fr}}

/* New repair list: column widths follow field keys so user reordering stays correct. */
#repair-table{width:max-content;min-width:100%;table-layout:auto}
#repair-table th.repair-select-col,#repair-table td.repair-select-cell{width:46px;min-width:46px}
#repair-table [data-col="order"]{width:150px;min-width:150px}
#repair-table [data-col="created_at"],#repair-table [data-col="updated_at"]{width:122px;min-width:122px}
#repair-table [data-col="device"]{width:220px;min-width:220px}
#repair-table [data-col="fault"]{width:190px;min-width:190px}
#repair-table [data-col="engineer"]{width:105px;min-width:105px}
#repair-table [data-col="status"]{width:105px;min-width:105px}
#repair-table [data-col="payment"]{width:112px;min-width:112px}
#repair-table [data-col="amount"]{width:112px;min-width:112px}
#repair-table [data-col="next_action"]{width:126px;min-width:126px}
#repair-table th.repair-more-col,#repair-table td.repair-more-cell{width:250px;min-width:250px}
#repair-table th.repair-actions-col,#repair-table td.repair-actions-cell,#repair-table th.repair-more-col,#repair-table td.repair-more-cell{position:static;right:auto;z-index:auto;box-shadow:none}
#repair-table [data-col="status"],#repair-table [data-col="payment"],#repair-table [data-col="amount"]{white-space:nowrap;overflow:visible}
#repair-table .repair-time-cell{white-space:nowrap;color:#475569;font-size:12px;font-weight:750}.repair-time-cell span{display:block}
#repair-table .repair-list-actions{justify-content:flex-start;flex-wrap:wrap;row-gap:5px}
.repair-board-layout{grid-template-columns:minmax(0,1fr)}
.repair-today-panel{border-left:0;border-top:1px solid #edf2f7}
.repair-today-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.repair-list-footer{border-radius:0}
@media(max-width:1180px){.repair-today-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){#repair-table{min-width:0}.repair-column-picker{display:none}.repair-today-list{grid-template-columns:1fr}.repair-mobile-times{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px;color:#64748b;font-size:11px;font-weight:750}.repair-mobile-times span{padding:4px 7px;border-radius:7px;background:#f8fafc}}
@media(max-width:900px){#repair-floating-scrollbar{display:none!important}}
@media print{#repair-floating-scrollbar{display:none!important}}

/* Phase 15: shared quick sorting for inventory and used-device lists. */
.table-sort-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;width:100%;min-height:30px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:850;text-align:left;cursor:pointer}
.table-sort-button span{display:inline-flex;align-items:center;justify-content:center;min-width:16px;color:#94a3b8;font-size:13px}
.table-sort-button:hover,.table-sort-button:focus-visible{color:#087b69;outline:none}
.table-sort-button:focus-visible{border-radius:6px;box-shadow:0 0 0 3px rgba(20,184,166,.16)}
.table-sort-button.active{color:#087b69}.table-sort-button.active span{color:#0f9f8f}
.table-sort-indicator{display:flex;align-items:center;gap:7px;min-height:34px;margin:0 0 10px;padding:6px 10px;border:1px solid #ccece7;border-radius:10px;background:#f0fdfa;color:#0f766e;font-size:12px}
.table-sort-indicator:empty{display:none}
.table-sort-indicator span{font-weight:700;color:#64748b}.table-sort-indicator strong{font-size:12px}.table-sort-indicator small{font-weight:700;color:#0f766e}
.table-sort-reset{margin-left:auto;border:0;background:transparent;padding:3px 5px;color:#087b69;font-size:12px;font-weight:850;text-decoration:underline;cursor:pointer}
.table-sort-reset:hover,.table-sort-reset:focus-visible{color:#065f56;outline:2px solid rgba(20,184,166,.2);outline-offset:2px}
.table-mobile-sort-field{display:none}
@media(max-width:720px){
  .table-mobile-sort-field{display:flex;align-items:center;gap:8px;grid-column:1/-1;width:100%;height:44px;padding:0 10px;border:1px solid #dbe3ed;border-radius:12px;background:#fff;color:#475569;font-size:12px;font-weight:900}
  .table-mobile-sort-field select{flex:1;min-width:0!important;width:100%!important;height:40px!important;border:0!important;padding:0!important;outline:0}
  .used-device-toolbar .table-mobile-sort-field,.erp-query-toolbar .table-mobile-sort-field{grid-column:1/-1}
  .table-sort-indicator{flex-wrap:wrap;margin:0 0 10px}
}

/* ERP inventory filters: compact toolbar with an explicit advanced-filter surface. */
.erp-query-panel{position:relative;overflow:visible;padding:14px}
.erp-query-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) minmax(150px,210px) minmax(150px,200px) auto auto;align-items:center;gap:10px}
.erp-query-toolbar input,.erp-query-toolbar select,.erp-filter-toggle,.erp-query-toolbar>#erp-filter-submit{width:100%;height:44px;min-height:44px}
.erp-query-search{position:relative;display:block;min-width:0}
.erp-query-search>span{position:absolute;left:13px;top:50%;z-index:1;transform:translateY(-50%);color:#78909c;font-size:18px;pointer-events:none}
.erp-query-search input{padding-left:38px}
.erp-filter-anchor{position:relative}
.erp-filter-toggle{white-space:nowrap}
.erp-filter-toggle[aria-expanded="true"]{border-color:#0f988b;background:#edfdfa;color:#08766b}
#erp-filter-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:999px;background:#0f988b;color:#fff;font-size:11px;line-height:1}
.erp-filter-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:min(720px,calc(100vw - 72px));border:1px solid #d9e3ec;border-radius:8px;background:#fff;padding:16px;box-shadow:0 22px 55px rgba(15,23,42,.2)}
.erp-filter-head,.erp-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.erp-filter-head{padding-bottom:12px;border-bottom:1px solid #e5edf3}
.erp-filter-head strong{display:block;color:#0f172a}.erp-filter-head small{display:block;margin-top:2px;color:#64748b;font-size:12px}
.erp-filter-head .mini{width:34px;height:34px;padding:0;font-size:20px}
.erp-query-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.erp-query-advanced-grid label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:850}
.erp-query-advanced-grid input,.erp-query-advanced-grid select{width:100%;min-width:0;height:42px}
.erp-filter-footer{justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid #e5edf3}
.erp-active-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.erp-active-filters button{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid #b7ddd7;border-radius:999px;background:#f0fdfa;padding:5px 10px;color:#076d63;font-size:12px;font-weight:850;cursor:pointer}
.erp-active-filters button:hover{border-color:#0f988b;background:#e2f8f4}
.erp-active-filters button span{font-size:16px;line-height:1}
@media(max-width:1200px){.erp-query-toolbar{grid-template-columns:minmax(220px,1fr) minmax(125px,170px) minmax(125px,170px) auto auto}}
@media(max-width:780px){.erp-query-panel{padding:12px}.erp-query-toolbar{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.erp-query-search{grid-column:1/-1}.erp-query-toolbar>#erp-store{grid-column:1/2}.erp-query-toolbar>#erp-status{grid-column:2/4;min-width:138px}.erp-filter-toggle{min-width:92px}.erp-query-toolbar>#erp-filter-submit{min-width:72px}.erp-filter-popover{position:fixed;left:10px;right:10px;top:auto;bottom:max(78px,calc(64px + env(safe-area-inset-bottom)));width:auto;max-height:calc(100dvh - 110px);overflow:auto;padding:14px}.erp-query-advanced-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.erp-query-advanced-grid{grid-template-columns:1fr}.erp-query-toolbar{grid-template-columns:1fr 1fr}.erp-query-toolbar>#erp-store,.erp-query-toolbar>#erp-status{grid-column:auto}.erp-filter-popover{bottom:max(72px,calc(58px + env(safe-area-inset-bottom)))}}

/* Keep customer autocomplete attached to the customer-name field. */
.customer-name-combo{position:relative;isolation:isolate}
.customer-lookup-field{position:relative}
.customer-lookup-field{z-index:5}.customer-name-combo{isolation:auto}
.customer-name-combo input{padding-right:42px}
.customer-clear-button{position:absolute;top:50%;right:7px;z-index:2;display:grid;place-items:center;width:30px;height:30px;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;color:#64748b;font-size:20px;line-height:1;cursor:pointer}
.customer-clear-button:hover{background:#eef3f5;color:#075f56}
.customer-name-combo>.customer-search-results{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:min(320px,45vh);margin:0;box-shadow:0 18px 42px rgba(15,23,42,.18)}

/* Keep payroll tables inside their own scroll area instead of widening the app shell. */
#page-hrPayroll,
#hr-payroll-root,
#hr-payroll-root .hr-page,
#hr-payroll-root .hr-page > *,
#hr-payroll-batch-root,
#hr-payroll-batch-root > * {
  min-width:0;
  max-width:100%;
}
#hr-payroll-root .hr-page,
#hr-payroll-batch-root .hr-payroll-batch-panel {
  width:100%;
}
#hr-payroll-batch-root .hr-payroll-batch-scroll {
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
#hr-payroll-root .hr-repair-operations-panel,
#hr-payroll-root .hr-repair-operations-panel > *,
#hr-repair-operations-root {
  min-width:0;
  max-width:100%;
}
#hr-payroll-root .hr-repair-operations-panel .table-wrap {
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

/* Keep the read-only legacy archive inside the app shell. Wide records scroll only in the table. */
#page-legacyRepairs,
#legacy-repair-list-view,
#legacy-repair-list-view > *,
#legacy-repair-source-summary,
#legacy-repair-source-summary > * {
  min-width:0;
  max-width:100%;
}
#legacy-repair-list-view .legacy-repair-toolbar {
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
}
#legacy-repair-list-view .legacy-repair-toolbar .repair-search-wrap {
  grid-column:span 2;
  min-width:220px;
}
#legacy-repair-list-view .repair-table-wrap {
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
#legacy-repair-list-view .legacy-pagination-summary span,
#legacy-repair-list-view .legacy-pagination-summary label {
  white-space:nowrap;
}
@media(max-width:760px){
  #legacy-repair-list-view .legacy-repair-toolbar{grid-template-columns:1fr}
  #legacy-repair-list-view .legacy-repair-toolbar .repair-search-wrap{grid-column:auto;min-width:0}
}
.repair-reminder-settings-panel{margin-top:18px}
.repair-reminder-rule-list{display:grid;gap:10px;margin-top:14px}
.repair-reminder-rule{display:grid;grid-template-columns:minmax(120px,1fr) 150px 150px;gap:12px;align-items:end;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfd}
.repair-reminder-rule strong{font-size:14px}
.repair-reminder-rule label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}
.repair-reminder-rule input{padding:8px 10px}
.repair-reminder-alert{display:grid;gap:14px;margin-top:14px}
.repair-reminder-alert p{margin:0;color:var(--ink);font-weight:700}
.repair-reminder-alert-list{display:grid;gap:8px}
.repair-reminder-alert-row{display:grid;gap:10px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;text-align:left}
.repair-reminder-alert-row:hover{border-color:var(--teal);background:#f7fffd}
.repair-reminder-alert-main{display:flex;justify-content:space-between;align-items:center;gap:14px}
.repair-reminder-alert-row span{display:grid;gap:3px}
.repair-reminder-alert-row small{color:var(--muted)}
.repair-reminder-alert-row b{white-space:nowrap;color:var(--teal)}
.repair-reminder-reason{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.repair-reminder-reason textarea{min-height:52px;resize:vertical}
.repair-reminder-reason .mini.primary{align-self:end;border-color:var(--teal);background:var(--teal);color:#fff}
.repair-reminder-center-button{position:fixed;z-index:1100;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;border:1px solid #efb25b;background:#fff8eb;color:#8a4b00;padding:10px 12px;border-radius:8px;box-shadow:0 8px 22px rgba(16,35,58,.16);font-weight:800}
.repair-reminder-center-button b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#c9372c;color:#fff;font-size:12px}
.repair-reminder-center-button.is-review{border-color:#7cc9bd;background:#effcf9;color:#086c60}
body.mobile-menu-open .repair-reminder-center-button{display:none}

/* Phase 65: permission-scoped active store switcher */
.store-switcher{
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px 7px 5px 11px;
  border:1px solid var(--line);
  border-radius:99px;
  background:#fff;
  color:var(--muted);
  font-size:12px;
}
.store-switcher-label{white-space:nowrap}
.store-switcher select{
  width:auto;
  min-width:82px;
  max-width:190px;
  padding:3px 24px 3px 7px;
  border:0;
  border-left:1px solid var(--line);
  border-radius:0;
  background-color:transparent;
  color:var(--ink);
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.store-switcher select:disabled{cursor:default;opacity:1}
.mobile-store-switcher{display:grid;gap:4px;min-width:0}
.mobile-store-switcher select{
  padding:7px 28px 7px 9px;
  color:#0f172a;
  font-size:14px;
  font-weight:750;
}
@media(max-width:720px){.store-switcher{display:none}}
.repair-reminder-center{display:grid;gap:14px}
.repair-reminder-center-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.repair-reminder-center-summary button{display:grid;gap:3px;text-align:left;border:1px solid var(--line);background:#fff;padding:10px;border-radius:8px}
.repair-reminder-center-summary button.active{border-color:var(--teal);background:#effcf9}
.repair-reminder-center-summary b{font-size:20px;color:var(--ink)}
.repair-reminder-center-list{display:grid;gap:10px;max-height:min(56vh,560px);overflow:auto;padding-right:3px}
.repair-reminder-report-card{display:grid;gap:9px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}
.repair-reminder-report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.repair-reminder-report-head span{display:grid;gap:2px}
.repair-reminder-report-head small,.repair-reminder-report-meta{color:var(--muted)}
.repair-reminder-report-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.repair-reminder-report-note{padding:9px;border-left:3px solid #efb25b;background:#fff8eb;color:#6d4300}
.hr-repair-clockout-policy{display:grid;gap:8px;padding:12px;border:1px solid #efb25b;background:#fff8eb;border-radius:8px}
.hr-repair-clockout-policy.is-block{border-color:#e79b96;background:#fff5f4}
.hr-repair-clockout-policy button{justify-self:start}
@media(max-width:720px){.repair-reminder-rule{grid-template-columns:1fr}.repair-reminder-alert-main,.repair-reminder-reason{grid-template-columns:1fr;display:grid;align-items:flex-start}.repair-reminder-alert-main .mini,.repair-reminder-reason .mini{width:100%}.repair-reminder-center-button{top:auto;right:14px;bottom:92px;padding:9px 11px}.repair-reminder-center-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-reminder-report-head{display:grid}.repair-reminder-report-actions{justify-content:stretch}.repair-reminder-report-actions button{flex:1}}

/* Phase 10: state-aware quick actions for the new repair list. */
#repair-table tbody tr::before{content:none}
#repair-table tbody tr.is-unpaid td:first-child{box-shadow:inset 4px 0 #ef4444}
#repair-table tbody tr.is-ready td:first-child{box-shadow:inset 4px 0 #3b82f6}
#repair-table tbody tr.is-waiting td:first-child{box-shadow:inset 4px 0 #8b5cf6}
#repair-table tbody tr.is-quote td:first-child{box-shadow:inset 4px 0 #f97316}
#repair-table .repair-more-cell{overflow:visible}
#repair-table .repair-list-actions{display:flex;align-items:center;justify-content:flex-start;gap:4px;flex-wrap:nowrap}
#repair-table .repair-list-actions>button.repair-quick-icon{display:inline-flex}
.repair-action-svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.repair-action-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.repair-list-actions .repair-quick-icon,.repair-list-actions .repair-more-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;min-width:34px;height:34px;padding:0;border:0;border-radius:8px;color:#fff;box-shadow:0 4px 10px rgba(15,23,42,.12);transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.repair-list-actions .repair-quick-icon:hover,.repair-list-actions .repair-more-button:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 7px 14px rgba(15,23,42,.16)}
.repair-list-actions .repair-quick-icon:focus-visible,.repair-list-actions .repair-more-button:focus-visible{outline:3px solid rgba(20,184,166,.25);outline-offset:2px}
.repair-quick-icon.is-view{background:#183b63}.repair-quick-icon.is-pay{background:#079f91}.repair-quick-icon.is-pickup{background:#139b63}.repair-quick-icon.is-scan{background:#08a9b7}.repair-quick-icon.is-notify{background:#efa900}.repair-quick-icon.is-edit{background:#11a889}.repair-quick-icon.is-print{background:#536b82}.repair-quick-icon.is-print-center{background:#0f9485}.repair-quick-icon.is-history{background:#6750b8}.repair-quick-icon.is-rework{background:#e5482d}
.repair-list-actions .repair-quick-icon.is-view:hover{background:#183b63;color:#fff}.repair-list-actions .repair-quick-icon.is-pay:hover{background:#079f91;color:#fff}.repair-list-actions .repair-quick-icon.is-pickup:hover{background:#139b63;color:#fff}.repair-list-actions .repair-quick-icon.is-scan:hover{background:#08a9b7;color:#fff}.repair-list-actions .repair-quick-icon.is-notify:hover{background:#efa900;color:#fff}.repair-list-actions .repair-quick-icon.is-edit:hover{background:#11a889;color:#fff}.repair-list-actions .repair-quick-icon.is-print:hover{background:#536b82;color:#fff}.repair-list-actions .repair-quick-icon.is-print-center:hover{background:#0f9485;color:#fff}.repair-list-actions .repair-quick-icon.is-history:hover{background:#6750b8;color:#fff}.repair-list-actions .repair-quick-icon.is-rework:hover{background:#e5482d;color:#fff}
.repair-list-actions .repair-more-button{background:#eef2f6;color:#40536a;border:1px solid #dbe3ed;box-shadow:none}
.repair-more-menu{z-index:80;min-width:190px;padding:7px;border-radius:10px}
.repair-more-menu .repair-menu-action{display:flex;width:100%;min-height:38px;align-items:center;justify-content:flex-start;gap:9px;padding:8px 10px;border:0;border-radius:7px;background:#fff;color:#334155;font-size:13px;font-weight:800;text-align:left;white-space:nowrap}
.repair-more-menu .repair-menu-action:hover{background:#eefaf7;color:#087b69}
.repair-more-menu .repair-menu-action.danger-action{background:#fff7f7;color:#b42318}
.repair-more-menu .repair-menu-action.danger-action:hover{background:#ffeded}
.repair-more-menu .repair-menu-action .repair-action-svg{width:16px;height:16px;flex:none}
.repair-notification-modal,.repair-rework-confirm{display:grid;gap:14px}
.repair-notification-modal .notice,.repair-rework-confirm .notice{margin:0}
.repair-notification-modal .notice p,.repair-rework-confirm .notice p{margin:5px 0 0;line-height:1.55}
.repair-rework-source{display:grid;gap:4px;border:1px solid #dbe3ed;border-radius:9px;background:#f8fafc;padding:12px}
.repair-rework-source span,.repair-rework-source small{color:#64748b;font-size:12px}
.repair-rework-source strong{font-size:16px;color:#0f172a}

@media(max-width:900px){
  .repair-mobile-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-top:4px}
  .repair-mobile-next>.repair-primary-action{min-height:44px;width:100%}
  .repair-mobile-next>.repair-mobile-list-actions{display:flex;align-items:stretch;gap:7px;margin:0}
  .repair-mobile-next .repair-quick-icon,.repair-mobile-next .repair-more-button{flex:0 0 auto;width:auto;min-width:44px;height:44px;padding:0 11px;gap:7px}
  .repair-mobile-next .repair-action-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:nowrap;color:inherit;font-size:12px;font-weight:900}
  .repair-mobile-next .repair-more-wrap{display:inline-flex}
  .repair-mobile-next .repair-more-menu{right:0;left:auto;top:calc(100% + 7px);min-width:min(230px,calc(100vw - 48px));max-height:55vh;overflow:auto}
}
@media(max-width:430px){
  .repair-mobile-next{grid-template-columns:1fr}
  .repair-mobile-next>.repair-mobile-list-actions{display:grid;grid-template-columns:1fr auto;width:100%}
  .repair-mobile-next .repair-quick-icon{width:100%}
  .repair-mobile-next .repair-more-button{width:48px}
}

/* Repair workflow actions and the unified payment/pickup dialog. */
.repair-quick-icon{width:30px;height:30px;min-width:30px;padding:0;border:1px solid #dbe3ed;border-radius:8px;background:#fff;color:#334155;align-items:center;justify-content:center;font-size:12px;font-weight:950;line-height:1}
.repair-quick-icon:hover{border-color:#99f6e4;background:#ecfdf5;color:#047857}
.repair-quick-icon.primary-lite{border-color:#99f6e4;background:#ecfdf5;color:#047857}
.repair-quick-icon.pay-lite{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.repair-quick-icon.scan-lite{border-color:#fde68a;background:#fffbeb;color:#b45309}
.repair-quick-icon.danger-lite{border-color:#fecaca;background:#fff1f2;color:#b91c1c}
.repair-payment-modal{display:grid;gap:14px}
.repair-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.repair-payment-summary div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;padding:12px}
.repair-payment-summary span{display:block;color:#64748b;font-size:12px;font-weight:900;margin-bottom:5px}
.repair-payment-summary strong{font-size:18px;color:#0f172a}
.repair-payment-summary .danger{color:#b91c1c}
.repair-payment-summary .credit{color:#047857}
.payment-history-list{display:grid;gap:7px}
.payment-history-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:800;color:#475569}
.payment-history-row strong{color:#0f172a}
.pickup-inline-check{display:flex!important;align-items:center;gap:9px;border:1px dashed #99f6e4;background:#f0fdfa;border-radius:8px;padding:12px;color:#075f56;font-weight:900}
.pickup-inline-check input{width:auto}
@media(max-width:760px){.repair-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-list-actions{flex-wrap:wrap}}
@media(max-width:520px){.repair-payment-summary{grid-template-columns:1fr}.payment-history-row{display:grid;gap:3px}}

/* Phase 18: repair material selection dialog. */
body.repair-v2-material-modal-open{
  overflow:hidden;
  overscroll-behavior:none;
}
.repair-v2-material-modal{
  position:fixed;
  inset:0;
  z-index:10040;
  display:grid;
  place-items:center;
  padding:24px;
  isolation:isolate;
}
.repair-v2-material-modal-backdrop{
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(15,23,42,.66);
  backdrop-filter:blur(2px);
}
.repair-v2-material-modal-dialog{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(760px,calc(100vw - 48px));
  max-height:min(780px,calc(100dvh - 48px));
  overflow:hidden;
  border:1px solid #dbe5ee;
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 26px 80px rgba(15,23,42,.32);
}
.repair-v2-material-modal-dialog:focus{outline:none}
.repair-v2-material-modal button{font:inherit;cursor:pointer}
.repair-v2-material-modal button:disabled{opacity:.6;cursor:not-allowed}
.repair-v2-material-modal-head{
  display:flex;
  flex:none;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 16px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.repair-v2-material-modal-head strong{
  display:block;
  color:#0f172a;
  font-size:22px;
  line-height:1.3;
}
.repair-v2-material-modal-head p{
  margin:5px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
}
.repair-v2-material-modal-close{
  display:grid;
  flex:0 0 38px;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:9px;
  background:#f1f5f9;
  color:#475569;
  font-size:26px;
  line-height:1;
}
.repair-v2-material-modal-close:hover{background:#e2e8f0;color:#0f172a}
.repair-v2-material-modal-close:focus-visible,
.repair-v2-material-modal-dialog button:focus-visible,
.repair-v2-material-modal-dialog input:focus-visible,
.repair-v2-material-modal-dialog select:focus-visible{
  outline:3px solid rgba(11,154,135,.24);
  outline-offset:2px;
}
.repair-v2-material-modal-body{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:20px 22px 22px;
  scrollbar-gutter:stable;
}
.repair-v2-material-modal .repair-v2-search-results{
  max-height:min(320px,38dvh);
  grid-auto-rows:max-content;
  align-content:start;
  overscroll-behavior:contain;
}
.repair-v2-material-modal-error{
  flex:none;
  margin:0;
  padding:0 22px 18px;
  background:#fff;
}
.repair-v2-material-modal-error:empty{display:none}

@media(max-width:760px){
  .repair-v2-material-modal{
    place-items:end stretch;
    padding:12px 0 0;
  }
  .repair-v2-material-modal-dialog{
    width:100%;
    height:calc(100dvh - 12px);
    max-height:calc(100dvh - 12px);
    border-radius:20px 20px 0 0;
  }
  .repair-v2-material-modal-head{
    position:relative;
    padding:25px 16px 14px;
  }
  .repair-v2-material-modal-head::before{
    content:'';
    position:absolute;
    top:8px;
    left:50%;
    width:42px;
    height:4px;
    border-radius:999px;
    background:#cbd5e1;
    transform:translateX(-50%);
  }
  .repair-v2-material-modal-head strong{font-size:19px}
  .repair-v2-material-modal-body{
    padding:16px 16px calc(20px + env(safe-area-inset-bottom));
  }
  .repair-v2-material-modal .repair-v2-form-grid{grid-template-columns:1fr}
  .repair-v2-material-modal .repair-v2-form-grid .wide{grid-column:auto}
  .repair-v2-material-modal .repair-v2-form-actions{display:grid;grid-template-columns:1fr 1fr}
  .repair-v2-material-modal .repair-v2-form-actions button{width:100%}
  .repair-v2-material-modal [data-material-search]{grid-column:1/-1}
  .repair-v2-material-modal .repair-v2-search-results{max-height:32dvh}
  .repair-v2-material-modal-error{padding:0 16px calc(12px + env(safe-area-inset-bottom))}
}

@media(prefers-reduced-motion:no-preference){
  .repair-v2-material-modal-backdrop{animation:repair-v2-material-fade-in .16s ease-out}
  .repair-v2-material-modal-dialog{animation:repair-v2-material-dialog-in .2s ease-out}
}
@keyframes repair-v2-material-fade-in{from{opacity:0}to{opacity:1}}
@keyframes repair-v2-material-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}

/* Phase 19: exact ERP availability and serial-safe material selection. */
.repair-v2-material-availability{
  display:inline-flex;
  justify-self:start;
  gap:4px;
  padding:4px;
  border:1px solid #dbe5ee;
  border-radius:11px;
  background:#f1f5f9;
}
.repair-v2-material-availability button{
  min-height:36px;
  padding:7px 14px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#64748b;
  font-weight:850;
}
.repair-v2-material-availability button.active{
  background:#fff;
  color:#087d70;
  box-shadow:0 1px 4px rgba(15,23,42,.14);
}
.repair-v2-material-filter-hint{
  margin:-4px 0 0;
  color:#64748b;
  font-size:12px;
  font-weight:750;
  line-height:1.55;
}
.repair-v2-material-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  overflow:hidden;
  border:1px solid #dbe5ee;
  border-radius:11px;
  background:#fff;
}
.repair-v2-material-result.selected{
  border-color:#0f9d8f;
  background:#ecfdf5;
  box-shadow:0 0 0 2px rgba(15,157,143,.12);
}
.repair-v2-material-result.discrepancy{border-color:#f0b36c;background:#fffaf2}
.repair-v2-material-result.unavailable{background:#f8fafc}
.repair-v2-material-modal .repair-v2-material-result-select{
  display:grid;
  min-width:0;
  gap:5px;
  padding:12px 13px;
  border:0;
  background:transparent;
  color:#64748b;
  text-align:left;
}
.repair-v2-material-modal .repair-v2-material-result-select:disabled{
  opacity:1;
  color:#64748b;
  cursor:not-allowed;
}
.repair-v2-material-result-select>span{font-size:12px;line-height:1.45}
.repair-v2-material-result-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.repair-v2-material-result-head strong{color:#0f172a;font-size:14px;line-height:1.4}
.repair-v2-material-result-head em{
  flex:none;
  padding:3px 7px;
  border-radius:999px;
  background:#dff7ef;
  color:#087d70;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.repair-v2-material-result.unavailable .repair-v2-material-result-head em{
  background:#e2e8f0;
  color:#64748b;
}
.repair-v2-material-discrepancy{color:#a54a12!important;font-weight:850}
.repair-v2-material-unit-actions{
  display:grid;
  gap:7px;
  min-width:142px;
  margin-right:12px;
}
.repair-v2-material-scan,
.repair-v2-material-manual{
  min-height:44px;
  padding:9px 11px;
  border:1px solid #0f9d8f;
  border-radius:9px;
  font-size:12px!important;
  font-weight:900;
  white-space:nowrap;
}
.repair-v2-material-scan{min-height:44px;background:#0f9d8f;color:#fff}
.repair-v2-material-manual{background:#fff;color:#087d70}
.repair-v2-material-manual:disabled{border-color:#cbd5e1;background:#f1f5f9;color:#94a3b8;cursor:not-allowed}
.repair-v2-material-unit-note{
  max-width:140px;
  margin-right:12px;
  color:#9a3412;
  font-size:12px;
  font-weight:850;
  line-height:1.4;
}
@media(max-width:760px){
  .repair-v2-material-availability{display:grid;grid-template-columns:repeat(3,1fr);justify-self:stretch}
  .repair-v2-material-availability button{min-height:44px;padding:7px 9px}
  .repair-v2-material-result{grid-template-columns:1fr}
  .repair-v2-material-result-head{display:grid;gap:6px}
  .repair-v2-material-result-head em{justify-self:start}
  .repair-v2-material-unit-actions{grid-template-columns:1fr 1fr;width:auto;min-width:0;margin:0 12px 12px}
  .repair-v2-material-scan,.repair-v2-material-manual{width:100%!important;min-height:44px}
  .repair-v2-material-unit-note{max-width:none;margin:0 12px 12px}
}

.repair-manual-unit-picker{display:grid;gap:14px}
.repair-manual-unit-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.repair-manual-unit-toolbar label{display:grid;gap:6px;color:#334155;font-size:13px;font-weight:850}
.repair-manual-unit-toolbar input{min-width:0}
.repair-manual-unit-toolbar button{min-height:44px}
.repair-manual-unit-hint{margin:0;padding:10px 12px;border:1px solid #bae6df;border-radius:9px;background:#f0fdfa;color:#0f766e;font-size:13px;font-weight:800;line-height:1.55}
.repair-manual-unit-loading{margin:0;padding:22px 12px;text-align:center;color:#64748b;font-weight:800}
.repair-manual-unit-summary{margin-bottom:8px;color:#475569;font-size:13px;font-weight:800}
.repair-manual-unit-list{display:grid;gap:9px;max-height:min(52vh,520px);overflow:auto;padding:2px}
.repair-manual-unit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dbe5ee;border-radius:10px;background:#fff}
.repair-manual-unit-info{display:grid;min-width:0;gap:4px}
.repair-manual-unit-info strong{color:#0f172a;font-size:15px;overflow-wrap:anywhere}
.repair-manual-unit-info span{color:#0f766e;font-weight:850}
.repair-manual-unit-info small{color:#64748b;line-height:1.45;overflow-wrap:anywhere}
.repair-manual-unit-select{min-height:44px;white-space:nowrap}
.repair-manual-unit-empty{display:grid;gap:6px;padding:26px 14px;border:1px dashed #cbd5e1;border-radius:10px;text-align:center}
.repair-manual-unit-empty strong{color:#334155}
.repair-manual-unit-empty span{color:#64748b;font-size:13px}
.repair-manual-unit-error{display:grid;justify-items:center;gap:12px}
.repair-manual-unit-complete{display:grid;justify-items:end;gap:12px;margin-top:12px}
@media(max-width:720px){
  .repair-manual-unit-toolbar{grid-template-columns:1fr}
  .repair-manual-unit-toolbar button{width:100%}
  .repair-manual-unit-row{grid-template-columns:1fr}
  .repair-manual-unit-select{width:100%}
  .repair-manual-unit-list{max-height:48vh}
  .repair-manual-unit-complete{justify-items:stretch}
  .repair-manual-unit-complete button{width:100%}
}
@media(max-width:720px){
  #inventory-reconciliation-root .inventory-toolbar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    width:100%;
  }
  #inventory-reconciliation-root .inventory-toolbar>*{min-width:0}
  #inventory-reconciliation-root .inventory-toolbar>input{grid-column:1/-1}
  #inventory-reconciliation-root .inventory-toolbar>button{width:100%;min-height:44px;padding-inline:8px}
}

/* Phase 26C notification center: masked configuration and delivery visibility. */
.notification-center{gap:18px}
.notification-center.active{display:grid}
.notification-hero{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(520px,1.25fr);gap:24px;align-items:center;margin-bottom:0}
.notification-provider-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}
.notification-provider-mode,
.notification-provider-channel{display:grid;gap:4px;min-width:0;border:1px solid rgba(255,255,255,.17);border-radius:10px;background:rgba(255,255,255,.08);padding:11px 12px}
.notification-provider-mode span,
.notification-provider-channel span{color:#cbd5e1;font-size:11px;font-weight:800}
.notification-provider-mode strong,
.notification-provider-channel strong{color:#fff;font-size:14px;overflow-wrap:anywhere}
.notification-provider-mode small,
.notification-provider-channel small{color:#cbd5e1;font-size:10px;line-height:1.45}
.notification-provider-channel.is-ready strong{color:#6ee7c7}
.notification-provider-channel.is-warning strong{color:#fcd38d}
.notification-section{min-width:0;padding:18px}
.notification-section-head{gap:18px;margin-bottom:15px}
.notification-section-head>div{min-width:0}
.notification-section-head .primary,
.notification-section-head .secondary{flex:0 0 auto}
.notification-table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px}
.notification-table{min-width:880px}
.notification-table tbody tr{cursor:default}
.notification-row-actions{display:flex;flex-wrap:wrap;gap:6px}
.notification-row-actions .mini{white-space:nowrap}
.notification-row-actions .danger-lite{border-color:#fecaca;background:#fff5f5;color:#b91c1c}
.notification-row-actions .primary-lite{border-color:#99f6e4;background:#ecfdf5;color:#047857}
.notification-masked-value{display:inline-block;max-width:100%;border-radius:6px;background:#f1f5f9;padding:4px 7px;color:#334155;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}
.notification-state-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:800;white-space:nowrap}
.notification-state-pill.is-active{background:#dcfce7;color:#047857}
.notification-state-pill.is-inactive{background:#f1f5f9;color:#64748b}
.notification-row-disabled{opacity:.68}
.notification-safe-summary{max-width:260px;color:#64748b;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.notification-section-state{display:grid;place-items:center;min-height:54px;padding:12px;color:#64748b;font-size:12px;font-weight:700;text-align:center}
.notification-provider-summary>.notification-section-state{grid-column:1/-1;border:1px solid rgba(255,255,255,.17);border-radius:10px;color:#e2e8f0}
.notification-section-state.is-error{border-color:#fecaca;background:#fff7f7;color:#b91c1c}
.engineer-reminder-form{display:grid;gap:16px}
.engineer-reminder-settings-grid{display:grid;grid-template-columns:minmax(180px,.8fr) repeat(3,minmax(150px,1fr));gap:12px;align-items:start}
.engineer-reminder-enabled{align-self:center;min-height:44px}
.engineer-reminder-interval{display:grid;grid-template-columns:minmax(80px,1fr) minmax(84px,.65fr);gap:7px}
.engineer-reminder-fieldset{min-width:0;border:1px solid var(--line);border-radius:10px;padding:12px}
.engineer-reminder-fieldset legend{padding:0 6px;color:#334155;font-size:13px;font-weight:850}
.engineer-reminder-fieldset>small{display:block;margin-top:8px;color:#64748b;font-size:11px}
.engineer-reminder-weekdays,.engineer-reminder-recipients{display:flex;flex-wrap:wrap;gap:8px}
.engineer-reminder-weekdays label,.engineer-reminder-recipients label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;padding:9px 11px;color:#334155;font-size:12px;font-weight:800}
.engineer-reminder-weekdays input,.engineer-reminder-recipients input{width:auto}
.engineer-reminder-recipients label{min-width:180px;align-items:flex-start}
.engineer-reminder-recipients span{display:grid;gap:2px}
.engineer-reminder-recipients small{color:#64748b;font-size:10px;font-weight:650}
.engineer-reminder-note{border-left:4px solid #2dd4bf;border-radius:7px;background:#f0fdfa;padding:10px 12px;color:#0f766e;font-size:12px;font-weight:750;line-height:1.55}
.engineer-reminder-form .settings-actions{margin-top:0}
.notification-mobile-card .notification-row-actions{margin-top:12px}
.notification-legacy-section{padding:17px 18px}
.notification-legacy-section>summary{cursor:pointer;color:#334155;font-weight:850}
.notification-legacy-section[open]>summary{margin-bottom:7px}
.notification-legacy-section>.notification-table-wrap{margin-top:14px}
.notification-destination-form{align-items:start}
.notification-readonly-field{border:1px solid var(--line);border-radius:9px;background:#f8fafc;padding:11px 12px}
.notification-readonly-field span{color:#64748b;font-size:12px}
.notification-readonly-field strong{color:#0f172a}
.notification-active-check{display:flex!important;grid-column:1/-1!important;align-items:center;gap:9px;border:1px dashed #99f6e4;border-radius:9px;background:#f0fdfa;padding:11px 12px;color:#075f56;font-weight:850}
.notification-active-check input{width:auto}
.notification-security-note{grid-column:1/-1;border-left:4px solid #2dd4bf;border-radius:7px;background:#f0fdfa;padding:10px 12px;color:#0f766e;font-size:12px;font-weight:750;line-height:1.55}
.notification-security-note.is-error{border-left-color:#ef4444;background:#fff7f7;color:#b91c1c}
.notification-line-recipient-field select{min-height:44px}
.line-binding-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;white-space:nowrap}
.line-binding-status.is-bound{background:#dcfce7;color:#047857}
.line-binding-status.is-pending{background:#fff7db;color:#94610d}
.line-binding-status.is-unbound{background:#f1f5f9;color:#64748b}
.line-binding-status.is-warning{background:#fee2e2;color:#b91c1c}
.employee-actions .primary-lite{border-color:#99f6e4;background:#ecfdf5;color:#047857}
.employee-actions .danger-lite{border-color:#fecaca;background:#fff5f5;color:#b91c1c}
.employee-line-binding-mobile{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:9px 0}
.line-binding-code-card{display:grid;gap:14px}
.line-binding-code-card ol{display:grid;gap:7px;margin:0;padding-left:22px;color:#475569;line-height:1.55}
.line-binding-code-card>code{display:block;border:1px solid #99f6e4;border-radius:10px;background:#f0fdfa;padding:16px;color:#0f766e;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(17px,4vw,24px);font-weight:900;letter-spacing:.04em;text-align:center;overflow-wrap:anywhere;user-select:all}
.line-binding-code-card>p{margin:0;color:#64748b;font-size:12px;text-align:center}
.line-binding-code-actions{display:flex;gap:9px;flex-wrap:wrap}
.line-binding-code-actions button{flex:1;min-width:180px}
.line-binding-check-result{display:flex;min-height:24px;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:#475569;font-size:13px;font-weight:750;text-align:center}
.notification-attempt-modal{display:grid;gap:14px;margin-top:16px}
.notification-attempt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.notification-attempt-summary>div{display:grid;gap:4px;min-width:0;border:1px solid var(--line);border-radius:9px;background:#f8fafc;padding:10px}
.notification-attempt-summary span{color:#64748b;font-size:11px;font-weight:800}
.notification-attempt-summary strong{color:#0f172a;font-size:13px;overflow-wrap:anywhere}
.badge.pending,.badge.processing,.badge.retry_wait{background:#fff7db;color:#94610d}
.badge.accepted,.badge.simulated{background:#dcfce7;color:#047857}
.badge.failed,.badge.lease_expired{background:#fee2e2;color:#b91c1c}
@media(max-width:1100px){
  .notification-hero{grid-template-columns:1fr}
  .notification-provider-summary{grid-template-columns:repeat(4,minmax(120px,1fr))}
  .engineer-reminder-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .notification-center{gap:12px}
  .notification-hero{padding:20px 17px;gap:16px}
  .notification-provider-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notification-section{padding:14px}
  .notification-section-head{display:grid}
  .notification-section-head button{width:100%}
  .engineer-reminder-settings-grid{grid-template-columns:1fr}
  .engineer-reminder-recipients label{width:100%}
  .notification-section>.notification-table-wrap,
  .notification-legacy-section>.notification-table-wrap{display:none}
  .notification-card-list{display:block;padding:0}
  .notification-mobile-card{padding:14px 2px}
  .notification-mobile-card .notification-row-actions button{flex:1}
  .line-binding-code-actions{display:grid}
  .line-binding-code-actions button{width:100%;min-width:0}
  .employee-actions [data-line-binding-code],
  .employee-actions [data-line-binding-delete]{flex:1 1 100%}
  .notification-attempt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notification-attempt-modal .notification-table-wrap{display:block}
  .notification-attempt-modal table{min-width:680px}
}
@media(max-width:460px){
  .notification-provider-summary,
  .notification-attempt-summary{grid-template-columns:1fr}
}

/* Phase 36: approval actions must remain readable inside table button reset styles. */
.approval-action-button{
  min-width:100px;
  min-height:36px;
  border:2px solid transparent!important;
  border-radius:9px!important;
  padding:7px 14px!important;
  font-weight:900!important;
  line-height:1.2;
  opacity:1!important;
  box-shadow:0 2px 7px rgba(15,23,42,.14);
}
.approval-action-button.is-review{
  border-color:#075f56!important;
  background:#075f56!important;
  color:#fff!important;
}
.approval-action-button.is-detail{
  border-color:#173657!important;
  background:#fff!important;
  color:#173657!important;
}
.approval-action-button.is-result{
  border-color:#0f766e!important;
  background:#e7f8f4!important;
  color:#075f56!important;
}
.approval-action-button:hover{filter:brightness(.94);transform:translateY(-1px)}
.approval-action-button:focus-visible{outline:3px solid #f59e0b!important;outline-offset:2px}

/* Phase 37: same-customer multi-order settlement. */
.batch-settlement-button:not(:disabled){background:#075f56;border-color:#075f56;color:#fff;font-weight:900}
.batch-settlement{display:grid;gap:16px}
.batch-settlement-customer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.batch-settlement-customer>div{display:grid;gap:5px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:12px}
.batch-settlement-customer span{color:#64748b;font-size:12px;font-weight:800}
.batch-settlement-customer strong{color:#0f172a;font-size:16px;overflow-wrap:anywhere}
.batch-settlement table{min-width:720px}
.batch-settlement td strong,.batch-settlement td span{display:block}
.batch-per-repair-settlement table{min-width:980px}
.batch-per-repair-fields{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(120px,.8fr) minmax(180px,1.35fr);gap:8px;align-items:end}
.batch-per-repair-fields label{display:grid;gap:4px;color:#475569;font-size:11px;font-weight:800}
.batch-per-repair-fields input,.batch-per-repair-fields select{min-height:38px;padding:7px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a}
.batch-finish-check{display:flex;align-items:center;gap:7px;white-space:nowrap;font-weight:800;color:#075f56}
.batch-finish-check input{width:18px;height:18px}
.batch-action-label{display:inline-flex!important;width:max-content;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}
.batch-action-label.is-collect{background:#ccfbf1;color:#115e59}
.batch-action-label.is-close{background:#dbeafe;color:#1e40af}
.batch-action-label.is-done{background:#e2e8f0;color:#475569}
.batch-outstanding{color:#b91c1c!important;font-weight:900}
@media(max-width:720px){
  .batch-settlement-customer{grid-template-columns:1fr}
}

/* Phase 40: complete inventory movement ledger. */
.inventory-movement-page.active{display:grid;gap:15px}
.inventory-movement-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  min-width:0;
  border-radius:18px;
  background:#173657;
  padding:24px 26px;
  color:#fff;
  box-shadow:0 12px 30px rgba(23,54,87,.12);
}
.inventory-movement-hero>div:first-child{min-width:0}
.inventory-movement-hero .eyebrow{color:#6ee7c7}
.inventory-movement-hero h2{margin:4px 0 8px;color:#fff;font-size:26px}
.inventory-movement-hero p{margin:0;max-width:920px;color:#dbeafe;line-height:1.65}
.inventory-ledger-warning{
  margin-top:11px!important;
  border:1px solid rgba(253,230,138,.34);
  border-radius:9px;
  background:rgba(146,64,14,.22);
  padding:9px 11px;
  color:#fef3c7!important;
  font-size:12px;
  font-weight:800;
}
.inventory-movement-hero-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}
.inventory-movement-hero-actions .secondary{
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.1);
  color:#fff;
}
.inventory-movement-controls{display:grid;gap:15px;padding:17px 18px}
.inventory-ledger-level{
  display:inline-flex;
  justify-self:start;
  gap:4px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f1f5f9;
  padding:4px;
}
.inventory-ledger-level button{
  border:0;
  border-radius:8px;
  background:transparent;
  padding:9px 14px;
  color:#64748b;
  font-weight:900;
}
.inventory-ledger-level button.active{background:#fff;color:#075f56;box-shadow:0 2px 7px rgba(15,23,42,.1)}
.inventory-movement-filters{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:11px;
  align-items:end;
}
.inventory-movement-filters label{display:grid;gap:6px;min-width:0;color:#475569;font-size:12px;font-weight:850}
.inventory-movement-filters input,
.inventory-movement-filters select{width:100%;min-width:0}
.inventory-movement-filters input:disabled,
.inventory-movement-filters select:disabled{cursor:not-allowed;background:#f1f5f9;color:#94a3b8}
.inventory-movement-filters small{color:#64748b;font-size:10px;font-weight:750;line-height:1.35}
.movement-search-field{grid-column:span 2}
.inventory-movement-filter-actions{display:flex;align-items:center;gap:8px}
.inventory-movement-filter-actions button{flex:1;white-space:nowrap}
.inventory-movement-metrics{margin:0}
.inventory-movement-metrics .metric{min-height:104px}
.inventory-movement-metrics .movement-in-metric strong{color:#047857}
.inventory-movement-metrics .movement-out-metric strong{color:#b91c1c}
.inventory-movement-list-head{gap:16px;margin-bottom:12px}
.inventory-movement-list-head>div{min-width:0}
.inventory-movement-list-head p{margin:3px 0 0;color:#64748b;font-size:12px}
.inventory-movement-list-head .badge{flex:0 0 auto}
.inventory-movement-table-panel{min-width:0;padding:17px 18px}
.inventory-movement-table-wrap{
  display:block;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  border-radius:10px;
}
.inventory-movement-table-wrap table{min-width:1270px}
.inventory-movement-table-wrap tbody tr{cursor:pointer}
.inventory-movement-table-wrap tbody tr:hover{background:#f8fafc}
.inventory-movement-type{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#e2e8f0;
  padding:5px 9px;
  color:#334155;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.inventory-movement-type.is-in{background:#dcfce7;color:#047857}
.inventory-movement-type.is-out{background:#fee2e2;color:#b91c1c}
.inventory-movement-type.is-transfer{background:#dbeafe;color:#1d4ed8}
.inventory-movement-type.is-adjust{background:#fef3c7;color:#92400e}
.inventory-movement-quantity{font-size:14px;font-weight:950;white-space:nowrap}
.inventory-movement-quantity.is-in{color:#047857}
.inventory-movement-quantity.is-out{color:#b91c1c}
.inventory-movement-status{display:grid;gap:3px;min-width:100px}
.inventory-movement-status span{font-weight:850}
.inventory-movement-status small{color:#64748b}
.inventory-reference{display:grid;gap:3px}
.inventory-reference strong,.inventory-reference span,.inventory-reference small{overflow-wrap:anywhere}
.inventory-reference small{color:#64748b}
.inventory-reference-separator{color:#94a3b8}
.inventory-movement-cards{display:none}
.inventory-movement-card-actions{display:flex;justify-content:flex-end;margin-top:12px}
.inventory-movement-card-actions button{min-width:94px}
.inventory-movement-detail-warning{
  margin-top:14px;
  border-left:4px solid #f59e0b;
  border-radius:8px;
  background:#fff7ed;
  padding:10px 12px;
  color:#9a3412;
  font-size:12px;
  font-weight:800;
  line-height:1.55;
}
.inventory-movement-detail-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:16px 0;
}
.inventory-movement-detail-list>div{
  display:grid;
  gap:4px;
  min-width:0;
  border:1px solid var(--line);
  border-radius:9px;
  background:#f8fafc;
  padding:10px 11px;
}
.inventory-movement-detail-list dt{color:#64748b;font-size:11px;font-weight:850}
.inventory-movement-detail-list dd{margin:0;color:#0f172a;font-weight:800;overflow-wrap:anywhere}
.inventory-movement-related{margin-top:15px}
.inventory-movement-related h4{margin:0 0 9px}
.inventory-movement-detail-table{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.inventory-movement-detail-table table{min-width:660px}
@media(max-width:1100px){
  .inventory-movement-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .movement-search-field{grid-column:span 2}
}
@media(max-width:720px){
  .inventory-movement-page.active{gap:12px}
  .inventory-movement-hero{display:grid;padding:20px 17px}
  .inventory-movement-hero-actions{width:100%}
  .inventory-movement-hero-actions button{flex:1}
  .inventory-movement-controls,
  .inventory-movement-table-panel{padding:14px}
  .inventory-ledger-level{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .inventory-movement-filters{grid-template-columns:1fr}
  .movement-search-field{grid-column:auto}
  .inventory-movement-filter-actions button{min-width:0}
  .inventory-movement-list-head{display:grid}
  .inventory-movement-list-head .badge{justify-self:start}
  .inventory-movement-table-wrap{display:none}
  .inventory-movement-cards{display:block}
  .inventory-movement-card{padding:14px 2px}
  .inventory-movement-detail-list{grid-template-columns:1fr}
  .inventory-movement-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-movement-pagination{display:flex;flex-wrap:wrap;gap:7px}
}
@media(max-width:460px){
  .inventory-movement-metrics{grid-template-columns:1fr}
}

/* Phase 42: 舊庫存 Excel 只讀整理預覽 */
#modal.legacy-import-preview-modal{
  width:min(96vw,1500px);
  max-width:1500px;
}
.legacy-import-preview{display:grid;gap:16px}
.legacy-import-preview-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  border:1px solid #99f6e4;
  border-radius:12px;
  background:#f0fdfa;
  padding:13px 15px;
  color:#115e59;
}
.legacy-import-preview-notice strong{flex:0 0 auto;font-size:14px}
.legacy-import-preview-notice span{font-size:12px;font-weight:750;line-height:1.55}
.legacy-import-preview-notice small{margin-left:auto;color:#0f766e;font-weight:800;white-space:nowrap}
.legacy-import-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.legacy-import-metric{
  display:grid;
  gap:4px;
  min-width:0;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  padding:12px 13px;
}
.legacy-import-metric span{color:#64748b;font-size:11px;font-weight:850}
.legacy-import-metric strong{color:#0f172a;font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.legacy-import-metric small{color:#64748b;font-size:10px;font-weight:750}
.legacy-import-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
}
.legacy-import-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.legacy-import-tabs button{
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#fff;
  padding:8px 12px;
  color:#475569;
  font-weight:850;
  cursor:pointer;
}
.legacy-import-tabs button.active{border-color:#0f9488;background:#0f9488;color:#fff}
.legacy-import-search{display:grid;gap:5px;min-width:min(100%,310px);color:#475569;font-size:11px;font-weight:850}
.legacy-import-search input{width:100%}
.legacy-import-table-wrap{
  max-height:min(55vh,620px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid var(--line);
  border-radius:11px;
}
.legacy-import-table{min-width:1220px;margin:0}
.legacy-import-table thead{position:sticky;top:0;z-index:2;background:#f8fafc}
.legacy-import-table td{vertical-align:top}
.legacy-import-table td>strong,
.legacy-import-table td>small{display:block}
.legacy-import-table td>small{margin-top:3px;color:#64748b;font-size:10px;line-height:1.4}
.legacy-import-table .money{white-space:nowrap}
.legacy-import-issues{display:grid;gap:3px;margin:7px 0 0;padding:0;list-style:none}
.legacy-import-issues li{font-size:10px;font-weight:800;line-height:1.4}
.legacy-import-issues .is-warning{color:#9a3412}
.legacy-import-issues .is-error{color:#b91c1c}
.legacy-import-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.legacy-import-pagination>div{display:flex;align-items:center;gap:8px}
.legacy-import-pagination strong{min-width:72px;text-align:center;color:#0f172a}
.legacy-import-footnote{
  margin:0;
  border-left:4px solid #f59e0b;
  border-radius:8px;
  background:#fff7ed;
  padding:10px 12px;
  color:#9a3412;
  font-size:11px;
  font-weight:800;
  line-height:1.55;
}
@media(max-width:960px){
  .legacy-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legacy-import-toolbar{display:grid}
  .legacy-import-search{min-width:0}
}
@media(max-width:560px){
  #modal.legacy-import-preview-modal{width:100vw;max-width:100vw}
  .legacy-import-preview-notice{display:grid}
  .legacy-import-summary{grid-template-columns:1fr}
  .legacy-import-pagination{display:grid}
  .legacy-import-pagination>div{flex-wrap:wrap}
}

/* Phase 43: legacy inventory correction drawer, batch application and dry-run */
.legacy-import-batchbar{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
  padding:10px 12px;
}
.legacy-import-batchbar>label{display:flex;align-items:center;gap:7px;color:#334155;font-size:12px;font-weight:850}
.legacy-import-batchbar>strong{color:#0f766e;font-size:12px}
.legacy-import-batchbar>div{display:flex;gap:8px;margin-left:auto}
.legacy-import-table{min-width:1380px}
.legacy-import-table th:first-child,
.legacy-import-table td:first-child{width:64px;text-align:center}
.legacy-import-table tr.is-edited{background:#f0fdfa}
.legacy-row-checkbox{width:18px;height:18px;accent-color:#0f9488;cursor:pointer}
.legacy-row-checkbox:disabled{cursor:not-allowed;opacity:.45}
.legacy-import-table tr.is-imported{background:#f1f5f9;color:#64748b}
.legacy-import-table tr.is-imported strong{color:#64748b}
.legacy-import-table tr.is-imported button:disabled{border-color:#cbd5e1;background:#e2e8f0;color:#64748b;cursor:not-allowed}
.legacy-import-receipt{display:block!important;margin-top:6px;color:#475569!important;font-size:10px!important;font-weight:800!important;line-height:1.45}
.legacy-edited-mark{display:inline-flex!important;width:max-content;border-radius:999px;background:#ccfbf1!important;padding:3px 7px;color:#0f766e!important;font-weight:900}
.legacy-import-issues .is-review{color:#9a3412}
.legacy-import-table tr.is-excluded{background:#f8fafc;color:#64748b}
.legacy-import-table tr.is-excluded strong{color:#475569}
.legacy-duplicate-mark{display:block!important;margin-top:5px;color:#9a3412!important;font-weight:900!important}
.legacy-import-history-notice{
  display:flex;
  gap:8px;
  margin:0;
  border:1px solid #fde68a;
  border-radius:12px;
  background:#fffbeb;
  padding:10px 12px;
  color:#92400e;
  font-size:12px;
  line-height:1.55;
}
.legacy-import-history-notice strong{flex:0 0 auto;color:#78350f}
.legacy-import-dry-run{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid #99f6e4;
  border-radius:12px;
  background:#f0fdfa;
  padding:13px 15px;
}
.legacy-import-dry-run>div:first-child{display:grid;gap:3px}
.legacy-import-dry-run>div:first-child strong{color:#115e59;font-size:14px}
.legacy-import-dry-run>div:first-child span{color:#0f766e;font-size:11px;font-weight:800}
.legacy-import-dry-run-result{
  grid-column:1/-1;
  display:grid;
  gap:4px;
  border-top:1px solid #99f6e4;
  padding-top:11px;
}
.legacy-import-dry-run-result strong{color:#0f172a;font-size:14px}
.legacy-import-dry-run-result span{color:#334155;font-size:12px;font-weight:800}
.legacy-import-dry-run-result small{color:#64748b;font-size:11px}
.legacy-import-commit-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding-top:10px;border-top:1px dashed #5eead4}
.legacy-import-commit-actions small{max-width:720px;color:#92400e;font-weight:800;line-height:1.5}
.legacy-import-commit-actions button{flex:0 0 auto;min-height:42px}
.legacy-import-editor-overlay{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  justify-items:end;
}
.legacy-import-editor-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}
.legacy-import-editor-panel{
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:min(620px,94vw);
  height:100%;
  max-height:100dvh;
  background:#fff;
  box-shadow:-18px 0 50px rgba(15,23,42,.24);
  animation:legacy-drawer-in .18s ease-out;
}
@keyframes legacy-drawer-in{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
.legacy-import-editor-panel>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid var(--line);
  padding:20px 22px;
}
.legacy-import-editor-panel>header>div{display:grid;gap:4px;min-width:0}
.legacy-import-editor-panel>header h3{margin:0;color:#0f172a;font-size:20px}
.legacy-import-editor-panel>header p{margin:0;color:#64748b;font-size:12px;font-weight:750;overflow-wrap:anywhere}
.legacy-import-editor-kicker{color:#0f9488;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.legacy-import-editor-content{overflow:auto;overscroll-behavior:contain;padding:20px 22px}
.legacy-import-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.legacy-import-editor-grid .field{min-width:0}
.legacy-import-editor-grid .field.full{grid-column:1/-1}
.legacy-import-editor-grid .field>span:first-child{display:block;margin-bottom:6px;color:#334155;font-size:12px;font-weight:900}
.legacy-disposition-field small{display:block;margin-top:6px;color:#64748b;font-size:11px;line-height:1.5}
.legacy-confirm-field>span{display:flex!important;align-items:flex-start;gap:8px;margin:0!important;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:10px 12px}
.legacy-confirm-field input{width:18px!important;height:18px;flex:0 0 auto;accent-color:#0f9488}
.legacy-duplicate-comparison{
  display:grid;
  gap:12px;
  border:1px solid #fdba74;
  border-radius:14px;
  background:#fff7ed;
  padding:14px;
}
.legacy-duplicate-title strong{display:block;color:#9a3412;font-size:15px}
.legacy-duplicate-title small{display:block;margin-top:4px;color:#7c2d12;line-height:1.5}
.legacy-duplicate-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.legacy-duplicate-table article{display:grid;gap:10px;border:1px solid #fed7aa;border-radius:11px;background:#fff;padding:11px}
.legacy-duplicate-table article.is-current{border:2px solid #f97316;background:#fffaf5}
.legacy-duplicate-table header{display:grid;gap:3px}
.legacy-duplicate-table header strong{color:#9a3412}
.legacy-duplicate-table header span{color:#475569;font-size:11px;font-weight:750;overflow-wrap:anywhere}
.legacy-duplicate-table dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 9px;margin:0;font-size:11px}
.legacy-duplicate-table dt{color:#64748b;font-weight:800}
.legacy-duplicate-table dd{margin:0;color:#0f172a;font-weight:900;overflow-wrap:anywhere}
.legacy-duplicate-actions{display:grid;gap:5px}
.legacy-duplicate-actions small{color:#b45309;line-height:1.4}
.legacy-duplicate-guidance{margin:0;border-left:4px solid #f97316;padding:7px 10px;background:#ffedd5;color:#7c2d12;font-size:12px;font-weight:850;line-height:1.55}
.legacy-duplicate-decisions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.legacy-duplicate-decisions small{flex-basis:100%;color:#0f766e;font-weight:850}
.legacy-import-editor-grid input,
.legacy-import-editor-grid select,
.legacy-import-batch-grid input,
.legacy-import-batch-grid select{width:100%}
.legacy-inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.legacy-master-field{
  --legacy-master-accent:#2563eb;
  --legacy-master-soft:#eff6ff;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--legacy-master-accent) 28%,#e2e8f0);
  border-left:5px solid var(--legacy-master-accent);
  border-radius:12px;
  background:var(--legacy-master-soft);
}
.legacy-master-category{--legacy-master-accent:#2563eb;--legacy-master-soft:#eff6ff}
.legacy-master-grade{--legacy-master-accent:#7c3aed;--legacy-master-soft:#f5f3ff}
.legacy-master-supplier{--legacy-master-accent:#059669;--legacy-master-soft:#ecfdf5}
.legacy-master-field>span:first-child{color:var(--legacy-master-accent)!important}
.legacy-master-field input{background:#fff}
.legacy-master-field input:focus{
  border-color:var(--legacy-master-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--legacy-master-accent) 16%,transparent);
}
.legacy-master-field input.is-matched{border-color:#16a34a;background:#f0fdf4}
.legacy-master-field input.is-pending{border-color:#d97706;background:#fffbeb}
.legacy-master-field .legacy-master-create{
  color:#fff;
  border-color:var(--legacy-master-accent);
  background:var(--legacy-master-accent);
  font-weight:900;
}
.legacy-master-field .legacy-master-create:hover{filter:brightness(.94)}
.legacy-master-status{display:block;margin-top:7px;font-weight:850;line-height:1.45}
.legacy-master-status.matched{color:#15803d}
.legacy-master-status.pending{color:#b45309}
.legacy-master-status.empty{color:#64748b}
[data-legacy-model-match-status],
[data-legacy-shared-match-status]{display:block;margin-top:6px;color:#0f766e;font-weight:750;line-height:1.45}
[data-legacy-model-match-status].error,
[data-legacy-shared-match-status].error{color:#b45309}
.legacy-model-chip-list{display:flex;flex-wrap:wrap;gap:7px;min-height:32px;margin-top:8px}
.legacy-model-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  border:1px solid #99f6e4;
  border-radius:999px;
  background:#f0fdfa;
  padding:4px 5px 4px 9px;
  color:#115e59;
  font-size:11px;
  font-weight:850;
}
.legacy-model-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legacy-model-chip.is-pending{border-color:#fdba74;background:#fff7ed;color:#9a3412;padding-right:9px}
.legacy-model-chip button{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border:0;
  border-radius:50%;
  background:#ccfbf1;
  color:#0f766e;
  cursor:pointer;
}
.legacy-zero-confirm>span:last-child,
.legacy-zero-confirm.legacy-batch-control{display:flex;align-items:center;gap:7px}
.legacy-zero-confirm input{width:18px!important;height:18px;accent-color:#0f9488}
.legacy-import-editor-panel>footer{
  display:grid;
  gap:12px;
  border-top:1px solid var(--line);
  background:#fff;
  padding:14px 22px 18px;
}
.legacy-import-editor-panel>footer>div:last-child{display:flex;justify-content:flex-end;gap:8px}
.legacy-import-editor-errors:empty{display:none}
.legacy-import-editor-errors{
  border:1px solid #fed7aa;
  border-radius:10px;
  background:#fff7ed;
  padding:9px 11px;
  color:#9a3412;
  font-size:11px;
  font-weight:800;
}
.legacy-import-editor-errors ul{display:grid;gap:2px;margin:5px 0 0;padding-left:18px}
.legacy-import-batch-grid{display:grid;gap:10px}
.legacy-batch-field{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:start;
  gap:12px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
  padding:11px;
}
.legacy-batch-field.is-active{border-color:#5eead4;background:#f0fdfa}
.legacy-batch-toggle{display:flex;align-items:center;gap:8px;color:#334155;font-size:12px;font-weight:900;cursor:pointer}
.legacy-batch-toggle input{width:18px!important;height:18px;accent-color:#0f9488}
.legacy-batch-control{min-width:0}
.legacy-batch-control .legacy-zero-confirm{display:flex;align-items:center;gap:7px;min-height:42px;color:#334155;font-size:12px;font-weight:800}
.legacy-batch-control :disabled{cursor:not-allowed;opacity:.55}

@media(max-width:760px){
  #modal.legacy-import-preview-modal{width:100vw;max-width:100vw;margin:0;border-radius:0}
  #modal.legacy-import-preview-modal #modal-form{padding-inline:10px}
  .legacy-import-batchbar{position:sticky;top:0;z-index:4;flex-wrap:wrap}
  .legacy-import-batchbar>div{width:100%;margin-left:0}
  .legacy-import-batchbar>div button{flex:1;min-height:44px}
  .legacy-import-table-wrap{max-height:none;overflow:visible;border:0}
  .legacy-import-table{display:block;min-width:0}
  .legacy-import-table thead{display:none}
  .legacy-import-table tbody{display:grid;gap:10px}
  .legacy-import-table tr{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
  }
  .legacy-import-table tr.is-edited{border-color:#5eead4;background:#f0fdfa}
  .legacy-import-table td{
    display:grid;
    align-content:start;
    gap:2px;
    width:auto!important;
    min-width:0;
    border:0;
    border-bottom:1px solid #eef2f7;
    padding:10px;
    text-align:left!important;
  }
  .legacy-import-table td::before{
    content:attr(data-label);
    color:#64748b;
    font-size:9px;
    font-weight:900;
    letter-spacing:.05em;
  }
  .legacy-import-table td:nth-child(3),
  .legacy-import-table td:nth-child(5),
  .legacy-import-table td:nth-child(9){grid-column:1/-1}
  .legacy-import-table td:last-child{border-bottom:0}
  .legacy-import-table td .mini{min-height:40px}
  .legacy-import-pagination>div{width:100%}
  .legacy-import-pagination>div button{flex:1;min-height:42px}
  .legacy-import-dry-run{grid-template-columns:1fr}
  .legacy-import-dry-run>button{min-height:46px}
  .legacy-import-dry-run-result{grid-column:auto}
  .legacy-import-commit-actions{display:grid}
  .legacy-import-commit-actions button{width:100%;min-height:48px}
  .legacy-import-editor-overlay{z-index:120}
  .legacy-import-editor-panel{width:100vw;height:100dvh;max-height:100dvh;box-shadow:none}
  .legacy-import-editor-panel>header{padding:15px 16px}
  .legacy-import-editor-content{padding:15px 16px}
  .legacy-import-editor-grid{grid-template-columns:1fr}
  .legacy-import-editor-grid .field.full{grid-column:auto}
  .legacy-import-editor-panel>footer{position:sticky;bottom:0;padding:11px 16px max(11px,env(safe-area-inset-bottom))}
  .legacy-import-editor-panel>footer>div:last-child button{flex:1;min-height:46px}
  .legacy-batch-field{grid-template-columns:1fr}
  .legacy-batch-toggle{min-height:36px}
}
