﻿:root{
  --bg:#eef3f8;
  --surface:#fff;
  --surface-soft:#f8fafc;
  --line:#d7e1ec;
  --line-strong:#c4d2e2;
  --text:#142033;
  --muted:#64748b;
  --blue:#244f8f;
  --blue2:#183a70;
  --blue3:#0f284d;
  --green:#0f8a6a;
  --green2:#087456;
  --red:#c94848;
  --amber:#b7791f;
  --shadow:0 10px 26px rgba(30,48,78,.08);
  --shadow-strong:0 18px 46px rgba(22,34,52,.18);
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:14px}
button,input,select,textarea{font:inherit;font-size:13px}
button{cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease}
button:active{transform:translateY(1px)}
.hidden{display:none!important}

.login-view{display:grid;place-items:center;min-height:100vh;padding:24px;background:#edf5ff}
.login-card{display:grid;gap:14px;width:min(410px,100%);padding:30px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-strong)}
.brand-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:8px;background:var(--green);color:#fff;font-weight:900;letter-spacing:.5px}
.login-card h1{margin:0;font-size:25px;line-height:1.2}
.login-card p{margin:0 0 4px;color:var(--muted)}

label{display:grid;gap:5px;color:#31445c;font-size:13px;font-weight:800}
input,select,textarea{width:100%;min-height:30px;border:1px solid var(--line);border-radius:5px;padding:4px 9px;background:#fff;color:var(--text);outline:0;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input:focus,select:focus,textarea:focus{border-color:#6aa7e8;box-shadow:0 0 0 3px rgba(23,139,242,.12)}
input[readonly]{background:#f4f7fb;color:#526276}

.primary-btn,.secondary-btn{min-height:30px;border:1px solid transparent;border-radius:5px;padding:0 12px;font-size:13px;font-weight:900;white-space:nowrap}
.primary-btn{background:var(--green);color:#fff;box-shadow:0 6px 14px rgba(15,138,106,.18)}
.primary-btn:hover{background:var(--green2)}
.secondary-btn{background:#eef3f8;color:#25364b;border-color:#dbe5ef}
.secondary-btn:hover{background:#e5edf6;border-color:#cbd9e8}
.small{min-height:26px;padding:0 9px;font-size:12px}

.app{display:grid;grid-template-columns:178px 1fr;min-height:100vh}
.sidebar{position:relative;display:flex;flex-direction:column;background:var(--blue2);color:#fff;box-shadow:6px 0 22px rgba(21,43,76,.14);z-index:10}
.side-brand{display:grid;gap:6px;padding:18px 15px 15px;border-bottom:1px solid rgba(255,255,255,.14)}
.side-brand span{display:grid;place-items:center;width:52px;height:52px;border-radius:8px;background:var(--green);font-weight:900;box-shadow:0 8px 18px rgba(4,21,40,.18)}
.side-brand strong{font-size:17px;line-height:1.2}
.side-brand small{color:#cdd9ec;font-size:12px}
.nav,.logout-btn{position:relative;height:40px;margin:4px 10px;border:0;border-radius:6px;background:transparent;color:#e8f0fb;text-align:left;padding:0 13px;font-weight:900}
.nav:hover{background:rgba(255,255,255,.1)}
.nav.active{background:#1d8cf0;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.nav.active::before{content:"";position:absolute;left:-10px;top:9px;width:4px;height:22px;border-radius:0 4px 4px 0;background:#76d4ff}
.logout-btn{margin-top:auto;margin-bottom:14px;color:#ffdede}
.logout-btn:hover{background:rgba(255,255,255,.08)}

.main{min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(22,42,70,.04)}
.eyebrow{margin:0 0 4px;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.02em}
h1,h2,p{margin-top:0}
h1{margin-bottom:0;font-size:27px;line-height:1.18;letter-spacing:0}
h2{font-size:18px;margin-bottom:14px;line-height:1.25}

.menu-flyout{position:fixed;left:178px;z-index:35;min-width:236px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-strong);color:var(--text)}
.menu-flyout-title{padding:8px 10px;margin-bottom:6px;border-bottom:1px solid var(--line);color:#176cb6;font-weight:900}
.menu-flyout button{display:flex;align-items:center;width:100%;min-height:32px;border:0;border-radius:6px;background:#fff;color:#25384f;text-align:left;padding:0 10px;font-weight:800}
.menu-flyout button:hover{background:#eef6ff;color:#0876d8}

.workspace-tabs{display:flex;align-items:flex-end;gap:5px;min-height:40px;padding:0 24px;background:#f8fbff;border-bottom:1px solid var(--line);overflow-x:auto}
.work-tab{display:flex;align-items:center;gap:6px;min-height:31px;border:1px solid var(--line);border-bottom-color:#c7d4e3;border-radius:6px 6px 0 0;background:#eef4fa;color:#334964;padding:0 9px;font-weight:900;white-space:nowrap}
.work-tab.active{background:#fff;color:#0876d8;border-color:#b8d7f5;border-bottom-color:#fff;box-shadow:0 -4px 12px rgba(23,139,242,.08)}
.work-tab-close{border:0;background:transparent;color:#778697;font-size:16px;line-height:1;padding:0 2px}
.work-tab-close:hover{color:var(--red)}

.view{display:none;padding:18px 24px 20px}
.view.active{display:block}
.sub-tabs{display:none;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.sub-tab{min-height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#2b3d52;padding:0 12px;font-weight:900;box-shadow:0 4px 12px rgba(22,42,70,.04)}
.sub-tab:hover{border-color:#aac7e6;background:#f7fbff}
.sub-tab.active{background:#1d8cf0;border-color:#1d8cf0;color:#fff;box-shadow:0 8px 18px rgba(29,140,240,.2)}
.sub-page{display:none}
.sub-page.active{display:block}

.metric,.panel,.hero-card,.item{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.panel{padding:18px}
.dashboard-filter{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(520px,1.28fr);
  gap:14px;
  align-items:end;
  margin-bottom:14px;
  padding:16px 18px;
  border-color:#cfe0ef;
  background:
    linear-gradient(135deg,rgba(15,138,106,.08),rgba(29,140,240,.06)),
    #fff;
}
.dashboard-filter-title{
  display:grid;
  gap:6px;
}
.dashboard-filter-title span{
  color:#0d8f70;
  font-size:12px;
  font-weight:900;
}
.dashboard-filter-title strong{
  color:#071d35;
  font-size:22px;
  line-height:1.2;
}
.dashboard-filter-fields{
  display:grid;
  grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) auto;
  gap:10px;
  align-items:end;
}
.dashboard-filter-fields label{
  margin:0;
  padding:9px 10px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:rgba(255,255,255,.86);
}
.dashboard-filter-fields input{
  min-height:34px;
  margin-top:4px;
  border-color:#c9d9e8;
  background:#fbfdff;
  font-size:15px;
  font-weight:900;
}
.dashboard-filter-fields .primary-btn{
  min-height:88px;
  min-width:78px;
  border-radius:8px;
  box-shadow:0 14px 26px rgba(15,138,106,.2);
}
.dashboard-hero{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:14px;margin-bottom:14px}
.hero-card{display:grid;gap:8px;min-height:118px;padding:17px;border-color:#d6e4f3}
.hero-card.main{background:var(--blue3);color:#fff;border-color:var(--blue3)}
.hero-card span{color:var(--muted);font-weight:900}
.hero-card.main span,.hero-card.main small{color:#d9e8f8}
.hero-card strong{font-size:31px;line-height:1.1}
.hero-card small{color:var(--muted);font-weight:800}
.hero-card b{color:inherit}
.dashboard-clickable{
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease;
}
.dashboard-clickable:hover{
  border-color:#42b7d8;
  box-shadow:0 16px 34px rgba(23,139,242,.16);
  transform:translateY(-1px);
}
.dashboard-detail-summary{
  margin-bottom:12px;
}
.dashboard-detail-list{
  gap:8px;
}
.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:14px;margin-bottom:16px}
.metric{padding:15px}
.metric span{display:block;margin-bottom:8px;color:var(--muted);font-weight:800}
.metric strong{font-size:24px;line-height:1.1}
.metric-grid.compact{grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}
.metric-grid.compact .metric{padding:13px}
.metric-grid.compact .metric span{margin-bottom:6px}
.metric-grid.compact .metric strong{font-size:22px}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}

.grid{display:grid;gap:16px}
.grid.two{grid-template-columns:1fr 1fr}
.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:8px;margin-bottom:10px}
.inner-panel{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.panel-head input{max-width:340px}
.search-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.search-actions input{min-width:270px}
.form-panel{display:grid;gap:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sale-head-row{grid-template-columns:1fr 1fr 1fr}
.subhead{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.subhead-actions{display:flex;align-items:center;gap:8px}

.line-box{display:grid;gap:8px}
.line-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 72px;gap:7px;align-items:end;padding:9px;background:#f9fbfd;border:1px solid var(--line);border-radius:7px}
.line-row.purchase-device{grid-template-columns:34px 1fr 1fr 1fr 1fr 1fr 1fr 72px}
.line-row.accessory{grid-template-columns:1fr 1fr 1fr 1fr 1fr 78px}
.line-row.purchase-accessory{grid-template-columns:34px 1fr 1fr 1fr 1fr 1fr 78px}
.line-row.sale-line{grid-template-columns:74px minmax(220px,1.35fr) minmax(160px,1fr) 66px 74px 72px 72px 72px 70px 70px 70px 64px;gap:6px}
.line-row.sale-line label{min-width:0}
.line-row.sale-line input,.line-row.sale-line select{min-width:0;min-height:28px;padding:3px 7px}
.line-row.sale-line .line-commission,.line-row.sale-line .line-shipping,.line-row.sale-line .line-accessory-fee{min-height:28px;padding:6px 7px;white-space:nowrap}
.line-row.sale-line .remove-line{min-height:28px}
.line-commission,.line-shipping,.line-accessory-fee{align-self:end;min-height:28px;padding:6px 8px;border-radius:5px;background:#eaf7f2;color:#0f7d64;font-size:12px;font-weight:900}
.line-shipping{background:#fff6e5;color:#9a5a00}
.line-accessory-fee{background:#f1edff;color:#6542a8}
.row-no{display:grid;place-items:center;align-self:stretch;min-height:30px;border-radius:5px;background:#e7eef6;color:#405064;font-weight:900}
.remove-line{min-height:30px;border:0;border-radius:5px;background:#fff0f0;color:var(--red);font-weight:900}
.remove-line:hover{background:#ffe2e2}

.list{display:grid;gap:10px}
.compact-list{gap:7px}
.compact-list .item{grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr) minmax(220px,1fr) auto;align-items:center}
.compact-list .item span{font-size:12px}
.item{display:grid;gap:4px;padding:12px;background:#fbfdff}
.item:hover{border-color:#bfd4eb;box-shadow:0 12px 28px rgba(30,48,78,.1)}
.item strong{font-size:15px;line-height:1.3}
.item span{color:var(--muted);font-size:13px;line-height:1.45}
.item .actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.text-btn{border:0;background:transparent;color:#176cb6;font-weight:900;padding:0}
.text-btn:hover{color:#075ca5;text-decoration:underline}
.text-btn.danger{color:var(--red)}

.stat-list .item{grid-template-columns:1.1fr 1fr 1fr;align-items:center;padding:10px}
.stat-list .item strong{font-size:14px}
.stat-list .item span{font-size:12px}
.stat-list .item.has-data strong,
.stat-list .item.has-data span{color:var(--red)}
.report-summary{margin-bottom:14px}
.inventory-summary .item{grid-template-columns:minmax(240px,1.4fr) minmax(180px,1fr) minmax(420px,2fr) auto;align-items:center}
.inventory-summary .item strong{font-size:15px}
.inventory-summary .item span{font-size:14px;font-weight:800}

.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-weight:900}
.pager .actions{display:flex;gap:8px}
.pager button:disabled{cursor:not-allowed;opacity:.45}

.approval-view.active{
  display:block;
}
.approval-view > .module-companion{
  display:none!important;
}
.approval-panel{
  display:grid;
  gap:12px;
  max-width:none;
  min-height:calc(100vh - 168px);
  padding:16px;
  border-top-color:#b7dce8;
}
.approval-hero{
  display:grid;
  grid-template-columns:minmax(210px,.65fr) minmax(260px,1fr) minmax(280px,360px);
  gap:14px;
  align-items:center;
  min-height:78px;
  padding:12px 18px;
  border-radius:8px;
  color:#123047;
  border:1px solid #cde4ef;
  background:linear-gradient(135deg,#f7fbff 0,#e8f5f8 58%,#e7f8f1 100%);
  box-shadow:0 10px 24px rgba(31,51,78,.08);
}
.approval-hero span{
  display:block;
  margin-bottom:5px;
  color:#0f8a6a;
  font-size:12px;
  font-weight:900;
}
.approval-hero h2{
  margin:0;
  color:#10233d;
  font-size:21px;
}
.approval-hero p{
  margin:0;
  max-width:620px;
  color:#3f5872;
  font-weight:800;
  line-height:1.55;
}
.approval-hero-actions label{
  color:#24425c;
}
.approval-hero-actions input{
  min-height:34px;
  border-color:#bad6e6;
  background:#fff;
  font-weight:800;
}
.approval-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:2px 2px 0;
}
.approval-toolbar strong{
  font-size:16px;
}
.approval-toolbar span{
  color:#64748b;
  font-size:12px;
  font-weight:900;
}
.approval-history-head{
  margin-top:6px;
  padding-top:12px;
  border-top:1px solid #dbe7f2;
}
.approval-list{
  gap:10px;
}
.approval-card{
  display:grid;
  grid-template-columns:minmax(230px,.95fr) minmax(420px,1.65fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border-color:#d9e8f2;
  border-left:4px solid #4f9cc9;
  background:linear-gradient(180deg,#fff,#fbfdff);
}
.approval-card-main{
  display:grid;
  gap:6px;
}
.approval-card-main .badge{
  width:max-content;
  background:#e8f3ff;
  color:#176191;
}
.approval-card-main strong{
  color:#10233d;
  font-size:17px;
}
.approval-card-main em,
.approval-card-metrics em{
  color:#64748b;
  font-style:normal;
  font-weight:900;
}
.approval-card-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(100px,1fr));
  gap:8px;
}
.approval-card-metrics span{
  display:grid;
  gap:5px;
  min-height:54px;
  padding:9px 10px;
  border:1px solid #dce9f3;
  border-radius:8px;
  background:#f7fbff;
}
.approval-card-metrics strong{
  font-size:15px;
  line-height:1.2;
}
.approval-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:238px;
}
.approval-card-actions .approve-purchase,
.approval-card-actions .reject-purchase{
  width:74px;
  min-height:30px;
  padding:0 12px;
  font-size:13px;
  font-weight:900;
}
.approval-card-actions .reject-purchase{
  background:#fff1f1;
  color:#c92335;
  border-color:#f1b8bf;
  box-shadow:0 6px 14px rgba(201,35,53,.12);
}
.approval-card-actions .reject-purchase:hover{
  background:#c92335;
  color:#fff;
  border-color:#c92335;
}
.approval-card-actions .text-btn{
  min-height:28px;
  padding:0 10px;
  border:1px solid #d7e4f1;
  border-radius:5px;
  background:#fff;
}
.approval-card-actions .text-btn:hover{
  background:#eef7ff;
  text-decoration:none;
}
.approval-lines{
  grid-column:1 / -1;
  display:grid;
  gap:8px;
  padding-top:2px;
}
.approval-line{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  align-items:start;
  padding:9px 10px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbfe;
}
.approval-line b{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:6px;
  background:#e2f0f7;
  color:#176191;
}
.approval-line div{
  display:grid;
  gap:5px;
}
.approval-line strong{
  font-size:14px;
}
.approval-line span{
  color:#53657a;
  font-weight:800;
  line-height:1.55;
}
.approval-empty{
  display:grid;
  place-items:center;
  gap:8px;
  min-height:360px;
  padding:30px;
  border:1px dashed #b9ccde;
  border-radius:8px;
  background:linear-gradient(180deg,#fbfdff,#f4f9fd);
  text-align:center;
}
.approval-empty strong{
  color:#0f1e33;
  font-size:20px;
}
.approval-empty span{
  max-width:520px;
  color:#64748b;
  font-weight:800;
  line-height:1.7;
}
.approval-history-list{
  display:grid;
  gap:12px;
}
.approval-history-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dbe7f2;
  border-left:3px solid #0f8a6a;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(31,51,78,.07);
}
.approval-history-summary{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(520px,2fr) auto;
  gap:12px;
  align-items:center;
}
.approval-history-summary > div:first-child{
  display:grid;
  gap:6px;
}
.approval-history-summary strong{
  font-size:16px;
}
.approval-history-summary em,
.approval-history-facts em{
  color:#64748b;
  font-style:normal;
  font-weight:900;
}
.approval-history-facts{
  display:grid;
  grid-template-columns:repeat(5,minmax(90px,1fr));
  gap:8px;
}
.approval-history-facts span{
  display:grid;
  gap:5px;
  min-height:54px;
  padding:9px;
  border:1px solid #e0e9f3;
  border-radius:8px;
  background:#f8fbff;
}
.approval-history-facts strong{
  font-size:13px;
  line-height:1.25;
}
.approval-history-actions{
  display:flex;
  justify-content:flex-end;
}
.approval-history-empty{
  min-height:180px;
}
.approval-pager{
  margin-top:2px;
  padding:10px 2px 0;
}
@media (max-width:1320px){
  .approval-card{
    grid-template-columns:1fr;
  }
  .approval-card-actions{
    justify-content:flex-start;
  }
  .approval-history-summary{
    grid-template-columns:1fr;
  }
  .approval-history-actions{
    justify-content:flex-start;
  }
}
@media (max-width:920px){
  .approval-hero{
    grid-template-columns:1fr;
  }
  .approval-card-metrics,
  .approval-history-facts{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:980px){
  .data-rebuild-options{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:560px){
  .approval-panel{
    padding:12px;
  }
  .approval-hero{
    padding:16px;
  }
  .approval-card-metrics,
  .approval-history-facts{
    grid-template-columns:1fr;
  }
  .approval-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .data-rebuild-options{
    grid-template-columns:1fr;
  }
}

.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:10px;border:1px solid #dce8f3;border-radius:8px;background:#fbfdff}
.settings-tab{min-height:34px;border:1px solid #d4e3f1;border-radius:999px;background:#fff;color:#2b3d52;padding:0 14px;font-weight:900;box-shadow:0 3px 10px rgba(22,42,70,.035)}
.settings-tab:hover{border-color:#8ebce8;background:#f4faff;color:#0d5e9f}
.settings-tab.active{background:#0d8f70;border-color:#0d8f70;color:#fff;box-shadow:0 8px 18px rgba(13,143,112,.2)}
.settings-pane{display:none}
.settings-pane.active{display:block}
.data-rebuild-panel{
  gap:14px;
  border-color:#e5c7c7;
  background:#fffdfd;
}
.data-rebuild-head span{
  display:block;
  margin-bottom:4px;
  color:var(--red);
  font-size:12px;
  font-weight:900;
}
.data-rebuild-head h2{
  margin:0;
}
.data-rebuild-warning{
  display:grid;
  gap:6px;
  padding:12px 14px;
  border:1px solid #f0caca;
  border-radius:8px;
  background:#fff5f5;
  color:#633434;
}
.data-rebuild-warning strong{
  color:var(--red);
  font-size:16px;
}
.data-rebuild-warning span{
  font-weight:800;
  line-height:1.7;
}
.data-rebuild-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.data-rebuild-card{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:start;
  min-height:128px;
  padding:13px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
}
.data-rebuild-card span{
  display:grid;
  gap:7px;
  min-width:0;
}
.data-rebuild-card strong{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#10233d;
  font-size:15px;
}
.data-rebuild-card b{
  color:var(--red);
  font-size:18px;
}
.data-rebuild-card em,
.data-rebuild-card small{
  color:#64748b;
  font-style:normal;
  font-weight:800;
  line-height:1.55;
}
.data-rebuild-card small{
  font-size:12px;
}
.data-rebuild-card.danger-card{
  border-color:#efc8c8;
  background:#fffafa;
}
.data-rebuild-confirm{
  max-width:360px;
}
.data-rebuild-actions{
  justify-content:flex-start;
}
.danger-btn{
  background:var(--red);
  box-shadow:0 6px 14px rgba(201,72,72,.18);
}
.danger-btn:hover{
  background:#b93636;
}
.data-rebuild-empty{
  padding:16px;
  border:1px dashed #d8a9a9;
  border-radius:8px;
  background:#fff7f7;
  color:#8a3d3d;
  font-weight:900;
}
.data-rebuild-result{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.data-rebuild-result span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid #dce8f3;
  border-radius:999px;
  background:#f8fbff;
  color:#2b3d52;
  font-weight:900;
}
.check-line{display:flex;align-items:center;gap:8px;font-weight:900}
.check-line input{appearance:auto!important;width:16px!important;height:16px!important;min-height:16px!important;margin:0;padding:0;flex:0 0 16px}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:920px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{background:#edf3f9;color:#344962;font-weight:900}
tbody tr:hover{background:#f8fbff}
.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:900;background:#edf2f7;color:#536173}
.badge.stock{background:#def5ec;color:#0c6f57}
.badge.warn{background:#fff2d4;color:#a46312}

.below{margin-top:16px}
.muted{color:var(--muted);line-height:1.7}
.error-line{min-height:20px;color:var(--red)}
.toast{
  position:fixed;
  top:88px;
  left:50%;
  transform:translateX(-50%);
  z-index:80;
  display:grid;
  gap:10px;
  width:min(420px,calc(100vw - 32px));
  pointer-events:none;
}
.toast-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 28px;
  gap:12px;
  align-items:center;
  min-height:82px;
  padding:14px;
  border:1px solid rgba(15,119,102,.22);
  border-radius:8px;
  background:#fff;
  color:#132840;
  box-shadow:0 18px 44px rgba(9,27,50,.2);
  pointer-events:auto;
  animation:toastIn .18s ease-out;
}
.toast-card.success{border-left:5px solid #0f9b78}
.toast-card.warn{border-left:5px solid #d58a16}
.toast-card.error{border-left:5px solid #d63b4c}
.toast-card.leaving{opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}
.toast-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:8px;
  background:#e6f7f1;
  color:#087456;
  font-size:13px;
  font-weight:900;
}
.toast-card.warn .toast-icon{background:#fff3d7;color:#a45c00}
.toast-card.error .toast-icon{background:#ffe3e7;color:#b82032}
.toast-copy{
  min-width:0;
}
.toast-copy strong{
  display:block;
  margin-bottom:4px;
  font-size:15px;
  line-height:1.2;
  color:#071d35;
}
.toast-copy p{
  margin:0;
  color:#3a5069;
  font-size:14px;
  line-height:1.45;
  font-weight:800;
}
.toast-close{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  min-height:28px;
  border:0;
  border-radius:6px;
  background:#eef3f8;
  color:#51657d;
  padding:0;
  font-size:18px;
  line-height:1;
  font-weight:900;
}
.toast-close:hover{
  background:#dfe8f1;
  color:#142033;
}
@keyframes toastIn{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(8,19,35,.58);backdrop-filter:blur(5px)}
.modal-box{width:min(1280px,100%);max-height:88vh;overflow:auto;padding:20px;background:#fff;border:1px solid #cfe0ef;border-radius:8px;box-shadow:0 28px 80px rgba(6,20,38,.32)}
.detail-body{display:grid;gap:14px}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}
.detail-kv{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fbfdff}
.detail-kv span{font-size:12px;color:var(--muted)}
.detail-kv strong{font-size:14px;word-break:break-all}
.detail-table table{min-width:760px}
.dashboard-detail-shell{
  display:grid;
  gap:14px;
}
.dashboard-detail-hero{
  display:grid;
  gap:7px;
  padding:18px 20px;
  border:1px solid #bcd8e8;
  border-radius:8px;
  background:linear-gradient(135deg,#0d3154 0%,#0d7f72 64%,#13a077 100%);
  color:#fff;
}
.dashboard-detail-hero span{
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:900;
}
.dashboard-detail-hero strong{
  font-size:24px;
  line-height:1.2;
}
.dashboard-detail-hero p{
  margin:0;
  max-width:920px;
  color:rgba(255,255,255,.86);
  font-weight:800;
  line-height:1.55;
}
.dashboard-detail-audit{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px 14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #d6e5f1;
  border-radius:8px;
  background:#f8fbff;
}
.dashboard-detail-audit span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
}
.dashboard-detail-audit strong{
  color:#08735b;
  font-size:18px;
}
.dashboard-detail-audit.warn strong{color:#c07700}
.dashboard-detail-audit small{
  color:#31516f;
  font-weight:900;
  text-align:right;
}
.dashboard-detail-metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.dashboard-detail-metrics article{
  display:grid;
  place-items:center;
  gap:5px;
  min-height:72px;
  padding:12px 13px;
  border:1px solid #d6e5f1;
  border-radius:8px;
  background:#fbfdff;
}
.dashboard-detail-metrics span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
  text-align:center;
}
.dashboard-detail-metrics strong{
  color:#071d35;
  font-size:22px;
  line-height:1.15;
  text-align:center;
}
.dashboard-detail-metrics .profit strong{color:#08735b}
.dashboard-detail-metrics .loss strong{color:#d13a44}
.dashboard-detail-list{
  display:grid;
  gap:10px;
}
.dashboard-detail-card{
  display:grid;
  grid-template-columns:minmax(300px,1.2fr) minmax(360px,1.4fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #d6e5f1;
  border-left:4px solid #0d8f70;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 26px rgba(18,40,70,.06);
}
.dashboard-detail-card-main{
  display:grid;
  gap:7px;
  min-width:0;
}
.dashboard-detail-card-title{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.dashboard-detail-card-title i{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  background:#e5f7f1;
  color:#08735b;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}
.dashboard-detail-card-title strong{
  min-width:0;
  color:#071d35;
  font-size:18px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.dashboard-detail-card-main p{
  margin:0;
  color:#526b87;
  font-weight:800;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.dashboard-detail-card-metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
  gap:8px;
}
.dashboard-detail-card-metrics span{
  display:grid;
  gap:3px;
  min-height:54px;
  padding:8px 9px;
  border:1px solid #e0eaf4;
  border-radius:7px;
  background:#f8fbff;
}
.dashboard-detail-card-metrics em{
  color:#667d95;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.dashboard-detail-card-metrics strong{
  color:#071d35;
  font-size:15px;
  line-height:1.22;
  overflow-wrap:anywhere;
}
.dashboard-detail-card-metrics .profit strong{color:#08735b}
.dashboard-detail-card-metrics .loss strong{color:#d13a44}
.dashboard-detail-card-actions{
  display:grid;
  justify-items:end;
}
.dashboard-detail-card-actions .text-btn{
  min-width:64px;
  min-height:34px;
  justify-content:center;
}
.dashboard-detail-empty{
  display:grid;
  place-items:center;
  min-height:160px;
  border:1px dashed #bfd3e6;
  border-radius:8px;
  background:#fbfdff;
  color:#55708d;
  font-weight:900;
}
.sale-detail-summary{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(520px,1.4fr);
  gap:12px;
}
.sale-detail-hero{
  display:grid;
  gap:7px;
  min-height:124px;
  padding:18px;
  border-radius:8px;
  background:linear-gradient(135deg,#0f4f68,#119777);
  color:#fff;
}
.sale-detail-hero span,
.sale-detail-hero small{font-weight:800;opacity:.9}
.sale-detail-hero strong{font-size:24px;line-height:1.25;word-break:break-word}
.sale-detail-totals{
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  gap:10px;
}
.sale-detail-totals div,
.sale-detail-order div,
.sale-detail-money div,
.sale-detail-profit-formula{
  display:grid;
  place-items:center;
  gap:5px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#f8fbff;
}
.sale-detail-totals span,
.sale-detail-order span,
.sale-detail-money span,
.sale-detail-profit-formula span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.sale-detail-totals strong,
.sale-detail-order strong,
.sale-detail-money strong,
.sale-detail-profit-formula strong{
  color:#071d3a;
  font-size:16px;
  word-break:break-word;
  text-align:center;
}
.sale-detail-totals .is-profit strong,
.sale-detail-money .is-profit strong{color:#078261}
.sale-detail-totals .is-loss strong,
.sale-detail-money .is-loss strong{color:#d12f3f}
.sale-detail-order{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:10px;
}
.section-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.section-title-row h2{margin:0}
.section-title-row span{
  color:var(--muted);
  font-size:13px;
  font-weight:900;
}
.sale-detail-lines{display:grid;gap:10px}
.sale-detail-line{
  display:grid;
  grid-template-columns:minmax(360px,1.35fr) minmax(240px,.9fr) minmax(220px,.7fr);
  gap:12px;
  align-items:stretch;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.sale-detail-line-main{display:grid;gap:10px}
.sale-detail-line-title{
  display:flex;
  align-items:center;
  gap:10px;
}
.sale-detail-index{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:7px;
  background:#e8f7f2;
  color:#08755d;
  font-weight:900;
}
.sale-detail-line-title strong{
  display:block;
  color:#071d3a;
  font-size:18px;
  line-height:1.3;
  word-break:break-word;
}
.sale-detail-line-title small{
  color:var(--muted);
  font-weight:800;
}
.sale-detail-chips,
.sale-detail-fees div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.sale-detail-chips span,
.sale-detail-fees span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:6px 8px;
  border-radius:6px;
  background:#f2f6fb;
  color:#405775;
  font-size:12px;
  font-weight:900;
  line-height:1.3;
}
.sale-detail-chips em,
.sale-detail-fees em{
  color:#6b7d93;
  font-style:normal;
  font-weight:800;
}
.sale-detail-fees{
  display:grid;
  align-content:start;
  gap:8px;
  padding:10px;
  border-radius:7px;
  background:#fbfdff;
}
.sale-detail-fees h3{
  margin:0;
  color:#344962;
  font-size:13px;
}
.sale-detail-money{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.sale-detail-profit-formula{
  grid-column:1 / -1;
  background:#f4fbf7;
  border-color:#bfe3d6;
}
.sale-detail-profit-formula strong{
  color:#08755d;
  font-size:15px;
}
.sale-detail-total-formula{
  grid-column:1 / -1;
  background:#f4fbf7!important;
  border-color:#bfe3d6!important;
}
.sale-detail-total-formula strong{
  color:#08755d;
  font-size:16px;
}
.purchase-detail-hero{
  background:linear-gradient(135deg,#123d67,#178f77);
}
.purchase-detail-lines{
  display:grid;
  gap:10px;
}
.purchase-detail-line{
  display:grid;
  grid-template-columns:minmax(420px,1fr) minmax(260px,340px);
  gap:12px;
  align-items:stretch;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.purchase-detail-line-main{
  display:grid;
  gap:10px;
}
.purchase-detail-money{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.purchase-detail-money div{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#f8fbff;
}
.purchase-detail-money span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.purchase-detail-money strong{
  color:#071d3a;
  font-size:16px;
  word-break:break-word;
}

.repair-modal-detail{
  display:grid;
  gap:14px;
}

.repair-modal-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:132px;
  padding:18px 20px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:linear-gradient(135deg,#16385f 0%,#16796f 58%,#27a27d 100%);
  color:#fff;
  box-shadow:0 18px 42px rgba(10,61,82,.18);
}

.repair-modal-hero.working{
  background:linear-gradient(135deg,#193d61 0%,#49704d 50%,#a56a12 100%);
}

.repair-modal-hero.done{
  background:linear-gradient(135deg,#143d63 0%,#0f806f 58%,#17a36f 100%);
}

.repair-modal-title{
  display:grid;
  gap:7px;
  min-width:0;
}

.repair-modal-title span{
  color:rgba(255,255,255,.8);
  font-size:12px;
  font-weight:900;
}

.repair-modal-title strong{
  color:#fff;
  font-size:28px;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.repair-modal-title p{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:13px;
  font-weight:900;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.repair-modal-status{
  display:grid;
  justify-items:end;
  gap:7px;
  min-width:150px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  background:rgba(255,255,255,.13);
}

.repair-modal-status b{
  color:#fff;
  font-size:20px;
  line-height:1.2;
}

.repair-modal-status em{
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-style:normal;
  font-weight:900;
  text-align:right;
  overflow-wrap:anywhere;
}

.repair-modal-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.repair-modal-metrics article{
  display:grid;
  gap:6px;
  min-height:92px;
  padding:13px 14px;
  border:1px solid #d9e6f2;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 10px 24px rgba(22,42,70,.05);
}

.repair-modal-metrics span,
.repair-modal-metrics em,
.repair-modal-grid em,
.repair-modal-note em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.repair-modal-metrics strong{
  color:#071d3a;
  font-size:21px;
  line-height:1.18;
  overflow-wrap:anywhere;
}

.repair-modal-metrics .tone-money strong{color:#9a5a00}
.repair-modal-metrics .tone-working strong{color:#9a5a00}
.repair-modal-metrics .tone-done strong{color:#078261}

.repair-modal-section{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #d9e6f2;
  border-radius:8px;
  background:#fff;
}

.repair-modal-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.repair-modal-grid span,
.repair-modal-note span{
  display:grid;
  gap:6px;
  min-width:0;
  padding:11px 12px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
}

.repair-modal-grid span.wide{
  grid-column:span 2;
}

.repair-modal-grid strong,
.repair-modal-note strong{
  color:#071d3a;
  font-size:15px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.repair-modal-grid-compact{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.repair-modal-note{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:10px;
}

.repair-modal-note span:first-child{
  background:#fffdf7;
}

.permission-grid{display:grid;grid-template-columns:1fr;gap:14px}
.permission-group{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.permission-parent,.permission-child{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:flex-start;gap:10px;color:#24364d;font-weight:900}
.permission-parent{font-size:16px}
.permission-children{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;padding-left:26px}
.permission-parent input,.permission-child input{appearance:auto!important;width:16px!important;height:16px!important;min-height:16px!important;margin:0;padding:0;flex:0 0 16px}

@media (max-width:1100px){
  .dashboard-hero,.dashboard-grid{grid-template-columns:1fr 1fr}
  .metric-grid,.metric-grid.compact{grid-template-columns:repeat(3,1fr)}
  .inventory-summary .item{grid-template-columns:1fr 1fr}
  .line-row,.line-row.accessory,.line-row.sale-line{grid-template-columns:1fr 1fr}
  .grid.two,.filter-grid{grid-template-columns:1fr 1fr}
  .sale-detail-summary,
  .sale-detail-line,
  .purchase-detail-line,
  .repair-modal-hero,
  .trace-device-hero,
  .sales-order-card,
  .trace-search-row{grid-template-columns:1fr}
  .sale-detail-order{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .repair-modal-status{
    justify-items:start;
    min-width:0;
  }
  .repair-modal-status em{
    text-align:left;
  }
  .repair-modal-metrics,
  .repair-modal-grid,
  .repair-modal-grid-compact,
  .repair-modal-note{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:1101px) and (max-width:1500px){
  .line-row.sale-line{grid-template-columns:64px minmax(180px,1.2fr) minmax(130px,1fr) 58px 68px 64px 64px 64px 62px 62px 62px 58px;gap:5px}
  .line-row.sale-line label,
  .line-row.sale-line .line-commission,
  .line-row.sale-line .line-shipping,
  .line-row.sale-line .line-accessory-fee,
  .line-row.sale-line .remove-line{font-size:11px}
}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .sidebar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);padding:8px}
  .side-brand{grid-column:1/-1}
  .nav,.logout-btn{height:38px;margin:2px}
  .nav.active::before{display:none}
  .menu-flyout{left:8px;right:8px;top:auto!important}
  .toast{
    top:12px;
    right:12px;
    left:12px;
    transform:none;
    width:auto;
  }
  .toast-card{
    grid-template-columns:34px minmax(0,1fr) 28px;
    min-height:72px;
    padding:12px;
  }
  .toast-icon{
    width:32px;
    height:32px;
  }
  .workspace-tabs{padding:0 14px}
  .topbar,.row,.filter-grid{grid-template-columns:1fr;flex-direction:column;align-items:stretch}
  .dashboard-hero,.dashboard-grid,.metric-grid,.metric-grid.compact,.detail-grid,.inventory-summary .item{grid-template-columns:1fr}
  .repair-modal-metrics,
  .repair-modal-grid,
  .repair-modal-grid-compact,
  .repair-modal-note{
    grid-template-columns:1fr;
  }
  .repair-modal-grid span.wide{
    grid-column:auto;
  }
  .repair-modal-title strong{
    font-size:23px;
  }
  .sale-detail-totals,
  .sale-detail-order,
  .sale-detail-money,
  .purchase-detail-money,
  .trace-device-stats{grid-template-columns:1fr}
  .movement-toolbar,
  .movement-pager{
    align-items:stretch;
    flex-direction:column;
  }
  .movement-search{
    grid-template-columns:1fr;
    width:100%;
  }
  .sales-search,
  .sales-order-money{
    grid-template-columns:1fr;
    width:100%;
  }
  .sales-order-actions{
    justify-content:stretch;
  }
  .sales-order-actions .text-btn{
    width:100%;
  }
  .movement-pager .actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .movement-pager .movement-page-size{
    grid-column:1 / -1;
  }
  .pager{align-items:stretch;flex-direction:column}
  .view{padding:14px}
}

/* visual polish v2 */
body{
  background:
    linear-gradient(180deg,#f7fbff 0,#eef3f8 260px,#e9eff6 100%);
}
.app{grid-template-columns:196px 1fr}
.sidebar{
  background:linear-gradient(180deg,#10233d 0,#1d4f8a 54%,#10233d 100%);
  box-shadow:8px 0 28px rgba(16,35,61,.22);
}
.side-brand{
  padding:20px 16px 17px;
  background:rgba(255,255,255,.04);
}
.side-brand span{
  width:58px;
  height:58px;
  background:linear-gradient(180deg,#10a982,#087456);
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}
.side-brand strong{font-size:18px}
.nav,.logout-btn{
  height:43px;
  margin:5px 12px;
  border-radius:8px;
  padding:0 15px;
  color:#eaf3ff;
}
.nav:hover{
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.nav.active{
  background:linear-gradient(90deg,#188ef5,#0f8a6a);
  box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.nav.active::before{
  left:-12px;
  top:8px;
  height:26px;
  background:#8ee6c8;
}
.menu-flyout{left:196px}
.topbar{
  position:sticky;
  top:0;
  z-index:8;
  min-height:82px;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(130%) blur(8px);
  box-shadow:0 8px 24px rgba(26,45,76,.08);
}
.topbar h1{font-size:29px}
.eyebrow{color:#0b8f71}
.workspace-tabs{
  min-height:44px;
  background:#f3f7fc;
  padding:0 28px;
}
.work-tab{
  min-height:34px;
  border-radius:8px 8px 0 0;
  background:#e8f0f8;
  border-color:#cbd9e8;
}
.work-tab.active{
  background:#fff;
  color:#0f7d64;
  border-top:3px solid #0f8a6a;
}
.view{padding:22px 28px 24px}
.panel,.metric,.hero-card,.item{
  border-color:#dbe5ef;
  box-shadow:0 14px 34px rgba(31,51,78,.09);
}
.panel{
  background:linear-gradient(180deg,#fff 0,#fbfdff 100%);
  border-top:3px solid rgba(15,138,106,.14);
}
.panel h2{
  color:#0f1e33;
  font-size:19px;
}
.hero-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0,#f9fcff 100%);
}
.hero-card::before,.metric::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#0f8a6a,#188ef5);
}
.hero-card.main{
  background:linear-gradient(135deg,#10233d 0,#1f5b95 58%,#0f8a6a 100%);
}
.metric{
  position:relative;
  overflow:hidden;
  background:#fff;
}
.metric strong,.hero-card strong{letter-spacing:0}
.inner-panel,.line-row,.detail-kv,.permission-group{
  background:#f8fbff;
  border-color:#d7e4f1;
}
input,select,textarea{
  min-height:32px;
  border-color:#d4e0ec;
  background:#fff;
}
.primary-btn{
  background:linear-gradient(180deg,#0f9b78,#087456);
  box-shadow:0 8px 18px rgba(15,138,106,.2);
}
.secondary-btn{
  background:#edf3f9;
  border-color:#d8e4f0;
}
.table-wrap{box-shadow:0 10px 24px rgba(31,51,78,.06)}
th{
  background:#e8f0f8;
  color:#20364f;
}
tbody tr:nth-child(even){background:#fbfdff}
.badge.stock{background:#dff7ed;color:#087456}
.badge.warn{background:#fff1d6;color:#9a5a00}
.item{
  background:#fff;
  border-left:3px solid transparent;
}
.item:hover{
  border-left-color:#188ef5;
  transform:translateY(-1px);
}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .menu-flyout{left:8px}
  .view{padding:14px}
}

/* compact operation forms v3 */
#saleForm,
#rentalForm{
  grid-template-columns:repeat(6,minmax(110px,1fr));
  align-items:end;
}
#saleForm > h2,
#saleForm > input[type="hidden"],
#saleCommissionTip,
#saleForm > .inner-panel,
#saleForm > .subhead,
#saleLines,
#saleForm > button[type="submit"],
#rentalForm > h2,
#rentalForm > input[type="hidden"],
#rentalForm > .inner-panel,
#rentalForm > .line-commission,
#rentalForm > .rental-head-seven,
#rentalForm > .rental-tail-four,
#rentalForm > label,
#rentalForm > button[type="submit"]{
  grid-column:1/-1;
}
#saleForm > .row:nth-of-type(-n+3){
  display:contents;
}
#rentalForm > .rental-head-seven{
  display:grid;
  grid-template-columns:repeat(7,minmax(90px,1fr));
  gap:8px;
  align-items:end;
}
#rentalForm > .rental-tail-four{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:8px;
  align-items:end;
}
#rentalForm > .row{
  grid-column:1/-1;
  grid-template-columns:repeat(3,minmax(140px,260px));
}
#saleForm > .row:nth-of-type(-n+3) label,
#rentalForm > .rental-head-seven label,
#rentalForm > .rental-tail-four label{
  min-width:0;
  font-size:12px;
}
#saleForm > .row:nth-of-type(-n+3) input,
#saleForm > .row:nth-of-type(-n+3) select,
#rentalForm > .rental-head-seven input,
#rentalForm > .rental-head-seven select,
#rentalForm > .rental-tail-four input,
#rentalForm > .rental-tail-four select{
  min-height:28px;
  padding:3px 8px;
}
#saleCommissionTip,
#rentalCommissionTip{
  min-height:28px;
  align-self:end;
  padding:5px 8px;
  border:1px solid #d8e4f0;
  border-radius:5px;
  background:#f8fbff;
  font-size:12px;
  line-height:1.35;
}
#saleForm .inner-panel,
#rentalForm .inner-panel,
#aftersales .inner-panel,
#internalUseForm .inner-panel{
  padding:12px;
}
#saleForm .filter-grid,
#rentalForm .filter-grid,
#exchangeForm .filter-grid,
#internalUseForm .filter-grid{
  grid-template-columns:repeat(6,minmax(100px,1fr));
  gap:7px;
  margin-bottom:8px;
}
#saleForm .filter-grid label,
#rentalForm .filter-grid label,
#exchangeForm .filter-grid label,
#internalUseForm .filter-grid label,
#inventory .filter-grid label{
  font-size:12px;
}
#saleForm .filter-grid input,
#saleForm .filter-grid select,
#rentalForm .filter-grid input,
#rentalForm .filter-grid select,
#exchangeForm .filter-grid input,
#exchangeForm .filter-grid select,
#internalUseForm .filter-grid input,
#internalUseForm .filter-grid select,
#inventory .filter-grid input,
#inventory .filter-grid select{
  min-height:28px;
  padding:3px 8px;
}
#inventory.is-transfer-subpage > section.panel{
  display:none;
}

#settings .settings-pane:not(#logPane) .form-panel,
#finance .form-panel,
#aftersales .form-panel,
#internalUseForm{
  gap:10px;
}
#settings .settings-pane:not(#logPane) .form-panel > label,
#finance .form-panel > label,
#aftersales .form-panel > label,
#internalUseForm > label{
  max-width:420px;
}
#settings .settings-pane:not(#logPane) .form-panel > .row,
#finance .form-panel > .row,
#finance .panel > .row,
#aftersales .form-panel > .row,
#internalUseForm > .row{
  grid-template-columns:repeat(3,minmax(150px,260px));
  max-width:860px;
  gap:8px;
}
#settings .settings-pane:not(#logPane) .form-panel input,
#settings .settings-pane:not(#logPane) .form-panel select,
#finance .form-panel input,
#finance .form-panel select,
#finance .panel > .row input,
#finance .panel > .row select,
#aftersales .form-panel input,
#aftersales .form-panel select,
#internalUseForm input,
#internalUseForm select{
  min-height:28px;
  padding:3px 8px;
}
#settings .settings-pane:not(#logPane) .form-panel label,
#finance .form-panel label,
#finance .panel > .row label,
#aftersales .form-panel label,
#internalUseForm label{
  gap:4px;
  font-size:12px;
}
#aftersales .form-panel > input,
#repairDeviceSearch,
#exchangeOldSearch,
#returnSaleSearch{
  max-width:620px;
}
#finance .panel-head input,
#finance .search-actions input,
#aftersales .panel-head input,
#aftersales .search-actions input,
#internal .panel-head input,
#internal .search-actions input{
  min-width:220px;
  max-width:300px;
  min-height:28px;
  padding:3px 8px;
}

@media (max-width:1400px){
  #saleForm,
  #rentalForm{
    grid-template-columns:repeat(3,minmax(140px,1fr));
  }
  #rentalForm > .rental-head-seven{
    grid-template-columns:repeat(3,minmax(140px,1fr));
  }
  #rentalForm > .rental-tail-four{
    grid-template-columns:repeat(2,minmax(140px,1fr));
  }
}
@media (max-width:900px){
  #saleForm,
  #rentalForm{
    grid-template-columns:1fr;
  }
  #saleForm > .row:nth-of-type(-n+3){
    display:grid;
    grid-template-columns:1fr;
  }
  #rentalForm > .rental-head-seven,
  #rentalForm > .rental-tail-four{
    grid-template-columns:1fr;
  }
  #settings .settings-pane:not(#logPane) .form-panel > .row,
  #finance .form-panel > .row,
  #finance .panel > .row,
  #aftersales .form-panel > .row,
  #internalUseForm > .row,
  #rentalForm > .row{
    grid-template-columns:1fr;
    max-width:none;
  }
}

/* login and sidebar redesign v4 */
.login-view{
  display:grid;
  place-items:center;
  min-height:100vh;
  padding:32px;
  background:
    radial-gradient(circle at 18% 18%,rgba(29,140,240,.16),transparent 34%),
    radial-gradient(circle at 86% 82%,rgba(15,138,106,.12),transparent 32%),
    linear-gradient(135deg,#f7fbff 0,#edf4fb 56%,#e7eef7 100%);
}
.login-shell{
  display:grid;
  grid-template-columns:minmax(420px,1.18fr) minmax(360px,.82fr);
  width:min(1120px,100%);
  min-height:580px;
  overflow:hidden;
  border:1px solid #dbe5ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 26px 70px rgba(21,43,76,.16);
}
.login-visual{
  position:relative;
  min-height:580px;
  padding:48px 46px;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#168af2 0,#0e6ed8 58%,#0d56b8 100%);
}
.login-visual::before{
  content:"";
  position:absolute;
  inset:auto -90px -120px auto;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.login-visual::after{
  content:"";
  position:absolute;
  left:52px;
  right:52px;
  bottom:48px;
  height:2px;
  background:rgba(255,255,255,.62);
}
.login-copy{
  position:relative;
  z-index:2;
  text-align:center;
}
.login-copy h2{
  margin:0 0 12px;
  font-size:34px;
  line-height:1.15;
  letter-spacing:1px;
  font-weight:800;
}
.login-copy p{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:18px;
  letter-spacing:4px;
}
.erp-illustration{
  position:absolute;
  left:46px;
  right:46px;
  bottom:42px;
  z-index:1;
  height:330px;
}
.illus-board{
  position:absolute;
  left:160px;
  top:54px;
  width:240px;
  height:124px;
  padding:24px;
  border-radius:10px;
  background:rgba(255,255,255,.17);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.illus-board span{
  display:block;
  height:10px;
  margin-bottom:13px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
}
.illus-board span:nth-child(2){width:78%}
.illus-board span:nth-child(3){width:58%}
.illus-desk{
  position:absolute;
  left:205px;
  right:88px;
  bottom:58px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
}
.illus-desk::before,
.illus-desk::after{
  content:"";
  position:absolute;
  top:18px;
  width:8px;
  height:74px;
  border-radius:8px;
  background:rgba(255,255,255,.45);
}
.illus-desk::before{left:45px}
.illus-desk::after{right:55px}
.illus-box{
  position:absolute;
  width:72px;
  height:58px;
  border-radius:10px;
  background:rgba(255,255,255,.24);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.box-a{left:42px;bottom:58px}
.box-b{right:30px;bottom:80px;width:86px;height:66px}
.illus-card{
  position:absolute;
  width:62px;
  height:76px;
  border-radius:8px;
  background:rgba(255,255,255,.22);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.card-a{right:118px;top:88px}
.card-b{right:42px;top:128px;width:70px;height:44px}
.illus-person{
  position:absolute;
  bottom:74px;
  width:58px;
  height:128px;
}
.illus-person::before{
  content:"";
  position:absolute;
  left:18px;
  top:0;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#ffe0c2;
}
.illus-person::after{
  content:"";
  position:absolute;
  left:10px;
  top:34px;
  width:44px;
  height:70px;
  border-radius:18px 18px 10px 10px;
  background:#fff;
  box-shadow:0 66px 0 -18px #174b9d;
}
.person-a{left:116px}
.person-b{right:160px;bottom:60px}
.person-b::after{background:#e8f4ff}
.login-card{
  align-self:center;
  justify-self:center;
  width:min(380px,calc(100% - 56px));
  padding:34px 32px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.login-card .brand-mark{
  width:50px;
  height:50px;
  margin-bottom:4px;
  border-radius:10px;
  background:linear-gradient(180deg,#10a982,#087456);
}
.login-card h1{font-size:27px}
.login-card p{margin-bottom:8px}
.login-card input{
  min-height:42px;
  border-radius:7px;
  padding:0 13px;
}
.login-card .primary-btn{
  min-height:44px;
  border-radius:7px;
  font-size:15px;
}

.app{grid-template-columns:208px 1fr}
.sidebar{
  gap:2px;
  padding:14px 10px;
  background:linear-gradient(180deg,#0f223d 0,#173f75 52%,#10233d 100%);
  box-shadow:8px 0 30px rgba(14,32,57,.24);
}
.side-brand{
  justify-items:start;
  gap:7px;
  margin:0 4px 14px;
  padding:14px 12px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
}
.side-brand span{
  width:56px;
  height:56px;
  border-radius:12px;
  background:linear-gradient(180deg,#10a982,#087456);
  box-shadow:0 12px 24px rgba(0,0,0,.22);
  letter-spacing:.5px;
}
.side-brand strong{
  font-size:19px;
  line-height:1.15;
}
.side-brand small{
  min-height:18px;
  color:#c8d7ea;
  font-size:12px;
}
.nav,.logout-btn{
  display:flex;
  align-items:center;
  height:42px;
  margin:4px 2px;
  padding:0 14px 0 18px;
  border-radius:9px;
  color:#e5eefb;
}
.nav::after{
  content:"";
  width:5px;
  height:5px;
  margin-left:auto;
  border-radius:999px;
  background:transparent;
}
.nav:hover{
  background:rgba(255,255,255,.1);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.nav.active{
  background:linear-gradient(90deg,#168af2 0,#0f9b78 100%);
  box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.nav.active::before{
  left:-10px;
  top:11px;
  height:20px;
  background:#8ee6c8;
}
.nav.active::after{background:rgba(255,255,255,.86)}
.logout-btn{
  margin-top:auto;
  color:#ffd9d9;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
}
.menu-flyout{left:208px}

@media (max-width:900px){
  .login-shell{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .login-visual{
    min-height:360px;
    padding:34px 28px;
  }
  .login-copy h2{font-size:28px}
  .login-copy p{font-size:15px;letter-spacing:2px}
  .erp-illustration{
    left:28px;
    right:28px;
    bottom:28px;
    height:220px;
  }
  .login-card{
    width:100%;
    padding:28px;
  }
}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .sidebar{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:4px;
    padding:8px;
  }
  .side-brand{
    grid-column:1/-1;
    margin:0 0 6px;
  }
  .nav,.logout-btn{
    height:38px;
    margin:0;
    padding:0 10px;
    justify-content:center;
    text-align:center;
  }
  .nav::after{display:none}
  .menu-flyout{
    left:8px;
    right:8px;
  }
}

/* sidebar logo and centered navigation v5 */
.side-brand{
  align-items:center;
  justify-items:center;
  text-align:center;
  padding:18px 12px 19px;
}
.brand-logo{
  position:relative;
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  margin-bottom:4px;
  overflow:hidden;
  border-radius:18px;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.24),transparent 28%),
    linear-gradient(145deg,#14b78b 0,#07936f 58%,#05654e 100%);
  box-shadow:0 16px 30px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.16);
}
.brand-logo::before{
  content:"";
  position:absolute;
  inset:12px;
  border:2px solid rgba(255,255,255,.22);
  border-radius:14px;
}
.brand-logo::after{
  content:"";
  position:absolute;
  right:-16px;
  bottom:-18px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
}
.brand-logo b{
  position:relative;
  z-index:2;
  color:#fff;
  font-size:22px;
  line-height:1;
  letter-spacing:.5px;
}
.brand-logo i{
  position:absolute;
  left:19px;
  right:19px;
  bottom:14px;
  z-index:2;
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
}
.side-brand strong{
  width:100%;
  font-size:22px;
  line-height:1.15;
  letter-spacing:0;
  text-align:center;
}
.side-brand small{
  width:100%;
  text-align:center;
  font-size:13px;
}
.nav,.logout-btn{
  justify-content:center;
  text-align:center;
  font-size:15px;
  letter-spacing:0;
  padding:0 20px;
}
.nav::after{
  position:absolute;
  right:15px;
  margin-left:0;
}
.logout-btn{
  font-size:15px;
}
@media (max-width:760px){
  .brand-logo{
    width:58px;
    height:58px;
    border-radius:14px;
  }
  .side-brand strong{font-size:20px}
  .nav,.logout-btn{font-size:14px}
}

.topbar{
  display:none!important;
}

#purchaseCreatePage .purchase-entry{
  grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);
  align-items:stretch;
  gap:14px;
  padding:16px;
  border-color:rgba(23,145,121,.2);
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,253,255,.96)),
    radial-gradient(circle at 100% 0%,rgba(22,145,121,.09),transparent 30%);
}
.purchase-title,
.purchase-card-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.purchase-title{
  grid-column:1 / 3;
  padding:2px 0 4px;
}
.purchase-title span,
.purchase-card-title span{
  display:block;
  margin-bottom:4px;
  color:#0c8a71;
  font-size:12px;
  font-weight:900;
}
.purchase-title h2,
.purchase-card-title h2{
  margin:0;
  font-size:20px;
  line-height:1.2;
}
.purchase-title strong{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#edf8f5;
  color:#0a7b62;
  font-size:12px;
}
.purchase-card{
  display:grid;
  align-content:start;
  gap:12px;
  padding:14px;
  border:1px solid rgba(199,214,231,.85);
  border-radius:8px;
  background:rgba(255,255,255,.9);
  box-shadow:0 8px 22px rgba(22,42,70,.045);
}
.purchase-meta{
  width:100%;
  grid-column:1;
  grid-template-columns:1fr;
}
.purchase-import{
  width:100%;
  grid-column:2;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  background:linear-gradient(180deg,#f8fbff,#f4f8fc);
}
.purchase-import .purchase-card-title,
.purchase-import-row{
  display:contents;
}
.purchase-import-row label{
  grid-column:1;
  grid-row:2;
  max-width:none;
}
.purchase-import .purchase-card-title > div{
  grid-column:1;
  grid-row:1;
}
.purchase-import .purchase-card-title .secondary-btn{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  min-width:108px;
}
.purchase-import-row .primary-btn{
  grid-column:2;
  grid-row:2;
  justify-self:end;
  align-self:start;
  min-width:108px;
}
#purchaseCreatePage .subhead{
  grid-column:1 / 3;
  width:100%;
  margin-top:2px;
  padding:11px 0 8px;
  border-top:1px solid rgba(202,216,232,.9);
}
#purchaseCreatePage .subhead strong{
  font-size:16px;
}
#purchaseCreatePage .line-box{
  grid-column:1 / 3;
  width:100%;
  gap:7px;
}
#purchaseCreatePage .line-row{
  border-color:#dce7f2;
  background:#fff;
  box-shadow:0 4px 12px rgba(22,42,70,.035);
}
#purchaseCreatePage .line-row:hover{
  border-color:#b7d4ed;
  box-shadow:0 10px 22px rgba(22,42,70,.08);
}
#purchaseCreatePage .line-row.purchase-device{
  grid-template-columns:34px minmax(92px,.85fr) minmax(86px,.9fr) minmax(104px,1fr) minmax(118px,1.08fr) minmax(72px,.7fr) minmax(100px,.9fr) 70px;
  padding:8px;
  align-items:end;
}
#purchaseCreatePage .line-row.purchase-accessory{
  grid-template-columns:34px minmax(92px,.85fr) minmax(130px,1.2fr) minmax(68px,.65fr) minmax(80px,.7fr) minmax(100px,.9fr) 70px;
  padding:8px;
}
#purchaseCreatePage .line-row label{
  gap:4px;
  font-size:12px;
}
#purchaseCreatePage .line-row input,
#purchaseCreatePage .line-row select{
  min-height:28px;
  padding:3px 8px;
}
#purchaseCreatePage .row-no{
  min-height:28px;
  border-radius:6px;
  background:linear-gradient(180deg,#eef5fc,#dfeaf5);
  color:#1f3148;
}
#purchaseCreatePage .remove-line{
  min-height:28px;
  padding:0 10px;
  border:1px solid #ffe0e0;
  background:#fff2f2;
  white-space:nowrap;
  min-width:64px;
}
.purchase-submit{
  grid-column:1 / 3;
  width:100%;
  display:flex;
  justify-content:flex-end;
  padding-top:4px;
}
.purchase-submit .primary-btn{
  min-width:220px;
  min-height:34px;
  box-shadow:0 12px 26px rgba(15,138,106,.2);
}

#accessoryPurchaseCreatePage .purchase-entry{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  padding:16px;
  border-color:rgba(23,145,121,.2);
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,253,255,.96)),
    radial-gradient(circle at 100% 0%,rgba(22,145,121,.09),transparent 30%);
}
#accessoryPurchaseCreatePage .purchase-title,
#accessoryPurchaseCreatePage .purchase-card,
#accessoryPurchaseCreatePage .subhead,
#accessoryPurchaseCreatePage .line-box,
#accessoryPurchaseCreatePage .purchase-submit{
  grid-column:1;
}
#accessoryPurchaseCreatePage .purchase-meta{
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);
}
#accessoryPurchaseCreatePage .accessory-purchase-subhead{
  display:grid;
  grid-template-columns:34px minmax(92px,.75fr) minmax(160px,1.3fr) minmax(80px,.65fr) minmax(90px,.75fr) minmax(130px,1fr) 70px;
  gap:7px;
  align-items:center;
  padding:0 8px;
}
#accessoryPurchaseCreatePage .accessory-purchase-subhead > strong{
  grid-column:1 / 4;
}
#accessoryPurchaseCreatePage .accessory-purchase-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-width:0;
  min-height:34px;
  padding:5px 9px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:#f5faff;
  white-space:nowrap;
}
#accessoryPurchaseCreatePage .accessory-purchase-total em{
  color:#54708d;
  font-size:12px;
  font-style:normal;
  font-weight:800;
}
#accessoryPurchaseCreatePage .accessory-purchase-total b{
  overflow:hidden;
  color:#087d67;
  font-size:17px;
  text-overflow:ellipsis;
}
#accessoryPurchaseCreatePage .accessory-purchase-total-qty{
  grid-column:4;
}
#accessoryPurchaseCreatePage .accessory-purchase-total-amount{
  grid-column:5;
  background:#fffaf1;
  border-color:#f0ddbd;
}
#accessoryPurchaseCreatePage .accessory-purchase-total-amount b{
  color:#c26b00;
}
#accessoryPurchaseCreatePage .accessory-purchase-subhead #addAccessoryLine{
  grid-column:7;
  justify-self:end;
}
#accessoryPurchaseCreatePage .line-row.purchase-accessory{
  grid-template-columns:34px minmax(92px,.75fr) minmax(160px,1.3fr) minmax(80px,.65fr) minmax(90px,.75fr) minmax(130px,1fr) 70px;
  padding:8px;
  border-color:#dce7f2;
  background:#fff;
  box-shadow:0 4px 12px rgba(22,42,70,.035);
}
#accessoryPurchaseCreatePage .line-row label{
  gap:4px;
  font-size:12px;
}
#accessoryPurchaseCreatePage .line-row input,
#accessoryPurchaseCreatePage .line-row select{
  min-height:28px;
  padding:3px 8px;
}
#accessoryPurchaseCreatePage .remove-line{
  min-height:28px;
  padding:0 10px;
  min-width:64px;
}

@media (max-width:900px){
  #accessoryPurchaseCreatePage .accessory-purchase-subhead{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  #accessoryPurchaseCreatePage .accessory-purchase-subhead > strong{
    grid-column:1 / -1;
  }
  #accessoryPurchaseCreatePage .accessory-purchase-total-qty{
    grid-column:1;
  }
  #accessoryPurchaseCreatePage .accessory-purchase-total-amount{
    grid-column:2;
  }
  #accessoryPurchaseCreatePage .accessory-purchase-subhead #addAccessoryLine{
    grid-column:1 / -1;
    justify-self:start;
  }
}

.purchase-query-panel{
  display:grid;
  gap:14px;
  padding:18px;
  border-color:#cfe2f1;
  background:#f7fbff;
  box-shadow:0 18px 45px rgba(16,35,61,.08);
}

.purchase-query-head{
  display:grid;
  grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr);
  align-items:end;
  gap:14px;
  padding:16px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:linear-gradient(135deg,#0d5c70,#12846d);
  color:#fff;
}

.purchase-query-head span{
  display:block;
  margin-bottom:5px;
  color:#d5f7f1;
  font-size:12px;
  font-weight:900;
}

.purchase-query-head h2{
  margin:0;
  color:#fff;
  font-size:24px;
}

.purchase-search{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(118px,.32fr) minmax(132px,.34fr) minmax(132px,.34fr) 76px;
  gap:8px;
  width:100%;
  min-width:0;
}

.purchase-search input,
.purchase-search select{
  min-height:38px;
  border-color:rgba(255,255,255,.58);
  background:rgba(255,255,255,.96);
}

.purchase-query-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
}

.purchase-query-summary article{
  display:grid;
  gap:5px;
  min-height:96px;
  padding:14px 16px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,42,70,.045);
}

.purchase-query-summary span,
.purchase-query-summary em{
  color:#516d8a;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.purchase-query-summary strong{
  color:#071d35;
  font-size:26px;
  line-height:1.05;
}

.purchase-query-summary .warn strong{
  color:#b66a00;
}

.purchase-query-summary .amount strong{
  color:#008267;
}

.purchase-query-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
}

.purchase-query-toolbar div{
  display:grid;
  gap:3px;
}

.purchase-query-toolbar strong{
  color:#0c1f33;
  font-size:16px;
}

.purchase-query-toolbar span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.purchase-query-list{
  display:grid;
  gap:12px;
}

.purchase-query-card{
  display:grid;
  grid-template-columns:minmax(520px,1.5fr) minmax(330px,.78fr) minmax(100px,.2fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid #d5e4f0;
  border-left:4px solid #0d8f70;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 26px rgba(20,40,70,.055);
}

.purchase-query-card.is-pending{
  border-left-color:#d68a00;
  background:#fffdf8;
}

.purchase-query-main{
  display:grid;
  gap:10px;
  min-width:0;
}

.purchase-query-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.purchase-query-title div{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

.purchase-query-title strong{
  color:#071d35;
  font-size:22px;
  line-height:1.15;
}

.purchase-query-title span{
  padding:4px 9px;
  border-radius:999px;
  background:#dff8ef;
  color:#08735b;
  font-size:12px;
  font-weight:900;
}

.purchase-query-card.is-pending .purchase-query-title span{
  background:#fff1d8;
  color:#9b6100;
}

.purchase-query-title small{
  color:#55708d;
  font-weight:900;
  white-space:nowrap;
}

.purchase-query-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.purchase-query-tags span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border-radius:7px;
  background:#f2f7fd;
  color:#244767;
  font-size:13px;
  font-weight:900;
}

.purchase-query-tags em{
  color:#6b7d93;
  font-style:normal;
}

.purchase-query-lines{
  display:grid;
  gap:7px;
  padding:12px;
  border:1px solid #e0eaf4;
  border-radius:8px;
  background:#f8fbff;
}

.purchase-query-line{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:9px;
  align-items:start;
}

.purchase-query-line b{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:6px;
  background:#e8f2fb;
  color:#244767;
  font-size:12px;
}

.purchase-query-line div{
  display:grid;
  gap:3px;
  min-width:0;
}

.purchase-query-line strong{
  color:#0b2e55;
  font-size:14px;
  line-height:1.25;
}

.purchase-query-line span,
.purchase-query-more{
  color:#55708d;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
}

.purchase-query-line.empty{
  grid-template-columns:1fr;
}

.purchase-query-more{
  padding-left:33px;
}

.purchase-query-money{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.purchase-query-money div{
  display:grid;
  gap:4px;
  min-height:60px;
  padding:9px 10px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#f8fbff;
}

.purchase-query-money span{
  color:#516d8a;
  font-size:11px;
  font-weight:900;
}

.purchase-query-money strong{
  color:#071d35;
  font-size:17px;
  line-height:1.15;
}

.purchase-query-actions{
  display:grid;
  gap:9px;
  justify-items:stretch;
}

.purchase-query-actions .text-btn{
  width:100%;
  min-height:34px;
  justify-content:center;
}

.purchase-query-empty{
  display:grid;
  place-items:center;
  min-height:180px;
  padding:28px;
  border:1px dashed #bcd0e4;
  border-radius:8px;
  background:#fff;
  text-align:center;
}

.purchase-query-empty strong{
  color:#0d2338;
  font-size:20px;
}

.purchase-query-empty span{
  margin-top:6px;
  color:#55708d;
  font-weight:900;
}

.purchase-query-pager{
  margin-top:2px;
}

.model-list-head .search-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
.model-list-head .search-actions input{
  width:220px;
}
.model-list-head .search-actions select{
  width:150px;
}
.model-directory .pager{
  padding:4px 2px 0;
}

.view.active.module-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:18px;
  align-items:start;
}
.view.module-layout > .sub-tabs,
.view.module-layout > .sub-page,
.view.module-layout > .panel:not(.module-companion){
  grid-column:1;
}
.view.module-layout > .module-companion{
  grid-column:2;
  grid-row:1 / span 40;
}
.module-companion{
  position:sticky;
  top:14px;
  display:grid;
  gap:12px;
  min-height:calc(100vh - 78px);
  padding:14px;
  border-color:rgba(23,145,121,.18);
  background:
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,251,255,.94)),
    radial-gradient(circle at 18% 0%,rgba(20,184,166,.12),transparent 34%);
}
.companion-hero{
  padding:14px;
  border-radius:8px;
  color:#fff;
  background:linear-gradient(135deg,#123257,#0f9b82);
  box-shadow:0 12px 30px rgba(15,57,90,.18);
}
.companion-hero span{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  font-weight:900;
}
.companion-hero strong{
  display:block;
  color:rgba(255,255,255,.82);
  font-size:12px;
  line-height:1.5;
}
.companion-stat-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.companion-stat{
  min-height:74px;
  padding:12px;
  border:1px solid rgba(177,196,218,.68);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,42,70,.07);
}
.companion-stat span{
  display:block;
  margin-bottom:8px;
  color:#667890;
  font-size:12px;
  font-weight:900;
}
.companion-stat strong{
  display:block;
  color:#102033;
  font-size:19px;
  line-height:1.12;
}
.companion-stat.ok{
  border-color:rgba(16,185,129,.25);
  background:linear-gradient(180deg,#fff,#f2fff9);
}
.companion-stat.warn{
  border-color:rgba(245,158,11,.28);
  background:linear-gradient(180deg,#fff,#fff8eb);
}
.companion-section{
  padding:12px;
  border:1px solid rgba(177,196,218,.62);
  border-radius:8px;
  background:rgba(255,255,255,.82);
}
.companion-section h3{
  margin:0 0 10px;
  font-size:15px;
}
.companion-list{
  display:grid;
  gap:8px;
}
.companion-row{
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid rgba(218,227,238,.9);
  border-radius:8px;
  background:#fbfdff;
}
.companion-row strong{
  font-size:13px;
  line-height:1.35;
}
.companion-row span{
  color:#65758b;
  font-size:12px;
  line-height:1.45;
}
@media (max-width:1380px){
  .view.active.module-layout{
    grid-template-columns:1fr;
  }
  .view.module-layout > .module-companion{
    grid-column:1;
    grid-row:auto;
    position:static;
    min-height:0;
  }
  .module-companion{
    grid-template-columns:1.1fr 1fr 1.2fr;
  }
}
@media (max-width:900px){
  #purchaseCreatePage .purchase-entry{
    grid-template-columns:1fr;
  }
  .purchase-import{
    grid-template-columns:1fr;
  }
  .purchase-import .purchase-card-title,
  .purchase-import-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .purchase-import .purchase-card-title > div,
  .purchase-import .purchase-card-title .secondary-btn,
  .purchase-import-row label,
  .purchase-import-row .primary-btn{
    grid-column:auto;
    grid-row:auto;
    justify-self:start;
  }
  .purchase-meta,
  .purchase-import-row,
  #purchaseCreatePage .line-row.purchase-device,
  #purchaseCreatePage .line-row.purchase-accessory{
    grid-template-columns:1fr;
  }
  .purchase-meta,
  .purchase-import,
  #purchaseCreatePage .subhead,
  #purchaseCreatePage .line-box,
  .purchase-submit{
    grid-column:1;
    width:100%;
  }
  .purchase-submit .primary-btn{
    width:100%;
  }
  .module-companion{
    grid-template-columns:1fr;
  }
}

/* unified module workspace */
.view:not(#dashboard) .sub-page.active > .panel,
.view:not(#dashboard) .sub-page.active > .form-panel,
.view:not(#dashboard).module-layout > .panel:not(.module-companion),
#settings .settings-pane.active > .panel,
#settings .settings-pane.active > .form-panel{
  position:relative;
  border-color:rgba(23,145,121,.18);
  border-top-color:rgba(23,145,121,.32);
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,253,255,.96)),
    radial-gradient(circle at 100% 0%,rgba(22,145,121,.08),transparent 30%);
}
.view:not(#dashboard) .sub-page.active > .form-panel,
#settings .settings-pane.active > .form-panel{
  padding:16px;
  gap:12px;
}
.view:not(#dashboard) .sub-page.active > .panel{
  padding:16px;
}
.view:not(#dashboard).module-layout > .panel:not(.module-companion){
  padding:16px;
}
.view:not(#dashboard) .sub-page.active > .form-panel > h2,
.view:not(#dashboard) .sub-page.active > .panel > h2,
.view:not(#dashboard) .sub-page.active > .panel .panel-head h2,
.view:not(#dashboard).module-layout > .panel:not(.module-companion) > h2,
.view:not(#dashboard).module-layout > .panel:not(.module-companion) .panel-head h2,
#settings .settings-pane.active > .form-panel > h2,
#settings .settings-pane.active > .panel > h2,
#settings .settings-pane.active > .panel .panel-head h2{
  margin:0 0 12px;
  color:#0f1e33;
  font-size:19px;
  line-height:1.25;
}
.view:not(#dashboard) .sub-page.active > .form-panel > h2::before,
#settings .settings-pane.active > .form-panel > h2::before{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin-bottom:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#0f8a6a,#188ef5);
}
.view:not(#dashboard) .sub-page.active > .form-panel label,
.view:not(#dashboard) .sub-page.active > .panel label,
.view:not(#dashboard).module-layout > .panel:not(.module-companion) label,
#settings .settings-pane.active > .form-panel label,
#settings .settings-pane.active > .panel label{
  color:#273b54;
  font-size:12px;
  font-weight:900;
}
.view:not(#dashboard) .sub-page.active > .form-panel input,
.view:not(#dashboard) .sub-page.active > .form-panel select,
.view:not(#dashboard) .sub-page.active > .form-panel textarea,
.view:not(#dashboard) .sub-page.active > .panel input,
.view:not(#dashboard) .sub-page.active > .panel select,
.view:not(#dashboard) .sub-page.active > .panel textarea,
.view:not(#dashboard).module-layout > .panel:not(.module-companion) input,
.view:not(#dashboard).module-layout > .panel:not(.module-companion) select,
.view:not(#dashboard).module-layout > .panel:not(.module-companion) textarea,
#settings .settings-pane.active > .form-panel input,
#settings .settings-pane.active > .form-panel select,
#settings .settings-pane.active > .form-panel textarea,
#settings .settings-pane.active > .panel input,
#settings .settings-pane.active > .panel select,
#settings .settings-pane.active > .panel textarea{
  min-height:30px;
  padding:4px 9px;
  border-color:#d4e1ee;
  border-radius:6px;
  background:#fff;
}
.view:not(#dashboard) .sub-page.active .inner-panel{
  padding:14px;
  border-color:#dbe7f2;
  background:linear-gradient(180deg,#f8fbff,#f4f8fc);
}
.view:not(#dashboard) .sub-page.active .inner-panel .panel-head{
  margin-bottom:8px;
}
.view:not(#dashboard) .sub-page.active .subhead,
#settings .settings-pane.active .subhead{
  margin-top:8px;
  padding:10px 0 6px;
  border-top:1px solid rgba(202,216,232,.9);
}
.view:not(#dashboard) .sub-page.active .subhead strong,
#settings .settings-pane.active .subhead strong{
  font-size:16px;
}
.view:not(#dashboard) .sub-page.active .line-row,
#settings .settings-pane.active .line-row{
  border-color:#dce7f2;
  background:#fff;
  box-shadow:0 4px 12px rgba(22,42,70,.035);
}
.view:not(#dashboard) .sub-page.active .line-row:hover,
#settings .settings-pane.active .line-row:hover{
  border-color:#b7d4ed;
  box-shadow:0 10px 22px rgba(22,42,70,.08);
}
.view:not(#dashboard) .sub-page.active .list .item,
#settings .settings-pane.active .list .item{
  border-color:#dce7f2;
  border-left:0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 4px 12px rgba(22,42,70,.035);
}
.view:not(#dashboard) .sub-page.active .list .item:hover,
#settings .settings-pane.active .list .item:hover{
  border-color:#b7d4ed;
  box-shadow:0 10px 22px rgba(22,42,70,.08);
}
.view:not(#dashboard) .sub-page.active .panel-head,
#settings .settings-pane.active .panel-head{
  align-items:flex-start;
}
.view:not(#dashboard) .sub-page.active .search-actions,
#settings .settings-pane.active .search-actions{
  gap:7px;
}
.view:not(#dashboard) .sub-page.active .table-wrap,
#settings .settings-pane.active .table-wrap{
  border-color:#dce7f2;
}

#saleForm,
#rentalForm,
#returnForm,
#exchangeForm,
#repairForm,
#internalUseForm,
#expenseForm{
  min-height:420px;
}
#saleForm > button[type="submit"],
#rentalForm > button[type="submit"],
#returnForm > button[type="submit"],
#exchangeForm > button[type="submit"],
#repairForm > button[type="submit"],
#internalUseForm > button[type="submit"],
#expenseForm > button[type="submit"]{
  justify-self:end;
  min-width:220px;
  min-height:34px;
  box-shadow:0 12px 26px rgba(15,138,106,.2);
}
#returnForm,
#repairForm,
#expenseForm{
  grid-template-columns:minmax(0,520px) minmax(260px,1fr);
  align-items:start;
}
#returnForm > h2,
#repairForm > h2,
#expenseForm > h2,
#returnForm > .panel-head,
#repairForm > .panel-head,
#returnForm > button[type="submit"],
#repairForm > button[type="submit"],
#expenseForm > button[type="submit"]{
  grid-column:1 / -1;
}
#returnForm > label,
#returnForm > input,
#repairForm > label,
#repairForm > input,
#repairForm > .row,
#expenseForm > label,
#expenseForm > .row{
  grid-column:1;
}
#returnForm::after,
#repairForm::after,
#expenseForm::after{
  content:"";
  grid-column:2;
  grid-row:2 / span 8;
  min-height:220px;
  border:1px solid #dbe7f2;
  border-radius:8px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(246,251,255,.92)),
    radial-gradient(circle at 85% 12%,rgba(24,142,245,.13),transparent 34%),
    radial-gradient(circle at 18% 80%,rgba(15,138,106,.12),transparent 32%);
}
#finance .sub-page.active > .panel,
#settings .settings-pane.active > .panel.below{
  margin-top:12px;
}
#finance.view.active{
  padding-top:0!important;
}
#finance.view.active > .sub-tabs{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#finance.view.active > .sub-page.active{
  margin-top:0!important;
  padding-top:0!important;
}
#finance .sub-page.active > .panel{
  margin-top:0!important;
}
#finance .metric-grid{
  gap:12px;
}
#finance .metric{
  border-color:#dbe7f2;
  background:#fff;
}
#settings .settings-pane.active{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
  align-items:start;
}

#settings > .module-companion{
  display:none!important;
}
#settings .settings-pane.active > .form-panel{
  grid-column:1;
  gap:14px;
  min-height:260px;
  padding:18px;
  border-color:#cfe1f0;
  border-radius:10px;
  box-shadow:0 14px 32px rgba(22,42,70,.06);
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,252,255,.98)),
    radial-gradient(circle at 100% 0%,rgba(13,143,112,.08),transparent 38%);
}
#settings .settings-pane.active > .panel.below{
  grid-column:2;
  margin-top:0;
  min-height:260px;
  padding:18px;
  border-color:#cfe1f0;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 32px rgba(22,42,70,.06);
}
#settings #logPane.settings-pane.active{
  display:block;
}

#settings .settings-pane.active > .form-panel h2,
#settings .settings-pane.active > .panel.below h2,
#settings #logPane.settings-pane.active .panel-head h2{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  color:#071d35;
  font-size:20px;
}

#settings .settings-pane.active > .form-panel h2::before,
#settings .settings-pane.active > .panel.below h2::before,
#settings #logPane.settings-pane.active .panel-head h2::before{
  content:"";
  width:6px;
  height:22px;
  border-radius:999px;
  background:#0d8f70;
}

#settings .settings-pane.active > .form-panel label{
  color:#344962;
  font-size:13px;
}

#settings .settings-pane.active > .form-panel input,
#settings .settings-pane.active > .form-panel select{
  min-height:36px;
  border-color:#cfddea;
  border-radius:8px;
  background:#fff;
}

#settings .settings-pane:not(#logPane) .form-panel > label{
  max-width:none;
}

#settings .settings-pane:not(#logPane) .form-panel > .row{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:none;
  gap:10px;
}

#settings .settings-pane.active > .form-panel .actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}

.location-directory{
  display:grid;
  gap:10px;
}
.location-directory .panel-head{
  margin:0;
}
.location-directory .warehouse-head{
  margin-top:10px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.location-directory .pill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#eef7ff;
  color:#0b5f95;
  font-size:13px;
  font-weight:900;
}
.location-list{
  max-height:360px;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
}
#shopPane .location-list,
#warehousePane .location-list{
  max-height:none;
  overflow:visible;
  padding-right:0;
}
#shopPane.settings-pane.active > .panel.below,
#warehousePane.settings-pane.active > .panel.below{
  min-height:360px;
  overflow:visible;
}
#settings .settings-pane.active:not(#logPane) > .panel.below{
  overflow:visible;
}
#settings .settings-pane.active:not(#logPane) > .panel.below > .list{
  max-height:none;
  overflow:visible;
  padding-right:0;
}
#settings .settings-pane.active .list{
  display:grid;
  gap:8px;
}

#settings .settings-pane.active .list .item{
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "title actions"
    "sub actions"
    "meta actions";
  align-items:center;
  gap:4px 12px;
  min-height:64px;
  padding:12px 14px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fbfdff;
  box-shadow:none;
}

#settings .settings-pane.active .list .item:hover{
  border-color:#b7d4ed;
  background:#f7fbff;
}

#settings .settings-pane.active .list .item strong{
  grid-area:title;
  color:#071d35;
  font-size:16px;
}

#settings .settings-pane.active .list .item span:nth-of-type(1){
  grid-area:sub;
  color:#31516f;
  font-weight:900;
}

#settings .settings-pane.active .list .item span:nth-of-type(2){
  grid-area:meta;
  color:#60748c;
  font-size:13px;
}

#settings .settings-pane.active .list .item .actions{
  grid-area:actions;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  margin:0;
}

#settings .settings-pane.active .list .item .text-btn{
  min-height:28px;
  padding:0 9px;
  border:1px solid #d5e4f1;
  border-radius:7px;
  background:#fff;
}

#settings .settings-pane.active .list .item .text-btn:hover{
  border-color:#9cc7eb;
  background:#eef7ff;
}

#settings .settings-pane.active .list .item .text-btn.danger{
  border-color:#f0c9ce;
  background:#fff8f8;
}

.location-list .item{
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "name actions"
    "sub actions"
    "meta actions";
  align-items:center;
  gap:3px 10px;
  min-width:0;
  padding:10px 12px;
}
.location-list .item strong{
  grid-area:name;
  min-width:0;
  overflow-wrap:anywhere;
}
.location-list .item span:nth-of-type(1){
  grid-area:sub;
}
.location-list .item span:nth-of-type(2){
  grid-area:meta;
}
.location-list .item .actions{
  grid-area:actions;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  margin-top:0;
  min-width:44px;
}
.location-list .item .actions .text-btn{
  white-space:nowrap;
  line-height:1.2;
}

#settings .model-list-head,
#settings #logPane .panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}

#settings .model-list-head .search-actions,
#settings #logPane .panel-head input{
  width:min(520px,100%);
}

#settings .model-list-head .search-actions{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(150px,220px);
  gap:8px;
}

#settings #modelPager{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #e4edf5;
}

#settings #logPane.settings-pane.active{
  max-width:none;
}

#settings #logPane.settings-pane.active > .panel{
  padding:18px;
  border-color:#cfe1f0;
}

#settings.view.active{
  padding-top:0;
}

#settings.view.active:has(#dataRebuildPane.active){
  padding-top:18px;
}

#settings.view.active > .settings-tabs{
  margin-bottom:10px;
}

#settings .settings-pane.active:not(#dataRebuildPane){
  margin-top:0;
}

#settings .settings-pane.active:not(#dataRebuildPane) > .form-panel,
#settings .settings-pane.active:not(#dataRebuildPane) > .panel{
  margin-top:0!important;
}

#settings #logPane.settings-pane.active > .panel{
  display:grid;
  gap:14px;
  min-height:calc(100vh - 164px);
  padding:16px;
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,251,255,.98)),
    radial-gradient(circle at 100% 0%,rgba(29,140,240,.08),transparent 36%);
  box-shadow:0 14px 32px rgba(22,42,70,.06);
}

#settings #logPane .panel-head{
  margin:0;
  padding:0 0 12px;
  border-bottom:1px solid #e2ecf5;
}

#settings #logPane .panel-head input{
  min-height:36px;
  border-radius:8px;
  background:#fff;
}

#settings #operationLogList.log-workbench,
#settings #operationLogList{
  display:grid;
  gap:14px;
}

.log-summary-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.log-summary-card{
  display:grid;
  gap:5px;
  min-width:0;
  padding:13px 14px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
  box-shadow:0 6px 16px rgba(22,42,70,.04);
}

.log-summary-card span{
  color:#5c7189;
  font-size:12px;
  font-weight:900;
}

.log-summary-card strong{
  min-width:0;
  color:#071d35;
  font-size:24px;
  line-height:1.05;
  overflow-wrap:anywhere;
}

.log-summary-card em{
  color:#6b7f95;
  font-size:12px;
  font-style:normal;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.log-summary-card.wide strong{
  font-size:17px;
  line-height:1.25;
}

.log-timeline{
  display:grid;
  gap:9px;
  max-height:calc(100vh - 340px);
  min-height:260px;
  overflow:auto;
  padding-right:4px;
}

.log-entry{
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  gap:12px;
  padding:12px 14px 12px 12px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
  box-shadow:0 4px 12px rgba(22,42,70,.035);
}

.log-entry:hover{
  border-color:#b7d4ed;
  background:#f8fbff;
}

.log-entry-mark{
  width:10px;
  height:100%;
  min-height:58px;
  border-radius:999px;
  background:#8aa1b8;
}

.log-entry.ok .log-entry-mark{
  background:#0d8f70;
}

.log-entry.info .log-entry-mark{
  background:#1d8cf0;
}

.log-entry.danger .log-entry-mark{
  background:#c94848;
}

.log-entry-main{
  display:grid;
  gap:7px;
  min-width:0;
}

.log-entry-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.log-entry-top strong{
  min-width:0;
  color:#071d35;
  font-size:16px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.log-entry-top time{
  flex:0 0 auto;
  color:#526b84;
  font-size:12px;
  font-weight:900;
  line-height:1.4;
  white-space:nowrap;
}

.log-entry-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.log-entry-meta span{
  min-height:24px;
  padding:4px 8px;
  border:1px solid #dbe7f2;
  border-radius:999px;
  background:#f6faff;
  color:#31516f;
  font-size:12px;
  font-weight:900;
  overflow-wrap:anywhere;
}

.log-entry p{
  margin:0;
  color:#5d7187;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.log-empty{
  display:grid;
  place-items:center;
  min-height:220px;
  border:1px dashed #cddceb;
  border-radius:8px;
  background:#fbfdff;
  color:#60748c;
  font-weight:900;
}

@media (max-width:1380px){
  #returnForm,
  #repairForm,
  #expenseForm,
  #settings .settings-pane.active{
    grid-template-columns:1fr;
  }
  #returnForm::after,
  #repairForm::after,
  #expenseForm::after{
    display:none;
  }
  #settings .settings-pane.active > .form-panel,
  #settings .settings-pane.active > .panel.below{
    grid-column:1;
  }
}

@media (min-width:1381px){
  #settings .settings-pane.active{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
}

@media (max-width:760px){
  .settings-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
  }

  .settings-tab{
    flex:0 0 auto;
  }

  #settings .model-list-head,
  #settings #logPane .panel-head{
    align-items:stretch;
    flex-direction:column;
  }

  .log-summary-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .log-timeline{
    max-height:none;
  }

  #settings .model-list-head .search-actions{
    grid-template-columns:1fr;
  }

  #settings .settings-pane:not(#logPane) .form-panel > .row{
    grid-template-columns:1fr;
  }

  #settings .settings-pane.active .list .item{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "sub"
      "meta"
      "actions";
  }

  #settings .settings-pane.active .list .item .actions{
    justify-content:flex-start;
  }

  .log-entry-top{
    display:grid;
    gap:4px;
  }

  .log-entry-top time{
    white-space:normal;
  }
}

@media (max-width:900px){
  #saleForm > button[type="submit"],
  #rentalForm > button[type="submit"],
  #returnForm > button[type="submit"],
  #exchangeForm > button[type="submit"],
  #repairForm > button[type="submit"],
  #internalUseForm > button[type="submit"],
  #expenseForm > button[type="submit"]{
    justify-self:stretch;
    width:100%;
  }
}

/* responsive hardening v6 */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
.app,
.main,
.view,
.sub-page,
.panel,
.form-panel,
.inner-panel,
.module-companion,
.table-wrap,
.list,
.item{
  min-width:0;
}
.main{
  overflow-x:hidden;
}
.panel-head{
  flex-wrap:wrap;
}
.panel-head .actions,
.panel-head .search-actions{
  min-width:0;
}
.search-actions input,
.panel-head input{
  min-width:min(260px,100%);
}
.view.active.module-layout{
  grid-template-columns:minmax(0,1fr) clamp(300px,20vw,380px);
}
.module-companion{
  max-width:100%;
}
.filter-grid{
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
}
#saleForm .filter-grid,
#rentalForm .filter-grid,
#exchangeForm .filter-grid,
#internalUseForm .filter-grid{
  grid-template-columns:repeat(auto-fit,minmax(138px,1fr));
}
.compact-list .item,
.inventory-summary .item,
.stat-list .item{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;
}
.item strong,
.item span,
td,
th{
  overflow-wrap:anywhere;
}
.modal-box{
  width:min(920px,calc(100vw - 32px));
}
.detail-grid,
.permission-children{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}

@media (min-width:1800px){
  .view{
    padding:24px 34px 28px;
  }
  .view.active.module-layout{
    grid-template-columns:minmax(0,1fr) 360px;
    gap:22px;
  }
  .module-companion{
    padding:16px;
  }
}
@media (max-width:1280px){
  .dashboard-filter{
    grid-template-columns:1fr;
  }
  .dashboard-filter-fields{
    grid-template-columns:1fr 1fr auto;
  }
  .dashboard-hero,
  .dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .metric-grid,
  .metric-grid.compact{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .view.active.module-layout{
    grid-template-columns:1fr;
  }
  .view.module-layout > .module-companion{
    grid-column:1;
    grid-row:auto;
    position:static;
    min-height:0;
  }
  .module-companion{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .compact-list .item,
  .inventory-summary .item,
  .stat-list .item{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .dashboard-detail-card{
    grid-template-columns:1fr;
  }
  .dashboard-detail-card-actions{
    justify-items:start;
  }
}
@media (max-width:980px){
  .app{
    grid-template-columns:1fr;
  }
  .sidebar{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    padding:10px;
  }
  .side-brand{
    grid-column:1/-1;
    margin:0 0 4px;
  }
  .menu-flyout{
    left:10px;
    right:10px;
    min-width:0;
  }
  .view{
    padding:16px;
  }
  .workspace-tabs{
    padding:0 16px;
  }
  .dashboard-hero,
  .dashboard-grid,
  .metric-grid,
  .metric-grid.compact,
  .module-companion,
  .grid.two{
    grid-template-columns:1fr;
  }
  .dashboard-filter-fields{
    grid-template-columns:1fr;
  }
  .dashboard-filter-fields .primary-btn{
    width:100%;
  }
  #saleForm,
  #rentalForm,
  #rentalForm > .rental-head-seven,
  #rentalForm > .rental-tail-four,
  #settings .settings-pane.active,
  #returnForm,
  #repairForm,
  #expenseForm{
    grid-template-columns:1fr;
  }
  #saleForm > .row:nth-of-type(-n+3){
    display:grid;
    grid-template-columns:1fr;
  }
  .row,
  #settings .settings-pane:not(#logPane) .form-panel > .row,
  #finance .form-panel > .row,
  #finance .panel > .row,
  #aftersales .form-panel > .row,
  #internalUseForm > .row{
    grid-template-columns:1fr;
    max-width:none;
  }
}
@media (max-width:640px){
  .login-view{
    padding:14px;
  }
  .login-visual{
    display:none;
  }
  .login-shell{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .sidebar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nav,
  .logout-btn{
    height:36px;
    padding:0 8px;
    font-size:13px;
  }
  .work-tab{
    min-height:30px;
    padding:0 7px;
    font-size:12px;
  }
  .view{
    padding:12px;
  }
  .panel,
  .view:not(#dashboard) .sub-page.active > .form-panel,
  .view:not(#dashboard) .sub-page.active > .panel,
  #settings .settings-pane.active > .form-panel,
  #settings .settings-pane.active > .panel{
    padding:12px;
  }
  .filter-grid,
  #saleForm .filter-grid,
  #rentalForm .filter-grid,
  #exchangeForm .filter-grid,
  #internalUseForm .filter-grid,
  .compact-list .item,
  .inventory-summary .item,
  .stat-list .item{
    grid-template-columns:1fr;
  }
  .line-row,
  .line-row.accessory,
  .line-row.sale-line,
  #purchaseCreatePage .line-row.purchase-device,
  #purchaseCreatePage .line-row.purchase-accessory{
    grid-template-columns:1fr;
  }
  .modal{
    padding:12px;
  }
  .modal-box{
    width:100%;
    max-height:90vh;
    padding:12px;
  }
  .dashboard-detail-audit{
    grid-template-columns:1fr;
  }
  .dashboard-detail-audit small{
    text-align:left;
  }
  .dashboard-detail-hero strong{
    font-size:20px;
  }
  .dashboard-detail-card-metrics{
    grid-template-columns:1fr;
  }
}

/* sale detail responsive grid */
.line-row.sale-line{
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:7px;
  row-gap:8px;
  align-items:end;
}
.line-row.sale-line label:nth-of-type(2),
.line-row.sale-line label:nth-of-type(3){grid-column:2 / 6}
.line-row.sale-line label:nth-of-type(4){grid-column:6 / 9}
.line-row.sale-line label:nth-of-type(5){grid-column:9}
.line-row.sale-line label:nth-of-type(6){grid-column:10}
.line-row.sale-line label:nth-of-type(7){grid-column:11}
.line-row.sale-line label:nth-of-type(8){grid-column:12 / 13}
.line-row.sale-line label:nth-of-type(9),
.line-row.sale-line label:nth-of-type(10),
.line-row.sale-line label:nth-of-type(11){
  grid-row:2;
}
.line-row.sale-line label:nth-of-type(9){grid-column:1 / 2}
.line-row.sale-line label:nth-of-type(10){grid-column:2 / 3}
.line-row.sale-line label:nth-of-type(11){grid-column:3 / 4}
.line-row.sale-line .line-commission,
.line-row.sale-line .line-shipping,
.line-row.sale-line .line-accessory-fee{
  grid-row:2;
  width:100%;
  min-height:26px;
  padding:5px 8px;
  text-align:center;
}
.line-row.sale-line .sale-device-config{
  grid-column:4 / 8;
  grid-row:2;
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:26px;
  padding:5px 8px;
  border:1px solid #d8e6f2;
  border-radius:5px;
  background:#f7fbff;
  color:#405775;
  font-size:14px;
  font-weight:900;
  overflow:hidden;
}
.line-row.sale-line .sale-device-config em{
  flex:0 0 auto;
  color:#6b7d93;
  font-style:normal;
}
.line-row.sale-line .sale-device-config span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.line-row.sale-line .line-commission{grid-column:8 / 9}
.line-row.sale-line .line-shipping{grid-column:9 / 10}
.line-row.sale-line .line-accessory-fee{grid-column:10 / 12}
.line-row.sale-line .remove-line{
  grid-column:12 / 13;
  grid-row:2;
  align-self:end;
  width:100%;
  min-width:56px;
}
@media (min-width:1101px) and (max-width:1500px){
  .line-row.sale-line{
    column-gap:6px;
  }
}
@media (min-width:981px) and (max-width:1240px){
  .line-row.sale-line{
    grid-template-columns:repeat(8,minmax(0,1fr));
  }
  .line-row.sale-line label:nth-of-type(1){grid-column:1}
  .line-row.sale-line label:nth-of-type(2),
  .line-row.sale-line label:nth-of-type(3){grid-column:2 / 6}
  .line-row.sale-line label:nth-of-type(4){grid-column:6 / 8}
  .line-row.sale-line label:nth-of-type(5){grid-column:8}
  .line-row.sale-line label:nth-of-type(6){grid-column:1;grid-row:2}
  .line-row.sale-line label:nth-of-type(7){grid-column:2;grid-row:2}
  .line-row.sale-line label:nth-of-type(8){grid-column:3;grid-row:2}
  .line-row.sale-line label:nth-of-type(9){grid-column:1 / 2;grid-row:3}
  .line-row.sale-line label:nth-of-type(10){grid-column:2 / 3;grid-row:3}
  .line-row.sale-line label:nth-of-type(11){grid-column:3 / 4;grid-row:3}
  .line-row.sale-line .sale-device-config{grid-column:4 / 6;grid-row:3}
  .line-row.sale-line .line-commission{grid-column:6 / 8;grid-row:3}
  .line-row.sale-line .line-shipping{grid-column:5 / 6;grid-row:2}
  .line-row.sale-line .line-accessory-fee{grid-column:6 / 8;grid-row:2}
  .line-row.sale-line .remove-line{grid-column:8 / 9;grid-row:2}
}
@media (max-width:980px){
  .sale-head-row,
  .line-row.sale-line{
    grid-template-columns:1fr 1fr;
  }
  .line-row.sale-line label:nth-of-type(n){
    grid-column:auto;
    grid-row:auto;
    width:auto;
  }
  .line-row.sale-line .line-commission,
  .line-row.sale-line .line-shipping,
  .line-row.sale-line .line-accessory-fee,
  .line-row.sale-line .sale-device-config,
  .line-row.sale-line .remove-line{
    grid-column:auto;
    grid-row:auto;
  }
}
@media (max-width:640px){
  .sale-head-row,
  .line-row.sale-line{
    grid-template-columns:1fr;
  }
}

/* targeted polish 2026-07-05: keep light forms compact and readable */
#rentalCommissionTip{
  display:none !important;
}

/* targeted fix 2026-07-05: shop form and sale header field balance */
#shopForm{
  overflow:hidden;
}
#shopForm > .row{
  grid-template-columns:minmax(0,1.1fr) minmax(0,.78fr) minmax(0,.72fr) !important;
  max-width:none !important;
  width:100%;
}
#shopForm > .row label,
#shopForm > .row input,
#shopForm > .row select{
  min-width:0;
  width:100%;
}
#saleForm > .row:first-of-type label:nth-child(2){
  grid-column:span 2;
}
#saleForm > .row:nth-of-type(-n+3) label{
  min-width:0;
}
#saleForm > .row:nth-of-type(-n+3) input,
#saleForm > .row:nth-of-type(-n+3) select{
  width:100%;
}
#saleForm{
  min-height:360px;
}
@media (max-width:1400px){
  #saleForm > .row:first-of-type label:nth-child(2){
    grid-column:auto;
  }
}

#returnForm,
#repairForm,
#expenseForm{
  grid-template-columns:minmax(0,720px) !important;
  min-height:auto !important;
  align-content:start;
}

#returnForm > *,
#repairForm > *,
#expenseForm > *{
  grid-column:1 !important;
}

#returnForm::after,
#repairForm::after,
#expenseForm::after{
  display:none !important;
  content:none !important;
}

#returnForm > button[type="submit"],
#repairForm > button[type="submit"],
#expenseForm > button[type="submit"]{
  width:min(100%,360px);
  justify-self:start;
}

#returnForm .panel-head,
#repairForm .panel-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
}

#returnForm .panel-head h2,
#repairForm .panel-head h2{
  grid-column:1 / -1;
}

#returnForm label,
#repairForm label,
#expenseForm label{
  max-width:720px;
}

#modelForm{
  overflow:hidden;
  min-width:0;
}

#modelForm > label,
#modelForm .check-line,
#modelForm .actions{
  max-width:100%;
}

#modelForm .row{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:100% !important;
}

#modelForm .row label,
#modelForm input{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

@media (max-width:1280px){
  #modelForm .row{
    grid-template-columns:1fr !important;
  }
}

/* rental form compact date row */
#rentalForm > .rental-head-seven{
  grid-template-columns:repeat(5,minmax(118px,1fr)) !important;
}

#rentalForm > .rental-tail-four{
  grid-template-columns:160px 160px 130px 140px minmax(180px,260px) !important;
  justify-content:start;
  align-items:end;
}

#rentalForm > .rental-tail-four label{
  min-width:0;
}

#rentalForm > .rental-tail-four input{
  width:100%;
  box-sizing:border-box;
}

@media (max-width:1280px){
  #rentalForm > .rental-head-seven,
  #rentalForm > .rental-tail-four{
    grid-template-columns:repeat(2,minmax(140px,1fr)) !important;
  }
}

@media (max-width:640px){
  #rentalForm > .rental-head-seven,
  #rentalForm > .rental-tail-four{
    grid-template-columns:1fr !important;
  }
}

/* return search block */
#returnForm .return-query-block,
#repairForm .repair-query-block{
  display:grid;
  grid-template-columns:minmax(0,620px);
  gap:10px;
  align-items:start;
  max-width:720px;
}

#returnForm .return-query-block h2,
#repairForm .repair-query-block h2{
  margin:0 0 2px;
}

#returnForm .return-query-block label,
#repairForm .repair-query-block label{
  max-width:620px;
}

#returnForm .return-query-block button,
#repairForm .repair-query-block button{
  width:128px;
  min-width:0;
  justify-self:start;
  box-shadow:0 10px 22px rgba(15,138,106,.18);
}

#returnSaleSearch,
#repairDeviceSearch{
  max-width:620px;
}

.sale-line-picker{
  display:grid;
  gap:12px;
  max-width:none;
}

.sale-line-picker-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.sale-line-picker-head h2{
  margin:2px 0 0;
  font-size:22px;
}

.sale-line-picker-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
}

.sale-line-choice{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) minmax(130px,auto);
  align-items:center;
  gap:14px;
  min-height:74px;
  padding:14px 16px;
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  cursor:pointer;
}

.sale-line-choice > input{
  width:22px !important;
  height:22px !important;
  min-height:22px !important;
  margin:0;
}

.sale-line-choice-main{
  display:grid;
  gap:8px;
  min-width:0;
}

.sale-line-choice-main strong{
  font-size:18px;
  line-height:1.25;
  color:#071d3a;
}

.sale-line-choice-main small{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 8px;
  color:var(--muted);
  font-weight:700;
}

.sale-line-choice-main small span{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 1 auto;
  max-width:100%;
  padding:6px 8px;
  border-radius:6px;
  background:#f4f8fc;
  white-space:nowrap;
}

.sale-line-choice-main small span:first-child{
  max-width:none;
}

.sale-line-choice-main small span:nth-child(2){
  flex-basis:auto;
  max-width:none;
}

.sale-line-choice-main small em,
.sale-line-choice b em{
  color:#607691;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}

.sale-line-choice b{
  display:grid;
  gap:4px;
  color:#0f7d64;
  font-size:18px;
  text-align:right;
  white-space:nowrap;
}

.sale-line-choice.disabled{
  cursor:not-allowed;
  opacity:.56;
  background:#f3f6fa;
}

.file-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:3px 10px;
  border:1px solid #cfe0f2;
  border-radius:7px;
  background:#eef5fb;
  color:#1b324d;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.file-btn input{
  display:none;
}

#repairListPage .repair-list-head{
  align-items:flex-start;
}

#repairListPage .repair-tools{
  justify-content:flex-end;
  max-width:980px;
}

#repairListPage .repair-tools input#repairSearch{
  width:260px;
}

/* dashboard finance board */
.dashboard-ledger{
  display:grid;
  grid-template-columns:minmax(300px,1.25fr) repeat(3,minmax(230px,1fr));
  gap:14px;
  margin-bottom:14px;
}

.dashboard-ledger .hero-card{
  min-height:176px;
  padding:18px;
  border-top:3px solid #119b85;
}

.dashboard-ledger .hero-card.main{
  border-color:#0f8a6a;
  background:linear-gradient(135deg,#123d67 0%,#0e9a7a 100%);
}

.dashboard-ledger .hero-card > span{
  font-size:15px;
}

.dashboard-ledger .hero-card > strong{
  font-size:34px;
}

.dashboard-ledger .ledger-profit > strong{
  font-size:42px;
}

.ledger-lines{
  display:grid;
  gap:7px;
  margin-top:6px;
}

.ledger-lines.mini{
  margin-top:8px;
}

.ledger-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:30px;
  padding:6px 9px;
  border:1px solid #dbe8f5;
  border-radius:7px;
  background:rgba(255,255,255,.78);
  color:#456079;
  font-size:13px;
  font-weight:900;
}

.hero-card.main .ledger-line{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.12);
  color:#e8f5ff;
}

.ledger-line b{
  color:#102137;
  font-size:15px;
  text-align:center;
}

.hero-card.main .ledger-line b{
  color:#fff;
}

.ledger-line.expense b{
  color:#d64545;
}

.hero-card.main .ledger-line.expense b{
  color:#ffe0e0;
}

.dashboard-flow{
  grid-template-columns:repeat(5,minmax(140px,1fr)) !important;
}

.dashboard-flow .metric{
  border-top:3px solid #119b85;
}

#dashboard .dashboard-ledger .hero-card,
#dashboard .dashboard-flow .metric{
  justify-items:start;
  text-align:left;
}

#dashboard .dashboard-ledger .hero-card > span,
#dashboard .dashboard-ledger .hero-card > strong,
#dashboard .dashboard-ledger .hero-card > small,
#dashboard .dashboard-flow .metric span,
#dashboard .dashboard-flow .metric strong{
  text-align:left;
}

#dashboard .ledger-lines{
  width:100%;
  justify-items:stretch;
}

#dashboard .ledger-line{
  justify-content:flex-start;
  text-align:left;
}

#dashboard .ledger-line span,
#dashboard .ledger-line b{
  text-align:left;
}

@media (max-width:1500px){
  .dashboard-ledger{
    grid-template-columns:repeat(2,minmax(260px,1fr));
  }
}

@media (max-width:900px){
  .dashboard-ledger,
  .dashboard-flow{
    grid-template-columns:1fr !important;
  }
}

/* report export pages */
#salesReportPage .panel-head,
#rentalReportPage .panel-head{
  align-items:flex-start;
}

#salesReportPage .panel-head .search-actions,
#rentalReportPage .panel-head .search-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

.report-filter-row{
  grid-template-columns:repeat(5,minmax(112px,1fr)) !important;
  max-width:none;
}

#salesReportPage .finance-filter-grid,
#rentalReportPage .finance-filter-grid{
  grid-template-columns:repeat(5,minmax(112px,1fr));
}

#salesReportPage .finance-filter-grid label,
#rentalReportPage .finance-filter-grid label{
  min-width:0;
}

.report-detail-list .item{
  grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(320px,1.8fr);
  align-items:center;
}

.report-detail-list + .list-pager{
  margin-top:12px;
}

@media (max-width:1280px){
  .report-filter-row{
    grid-template-columns:repeat(2,minmax(140px,1fr)) !important;
    max-width:none;
  }
  .report-detail-list .item{
    grid-template-columns:1fr;
  }
}

/* sidebar inline accordion menu */
.sidebar{
  overflow-y:auto;
  overflow-x:hidden;
}

.sidebar .nav{
  justify-content:flex-start !important;
  text-align:left !important;
  padding:0 38px 0 22px !important;
  margin:3px 12px !important;
  min-height:42px;
  border-radius:9px;
  font-size:15px;
}

.sidebar .nav.active{
  box-shadow:0 10px 24px rgba(15,136,106,.2);
}

.sidebar .nav::before{
  display:none;
}

.sidebar .nav::after{
  display:none;
}

.sidebar .nav.has-children::after{
  content:"";
  display:block;
  position:absolute;
  right:18px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid rgba(222,234,248,.88);
  border-bottom:2px solid rgba(222,234,248,.88);
  background:transparent !important;
  border-radius:0;
  transform:translateY(-65%) rotate(45deg);
  box-shadow:none;
}

.sidebar .nav.has-children.expanded::after{
  transform:translateY(-25%) rotate(225deg);
  border-color:#fff;
}

.nav-children{
  display:none;
  margin:0 10px 6px 18px;
  padding:4px 0 6px 8px;
  border-left:1px solid rgba(217,231,246,.18);
}

.nav-children.open{
  display:grid;
  gap:2px;
}

.nav-child-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px;
  align-items:center;
  gap:4px;
}

.nav-child-row.no-add{
  grid-template-columns:minmax(0,1fr);
}

.nav-child{
  width:100%;
  min-width:0;
  min-height:34px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#c9d7e8;
  text-align:left;
  padding:0 7px;
  font-size:13px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}

.nav-child-add{
  display:grid;
  place-items:center;
  width:22px;
  min-width:22px;
  height:22px;
  min-height:22px;
  border:1px solid rgba(217,231,246,.24);
  border-radius:6px;
  background:rgba(255,255,255,.06);
  color:#d9e8f8;
  padding:0;
  font-size:15px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.nav-child:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.nav-child-add:hover{
  background:#20b6a6;
  border-color:#20b6a6;
  color:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}

.nav-child.active{
  background:rgba(31,145,239,.18);
  color:#fff;
  box-shadow:inset 3px 0 0 #39c4ff;
}

@media (max-width:760px){
  .nav-children{
    grid-column:1/-1;
    margin:0 8px 8px 18px;
  }
}

/* after-sales form width unification */
#returnForm,
#repairForm{
  grid-template-columns:minmax(0,560px) !important;
}

#returnForm > label,
#repairForm > label,
#returnForm .return-query-block label,
#repairForm .repair-query-block label{
  width:520px !important;
  max-width:520px !important;
}

#returnForm > label input,
#returnForm > label select,
#repairForm > label input,
#repairForm > label select,
#returnForm .return-query-block input,
#repairForm .repair-query-block input{
  width:100%;
  max-width:none !important;
  box-sizing:border-box;
}

#returnForm .return-query-block,
#repairForm .repair-query-block{
  grid-template-columns:520px !important;
  max-width:520px !important;
}

#returnSaleSearch,
#repairDeviceSearch{
  width:100% !important;
  max-width:none !important;
}

#returnForm .return-query-block button,
#repairForm .repair-query-block button{
  width:160px;
}

#returnForm > button[type="submit"],
#repairForm > button[type="submit"]{
  width:360px;
}

#repairForm > .row{
  grid-template-columns:repeat(2,250px) !important;
  max-width:520px !important;
}

#repairForm > .row label,
#repairForm > .row input{
  width:100%;
  max-width:100% !important;
  box-sizing:border-box;
}

#exchangeForm > .row{
  grid-template-columns:repeat(2,320px) !important;
  max-width:660px !important;
}

#exchangeForm > .row label,
#exchangeForm > .row input{
  width:100%;
  max-width:100% !important;
  box-sizing:border-box;
}

#exchangeForm .inner-panel > input,
#exchangeForm .inner-panel > label{
  width:760px;
  max-width:100% !important;
}

#exchangeForm .inner-panel > label input{
  width:100%;
  box-sizing:border-box;
}

@media (max-width:900px){
  #returnForm,
  #repairForm,
  #exchangeForm > .row,
  #repairForm > .row,
  #returnForm .return-query-block,
  #repairForm .repair-query-block{
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }

  #returnForm > label,
  #repairForm > label,
  #returnForm .return-query-block label,
  #repairForm .repair-query-block label,
  #exchangeForm .inner-panel > input,
  #exchangeForm .inner-panel > label{
    width:100% !important;
    max-width:100% !important;
  }
}

/* after-sales return workspace: full-width vertical flow */
#returnForm{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  row-gap:14px;
  column-gap:14px;
  align-items:start;
  align-content:start;
  max-width:none !important;
  width:100%;
}

#returnForm > h2{
  grid-column:1 / -1 !important;
}

#returnForm .return-query-block{
  grid-column:1 / -1 !important;
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px !important;
  gap:12px;
  align-items:end;
  width:100% !important;
  max-width:none !important;
  padding:14px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#f8fbff;
}

#returnForm .return-query-block h2{
  grid-column:1 / -1;
}

#returnForm .return-query-block label,
#returnForm .return-query-block input{
  width:100% !important;
  max-width:none !important;
}

#returnForm .return-query-block button{
  align-self:end;
  width:100% !important;
  min-height:34px;
}

#returnSaleResults{
  grid-column:1 / -1 !important;
  width:100%;
  max-width:none;
}

#returnForm > label{
  grid-column:1 !important;
  grid-row:auto !important;
  width:100% !important;
  max-width:none !important;
}

#returnForm > label:nth-of-type(1){
  grid-column:1 / -1 !important;
  padding:12px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
}

#returnSaleLinePicker{
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  width:100%;
  max-width:none;
}

#returnForm .sale-line-picker{
  max-width:none;
}

#returnForm .sale-line-choice{
  grid-template-columns:30px minmax(0,1fr) minmax(130px,auto);
  width:100% !important;
  max-width:none !important;
}

#returnForm > label:nth-of-type(2){
  grid-column:1 !important;
  width:100% !important;
}

#returnForm > label:nth-of-type(3){
  grid-column:2 !important;
  width:100% !important;
}

#returnForm > button[type="submit"]{
  grid-column:1 / -1 !important;
  width:100% !important;
  justify-self:stretch;
  min-height:40px;
}

@media (max-width:640px){
  #returnForm{
    grid-template-columns:1fr !important;
  }

  #returnForm .return-query-block{
    grid-template-columns:1fr !important;
  }

  #returnForm > label:nth-of-type(2),
  #returnForm > label:nth-of-type(3){
    grid-column:1 !important;
  }

  .sale-line-choice{
    grid-template-columns:28px minmax(0,1fr);
  }

  .sale-line-choice b{
    grid-column:2;
    text-align:left;
  }

  .sale-line-choice-main small{
    grid-template-columns:1fr;
  }
}

/* exchange form follows the same full-width vertical workflow as returns */
#exchangeForm{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:14px;
  align-items:start;
  align-content:start;
  max-width:none !important;
  width:100%;
}

#exchangeForm > h2,
#exchangeForm > .inner-panel,
#exchangeForm > button[type="submit"]{
  grid-column:1 / -1 !important;
}

#exchangeForm > .row{
  grid-column:1 / -1 !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  max-width:none !important;
  width:100%;
}

#exchangeForm > .row label,
#exchangeForm > .row input{
  width:100% !important;
  max-width:none !important;
}

#exchangeForm .inner-panel{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  width:100%;
  max-width:none;
}

#exchangeForm .inner-panel > input,
#exchangeForm .inner-panel > label{
  width:100% !important;
  max-width:none !important;
}

#exchangeForm .panel-head{
  align-items:end;
}

#exchangeOldResults,
#exchangeNewResults{
  width:100%;
  max-width:none;
}

#exchangeOldLinePicker{
  width:100%;
  max-width:none;
}

#exchangeForm .filter-grid{
  grid-template-columns:repeat(5,minmax(120px,1fr)) !important;
  gap:10px;
  width:100%;
  max-width:none;
}

#exchangeNewResults .item{
  grid-template-columns:minmax(260px,1.2fr) minmax(280px,1.35fr) minmax(220px,1fr) auto;
  padding:14px 16px;
}

#exchangeForm > button[type="submit"]{
  width:100% !important;
  justify-self:stretch;
  min-height:40px;
}

@media (max-width:980px){
  #exchangeForm,
  #exchangeForm > .row{
    grid-template-columns:1fr !important;
  }

  #exchangeForm .filter-grid,
  #exchangeNewResults .item{
    grid-template-columns:1fr !important;
  }
}

/* Lock the ERP shell on ultra-wide monitors so pages stay readable. */
#app.app{
  width:100%;
  max-width:2160px;
  margin:0 auto;
}

/* accessory inventory polish */
#inventory .panel-head{
  align-items:center;
  margin-bottom:8px;
}

#inventory .panel-head .actions{
  align-self:flex-start;
}

#inventory .filter-grid{
  grid-template-columns:repeat(6,minmax(88px,1fr));
  align-items:end;
  gap:8px;
  margin-bottom:0;
}

#accessoryInventoryPage .panel{
  padding-bottom:14px;
}

#accessoryInventoryPage .table-wrap{
  overflow-x:hidden;
}

#accessoryInventoryPage table{
  min-width:0;
  table-layout:fixed;
}

#accessoryInventoryPage th,
#accessoryInventoryPage td{
  padding:9px 10px;
  white-space:normal;
  word-break:break-word;
}

#accessoryInventoryPage th:nth-child(1),
#accessoryInventoryPage td:nth-child(1){width:22%;}
#accessoryInventoryPage th:nth-child(2),
#accessoryInventoryPage td:nth-child(2){width:14%;}
#accessoryInventoryPage th:nth-child(3),
#accessoryInventoryPage td:nth-child(3){width:12%;}
#accessoryInventoryPage th:nth-child(4),
#accessoryInventoryPage td:nth-child(4){width:15%;}
#accessoryInventoryPage th:nth-child(5),
#accessoryInventoryPage td:nth-child(5){width:19%;}
#accessoryInventoryPage th:nth-child(6),
#accessoryInventoryPage td:nth-child(6){width:18%;}

@media (max-width:1180px){
  #inventory .filter-grid{
    grid-template-columns:repeat(3,minmax(120px,1fr));
  }
}

@media (max-width:760px){
  #inventory .filter-grid{
    grid-template-columns:1fr;
  }
}

/* stocktake */
#stocktakeCreatePage .stocktake-entry{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start;
}

#stocktakeCreatePage .purchase-title,
#stocktakeCreatePage .stocktake-meta,
#stocktakeCreatePage .stocktake-board,
#stocktakeCreatePage .purchase-submit{
  grid-column:1!important;
}

#stocktake .purchase-shell{
  align-items:start;
}

#stocktake .purchase-main{
  min-width:0;
}

.stocktake-meta{
  display:grid;
  grid-template-columns:190px 190px minmax(180px,1fr) auto;
  gap:8px;
  padding:12px 14px;
  align-items:end;
}

.stocktake-meta label,
.stocktake-board label{
  margin:0;
}

.stocktake-meta .small{
  min-width:68px;
  height:36px;
}

.stocktake-board{
  padding:14px;
  width:100%;
  min-width:0;
}

.stocktake-summary{
  margin:4px 0 10px;
  font-weight:800;
  font-size:13px;
}

.stocktake-select-all{
  width:max-content !important;
  display:flex !important;
  align-items:center;
  gap:8px;
  margin:0 0 10px !important;
  padding:7px 10px;
  border:1px solid #d6e4f2;
  border-radius:9px;
  background:#f8fbff;
  color:#0f2136;
  font-size:13px;
  font-weight:800;
}

.stocktake-select-all input{
  width:16px;
  height:16px;
  accent-color:#0d8f70;
}

.stocktake-list{
  display:grid;
  gap:7px;
  max-height:560px;
  overflow-y:auto;
  overflow-x:hidden;
}

.stocktake-device{
  display:grid;
  grid-template-columns:82px minmax(170px,.9fr) minmax(0,1fr) minmax(130px,.55fr);
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #d6e4f2;
  border-radius:9px;
  background:#fff;
  min-width:0;
}

.stocktake-device > *{
  min-width:0;
}

.stocktake-device strong{
  color:#0f2136;
  font-size:14px;
  line-height:1.25;
  word-break:break-word;
}

.stocktake-device span{
  color:#5f728a;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  word-break:break-word;
}

.stocktake-check{
  width:auto !important;
  display:flex !important;
  align-items:center;
  gap:6px;
  color:#6b7d93;
  font-size:12px;
}

.stocktake-device.is-checked .stocktake-check{
  color:#0d8f70;
}

.transfer-board{
  margin-top:12px;
}

.transfer-list{
  max-height:520px;
}

.transfer-device{
  grid-template-columns:88px minmax(180px,.9fr) minmax(220px,1fr) minmax(180px,.7fr);
}

.transfer-filter-grid{
  grid-template-columns:repeat(4,minmax(150px,1fr));
  padding-right:170px;
}

#transferSearchBtn{
  min-width:120px;
  min-height:38px;
  padding:8px 20px;
  font-size:14px;
  border-radius:7px;
}

.transfer-footer{
  display:grid;
  grid-template-columns:minmax(180px,280px) minmax(280px,1fr) minmax(240px,330px);
  gap:12px;
  align-items:end;
  margin-top:14px;
}

.transfer-footer .transfer-to-warehouse{
  grid-column:1 / 2;
}

.transfer-footer label:not(.transfer-to-warehouse){
  grid-column:2 / 3;
}

.transfer-footer button[type="submit"]{
  grid-column:3 / 4;
  width:100%;
}

.movement-timeline{
  position:relative;
  display:grid;
  gap:10px;
  padding-left:12px;
}

.movement-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:4px 0 12px;
}

.movement-search{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 88px;
  gap:8px;
  width:min(520px,100%);
}

.movement-search input{
  width:100%;
}

.sales-search{
  display:grid;
  grid-template-columns:minmax(280px,1fr) 88px;
  gap:8px;
  width:min(520px,100%);
}

.sales-search input{
  width:100%;
}

.sales-order-list{
  display:grid;
  gap:10px;
}

.sales-order-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,320px) 80px;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
}

.sales-order-main{
  display:grid;
  gap:9px;
  min-width:0;
}

.sales-order-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.sales-order-title strong{
  color:#071d3a;
  font-size:18px;
  line-height:1.3;
  word-break:break-word;
}

.sales-order-title span{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  background:#def5ec;
  color:#08755d;
  font-size:12px;
  font-weight:900;
}

.sales-order-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.sales-order-tags span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:6px 8px;
  border-radius:6px;
  background:#f4f8fc;
  color:#405775;
  font-size:12px;
  font-weight:900;
  line-height:1.3;
}

.sales-order-tags em{
  color:#6b7d93;
  font-style:normal;
  font-weight:800;
}

.sales-order-items{
  display:flex;
  align-items:center;
  gap:6px;
  color:#405775;
  font-size:13px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.sales-order-items em{
  flex:0 0 auto;
  color:#6b7d93;
  font-style:normal;
  font-weight:900;
}

.sales-order-specs{
  color:#071d3a;
}

.sales-order-money{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}

.sales-order-money div{
  display:grid;
  gap:4px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#f8fbff;
}

.sales-order-money span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.sales-order-money strong{
  color:#071d3a;
  font-size:15px;
  word-break:break-word;
}

.sales-order-money .is-profit strong{color:#078261}
.sales-order-money .is-loss strong{color:#d12f3f}
.sales-order-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.return-query-panel{
  display:grid;
  gap:14px;
  overflow:hidden;
}

#aftersales:has(#returnListPage.active){
  grid-template-columns:minmax(0,1fr);
}

#aftersales:has(#returnListPage.active) > .module-companion{
  display:none;
}

.return-search{
  display:grid;
  grid-template-columns:minmax(360px,1fr) 88px 88px;
  gap:8px;
  width:min(860px,100%);
}

.return-search input{
  width:100%;
}

.return-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}

.return-summary article{
  display:grid;
  gap:5px;
  min-height:92px;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 10px 24px rgba(22,42,70,.06);
}

.return-summary span,
.return-summary em{
  color:var(--muted);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.return-summary strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.2;
  word-break:break-word;
}

.return-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  padding:12px;
  border:1px solid #dce7f2;
  border-radius:8px;
  background:#fbfdff;
}

.return-filter-grid label{
  display:grid;
  gap:6px;
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.return-filter-grid input,
.return-filter-grid select{
  width:100%;
  background:#fff;
}

.return-results{
  min-width:0;
}

.return-workspace{
  display:grid;
  grid-template-columns:minmax(320px,390px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.return-order-list{
  display:grid;
  gap:10px;
  max-height:calc(100vh - 350px);
  min-height:430px;
  overflow:auto;
  padding-right:4px;
}

.return-order-card{
  display:grid;
  gap:8px;
  width:100%;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  color:#071d3a;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(22,42,70,.04);
}

.return-order-card:hover,
.return-order-card.active{
  border-color:#0f8d72;
  box-shadow:0 12px 26px rgba(15,141,114,.14);
}

.return-order-card.active{
  background:linear-gradient(180deg,#f6fffb,#fff);
}

.return-order-top,
.return-order-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.return-order-top strong{
  min-width:0;
  font-size:15px;
  line-height:1.35;
  word-break:break-word;
}

.return-order-top em,
.return-order-bottom em{
  flex:0 0 auto;
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.return-order-mid,
.return-order-items{
  color:#405775;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}

.return-order-items{
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.return-order-bottom strong{
  color:#d12f3f;
  font-size:16px;
}

.return-detail-card{
  display:grid;
  gap:14px;
  min-width:0;
  padding:16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(22,42,70,.06);
}

.return-detail-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #e4edf6;
}

.return-detail-head div:first-child{
  display:grid;
  gap:5px;
}

.return-detail-head span,
.return-detail-head em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.return-detail-head strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.25;
  word-break:break-word;
}

.return-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px;
}

.return-detail-grid span,
.return-money-strip span{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
  color:#071d3a;
  font-weight:900;
  word-break:break-word;
}

.return-detail-grid em,
.return-money-strip em,
.return-goods-summary em,
.return-note em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.return-money-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:10px;
}

.return-money-strip strong{
  font-size:18px;
  line-height:1.2;
}

.return-money-strip .is-profit{color:#078261}
.return-money-strip .is-loss,
.return-money-strip .is-refund{color:#d12f3f}

.return-goods-summary,
.return-note{
  display:grid;
  gap:6px;
  padding:12px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#fffdf7;
  color:#405775;
  font-weight:900;
  line-height:1.55;
}

.return-table table{
  min-width:820px;
}

.return-table td{
  max-width:260px;
}

.return-table td strong,
.return-table td span{
  display:block;
}

.return-table td span{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.return-table .money-cell{
  color:#d12f3f;
  font-weight:900;
  white-space:nowrap;
}

.return-empty{
  padding:32px;
  border:1px dashed #cbd9e8;
  border-radius:8px;
  background:#fbfdff;
  color:var(--muted);
  font-weight:900;
  text-align:center;
}

.exchange-query-panel{
  display:grid;
  gap:14px;
  overflow:hidden;
}

#aftersales:has(#exchangeListPage.active){
  grid-template-columns:minmax(0,1fr);
}

#aftersales:has(#exchangeListPage.active) > .module-companion{
  display:none;
}

.exchange-search{
  display:grid;
  grid-template-columns:minmax(360px,1fr) 88px 88px;
  gap:8px;
  width:min(860px,100%);
}

.exchange-search input{
  width:100%;
}

.exchange-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}

.exchange-summary article{
  display:grid;
  gap:5px;
  min-height:92px;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 10px 24px rgba(22,42,70,.06);
}

.exchange-summary span,
.exchange-summary em{
  color:var(--muted);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.exchange-summary strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.2;
  word-break:break-word;
}

.exchange-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  padding:12px;
  border:1px solid #dce7f2;
  border-radius:8px;
  background:#fbfdff;
}

.exchange-filter-grid label{
  display:grid;
  gap:6px;
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.exchange-filter-grid input,
.exchange-filter-grid select{
  width:100%;
  background:#fff;
}

.exchange-results{
  min-width:0;
}

.exchange-workspace{
  display:grid;
  grid-template-columns:minmax(330px,410px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.exchange-order-list{
  display:grid;
  gap:10px;
  max-height:calc(100vh - 350px);
  min-height:430px;
  overflow:auto;
  padding-right:4px;
}

.exchange-order-card{
  display:grid;
  gap:8px;
  width:100%;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  color:#071d3a;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(22,42,70,.04);
}

.exchange-order-card:hover,
.exchange-order-card.active{
  border-color:#1260b4;
  box-shadow:0 12px 26px rgba(18,96,180,.14);
}

.exchange-order-card.active{
  background:linear-gradient(180deg,#f7fbff,#fff);
}

.exchange-order-top,
.exchange-order-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.exchange-order-top strong{
  min-width:0;
  font-size:15px;
  line-height:1.35;
  word-break:break-word;
}

.exchange-order-top em,
.exchange-order-bottom em{
  flex:0 0 auto;
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.exchange-order-mid,
.exchange-order-items{
  color:#405775;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}

.exchange-order-items{
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.exchange-order-items em{
  display:inline-block;
  margin-right:6px;
  color:#1260b4;
  font-style:normal;
}

.exchange-order-bottom strong{
  color:#1260b4;
  font-size:16px;
}

.exchange-detail-card{
  display:grid;
  gap:14px;
  min-width:0;
  padding:16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(22,42,70,.06);
}

.exchange-detail-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #e4edf6;
}

.exchange-detail-head div:first-child{
  display:grid;
  gap:5px;
}

.exchange-detail-head span,
.exchange-detail-head em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.exchange-detail-head strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.25;
  word-break:break-word;
}

.exchange-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px;
}

.exchange-detail-grid span,
.exchange-money-strip span{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
  color:#071d3a;
  font-weight:900;
  word-break:break-word;
}

.exchange-detail-grid em,
.exchange-money-strip em,
.exchange-device-pair em,
.exchange-note em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.exchange-money-strip,
.exchange-device-pair{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:10px;
}

.exchange-money-strip strong{
  font-size:18px;
  line-height:1.2;
}

.exchange-money-strip .is-profit{color:#078261}
.exchange-money-strip .is-loss{color:#d12f3f}
.exchange-money-strip .is-refund{color:#1260b4}

.exchange-device-pair{
  grid-template-columns:1fr 1fr;
}

.exchange-device-pair section,
.exchange-note{
  display:grid;
  gap:7px;
  padding:12px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#fffdf7;
  color:#405775;
  font-weight:900;
  line-height:1.55;
}

.exchange-device-pair section:last-child{
  background:#f7fbff;
}

.exchange-table table{
  min-width:760px;
}

.exchange-table th:first-child{
  width:120px;
}

.exchange-empty{
  padding:32px;
  border:1px dashed #cbd9e8;
  border-radius:8px;
  background:#fbfdff;
  color:var(--muted);
  font-weight:900;
  text-align:center;
}

.repair-entry-panel,
.repair-query-panel{
  display:grid;
  gap:14px;
  overflow:hidden;
}

#aftersales:has(#repairPage.active),
#aftersales:has(#repairListPage.active){
  grid-template-columns:minmax(0,1fr);
}

#aftersales:has(#repairPage.active) > .module-companion,
#aftersales:has(#repairListPage.active) > .module-companion{
  display:none;
}

.repair-device-search,
.repair-tools{
  display:grid;
  grid-template-columns:minmax(360px,1fr) 88px 88px;
  gap:8px;
  width:min(860px,100%);
}

.repair-tools{
  grid-template-columns:minmax(360px,1fr) 88px 88px 128px;
  width:min(1010px,100%);
}

.repair-device-search input,
.repair-tools input{
  width:100%;
}

.repair-entry-grid{
  display:grid;
  grid-template-columns:minmax(330px,430px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.repair-device-results{
  display:grid;
  gap:10px;
  max-height:calc(100vh - 240px);
  min-height:520px;
  overflow:auto;
  padding-right:4px;
}

.repair-device-card,
.repair-order-card{
  display:grid;
  gap:8px;
  width:100%;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  color:#071d3a;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(22,42,70,.04);
}

.repair-device-card:hover,
.repair-device-card.active,
.repair-order-card:hover,
.repair-order-card.active{
  border-color:#9a5a00;
  box-shadow:0 12px 26px rgba(154,90,0,.14);
}

.repair-device-card.active,
.repair-order-card.active{
  background:linear-gradient(180deg,#fffaf0,#fff);
}

.repair-device-title,
.repair-order-top,
.repair-order-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.repair-device-title strong,
.repair-order-top strong{
  min-width:0;
  font-size:15px;
  line-height:1.35;
  word-break:break-word;
}

.repair-device-title em,
.repair-order-top em,
.repair-order-bottom em{
  flex:0 0 auto;
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.repair-device-card span:not(.repair-device-title),
.repair-order-mid,
.repair-order-items{
  color:#405775;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}

.repair-device-pager{
  position:sticky;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 -8px 18px rgba(22,42,70,.06);
}

.repair-device-pager span{
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.repair-form-card{
  display:grid;
  gap:12px;
  min-width:0;
  padding:16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(22,42,70,.06);
}

#repairForm.repair-entry-panel textarea[name="fault"]{
  min-height:120px !important;
  resize:vertical;
}

#repairForm.repair-entry-panel textarea[name="note"]{
  min-height:150px !important;
  resize:vertical;
}

.repair-selected-device{
  display:grid;
  gap:5px;
  padding:14px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
}

.repair-selected-device span,
.repair-selected-device em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.repair-selected-device strong{
  color:#071d3a;
  font-size:18px;
  line-height:1.3;
}

.repair-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}

.repair-summary article{
  display:grid;
  gap:5px;
  min-height:92px;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 10px 24px rgba(22,42,70,.06);
}

.repair-summary span,
.repair-summary em{
  color:var(--muted);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.repair-summary strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.2;
  word-break:break-word;
}

.repair-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  padding:12px;
  border:1px solid #dce7f2;
  border-radius:8px;
  background:#fbfdff;
}

.repair-filter-grid label{
  display:grid;
  gap:6px;
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.repair-filter-grid input,
.repair-filter-grid select{
  width:100%;
  background:#fff;
}

.repair-workspace{
  display:grid;
  grid-template-columns:minmax(330px,410px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.repair-order-list{
  display:grid;
  gap:10px;
  max-height:calc(100vh - 350px);
  min-height:430px;
  overflow:auto;
  padding-right:4px;
}

.repair-order-bottom strong{
  color:#9a5a00;
  font-size:16px;
}

.repair-detail-card{
  display:grid;
  gap:14px;
  min-width:0;
  padding:16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(22,42,70,.06);
}

.repair-detail-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #e4edf6;
}

.repair-detail-head div:first-child{
  display:grid;
  gap:5px;
}

.repair-detail-head span,
.repair-detail-head em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.repair-detail-head strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.25;
  word-break:break-word;
}

.repair-detail-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
  padding:2px;
}

.repair-detail-actions button{
  min-width:82px;
  min-height:34px;
  border-radius:7px;
  padding:0 14px;
}

.repair-detail-actions .secondary-btn{
  background:#eef5fb;
  border-color:#cfdfee;
  color:#164a7a;
}

.repair-detail-actions .primary-btn{
  box-shadow:0 10px 22px rgba(15,138,106,.18);
}

.repair-detail-grid,
.repair-money-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:10px;
}

.repair-detail-grid span,
.repair-money-strip span{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
  color:#071d3a;
  font-weight:900;
  word-break:break-word;
}

.repair-detail-grid em,
.repair-money-strip em,
.repair-fault em,
.repair-note em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.repair-money-strip strong{
  font-size:16px;
  line-height:1.25;
}

.repair-fault,
.repair-note{
  display:grid;
  gap:7px;
  padding:12px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#fffdf7;
  color:#405775;
  font-weight:900;
  line-height:1.55;
}

.repair-empty{
  padding:32px;
  border:1px dashed #cbd9e8;
  border-radius:8px;
  background:#fbfdff;
  color:var(--muted);
  font-weight:900;
  text-align:center;
}

.internal-entry-panel,
.internal-query-panel{
  display:grid;
  gap:14px;
  overflow:hidden;
}

#internal:has(#internalCreatePage.active),
#internal:has(#internalListPage.active){
  grid-template-columns:minmax(0,1fr);
}

#internal:has(#internalCreatePage.active) > .module-companion,
#internal:has(#internalListPage.active) > .module-companion{
  display:none;
}

.internal-item-search,
.internal-search{
  display:grid;
  grid-template-columns:minmax(360px,1fr) 88px 88px;
  gap:8px;
  width:min(860px,100%);
}

.internal-item-search input,
.internal-search input{
  width:100%;
}

.internal-filter-grid{
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(220px,1.2fr) minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr);
  gap:10px;
  padding:12px;
  border:1px solid #dce7f2;
  border-radius:8px;
  background:#fbfdff;
}

.internal-filter-grid label{
  display:grid;
  gap:6px;
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.internal-filter-grid input,
.internal-filter-grid select{
  width:100%;
  min-width:0;
}

.internal-entry-grid,
.internal-workspace{
  display:grid;
  grid-template-columns:minmax(340px,430px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.internal-item-results,
.internal-order-list{
  display:grid;
  gap:10px;
  max-height:calc(100vh - 350px);
  min-height:430px;
  overflow:auto;
  padding-right:4px;
}

.internal-item-card,
.internal-order-list-card{
  display:grid;
  gap:8px;
  width:100%;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  color:#071d3a;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(22,42,70,.04);
}

.internal-item-card:hover,
.internal-order-list-card:hover,
.internal-order-list-card.active{
  border-color:#0f8d72;
  box-shadow:0 12px 26px rgba(15,141,114,.14);
}

.internal-order-list-card.active{
  background:linear-gradient(180deg,#f6fffb,#fff);
}

.internal-item-title,
.internal-order-top,
.internal-order-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.internal-item-title strong,
.internal-order-top strong{
  min-width:0;
  font-size:15px;
  line-height:1.35;
  word-break:break-word;
}

.internal-item-title em,
.internal-order-top em,
.internal-order-bottom em{
  flex:0 0 auto;
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.internal-item-card span:not(.internal-item-title),
.internal-order-mid,
.internal-order-items{
  color:#405775;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}

.internal-item-pager{
  position:sticky;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 -8px 18px rgba(22,42,70,.06);
}

.internal-item-pager span{
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.internal-order-card,
.internal-detail-card{
  display:grid;
  gap:14px;
  min-width:0;
  padding:16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(22,42,70,.06);
}

.internal-order-head{
  display:grid;
  gap:5px;
  padding:14px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
}

.internal-order-head span,
.internal-order-head em,
.internal-detail-head span,
.internal-detail-head em,
.internal-detail-grid em,
.internal-goods-summary em,
.internal-note em{
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.internal-order-head strong,
.internal-detail-head strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.25;
}

.internal-order-card textarea[name="note"]{
  min-height:120px !important;
  resize:vertical;
}

.internal-lines-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.internal-line-list{
  display:grid;
  gap:10px;
}

.internal-line-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fbfdff;
}

.internal-line-card strong,
.internal-line-card span{
  display:block;
}

.internal-line-card span{
  margin-top:4px;
  color:#405775;
  font-size:12px;
  font-weight:900;
}

.internal-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}

.internal-summary article{
  display:grid;
  gap:5px;
  min-height:92px;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 10px 24px rgba(22,42,70,.06);
}

.internal-summary span,
.internal-summary em{
  color:var(--muted);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.internal-summary strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.2;
}

.internal-detail-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,auto);
  align-items:start;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #e4edf6;
}

.internal-detail-head div:first-child{
  display:grid;
  gap:5px;
}

.internal-action-panel{
  display:grid;
  grid-template-columns:repeat(3,minmax(96px,1fr));
  gap:10px;
  justify-self:end;
  width:min(100%,420px);
  padding:10px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#fbfdff;
}

.internal-action-panel button{
  min-height:36px;
  white-space:nowrap;
}

.internal-action-panel .danger{
  border-color:#ffd1d6;
  color:#c92335;
}

.internal-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px;
}

.internal-detail-grid span{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
  color:#071d3a;
  font-weight:900;
}

.internal-goods-summary,
.internal-note{
  display:grid;
  gap:7px;
  padding:12px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#fffdf7;
  color:#405775;
  font-weight:900;
  line-height:1.55;
}

.internal-empty{
  padding:32px;
  border:1px dashed #cbd9e8;
  border-radius:8px;
  background:#fbfdff;
  color:var(--muted);
  font-weight:900;
  text-align:center;
}

.finance-overview-panel,
.finance-entry-panel,
.finance-query-panel,
.finance-report-panel{
  display:grid;
  gap:14px;
  width:100%;
  max-width:none;
  overflow:hidden;
}

#finance:has(.sub-page.active){
  grid-template-columns:minmax(0,1fr);
}

#finance:has(.sub-page.active) > .sub-tabs,
#finance:has(.sub-page.active) > .sub-page{
  grid-column:1;
  width:100%;
  min-width:0;
}

#finance:has(.sub-page.active) > .module-companion{
  display:none;
}

#finance .sub-page.active{
  width:100%;
  min-width:0;
}

#finance .sub-page.active > .panel{
  width:100%;
  max-width:none;
}

#finance .panel-head{
  align-items:flex-start;
}

#finance .panel-head .search-actions{
  justify-content:end;
}

.finance-tools,
.finance-search{
  display:grid;
  grid-template-columns:repeat(2,88px);
  gap:8px;
}

.finance-search{
  grid-template-columns:minmax(420px,1fr) 88px 88px 110px;
  width:min(100%,980px);
  margin-left:auto;
}

.finance-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:10px;
  padding:12px;
  border:1px solid #dce7f2;
  border-radius:8px;
  background:#fbfdff;
}

.finance-filter-grid label{
  display:grid;
  gap:6px;
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.finance-filter-grid input,
.finance-filter-grid select{
  width:100%;
  min-width:0;
  background:#fff;
}

.finance-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:10px;
}

.finance-summary article{
  display:grid;
  gap:5px;
  min-height:92px;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 10px 24px rgba(22,42,70,.06);
}

.finance-summary span,
.finance-summary em{
  color:var(--muted);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.finance-summary strong{
  color:#071d3a;
  font-size:22px;
  line-height:1.2;
}

.finance-summary.compact{
  grid-template-columns:repeat(4,minmax(180px,1fr));
}

.finance-overview-grid,
.finance-entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
  width:100%;
  min-width:0;
}

#expenseForm.finance-entry-panel{
  grid-template-columns:minmax(0,1fr) !important;
  width:100% !important;
  max-width:none !important;
}

#expenseForm.finance-entry-panel > *{
  grid-column:1 / -1 !important;
}

#expenseForm.finance-entry-panel label,
#expenseForm.finance-entry-panel .finance-card{
  max-width:none !important;
}

#expenseForm.finance-entry-panel .finance-entry-grid{
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr) !important;
}

.finance-card{
  display:grid;
  gap:12px;
  min-width:0;
  padding:16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(22,42,70,.06);
}

.finance-card h2{
  margin:0;
  color:#0f1e33;
  font-size:18px;
}

.finance-entry-main{
  grid-template-columns:repeat(3,minmax(160px,1fr));
}

.finance-entry-main label{
  display:grid;
  gap:6px;
}

.finance-entry-main label:nth-of-type(6),
.finance-entry-main button{
  grid-column:1 / -1;
}

.finance-entry-main textarea{
  min-height:140px !important;
  resize:vertical;
}

.finance-help-list{
  display:grid;
  gap:10px;
}

.finance-help-list span{
  padding:12px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#f8fbff;
  color:#405775;
  font-weight:900;
  line-height:1.5;
}

.finance-stat-list{
  display:grid;
  gap:10px;
}

.finance-stat-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid #e1ebf4;
  border-radius:8px;
  background:#fbfdff;
}

.finance-stat-row strong{
  color:#071d3a;
  word-break:break-word;
}

.finance-stat-row span,
.finance-stat-row em{
  color:#405775;
  font-style:normal;
  font-weight:900;
}

.finance-results{
  width:100%;
  min-width:0;
}

.finance-table{
  width:100%;
  overflow:auto;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
}

.finance-table table{
  width:100%;
  min-width:1480px;
}

#expenseList .finance-table{
  overflow-x:hidden;
}

#expenseList .finance-table table{
  min-width:0;
  table-layout:fixed;
}

#expenseList .finance-table th,
#expenseList .finance-table td{
  white-space:normal;
  overflow-wrap:anywhere;
}

#expenseList .finance-table th:nth-child(1),
#expenseList .finance-table td:nth-child(1){
  width:120px;
}

#expenseList .finance-table th:nth-child(2),
#expenseList .finance-table td:nth-child(2),
#expenseList .finance-table th:nth-child(4),
#expenseList .finance-table td:nth-child(4),
#expenseList .finance-table th:nth-child(5),
#expenseList .finance-table td:nth-child(5),
#expenseList .finance-table th:nth-child(6),
#expenseList .finance-table td:nth-child(6){
  width:14%;
}

#expenseList .finance-table th:nth-child(3),
#expenseList .finance-table td:nth-child(3){
  width:110px;
}

#saleCreatePage{
  width:100%;
  min-width:0;
}

#sale.view.active,
#rental.view.active{
  padding-top:0!important;
}

#sale.view.active.module-layout,
#rental.view.active.module-layout{
  gap:0!important;
  align-content:start!important;
}

#sale.view.active > .sub-tabs,
#rental.view.active > .sub-tabs{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

#sale.view.active > .sub-page.active,
#rental.view.active > .sub-page.active{
  margin-top:0!important;
  padding-top:0!important;
  grid-row:1!important;
}

#sale:has(#saleCreatePage.active){
  grid-template-columns:minmax(0,1fr);
}

#sale:has(#saleCreatePage.active) > .sub-tabs,
#sale:has(#saleCreatePage.active) > .sub-page{
  grid-column:1;
  grid-row:auto;
  width:100%;
  min-width:0;
}

#sale:has(#saleCreatePage.active) > .module-companion{
  display:none;
}

#sale:has(#saleListPage.active),
#sale:has(#accessoryOutboundPage.active){
  grid-template-columns:minmax(0,1fr);
}

#sale:has(#saleListPage.active) > .sub-tabs,
#sale:has(#saleListPage.active) > .sub-page,
#sale:has(#accessoryOutboundPage.active) > .sub-tabs,
#sale:has(#accessoryOutboundPage.active) > .sub-page{
  grid-column:1;
  grid-row:auto;
  width:100%;
  min-width:0;
}

#sale:has(#saleListPage.active) > .module-companion,
#sale:has(#accessoryOutboundPage.active) > .module-companion{
  display:none;
}

#rental:has(#rentalCreatePage.active){
  grid-template-columns:minmax(0,1fr);
}

#rental:has(#rentalCreatePage.active) > .sub-tabs,
#rental:has(#rentalCreatePage.active) > .sub-page{
  grid-column:1;
  grid-row:auto;
  width:100%;
  min-width:0;
}

#rental:has(#rentalCreatePage.active) > .module-companion{
  display:none;
}

#rental:has(#rentalListPage.active){
  grid-template-columns:minmax(0,1fr);
}

#rental:has(#rentalListPage.active) > .sub-tabs,
#rental:has(#rentalListPage.active) > .sub-page{
  grid-column:1;
  grid-row:auto;
  width:100%;
  min-width:0;
}

#rental:has(#rentalListPage.active) > .module-companion{
  display:none;
}

#aftersales.view.active{
  padding-top:0!important;
}

#aftersales.view.active.module-layout{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-content:start!important;
}

#aftersales.view.active > .sub-tabs{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

#aftersales.view.active > .sub-page.active{
  grid-column:1!important;
  grid-row:1!important;
  width:100%;
  min-width:0;
  margin-top:0!important;
  padding-top:0!important;
}

#aftersales.view.active > .module-companion{
  display:none!important;
}

#internal.view.active{
  padding-top:0!important;
}

#internal.view.active.module-layout{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-content:start!important;
}

#internal.view.active > .sub-tabs{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

#internal.view.active > .sub-page.active{
  grid-column:1!important;
  grid-row:1!important;
  width:100%;
  min-width:0;
  margin-top:0!important;
  padding-top:0!important;
}

#internal.view.active > .module-companion{
  display:none!important;
}

#stocktake.view.active{
  padding-top:0!important;
}

#stocktake.view.active.module-layout{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-content:start!important;
}

#stocktake.view.active > .sub-tabs{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

#stocktake.view.active > .sub-page.active{
  grid-column:1!important;
  grid-row:1!important;
  width:100%;
  min-width:0;
  margin-top:0!important;
  padding-top:0!important;
}

#stocktake.view.active > .module-companion{
  display:none!important;
}

#saleForm.sale-workbench{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:16px !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  padding:18px !important;
  align-content:start !important;
  border:1px solid #cfe2f1 !important;
  background:#f7fbff !important;
  box-shadow:0 18px 45px rgba(16,35,61,.08);
}

#saleForm.sale-workbench > *{
  grid-column:1 !important;
}

.sale-query-panel{
  display:grid;
  gap:14px;
  padding:18px;
  border-color:#cfe2f1;
  background:#f7fbff;
  box-shadow:0 18px 45px rgba(16,35,61,.08);
}

.sale-query-head{
  display:grid;
  grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr);
  align-items:end;
  gap:14px;
  padding:16px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:linear-gradient(135deg,#0f5c70,#0f9274);
  color:#fff;
}

.sale-query-head span{
  display:block;
  margin-bottom:5px;
  color:#cfefff;
  font-size:12px;
  font-weight:900;
}

.sale-query-head h2{
  margin:0;
  color:#fff;
  font-size:24px;
}

.sale-query-head .sales-search{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(132px,.38fr) minmax(132px,.38fr) 86px 72px;
  gap:8px;
  width:100%;
  min-width:0;
}

.sale-query-head .sales-search input{
  min-height:38px;
  border-color:rgba(255,255,255,.58);
  background:rgba(255,255,255,.96);
}

.sale-query-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}

.sale-query-summary article{
  display:grid;
  gap:5px;
  min-height:96px;
  padding:14px 16px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,42,70,.045);
}

.sale-query-summary span,
.sale-query-summary em{
  color:#516d8a;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.sale-query-summary strong{
  color:#071d35;
  font-size:26px;
  line-height:1.05;
}

.sale-query-summary .profit strong{
  color:#008267;
}

.sale-query-summary .loss strong{
  color:#c92335;
}

.sale-query-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
}

.sale-query-toolbar div{
  display:grid;
  gap:3px;
}

.sale-query-toolbar strong{
  color:#0c1f33;
  font-size:16px;
}

.sale-query-toolbar span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.sale-query-list{
  gap:12px;
}

.sale-query-card{
  display:grid;
  grid-template-columns:minmax(520px,1.55fr) minmax(360px,.75fr) minmax(108px,.2fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid #d5e4f0;
  border-left:4px solid #0d8f70;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 26px rgba(20,40,70,.055);
}

.sale-query-card.is-returned{
  border-left-color:#8ba0b6;
  background:#fbfdff;
}

.sale-query-main{
  display:grid;
  gap:10px;
  min-width:0;
}

.sale-query-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.sale-query-title div{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

.sale-query-title strong{
  color:#071d35;
  font-size:22px;
  line-height:1.15;
}

.sale-query-title span{
  padding:4px 9px;
  border-radius:999px;
  background:#dff8ef;
  color:#08735b;
  font-size:12px;
  font-weight:900;
}

.sale-query-card.is-returned .sale-query-title span{
  background:#edf2f7;
  color:#5c6f83;
}

.sale-query-title small{
  color:#55708d;
  font-weight:900;
  white-space:nowrap;
}

.sale-query-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.sale-query-tags span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border-radius:7px;
  background:#f2f7fd;
  color:#244767;
  font-size:13px;
  font-weight:900;
}

.sale-query-tags em{
  color:#6b7d93;
  font-style:normal;
}

.sale-query-device{
  display:grid;
  gap:7px;
  padding:12px;
  border:1px solid #e0eaf4;
  border-radius:8px;
  background:#f8fbff;
}

.sale-query-device b{
  color:#6b7d93;
  font-size:12px;
}

.sale-query-device strong{
  color:#0b2e55;
  font-size:16px;
}

.sale-query-device span{
  color:#31516f;
  font-size:13px;
  font-weight:900;
}
.sale-query-device-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.sale-query-device-tags em{
  display:inline-flex;
  max-width:100%;
  padding:5px 8px;
  border-radius:6px;
  background:#edf4fb;
  color:#294c6d;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  line-height:1.25;
  word-break:break-word;
}

.sale-query-money{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.sale-query-money div{
  display:grid;
  gap:4px;
  min-height:60px;
  padding:9px 10px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#f8fbff;
}

.sale-query-money span{
  color:#516d8a;
  font-size:11px;
  font-weight:900;
}

.sale-query-money strong{
  color:#071d35;
  font-size:17px;
  line-height:1.15;
}

.sale-query-money .is-profit strong{
  color:#008267;
}

.sale-query-money .is-loss strong{
  color:#c92335;
}

.sale-query-actions{
  display:grid;
  gap:9px;
  justify-items:stretch;
}

.sale-query-actions .text-btn{
  width:100%;
  min-height:34px;
  justify-content:center;
}

.sale-query-empty{
  display:grid;
  place-items:center;
  min-height:180px;
  border:1px dashed #bcd0e4;
  border-radius:8px;
  background:#fff;
  color:#55708d;
  font-weight:900;
  text-align:center;
}

.sale-workbench-hero{
  display:grid;
  grid-template-columns:minmax(240px,.58fr) minmax(520px,1.42fr);
  gap:12px;
  align-items:stretch;
  padding:12px 14px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:
    linear-gradient(135deg,#0d3154 0%,#0e7f72 58%,#14a182 100%);
  box-shadow:0 18px 40px rgba(10,74,90,.18);
}

.sale-workbench-head{
  display:grid;
  align-content:center;
  min-height:82px;
  padding:0;
}

.sale-workbench-head h2{
  margin:0 0 8px !important;
  color:#fff;
  font-size:24px !important;
  line-height:1.2;
  letter-spacing:0;
}

#saleForm.sale-workbench #saleCommissionTip{
  display:inline-flex;
  align-items:center;
  width:auto;
  min-height:28px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:6px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.sale-draft-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.sale-draft-summary article{
  display:grid;
  align-content:space-between;
  min-height:82px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:8px;
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.sale-draft-summary span,
.sale-draft-summary em{
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.sale-draft-summary strong{
  color:#fff;
  font-size:21px;
  line-height:1.15;
  word-break:break-word;
}

.sale-draft-summary article.profit strong{
  color:#d9fff1;
}

.sale-draft-summary article.loss strong{
  color:#ffe0e3;
}

.sale-order-strip{
  display:grid;
  grid-template-columns:minmax(180px,.82fr) minmax(220px,1.12fr) minmax(180px,.82fr);
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,42,70,.04);
}

.sale-order-strip label,
#saleForm.sale-workbench .sale-device-filter label,
#saleForm.sale-workbench .line-row.sale-line label{
  min-width:0;
}

.sale-order-strip input,
.sale-order-strip select{
  width:100%;
  min-width:0;
}

#saleForm.sale-workbench .sale-device-picker{
  padding:14px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,42,70,.04);
}

#saleForm.sale-workbench .sale-device-picker .panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
}

#saleForm.sale-workbench .sale-device-picker .panel-head h2{
  margin:0 !important;
  color:#0c1f33;
  font-size:18px !important;
}

#saleForm.sale-workbench .sale-device-filter{
  grid-template-columns:minmax(140px,.75fr) minmax(220px,1.25fr) minmax(180px,1fr) minmax(160px,.85fr);
  gap:8px;
  margin:0 0 10px;
}

#saleForm.sale-workbench #saleDeviceResults{
  display:grid;
  gap:8px;
  max-height:310px;
  overflow:auto;
  padding-right:2px;
}

#saleForm.sale-workbench #saleDeviceResults .item{
  grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr) minmax(180px,.85fr) auto;
  align-items:center;
  padding:12px 14px;
  border:1px solid #dce7f2;
  border-left:0;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 6px 14px rgba(22,42,70,.035);
}

#saleForm.sale-workbench #saleDeviceResults .item:hover{
  border-color:#98c4e7;
  background:#f6fbff;
  transform:translateY(-1px);
}

#saleForm.sale-workbench #saleDeviceResults .item strong{
  font-size:16px;
}

.sale-lines-panel{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,42,70,.04);
}

.sale-save-bar{
  position:sticky;
  bottom:0;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid #bfd8ec;
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 -10px 28px rgba(16,35,61,.12);
}

.sale-save-bar div{
  display:grid;
  gap:3px;
  min-width:0;
}

.sale-save-bar strong{
  color:#0c1f33;
  font-size:15px;
}

.sale-save-bar span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.sale-save-bar .primary-btn{
  min-width:220px;
  min-height:40px;
}

#saleForm.sale-workbench .subhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0;
  padding:0 0 10px;
  border-top:0;
  border-bottom:1px solid #e3edf6;
}

#saleForm.sale-workbench .subhead strong{
  color:#0c1f33;
  font-size:18px;
}

#saleForm.sale-workbench #saleLines{
  display:grid;
  gap:10px;
}

.sale-lines-empty{
  display:grid;
  place-items:center;
  min-height:84px;
  border:1px dashed #bcd0e4;
  border-radius:8px;
  background:#f8fbff;
  color:#55708d;
  font-weight:900;
  text-align:center;
}

.sale-lines-empty.hidden{
  display:none;
}

#saleForm.sale-workbench .line-row.sale-line{
  grid-template-columns:minmax(62px,.62fr) minmax(170px,1.7fr) minmax(120px,1.15fr) minmax(50px,.48fr) minmax(68px,.62fr) minmax(96px,.92fr) minmax(96px,.9fr) repeat(3,minmax(58px,.56fr)) repeat(3,minmax(64px,.62fr)) minmax(52px,.5fr);
  gap:6px;
  align-items:end;
  padding:10px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 10px 22px rgba(22,42,70,.055);
}

#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(1){grid-column:1;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(2),
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(3){grid-column:2;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(4){grid-column:3;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(5){grid-column:4;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(6){grid-column:5;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(7){grid-column:6;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(8){grid-column:7;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(9){grid-column:8;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(10){grid-column:9;grid-row:1}
#saleForm.sale-workbench .line-row.sale-line label:nth-of-type(11){grid-column:10;grid-row:1}

#saleForm.sale-workbench .line-row.sale-line .sale-device-config{
  display:none !important;
}

#saleForm.sale-workbench .line-row.sale-line .line-commission{
  grid-column:11;
  grid-row:1;
}

#saleForm.sale-workbench .line-row.sale-line .line-shipping{
  grid-column:12;
  grid-row:1;
}

#saleForm.sale-workbench .line-row.sale-line .line-accessory-fee{
  grid-column:13;
  grid-row:1;
}

#saleForm.sale-workbench .line-row.sale-line .remove-line{
  grid-column:14;
  grid-row:1;
  width:100%;
  min-width:0;
}

#saleForm.sale-workbench .line-row.sale-line label{
  overflow:hidden;
  white-space:nowrap;
}

#saleForm.sale-workbench .line-row.sale-line label.device-pick{
  overflow:visible;
}

#saleForm.sale-workbench .line-row.sale-line input,
#saleForm.sale-workbench .line-row.sale-line select{
  width:100%;
  min-width:0;
  font-size:13px;
}

#saleForm.sale-workbench .line-row.sale-line .device-pick{
  position:relative;
}

.sale-device-popover{
  position:absolute;
  left:0;
  right:auto;
  top:calc(100% + 6px);
  z-index:30;
  display:grid;
  gap:6px;
  width:min(760px,calc(100vw - 96px));
  max-height:280px;
  overflow:auto;
  padding:8px;
  border:1px solid #b9d3ea;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 36px rgba(18,40,70,.18);
}

.sale-device-popover-head{
  padding:4px 6px 6px;
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.sale-device-option{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(300px,1.1fr);
  gap:8px;
  align-items:center;
  width:100%;
  padding:9px 10px;
  border:1px solid #d8e6f2;
  border-radius:7px;
  background:#f8fbff;
  color:#173a5f;
  text-align:left;
  cursor:pointer;
}

.sale-device-option:hover{
  border-color:#0d8f70;
  background:#ecfdf6;
}

.sale-device-option strong{
  color:#071d35;
  font-size:15px;
  line-height:1.25;
}

.sale-device-option span{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  color:#55708d;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
  white-space:normal;
}

.sale-device-option span b{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:3px 7px;
  border-radius:6px;
  background:#edf4fb;
  color:#35526f;
  font-weight:900;
}

.sale-device-option.empty{
  cursor:default;
  color:#965b10;
  background:#fff8eb;
}

#saleForm.sale-workbench .line-row.sale-line .line-commission,
#saleForm.sale-workbench .line-row.sale-line .line-shipping,
#saleForm.sale-workbench .line-row.sale-line .line-accessory-fee,
#saleForm.sale-workbench .line-row.sale-line .sale-device-config{
  min-width:0;
  border-radius:6px;
  background:#eef7ff;
  border-color:#cfe2f1;
}

#saleForm.sale-workbench .line-row.sale-line .sale-device-config{
  display:grid;
  gap:4px;
  min-height:36px;
  padding:7px 9px;
  border:1px solid #cfe2f1;
  color:#31516f;
  font-weight:900;
}

#saleForm.sale-workbench .line-row.sale-line .sale-device-config em{
  color:#6b7d93;
  font-size:12px;
  font-style:normal;
}

#saleForm.sale-workbench .line-row.sale-line .sale-device-config span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#saleForm.sale-workbench .line-row.sale-line .sale-device-config.matched{
  background:#ecfdf6;
  border-color:#b9eadb;
  color:#087456;
}

#saleForm.sale-workbench .line-row.sale-line .sale-device-config.unmatched{
  background:#fff8eb;
  border-color:#f4d8a6;
  color:#965b10;
}

#saleForm.sale-workbench .line-row.sale-line .line-commission{
  background:#ecfdf6;
  color:#087456;
}

#saleForm.sale-workbench .line-row.sale-line .line-shipping,
#saleForm.sale-workbench .line-row.sale-line .line-accessory-fee{
  background:#fff8eb;
  color:#965b10;
}

#saleForm.sale-workbench .line-row.sale-line .remove-line{
  border-color:#ffd2d8;
  background:#fff5f6;
  color:#c92335;
}

@media (max-width:1280px){
  .sale-workbench-hero{
    grid-template-columns:1fr;
  }
  .purchase-query-head,
  .purchase-query-card{
    grid-template-columns:1fr;
  }
  .purchase-search{
    grid-template-columns:1fr 1fr;
  }
  .purchase-search input:first-child{
    grid-column:1 / -1;
  }
  .sale-query-head,
  .sale-query-card{
    grid-template-columns:1fr;
  }
  .sale-query-head .sales-search{
    grid-template-columns:1fr 1fr;
  }
  .sale-query-head .sales-search input:first-child{
    grid-column:1 / -1;
  }
  .sale-query-money{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sale-workbench-head{
    min-height:0;
  }
  .sale-draft-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #saleForm.sale-workbench .sale-device-filter{
    grid-template-columns:repeat(2,minmax(160px,1fr));
  }
  #saleForm.sale-workbench #saleDeviceResults .item{
    grid-template-columns:1fr;
  }
  #saleForm.sale-workbench .line-row.sale-line{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  #saleForm.sale-workbench .line-row.sale-line label:nth-of-type(n),
  #saleForm.sale-workbench .line-row.sale-line .sale-device-config,
  #saleForm.sale-workbench .line-row.sale-line .line-commission,
  #saleForm.sale-workbench .line-row.sale-line .line-shipping,
  #saleForm.sale-workbench .line-row.sale-line .line-accessory-fee,
  #saleForm.sale-workbench .line-row.sale-line .remove-line{
    grid-column:auto;
    grid-row:auto;
  }
}

@media (max-width:760px){
  .sale-workbench-head,
  #saleForm.sale-workbench .subhead,
  .sale-save-bar{
    align-items:stretch;
    flex-direction:column;
  }
  .sale-query-panel{
    padding:12px;
  }
  .purchase-query-panel{
    padding:12px;
  }
  .purchase-search,
  .purchase-query-money{
    grid-template-columns:1fr;
  }
  .purchase-search input:first-child{
    grid-column:auto;
  }
  .purchase-query-title{
    display:grid;
  }
  .purchase-query-title small{
    white-space:normal;
  }
  .purchase-query-card{
    padding:14px;
  }
  .sale-query-head .sales-search,
  .sale-query-money{
    grid-template-columns:1fr;
  }
  .sale-query-head .sales-search input:first-child{
    grid-column:auto;
  }
  .sale-query-title{
    display:grid;
  }
  .sale-query-title small{
    white-space:normal;
  }
  .sale-query-card{
    padding:14px;
  }
  .repair-detail-head{
    display:grid;
  }
  .repair-detail-actions{
    justify-content:stretch;
  }
  .repair-detail-actions button{
    flex:1;
  }
  .sale-save-bar .primary-btn{
    width:100%;
  }
  .sale-draft-summary{
    grid-template-columns:1fr;
  }
  .sale-order-strip,
  #saleForm.sale-workbench .sale-device-filter,
  #saleForm.sale-workbench .line-row.sale-line{
    grid-template-columns:1fr;
  }
  .sale-device-popover{
    width:min(92vw,520px);
  }
  .sale-device-option{
    grid-template-columns:1fr;
  }
}

.finance-table td strong,
.finance-table td span{
  display:block;
}

.finance-table td span{
  margin-top:3px;
  color:#667890;
  font-size:12px;
  font-weight:900;
}

.finance-table .money-cell,
.finance-table .profit-cell{
  color:#078261;
  font-weight:900;
}

.finance-table .loss-cell{
  color:#d12f3f;
  font-weight:900;
}

.finance-empty{
  padding:32px;
  border:1px dashed #cbd9e8;
  border-radius:8px;
  background:#fbfdff;
  color:var(--muted);
  font-weight:900;
  text-align:center;
}

#repairForm.repair-entry-panel{
  display:grid !important;
  grid-template-columns:1fr !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  align-content:start;
}

#repairForm.repair-entry-panel > *{
  grid-column:1 !important;
}

#repairForm.repair-entry-panel::after{
  display:none !important;
  content:none !important;
}

#repairForm.repair-entry-panel .panel-head{
  display:flex !important;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

#repairForm.repair-entry-panel .panel-head h2{
  grid-column:auto;
  margin:0;
}

#repairForm.repair-entry-panel .repair-device-search{
  width:min(860px,100%) !important;
  max-width:none !important;
}

#repairForm.repair-entry-panel .repair-entry-grid{
  display:grid !important;
  grid-template-columns:minmax(360px,44%) minmax(420px,1fr) !important;
  width:100% !important;
  max-width:none !important;
}

#repairForm.repair-entry-panel .repair-form-card,
#repairForm.repair-entry-panel .repair-form-card label{
  width:100% !important;
  max-width:none !important;
}

#repairForm.repair-entry-panel .repair-form-card .row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px;
  width:100% !important;
  max-width:none !important;
}

#repairForm.repair-entry-panel .repair-form-card button[type="submit"]{
  width:min(100%,360px) !important;
  justify-self:start;
}

.rental-search{
  display:grid;
  grid-template-columns:minmax(320px,1fr) 88px;
  gap:8px;
  width:min(650px,100%);
}

.rental-search input{
  width:100%;
}

#rentalForm > .rental-head-seven{
  grid-template-columns:minmax(140px,1fr) minmax(220px,1.4fr) minmax(120px,.8fr) minmax(140px,1fr) minmax(220px,1.4fr) minmax(110px,.7fr);
}

#rentalForm.rental-workbench{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:16px !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  padding:18px !important;
  align-content:start !important;
  border:1px solid #cfe2f1 !important;
  background:#f7fbff !important;
  box-shadow:0 18px 45px rgba(16,35,61,.08);
}

#rentalForm.rental-workbench > *{
  grid-column:1 !important;
}

.rental-workbench-hero{
  display:grid;
  grid-template-columns:minmax(240px,.58fr) minmax(520px,1.42fr);
  gap:12px;
  align-items:stretch;
  padding:12px 14px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:linear-gradient(135deg,#18375f 0%,#16796f 56%,#2aa889 100%);
  box-shadow:0 18px 40px rgba(10,74,90,.18);
}

.rental-workbench-head{
  display:grid;
  align-content:center;
  min-height:82px;
}

.rental-workbench-head h2{
  margin:0 0 8px !important;
  color:#fff;
  font-size:24px !important;
  line-height:1.2;
}

#rentalForm.rental-workbench #rentalCommissionTip{
  display:inline-flex !important;
  align-items:center;
  width:auto;
  min-height:28px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:6px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.rental-draft-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.rental-draft-summary article{
  display:grid;
  align-content:space-between;
  min-height:82px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:8px;
  background:rgba(255,255,255,.12);
  color:#fff;
}

.rental-draft-summary span,
.rental-draft-summary em{
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.rental-draft-summary strong{
  color:#fff;
  font-size:21px;
  line-height:1.15;
  word-break:break-word;
}

.rental-draft-summary article.profit strong{color:#d9fff1}
.rental-draft-summary article.loss strong{color:#ffe0e3}

.rental-order-strip{
  display:grid;
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,42,70,.04);
}

.rental-order-strip{
  grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr);
}

#rentalForm.rental-workbench .rental-device-picker,
#rentalForm.rental-workbench .rental-tail-four,
.rental-lines-panel{
  padding:14px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,42,70,.04);
}

.rental-lines-panel{
  display:grid;
  gap:10px;
}

#rentalForm.rental-workbench .rental-lines-panel .subhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0;
  padding:0 0 10px;
  border-top:0;
  border-bottom:1px solid #e3edf6;
}

#rentalForm.rental-workbench .rental-lines-panel .subhead strong{
  color:#0c1f33;
  font-size:18px;
}

.rental-lines-empty{
  display:grid;
  place-items:center;
  min-height:84px;
  border:1px dashed #bcd0e4;
  border-radius:8px;
  background:#f8fbff;
  color:#55708d;
  font-weight:900;
  text-align:center;
}

.rental-lines-empty.hidden{
  display:none;
}

#rentalForm.rental-workbench .rental-device-picker .panel-head{
  margin:0 0 10px;
}

#rentalForm.rental-workbench .rental-device-filter{
  grid-template-columns:minmax(130px,.72fr) minmax(220px,1.15fr) minmax(180px,.9fr) minmax(180px,.9fr) minmax(150px,.72fr);
  gap:8px;
}

#rentalForm.rental-workbench .rental-tail-four{
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,.7fr)) repeat(2,minmax(150px,.7fr)) minmax(260px,1.4fr);
  gap:12px;
  align-items:end;
}

#rentalForm.rental-workbench #rentalDeviceResults{
  display:grid;
  gap:8px;
  max-height:310px;
  overflow:auto;
  padding-right:2px;
}

#rentalForm.rental-workbench #rentalDeviceResults .item{
  border-left:0;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 6px 14px rgba(22,42,70,.035);
}

#rentalForm.rental-workbench #rentalCommissionAmount{
  justify-self:start;
  min-width:220px;
}

.rental-save-bar{
  position:sticky;
  bottom:0;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid #bfd8ec;
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 -10px 28px rgba(16,35,61,.12);
}

.rental-save-bar div{
  display:grid;
  gap:3px;
  min-width:0;
}

.rental-save-bar strong{
  color:#0c1f33;
  font-size:15px;
}

.rental-save-bar span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.rental-save-bar .primary-btn{
  min-width:220px;
  min-height:40px;
}

#rentalForm > .rental-tail-four{
  grid-template-columns:repeat(2,minmax(130px,.7fr)) repeat(2,minmax(130px,.7fr)) minmax(260px,1.6fr);
}

#rentalForm .rental-device-filter{
  grid-template-columns:repeat(5,minmax(120px,1fr));
}

.rental-picked-input{
  display:none;
}

.rental-selected-card{
  display:grid;
  gap:10px;
}

.rental-selected-card.hidden{
  display:none;
}

.rental-selected-line{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:stretch;
  padding:12px 14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
}

.rental-line-top{
  display:grid;
  grid-template-columns:minmax(240px,.92fr) minmax(300px,1.08fr) minmax(150px,.62fr) minmax(210px,.82fr) minmax(230px,.9fr) auto;
  gap:8px;
  align-items:end;
}

.rental-line-fields{
  display:grid;
  gap:8px;
  align-items:end;
  padding-top:10px;
  border-top:1px dashed #d7e5f2;
}

.rental-line-fields{
  grid-template-columns:repeat(2,minmax(150px,.82fr)) repeat(2,minmax(120px,.66fr)) minmax(300px,1.4fr);
}

/* Keep each rental detail on one compact row when the workspace is wide enough. */
.rental-selected-line{
  grid-template-columns:minmax(230px,1.7fr) minmax(105px,.78fr) minmax(96px,.72fr) minmax(130px,.96fr) repeat(2,minmax(108px,.8fr)) repeat(2,minmax(72px,.54fr)) minmax(140px,1fr) 58px;
  gap:6px;
  align-items:end;
  padding:10px;
}

.rental-selected-line > .rental-line-top,
.rental-selected-line > .rental-line-fields{
  display:contents;
}

.rental-line-top > .rental-device-serial,
.rental-line-top > .rental-selected-device:not(.rental-device-status){
  grid-column:1;
  grid-row:1;
}

.rental-line-top > .rental-device-status{
  display:none!important;
}

.rental-line-top > label:has([data-rental-field="salesperson_id"]){grid-column:2;grid-row:1}
.rental-line-top > label:has([data-rental-field="renter"]){grid-column:3;grid-row:1}
.rental-line-top > label:has([data-rental-field="platform_order_no"]){grid-column:4;grid-row:1}
.rental-line-fields > label:has([data-rental-field="start_date"]){grid-column:5;grid-row:1}
.rental-line-fields > label:has([data-rental-field="end_date"]){grid-column:6;grid-row:1}
.rental-line-fields > label:has([data-rental-field="deposit"]){grid-column:7;grid-row:1}
.rental-line-fields > label:has([data-rental-field="rent_amount"]){grid-column:8;grid-row:1}
.rental-line-fields > label:has([data-rental-field="note"]){grid-column:9;grid-row:1}
.rental-line-top > .clear-rental-device{grid-column:10;grid-row:1}

.rental-line-top > .rental-selected-device:not(.rental-device-status){
  display:grid;
  align-content:center;
  min-width:0;
  min-height:58px;
  overflow:hidden;
  padding:5px 8px;
  border:1px solid #cfe0ef;
  border-radius:7px;
  background:#f7fbff;
}

.rental-line-top > .rental-selected-device:not(.rental-device-status) strong,
.rental-line-top > .rental-selected-device:not(.rental-device-status) small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rental-line-top > .rental-selected-device:not(.rental-device-status) strong{
  margin:2px 0;
  font-size:14px;
}

@media (max-width:1280px){
  .rental-selected-line{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rental-selected-line .rental-line-top > *,
  .rental-selected-line .rental-line-fields > *{
    grid-column:auto;
    grid-row:auto;
  }
  .rental-line-top > .rental-device-serial,
  .rental-line-top > .rental-selected-device:not(.rental-device-status),
  .rental-line-fields > label:has([data-rental-field="note"]){
    grid-column:1 / -1;
  }
}

.rental-line-top label,
.rental-line-fields label{
  display:grid;
  gap:5px;
  color:#12314f;
  font-size:12px;
  font-weight:900;
}

.rental-line-top input,
.rental-line-top select,
.rental-line-fields input{
  width:100%;
  min-width:0;
  height:38px;
  padding:7px 9px;
  border:1px solid #cfe0ef;
  border-radius:7px;
  background:#fbfdff;
  color:#081d36;
  font-size:14px;
  font-weight:800;
}

.rental-device-serial{
  position:relative;
}

.rental-device-popover{
  position:absolute;
  left:0;
  right:auto;
  top:calc(100% + 6px);
  z-index:30;
  display:grid;
  gap:6px;
  width:min(760px,calc(100vw - 96px));
  max-height:280px;
  overflow:auto;
  padding:8px;
  border:1px solid #b9d3ea;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 36px rgba(18,40,70,.18);
}

.rental-device-popover-head{
  padding:4px 6px 6px;
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.rental-device-option{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(300px,1.1fr);
  gap:8px;
  align-items:center;
  width:100%;
  padding:9px 10px;
  border:1px solid #d8e6f2;
  border-radius:7px;
  background:#f8fbff;
  color:#173a5f;
  text-align:left;
  cursor:pointer;
}

.rental-device-option:hover{
  border-color:#0d8f70;
  background:#ecfdf6;
}

.rental-device-option strong{
  color:#071d35;
  font-size:15px;
  line-height:1.25;
}

.rental-device-option span{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  color:#55708d;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
}

.rental-device-option span b{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:3px 7px;
  border-radius:6px;
  background:#edf4fb;
  color:#35526f;
  font-weight:900;
}

.rental-device-option.empty{
  cursor:default;
  color:#965b10;
  background:#fff8eb;
}

.rental-line-top .clear-rental-device{
  align-self:end;
  min-width:52px;
  height:38px;
  justify-content:center;
  border-color:#ffd2d8;
  background:#fff5f6;
  color:#c92335;
}

.rental-selected-card span,
.rental-selected-card small{
  color:#55708d;
  font-size:12px;
  font-weight:800;
}

.rental-selected-device small{
  color:#d92332;
}

.rental-selected-device.matched small{
  color:#087456;
}

.rental-selected-device.unmatched small{
  color:#965b10;
}

.rental-selected-card strong{
  display:block;
  margin:3px 0;
  color:#071d3a;
  font-size:18px;
  line-height:1.3;
  word-break:break-word;
}

.rental-selected-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
}

.rental-selected-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border-radius:6px;
  background:#f4f8fc;
  color:#405775;
}

.rental-selected-meta .clear-rental-device{
  align-self:center;
  min-height:30px;
  border-color:#ffd2d8;
  background:#fff5f6;
  color:#c92335;
}

.rental-selected-meta em{
  color:#6b7d93;
  font-style:normal;
}

.rental-device-results .list-item{
  grid-template-columns:minmax(220px,1.1fr) minmax(260px,1.4fr) minmax(180px,.8fr) auto;
}

.rental-order-list{
  display:grid;
  gap:10px;
}

.rental-return-panel{
  display:grid;
  gap:14px;
  padding:18px;
  border-color:#cfe2f1;
  background:#f7fbff;
  box-shadow:0 18px 45px rgba(16,35,61,.08);
}

.rental-return-head{
  display:grid;
  grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr);
  align-items:end;
  gap:14px;
  padding:16px;
  border:1px solid #cfe2f1;
  border-radius:8px;
  background:linear-gradient(135deg,#0f5c70,#0f9274);
  color:#fff;
}

.rental-return-head span{
  display:block;
  margin-bottom:5px;
  color:#cfefff;
  font-size:12px;
  font-weight:900;
}

.rental-return-head h2{
  margin:0;
  color:#fff;
  font-size:24px;
}

.rental-return-head .rental-search{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(132px,.38fr) minmax(132px,.38fr) 86px 72px;
  gap:8px;
  align-self:center;
  width:100%;
  min-width:0;
}

.rental-return-head .rental-search input{
  min-height:38px;
  border-color:rgba(255,255,255,.58);
  background:rgba(255,255,255,.96);
}

.rental-return-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}

.rental-return-summary article,
.rental-return-filter{
  display:grid;
  gap:5px;
  min-height:96px;
  padding:14px 16px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,42,70,.045);
}

.rental-return-filter{
  width:100%;
  text-align:left;
  cursor:pointer;
}

.rental-return-filter:hover{
  border-color:#93bddf;
  background:#f8fbff;
  transform:translateY(-1px);
}

.rental-return-filter.active{
  border-color:#0d8f70;
  box-shadow:0 12px 28px rgba(13,143,112,.16);
}

.rental-return-summary span,
.rental-return-summary em{
  color:#516d8a;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.rental-return-summary strong{
  color:#071d35;
  font-size:26px;
  line-height:1.05;
}

.rental-return-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
}

.rental-return-toolbar div{
  display:grid;
  gap:3px;
}

.rental-return-toolbar strong{
  color:#0c1f33;
  font-size:16px;
}

.rental-return-toolbar span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.rental-return-list{
  gap:12px;
}

.rental-return-card{
  display:grid;
  grid-template-columns:minmax(380px,1.35fr) minmax(320px,.85fr) minmax(150px,.32fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid #d5e4f0;
  border-left:4px solid #0d8f70;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 26px rgba(20,40,70,.055);
}

.rental-return-card.is-returned{
  border-left-color:#8ba0b6;
  background:#fbfdff;
}

.rental-return-main{
  display:grid;
  gap:10px;
  min-width:0;
}

.rental-return-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.rental-return-title div{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

.rental-return-title strong{
  color:#071d35;
  font-size:22px;
  line-height:1.15;
}

.rental-return-title span{
  padding:4px 9px;
  border-radius:999px;
  background:#dff8ef;
  color:#08735b;
  font-size:12px;
  font-weight:900;
}

.rental-return-card.is-returned .rental-return-title span{
  background:#edf2f7;
  color:#5c6f83;
}

.rental-return-title small{
  color:#55708d;
  font-weight:900;
  white-space:nowrap;
}

.rental-return-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.rental-return-tags span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border-radius:7px;
  background:#f2f7fd;
  color:#244767;
  font-size:13px;
  font-weight:900;
}

.rental-return-tags em{
  color:#6b7d93;
  font-style:normal;
}

.rental-return-device{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid #e0eaf4;
  border-radius:8px;
  background:#f8fbff;
}

.rental-return-device b{
  color:#6b7d93;
  font-size:12px;
}

.rental-return-device strong{
  color:#0b2e55;
  font-size:16px;
}

.rental-return-device span{
  color:#31516f;
  font-size:13px;
  font-weight:900;
}

.rental-return-money{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.rental-return-money div{
  display:grid;
  gap:5px;
  min-height:74px;
  padding:12px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#f8fbff;
}

.rental-return-money span{
  color:#516d8a;
  font-size:12px;
  font-weight:900;
}

.rental-return-money strong{
  color:#071d35;
  font-size:20px;
}

.rental-return-money .is-profit strong{
  color:#008267;
}

.rental-return-money .is-loss strong{
  color:#c92335;
}

.rental-return-actions{
  display:grid;
  gap:9px;
  justify-items:stretch;
}

.rental-return-actions .text-btn,
.rental-return-actions .primary-btn{
  width:100%;
  min-height:34px;
  justify-content:center;
}

.rental-return-lock{
  display:grid;
  place-items:center;
  min-height:34px;
  padding:7px 9px;
  border:1px solid #d6e4f1;
  border-radius:6px;
  background:#f4f8fc;
  color:#60758c;
  font-size:12px;
  font-weight:900;
  text-align:center;
}

.rental-return-empty{
  display:grid;
  place-items:center;
  min-height:180px;
  border:1px dashed #bcd0e4;
  border-radius:8px;
  background:#fff;
  color:#55708d;
  font-weight:900;
  text-align:center;
}

.rental-detail-summary .sale-detail-hero{
  background:linear-gradient(135deg,#0f5c70,#0f9274);
}

.rental-detail-device{
  display:grid;
  gap:12px;
  padding:16px;
  margin:12px 0;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#f7fbff;
}

.rental-detail-device .sale-detail-chips{
  margin-top:0;
}

@media (max-width:1100px){
  .rental-workbench-hero{
    grid-template-columns:1fr;
  }
  .rental-draft-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rental-order-strip,
  #rentalForm > .rental-head-seven,
  #rentalForm > .rental-tail-four,
  #rentalForm .rental-device-filter{
    grid-template-columns:repeat(2,minmax(150px,1fr));
  }
  .rental-selected-line,
  .rental-line-top,
  .rental-device-results .list-item,
  .rental-order-card.sales-order-card,
  .rental-return-head,
  .rental-return-card{
    grid-template-columns:1fr;
  }
  .rental-return-head .rental-search{
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .rental-return-head .rental-search input:first-child{
    grid-column:1 / -1;
  }
  .rental-return-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rental-line-fields{
    grid-template-columns:repeat(2,minmax(140px,1fr));
  }
  .rental-device-popover{
    width:min(760px,calc(100vw - 96px));
  }
  .rental-selected-meta,
  .sales-order-actions{
    justify-content:flex-start;
  }
  .rental-search{
    grid-template-columns:1fr 82px;
  }
}

@media (max-width:760px){
  .rental-draft-summary,
  .rental-order-strip,
  #rentalForm.rental-workbench .rental-device-filter,
  #rentalForm.rental-workbench .rental-tail-four{
    grid-template-columns:1fr;
  }
  .rental-save-bar{
    align-items:stretch;
    flex-direction:column;
  }
  .rental-save-bar .primary-btn{
    width:100%;
  }
  .rental-return-panel{
    padding:12px;
  }
  .rental-return-summary,
  .rental-return-money,
  .rental-return-head .rental-search{
    grid-template-columns:1fr;
  }
  .rental-return-head .rental-search input:first-child{
    grid-column:auto;
  }
  .rental-return-title{
    display:grid;
  }
  .rental-return-title small{
    white-space:normal;
  }
  .rental-return-card{
    padding:14px;
  }
  .rental-line-fields{
    grid-template-columns:1fr;
  }
  .rental-device-popover{
    width:min(92vw,520px);
  }
  .rental-device-option{
    grid-template-columns:1fr;
  }
}

.movement-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.movement-filter{
  min-height:32px;
  padding:6px 14px;
  border:1px solid #d4e2ef;
  border-radius:7px;
  background:#f7fbff;
  color:#31516f;
  font-weight:900;
  cursor:pointer;
}

.movement-filter:hover{
  border-color:#9cc2e6;
  background:#eef7ff;
}

.movement-filter.active{
  border-color:#0d8f70;
  background:#0d8f70;
  color:#fff;
  box-shadow:0 8px 18px rgba(13,143,112,.18);
}

.movement-timeline::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  left:24px;
  width:2px;
  background:#d9e7f3;
}

.movement-card{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  padding:12px 14px 12px 0;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
}

.movement-mark{
  display:grid;
  place-items:center;
  padding-top:2px;
  z-index:1;
}

.movement-mark span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#eaf2fb;
  color:#31516f;
  font-size:12px;
  font-weight:900;
  box-shadow:0 0 0 4px #fff;
}

.movement-card.movement-in .movement-mark span{background:#def5ec;color:#08755d}
.movement-card.movement-out .movement-mark span{background:#ffe7e8;color:#bd2635}
.movement-card.movement-transfer .movement-mark span{background:#e6f0ff;color:#1260b4}
.movement-card.movement-status .movement-mark span{background:#fff2d4;color:#a46312}

.movement-main{
  display:grid;
  gap:9px;
  min-width:0;
}

.movement-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.movement-head strong{
  display:block;
  color:#071d3a;
  font-size:17px;
  line-height:1.35;
  word-break:break-word;
}

.movement-head small{
  display:block;
  margin-top:2px;
  color:#405775;
  font-size:13px;
  font-weight:800;
}

.movement-badge{
  flex:0 0 auto;
  min-width:48px;
  padding:5px 9px;
  border-radius:999px;
  background:#f2f6fb;
  color:#31516f;
  font-size:12px;
  font-weight:900;
  text-align:center;
}

.movement-in .movement-badge{background:#def5ec;color:#08755d}
.movement-out .movement-badge{background:#ffe7e8;color:#bd2635}
.movement-transfer .movement-badge{background:#e6f0ff;color:#1260b4}
.movement-status .movement-badge{background:#fff2d4;color:#a46312}

.movement-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.movement-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:6px 8px;
  border-radius:6px;
  background:#f4f8fc;
  color:#405775;
  font-size:12px;
  font-weight:900;
  line-height:1.3;
}

.movement-meta em{
  color:#6b7d93;
  font-style:normal;
  font-weight:800;
}

.movement-note{
  padding:8px 10px;
  border-radius:7px;
  background:#fbfdff;
  color:#405775;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
}

.movement-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #dbe8f3;
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.trace-device-hero{
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(520px,1.5fr);
  gap:12px;
  padding:16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:linear-gradient(135deg,#f8fcff,#eef8f5);
}

.trace-search-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(360px,1.15fr) 110px;
  gap:12px;
  align-items:end;
}

.trace-search-row label{
  min-width:0;
}

.trace-search-row input{
  min-height:38px;
}

.trace-search-row button{
  width:100%;
  min-height:38px;
  border-radius:7px;
}

.trace-device-hero > div:first-child{
  display:grid;
  align-content:center;
  gap:7px;
  min-height:112px;
  padding:16px;
  border-radius:8px;
  background:linear-gradient(135deg,#123d67,#178f77);
  color:#fff;
}

.trace-device-hero span,
.trace-device-hero small{
  font-weight:800;
}

.trace-device-hero > div:first-child span,
.trace-device-hero > div:first-child small{
  opacity:.9;
}

.trace-device-hero strong{
  font-size:22px;
  line-height:1.3;
  word-break:break-word;
}

.trace-device-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(160px,1fr));
  gap:10px;
}

.trace-device-stats div{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
}

.trace-device-stats span{
  color:var(--muted);
  font-size:12px;
}

.trace-device-stats strong{
  color:#071d3a;
  font-size:16px;
}

.trace-timeline-wrap{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fbfdff;
}

.trace-timeline{
  position:relative;
  display:grid;
  gap:10px;
  padding-left:12px;
}

.trace-timeline::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  left:24px;
  width:2px;
  background:#d9e7f3;
}

.trace-event{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  padding:12px 14px 12px 0;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
}

.trace-event-mark{
  display:grid;
  place-items:center;
  padding-top:2px;
  z-index:1;
}

.trace-event-mark span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#eaf2fb;
  color:#31516f;
  font-size:12px;
  font-weight:900;
  box-shadow:0 0 0 4px #fff;
}

.trace-in .trace-event-mark span{background:#def5ec;color:#08755d}
.trace-out .trace-event-mark span{background:#ffe7e8;color:#bd2635}
.trace-transfer .trace-event-mark span{background:#e6f0ff;color:#1260b4}
.trace-status .trace-event-mark span{background:#fff2d4;color:#a46312}
.trace-in .movement-badge{background:#def5ec;color:#08755d}
.trace-out .movement-badge{background:#ffe7e8;color:#bd2635}
.trace-transfer .movement-badge{background:#e6f0ff;color:#1260b4}
.trace-status .movement-badge{background:#fff2d4;color:#a46312}

.trace-event-main{
  display:grid;
  gap:9px;
  min-width:0;
}

.stocktake-check input{
  width:16px;
  height:16px;
  accent-color:#0d8f70;
}

.stocktake-pager{
  margin-top:10px;
}

#stocktake .list .item{
  border-left:3px solid #12a889;
}

#stocktakeLossList .item{
  border-left-color:#e5484d;
}

#stocktake.module-layout{
  display:block;
}

#stocktake > .module-companion{
  display:none !important;
}

#stocktake .sub-tabs{
  margin-bottom:12px;
}

.stocktake-workbench,
.stocktake-page-panel{
  display:grid;
  align-content:start;
  gap:12px;
  max-width:none;
  min-height:0;
  padding:16px;
  border-color:#cfe0ef;
  background:#f7fbff;
  box-shadow:0 18px 45px rgba(16,35,61,.08);
}

.stocktake-filter-card{
  display:grid;
  grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(220px,1fr) 82px 126px;
  gap:10px;
  align-items:end;
  padding:14px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,42,70,.045);
}

.stocktake-filter-card label{
  min-width:0;
}

.stocktake-filter-card input,
.stocktake-filter-card select,
.stocktake-filter-card button{
  min-height:38px;
  border-radius:7px;
}

.stocktake-compact-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:38px;
  padding:2px 2px 6px;
  border-bottom:1px solid #dbe8f3;
}

.stocktake-compact-toolbar h2{
  margin:0;
  color:#071d35;
  font-size:20px;
}

.stocktake-compact-toolbar .secondary-btn{
  min-height:34px;
  border-radius:7px;
}

.stocktake-compact-toolbar.with-search{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(280px,420px);
}

.stocktake-compact-toolbar input{
  min-height:36px;
  border-radius:7px;
  font-weight:800;
}

.stocktake-summary-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px;
}

.stocktake-summary-strip article{
  display:grid;
  gap:5px;
  min-height:76px;
  padding:12px 14px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,42,70,.045);
}

.stocktake-summary-strip span,
.stocktake-summary-strip em{
  color:#55708d;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.stocktake-summary-strip strong{
  color:#071d35;
  font-size:23px;
  line-height:1.08;
}

.stocktake-summary-strip .ok strong{color:#087456}
.stocktake-summary-strip .warn strong{color:#b7791f}
.stocktake-summary-strip .danger strong{color:#c92335}

#stocktake .stocktake-board{
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,42,70,.045);
}

.stocktake-board-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.stocktake-board-head span{
  display:block;
  margin-bottom:4px;
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.stocktake-board-head h2{
  margin:0;
  color:#071d35;
  font-size:18px;
}

#stocktake .stocktake-summary{
  margin:0;
  padding:10px 12px;
  border:1px solid #dce8f3;
  border-radius:7px;
  background:#f8fbff;
  color:#405775;
}

#stocktake .stocktake-select-all{
  flex:0 0 auto;
  margin:0 !important;
  border-radius:7px;
}

#stocktake .stocktake-list{
  gap:10px;
  max-height:none;
  overflow:visible;
}

#stocktake .stocktake-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  margin-top:2px;
  padding:10px 12px;
  border:1px solid #dbe8f3;
  border-radius:8px;
  background:#f8fbff;
  color:#405775;
  font-size:13px;
  font-weight:900;
}

#stocktake .stocktake-pager:empty{
  display:none;
}

#stocktake .stocktake-pager .actions{
  display:flex;
  gap:8px;
}

#stocktake .stocktake-device{
  grid-template-columns:112px minmax(240px,1.05fr) minmax(280px,1.2fr) minmax(150px,.45fr);
  gap:12px;
  min-height:78px;
  padding:12px 14px;
  border-radius:8px;
  border-left:4px solid #d4e2ef;
  box-shadow:0 8px 18px rgba(22,42,70,.045);
}

#stocktake .stocktake-device.is-checked{
  border-left-color:#0d8f70;
  background:#f7fffc;
}

.stocktake-device-main,
.stocktake-device-cost{
  display:grid;
  gap:4px;
  min-width:0;
}

.stocktake-device-main strong{
  font-size:17px;
}

.stocktake-device-main span{
  color:#31516f;
  font-size:13px;
  font-weight:900;
}

.stocktake-device-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}

.stocktake-device-tags span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 8px;
  border-radius:7px;
  background:#f2f7fd;
  color:#31516f;
  font-size:12px;
  font-weight:900;
}

.stocktake-device-cost{
  justify-items:end;
  text-align:right;
}

.stocktake-device-cost span{
  color:#55708d;
  font-size:12px;
  font-weight:900;
}

.stocktake-device-cost strong{
  color:#071d35;
  font-size:16px;
}

#stocktake .stocktake-check{
  align-self:center;
  min-height:34px;
  padding:6px 9px;
  border:1px solid #d7e4f1;
  border-radius:7px;
  background:#f8fbff;
  color:#60758c;
  font-weight:900;
}

#stocktake .stocktake-device.is-checked .stocktake-check{
  border-color:#b7e3d5;
  background:#eaf9f4;
}

.stocktake-order-list,
.stocktake-loss-list{
  gap:12px;
}

.stocktake-order-card{
  display:grid;
  grid-template-columns:minmax(360px,1.25fr) minmax(280px,.85fr) minmax(132px,.24fr);
  gap:12px;
  align-items:center;
  min-height:112px;
  padding:14px 16px;
  border-left:4px solid #b7791f;
  background:#fff;
}

.stocktake-order-card.is-ok{border-left-color:#0d8f70}
.stocktake-order-card.is-danger{border-left-color:#c92335}

.stocktake-order-main{
  display:grid;
  gap:7px;
  min-width:0;
}

.stocktake-order-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.stocktake-order-title strong{
  color:#071d35;
  font-size:19px;
}

.stocktake-order-title span{
  padding:4px 9px;
  border-radius:999px;
  background:#fff2d4;
  color:#a46312;
  font-size:12px;
  font-weight:900;
}

.stocktake-order-card.is-ok .stocktake-order-title span{
  background:#def5ec;
  color:#087456;
}

.stocktake-order-card.is-danger .stocktake-order-title span{
  background:#ffe7e8;
  color:#bd2635;
}

.stocktake-order-main p{
  margin:0;
  color:#31516f;
  font-weight:900;
}

.stocktake-order-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.stocktake-order-tags span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:26px;
  padding:4px 8px;
  border-radius:7px;
  background:#f2f7fd;
  color:#31516f;
  font-size:12px;
  font-weight:900;
}

.stocktake-order-tags em,
.stocktake-order-metrics em{
  color:#6b7d93;
  font-style:normal;
}

.stocktake-order-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.stocktake-order-metrics span{
  display:grid;
  grid-template-columns:auto auto;
  gap:3px 5px;
  align-items:end;
  min-height:58px;
  padding:9px 10px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#f8fbff;
}

.stocktake-order-metrics em{
  grid-column:1 / -1;
}

.stocktake-order-metrics strong{
  color:#071d35;
  font-size:22px;
  line-height:1;
}

.stocktake-order-metrics b{
  color:#405775;
  font-size:13px;
  line-height:1;
}

.stocktake-order-metrics .ok strong{color:#087456}
.stocktake-order-metrics .warn strong{color:#b7791f}

.stocktake-order-actions{
  display:grid;
  gap:7px;
  justify-items:stretch;
}

.stocktake-order-actions .text-btn{
  min-height:32px;
  padding:0 10px;
  border:1px solid #d7e4f1;
  border-radius:6px;
  background:#fff;
  text-align:center;
  text-decoration:none;
}

.stocktake-order-actions .text-btn:hover{
  background:#eef7ff;
  text-decoration:none;
}

.stocktake-order-actions .text-btn.danger{
  border-color:#ffd4d9;
  background:#fff6f7;
}

.stocktake-loss-card{
  display:grid;
  grid-template-columns:minmax(330px,1fr) minmax(180px,.32fr) minmax(180px,.32fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border-left:4px solid #e5484d !important;
  background:#fff;
}

.stocktake-loss-main{
  display:grid;
  gap:5px;
  min-width:0;
}

.stocktake-loss-main strong{
  color:#071d35;
  font-size:20px;
}

.stocktake-loss-main span{
  color:#bd2635;
  font-size:14px;
  font-weight:900;
}

.stocktake-loss-main p{
  margin:0;
  color:#31516f;
  font-weight:900;
}

.stocktake-loss-money{
  display:grid;
  gap:5px;
  min-height:68px;
  padding:11px 12px;
  border:1px solid #ffd4d9;
  border-radius:8px;
  background:#fff8f8;
}

.stocktake-loss-money span{
  color:#8c4c53;
  font-size:12px;
  font-weight:900;
}

.stocktake-loss-money strong{
  color:#c92335;
  font-size:22px;
}

.stocktake-submit-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:1px solid #cfe0ef;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,42,70,.045);
}

.stocktake-submit-bar div{
  display:grid;
  gap:4px;
}

.stocktake-submit-bar strong{
  color:#071d35;
  font-size:16px;
}

.stocktake-submit-bar span{
  color:#55708d;
  font-size:13px;
  font-weight:900;
}

.stocktake-submit-bar .primary-btn{
  min-width:150px;
  min-height:38px;
  border-radius:7px;
}

.stocktake-approval-panel{
  background:
    linear-gradient(180deg,#fff,#f8fbff),
    radial-gradient(circle at 100% 0%,rgba(15,138,106,.08),transparent 28%);
}

.stocktake-approval-panel .stocktake-summary-strip{
  grid-template-columns:repeat(3,minmax(180px,1fr));
}

.stocktake-approval-panel .stocktake-order-list{
  gap:10px;
}

.stocktake-approval-panel .stocktake-order-card{
  border-color:#d7e4f1;
  border-left-color:#b7791f;
  box-shadow:0 8px 20px rgba(22,42,70,.05);
}

.stocktake-detail-shell{
  display:grid;
  gap:14px;
}

.stocktake-detail-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:18px;
  border:1px solid #cfe0ef;
  border-radius:8px;
  background:linear-gradient(135deg,#10233d,#176191 58%,#0f8a6a);
  color:#fff;
}

.stocktake-detail-hero.warn{background:linear-gradient(135deg,#10233d,#176191 58%,#b7791f)}
.stocktake-detail-hero.danger{background:linear-gradient(135deg,#10233d,#8e2630 64%,#c92335)}

.stocktake-detail-hero span{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:900;
}

.stocktake-detail-hero strong{
  display:block;
  color:#fff;
  font-size:25px;
  line-height:1.2;
  word-break:break-word;
}

.stocktake-detail-hero p{
  margin:7px 0 0;
  color:rgba(255,255,255,.82);
  font-weight:900;
}

.stocktake-detail-status{
  display:grid;
  gap:6px;
  min-width:170px;
  justify-items:end;
}

.stocktake-detail-status b{
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:15px;
}

.stocktake-detail-status em{
  color:rgba(255,255,255,.78);
  font-style:normal;
  font-size:12px;
  font-weight:900;
}

.stocktake-detail-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}

.stocktake-detail-metrics article{
  display:grid;
  gap:5px;
  min-height:84px;
  padding:13px 14px;
  border:1px solid #d6e4f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 18px rgba(22,42,70,.045);
}

.stocktake-detail-metrics span,
.stocktake-detail-metrics em{
  color:#55708d;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.stocktake-detail-metrics strong{
  color:#071d35;
  font-size:23px;
  line-height:1.08;
}

.stocktake-detail-metrics .ok strong{color:#087456}
.stocktake-detail-metrics .warn strong{color:#b7791f}
.stocktake-detail-metrics .danger strong{color:#c92335}

.stocktake-detail-info{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.stocktake-detail-info span{
  display:grid;
  gap:4px;
  min-height:56px;
  padding:10px 12px;
  border:1px solid #dbe8f3;
  border-radius:8px;
  background:#f8fbff;
  color:#173a5f;
  font-weight:900;
  overflow-wrap:anywhere;
}

.stocktake-detail-info em{
  color:#6b7d93;
  font-style:normal;
  font-size:12px;
}

.stocktake-detail-section{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #dbe8f3;
  border-radius:8px;
  background:#fff;
}

.stocktake-detail-section.muted-section{
  background:#fbfdff;
}

.stocktake-detail-lines{
  display:grid;
  gap:8px;
  max-height:420px;
  overflow:auto;
}

.stocktake-detail-line{
  display:grid;
  grid-template-columns:34px minmax(220px,1fr) minmax(300px,1.2fr) minmax(120px,.28fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #dbe8f3;
  border-left:4px solid #0d8f70;
  border-radius:8px;
  background:#fbfdff;
}

.stocktake-detail-line.loss{
  border-left-color:#c92335;
  background:#fffafa;
}

.stocktake-detail-line-index{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:7px;
  background:#eaf2fb;
  color:#31516f;
  font-weight:900;
}

.stocktake-detail-line-main{
  display:grid;
  gap:3px;
  min-width:0;
}

.stocktake-detail-line-main strong{
  color:#071d35;
  font-size:16px;
}

.stocktake-detail-line-main span{
  color:#31516f;
  font-weight:900;
  word-break:break-word;
}

.stocktake-detail-line-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.stocktake-detail-line-tags span{
  min-height:25px;
  padding:4px 8px;
  border-radius:7px;
  background:#f2f7fd;
  color:#31516f;
  font-size:12px;
  font-weight:900;
}

.stocktake-detail-line-result{
  display:grid;
  gap:4px;
  justify-items:end;
}

.stocktake-detail-line-result b{
  color:#087456;
}

.stocktake-detail-line.loss .stocktake-detail-line-result b{
  color:#c92335;
}

.stocktake-detail-line-result em{
  color:#55708d;
  font-style:normal;
  font-weight:900;
}

.stocktake-detail-empty{
  display:grid;
  place-items:center;
  min-height:88px;
  border:1px dashed #c9d9e8;
  border-radius:8px;
  background:#fbfdff;
  color:#55708d;
  font-weight:900;
}

@media (max-width:1180px){
  .stocktake-filter-card,
  .stocktake-compact-toolbar.with-search,
  #stocktake .stocktake-device,
  .stocktake-order-card,
  .stocktake-loss-card,
  .stocktake-detail-hero,
  .stocktake-detail-line{
    grid-template-columns:1fr;
  }

  .stocktake-device-cost{
    justify-items:start;
    text-align:left;
  }

  .stocktake-order-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .stocktake-detail-metrics,
  .stocktake-detail-info{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .stocktake-detail-status,
  .stocktake-detail-line-result{
    justify-items:start;
  }
}

@media (max-width:760px){
  .stocktake-workbench,
  .stocktake-page-panel{
    padding:12px;
  }

  .stocktake-summary-strip,
  .stocktake-detail-metrics,
  .stocktake-detail-info,
  .stocktake-order-metrics,
  .stocktake-order-actions{
    grid-template-columns:1fr;
    flex-direction:column;
    align-items:stretch;
  }

  #stocktake .stocktake-pager,
  .stocktake-submit-bar{
    align-items:stretch;
    flex-direction:column;
  }

  #stocktake .stocktake-pager .actions,
  .stocktake-submit-bar .primary-btn{
    width:100%;
  }

  .stocktake-board-head{
    align-items:flex-start;
    flex-direction:column;
  }

  #stocktake .stocktake-select-all{
    width:100% !important;
  }

  .stocktake-detail-hero,
  .stocktake-detail-section{
    padding:12px;
  }
}

@media (max-width:1180px){
  .return-workspace{
    grid-template-columns:1fr;
  }

  .exchange-workspace{
    grid-template-columns:1fr;
  }

  .repair-entry-grid,
  .repair-workspace,
  .internal-entry-grid,
  .internal-workspace,
  .finance-overview-grid,
  .finance-entry-grid{
    grid-template-columns:1fr;
  }

  .return-order-list{
    max-height:none;
    min-height:0;
  }

  .exchange-order-list{
    max-height:none;
    min-height:0;
  }

  .repair-device-results,
  .repair-order-list,
  .internal-item-results,
  .internal-order-list{
    max-height:none;
    min-height:0;
  }

  .return-detail-grid,
  .return-money-strip,
  .return-summary,
  .return-filter-grid,
  .exchange-detail-grid,
  .exchange-money-strip,
  .exchange-summary,
  .exchange-filter-grid,
  .repair-detail-grid,
  .repair-money-strip,
  .repair-summary,
  .repair-filter-grid,
  .internal-filter-grid,
  .internal-detail-grid,
  .internal-summary,
  .finance-filter-grid,
  .finance-summary,
  .finance-summary.compact{
    grid-template-columns:1fr 1fr;
  }

  .stocktake-meta{
    grid-template-columns:1fr;
  }

  .stocktake-device{
    grid-template-columns:1fr 1fr;
  }

  .transfer-filter-grid,
  .transfer-footer{
    grid-template-columns:1fr;
    padding-right:0;
  }

  .transfer-footer .transfer-to-warehouse,
  .transfer-footer button[type="submit"],
  .transfer-footer label:not(.transfer-to-warehouse){
    grid-column:1;
    grid-row:auto;
  }
}

@media (max-width:900px){
  #repairForm.repair-entry-panel .repair-entry-grid{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:760px){
  #repairForm.repair-entry-panel .panel-head,
  #repairForm.repair-entry-panel .repair-device-search,
  #repairForm.repair-entry-panel .repair-form-card .row{
    grid-template-columns:1fr !important;
    flex-direction:column;
    align-items:stretch;
  }

  .return-search,
  .exchange-search,
  .repair-device-search,
  .repair-tools,
  .internal-item-search,
  .internal-search,
  .finance-search,
  .finance-tools,
  .return-detail-head{
    grid-template-columns:1fr;
    flex-direction:column;
    align-items:stretch;
  }

  .exchange-detail-head,
  .repair-detail-head,
  .internal-detail-head{
    grid-template-columns:1fr;
    flex-direction:column;
    align-items:stretch;
  }

  .internal-action-panel{
    justify-self:stretch;
    width:100%;
  }

  .return-summary,
  .return-filter-grid,
  .return-detail-grid,
  .return-money-strip,
  .exchange-summary,
  .exchange-filter-grid,
  .exchange-detail-grid,
  .exchange-money-strip,
  .exchange-device-pair,
  .repair-summary,
  .repair-filter-grid,
  .repair-detail-grid,
  .repair-money-strip,
  .internal-filter-grid,
  .internal-detail-grid,
  .internal-summary,
  .internal-line-card,
  .finance-filter-grid,
  .finance-summary,
  .finance-summary.compact,
  .finance-entry-main,
  .finance-stat-row{
    grid-template-columns:1fr;
  }

  .internal-action-panel{
    grid-template-columns:1fr;
  }

  .stocktake-device{
    grid-template-columns:1fr;
  }
}

#externalRepairPage .external-repair-panel{
  display:grid;
  gap:14px;
  padding:16px;
}

.external-repair-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:94px;
  padding:16px 18px;
  border:1px solid #cfe0ec;
  border-left:5px solid #0f8a6a;
  border-radius:8px;
  background:#f8fbff;
}

.external-repair-hero div:first-child{
  display:grid;
  gap:5px;
}

.external-repair-hero span{
  color:#0f7d64;
  font-size:12px;
  font-weight:900;
}

.external-repair-hero h2{
  margin:0;
  color:#071d35;
  font-size:22px;
}

.external-repair-hero p{
  margin:0;
  color:#52677f;
  font-size:13px;
  font-weight:800;
  line-height:1.5;
}

.external-repair-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  flex-wrap:wrap;
}

.external-repair-actions .external-repair-last-import{
  display:inline-flex;
  align-items:center;
  min-height:56px;
  padding:0 20px;
  border:1px solid #f0b5b5;
  border-radius:12px;
  background:#fff5f5;
  color:#d62f2f;
  font-size:24px;
  font-weight:900;
  white-space:nowrap;
}

.external-repair-actions .external-repair-last-import.has-time{
  border-color:#e26b6b;
  background:#fff0f0;
  color:#c91f1f;
}

.external-repair-file{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 18px;
  border:1px solid #dbe5ef;
  border-radius:10px;
  background:#eef3f8;
  color:#25364b;
  font-size:24px;
  font-weight:900;
  cursor:pointer;
}

.external-repair-file:hover{
  background:#e5edf6;
  border-color:#cbd9e8;
}

.external-repair-file input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.external-repair-file-name{
  display:inline-flex;
  align-items:center;
  max-width:440px;
  min-height:52px;
  padding:0 18px;
  border:1px dashed #cbd9e8;
  border-radius:10px;
  background:#fff;
  color:#60748c;
  font-size:24px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.external-repair-file-name.picked{
  border-style:solid;
  border-color:#9bd8c9;
  background:#effbf7;
  color:#08755d;
}

.external-repair-actions .primary-btn.small,
.external-repair-actions .secondary-btn.small{
  min-height:52px;
  padding:0 18px;
  border-radius:10px;
  font-size:24px;
}

.external-repair-stats{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#f8fbff;
}

.external-repair-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.external-repair-summary-head div{
  display:flex;
  align-items:baseline;
  gap:10px;
  min-width:0;
}

.external-repair-summary-head span{
  color:#405775;
  font-size:13px;
  font-weight:900;
}

.external-repair-summary-head strong{
  color:#071d35;
  font-size:22px;
  line-height:1.2;
}

.external-repair-summary-head em{
  flex:0 0 auto;
  color:#667890;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.external-repair-model-list{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-content:flex-start;
  max-height:128px;
  overflow:auto;
  padding-right:2px;
}

.external-repair-model-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #dce7f2;
  border-radius:6px;
  background:#fff;
  color:#142033;
  font-size:13px;
  font-weight:900;
}

.external-repair-model-chip em{
  min-width:0;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#142033;
  font-style:normal;
}

.external-repair-model-chip strong{
  flex:0 0 auto;
  color:#0f8a6a;
  font-size:13px;
}

.external-repair-model-empty{
  color:#60748c;
  font-size:13px;
  font-weight:900;
}

.external-repair-search{
  display:grid;
  grid-template-columns:minmax(280px,1fr) 150px 145px 145px 74px 74px;
  gap:8px;
  align-items:end;
  padding:12px;
  border:1px solid #dce7f2;
  border-radius:8px;
  background:#fbfdff;
}

.external-repair-search input,
.external-repair-search select{
  min-height:30px;
}

.external-repair-form{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,42,70,.05);
}

.external-repair-form-head{
  align-items:flex-start;
}

.external-repair-form-head h2{
  margin:0 0 4px;
}

.external-repair-form-head span{
  color:#60748c;
  font-size:13px;
  font-weight:800;
}

.external-repair-form-head .actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.external-repair-lines{
  display:grid;
  gap:9px;
}

.external-repair-line{
  display:grid;
  grid-template-columns:34px minmax(130px,.85fr) minmax(140px,.9fr) minmax(150px,1fr) minmax(150px,1fr) minmax(120px,.75fr) minmax(260px,1.5fr) minmax(110px,.72fr) minmax(150px,1fr) 64px;
  gap:7px;
  align-items:end;
  padding:10px;
  border:1px solid #e0eaf4;
  border-radius:8px;
  background:#f8fbff;
}

.external-repair-row-no{
  display:grid;
  place-items:center;
  align-self:stretch;
  min-height:29px;
  border-radius:5px;
  background:#e7eef6;
  color:#405064;
  font-size:12px;
  font-weight:900;
}

.external-repair-line label{
  min-width:0;
  gap:4px;
  color:#405775;
  font-size:12px;
  font-weight:900;
}

.external-repair-line input,
.external-repair-line select{
  min-width:0;
  min-height:29px;
  padding:3px 8px;
  background:#fff;
}

.query-external-repair-line{
  min-height:29px;
  border:0;
  border-radius:5px;
  color:#075ca5;
  background:#eaf5ff;
  font-size:12px;
  font-weight:900;
}

.query-external-repair-line:hover{
  color:#fff;
  background:#1684d6;
}

.external-repair-ledger{
  display:grid;
  gap:12px;
  padding-top:2px;
}

.external-repair-list{
  display:grid;
  gap:10px;
}

.external-repair-table-wrap{
  overflow:auto;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fff;
}

.external-repair-table{
  width:100%;
  min-width:1050px;
  border-collapse:separate;
  border-spacing:0;
}

.external-repair-table th,
.external-repair-table td{
  padding:10px 11px;
  border-bottom:1px solid #e6eef7;
  text-align:left;
  vertical-align:middle;
  color:#142033;
  font-size:13px;
  font-weight:900;
  line-height:1.35;
}

.external-repair-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f4f8fc;
  color:#405775;
  font-size:12px;
}

.external-repair-table tbody tr:hover{
  background:#fbfdff;
}

.external-repair-table tbody tr:last-child td{
  border-bottom:0;
}

.external-repair-table-main,
.external-repair-table-fault{
  word-break:break-word;
}

.external-repair-table select{
  min-width:110px;
  min-height:30px;
  padding:4px 8px;
}

.external-repair-empty{
  display:grid;
  place-items:center;
  min-height:150px;
  border:1px dashed #bfd3e6;
  border-radius:8px;
  background:#fbfdff;
  color:#55708d;
  font-weight:900;
}

@media (max-width:1280px){
  .external-repair-line{
    grid-template-columns:34px repeat(4,minmax(120px,1fr)) 64px;
  }
}

@media (max-width:980px){
  .external-repair-hero,
  .external-repair-search,
  .external-repair-form-head{
    grid-template-columns:1fr;
    flex-direction:column;
    align-items:stretch;
  }

  .external-repair-actions,
  .external-repair-form-head .actions{
    justify-content:flex-start;
  }

  .external-repair-line{
    grid-template-columns:34px repeat(2,minmax(0,1fr));
  }

  .query-external-repair-line{
    grid-column:1 / -1;
    justify-self:start;
    min-width:76px;
  }
}

@media (max-width:640px){
  .external-repair-line{
    grid-template-columns:1fr;
    grid-column:auto;
  }

  .external-repair-summary-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .external-repair-model-chip{
    width:100%;
    justify-content:space-between;
  }

  .external-repair-row-no{
    align-self:auto;
    width:34px;
  }
}

/* accessory outbound workbench */
#accessoryOutboundPage{
  width:100%;
  min-width:0;
}

.accessory-outbound-panel{
  display:grid;
  gap:16px;
  width:100%;
  padding:18px;
  border-color:#cfe2f1;
  background:#f7fbff;
}

.accessory-outbound-hero{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(420px,1.2fr);
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border-radius:9px;
  background:linear-gradient(135deg,#0e4160,#0d6b68);
  color:#fff;
}

.accessory-outbound-hero > div:first-child{
  display:grid;
  gap:5px;
}

.accessory-outbound-hero span{
  color:rgba(255,255,255,.75);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}

.accessory-outbound-hero h2{
  margin:0;
  color:#fff;
  font-size:28px;
}

.accessory-outbound-hero p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:800;
}

.accessory-outbound-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.accessory-outbound-stats article{
  display:grid;
  gap:4px;
  min-width:0;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  background:rgba(255,255,255,.1);
}

.accessory-outbound-stats strong{
  color:#fff;
  font-size:20px;
}

.accessory-outbound-form{
  display:grid;
  grid-template-columns:minmax(280px,1.4fr) minmax(170px,.65fr) minmax(110px,.42fr) minmax(260px,1.1fr) 170px;
  gap:10px;
  align-items:end;
  padding:14px;
  border:1px solid #d5e4f1;
  border-radius:8px;
  background:#fff;
}

.accessory-outbound-form label,
.accessory-outbound-form input,
.accessory-outbound-form select{
  min-width:0;
  width:100%;
}

.accessory-outbound-stock{
  display:grid;
  gap:3px;
  align-content:center;
  min-height:38px;
  padding:7px 10px;
  border:1px solid #bfe4d8;
  border-radius:6px;
  background:#ecfbf5;
}

.accessory-outbound-stock span{
  overflow:hidden;
  color:#527267;
  font-size:11px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.accessory-outbound-stock strong{
  color:#087456;
  font-size:15px;
}

.accessory-outbound-form .primary-btn{
  min-height:38px;
}

.accessory-outbound-ledger-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding-top:4px;
  border-bottom:1px solid #dfeaf4;
  padding-bottom:10px;
}

.accessory-outbound-ledger-head > div{
  display:grid;
  gap:3px;
}

.accessory-outbound-ledger-head strong{
  color:#0c1f33;
  font-size:18px;
}

.accessory-outbound-ledger-head span{
  color:#687b91;
  font-size:12px;
  font-weight:800;
}

.accessory-outbound-ledger-head input{
  width:min(420px,100%);
}

.accessory-outbound-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #d7e5f1;
  border-radius:8px;
  background:#fff;
}

.accessory-outbound-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
}

.accessory-outbound-table th,
.accessory-outbound-table td{
  padding:10px 12px;
  border-bottom:1px solid #e7eef5;
  color:#314b68;
  font-size:13px;
  text-align:left;
  vertical-align:middle;
}

.accessory-outbound-table th{
  background:#f1f6fb;
  color:#1e3d5d;
  font-weight:900;
  white-space:nowrap;
}

.accessory-outbound-table td b{
  color:#c34b32;
}

.accessory-outbound-table tbody tr:hover{
  background:#f8fcff;
}

.accessory-outbound-empty{
  padding:34px;
  border:1px dashed #c7d8e8;
  border-radius:8px;
  background:#fff;
  color:#687b91;
  font-weight:900;
  text-align:center;
}

@media (max-width:1280px){
  .accessory-outbound-hero{
    grid-template-columns:1fr;
  }
  .accessory-outbound-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .accessory-outbound-note{
    grid-column:1 / -1;
  }
}

@media (max-width:760px){
  .accessory-outbound-panel{
    padding:12px;
  }
  .accessory-outbound-stats,
  .accessory-outbound-form{
    grid-template-columns:1fr;
  }
  .accessory-outbound-note{
    grid-column:auto;
  }
  .accessory-outbound-ledger-head{
    align-items:stretch;
    flex-direction:column;
  }
  .accessory-outbound-ledger-head input{
    width:100%;
  }
}

/* inventory query workbench */
#inventory.inventory-workbench{
  gap:14px;
}

#inventory.inventory-workbench.active{
  display:grid;
}

#inventory.inventory-workbench.active.module-layout{
  display:grid;
  grid-template-columns:1fr;
}

#inventory.inventory-workbench > .module-companion{
  display:none !important;
}

#inventory.inventory-workbench > .sub-tabs{
  margin-bottom:0;
}

body:has(#sale.active) #deviceInventoryPage .inventory-content-panel,
body:has(#rental.active) #deviceInventoryPage .inventory-content-panel{
  display:none!important;
}

#inventory .inventory-filter-panel,
#inventory .inventory-filter,
#inventory .inventory-search-panel,
#inventory .inventory-hero,
#inventory #inventorySearchBtn,
#inventory #clearInventoryFilters{
  display:none!important;
}

#inventory .inventory-content-panel,
#warehouseTransferForm.inventory-transfer-panel,
#deviceTracePage .inventory-trace-panel{
  border-color:#d5e4f1;
  background:#fff;
  box-shadow:0 14px 34px rgba(22,42,70,.08);
}

.inventory-section-head span{
  font-size:12px;
  font-weight:900;
  letter-spacing:0;
}

.inventory-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(118px,1fr));
  gap:10px;
}

.inventory-kpis article{
  display:grid;
  align-content:center;
  gap:8px;
  min-height:118px;
  padding:14px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#f8fbff;
}

.inventory-kpis span{
  color:#60748c;
  font-size:12px;
  font-weight:900;
}

.inventory-kpis strong{
  color:#0f2136;
  font-size:22px;
  line-height:1.15;
}

#warehouseTransferForm .transfer-filter-grid label,
#deviceTracePage .trace-search-row label{
  margin:0;
  padding:10px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
}

#warehouseTransferForm .transfer-filter-grid input,
#warehouseTransferForm .transfer-filter-grid select,
#deviceTracePage .trace-search-row input{
  min-height:36px;
  margin-top:6px;
  border-color:#cdddeb;
  background:#f9fcff;
}

#inventory .inventory-section-head{
  align-items:flex-start;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #dce8f3;
}

#inventory .inventory-section-head > div{
  display:grid;
  gap:4px;
}

#inventory .inventory-section-head span{
  color:#0d8f70;
}

#inventory .inventory-section-head h2{
  margin:0;
  font-size:22px;
}

#inventory .inventory-summary{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

#inventory .stock-overview-panel{
  display:grid;
  gap:8px;
  padding:9px 14px 12px;
  border-color:#d5e4f1;
  background:#fff;
  box-shadow:0 14px 34px rgba(22,42,70,.08);
}

#inventory #stockOverviewPage .inventory-section-head{
  align-items:center;
  margin-bottom:0;
  padding-bottom:6px;
}

#inventory #stockOverviewPage .inventory-section-head > div:first-child{
  gap:1px;
}

#inventory #stockOverviewPage .inventory-section-head span{
  font-size:11px;
}

#inventory #stockOverviewPage .inventory-section-head h2{
  font-size:19px;
}

#inventory .stock-overview-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:auto;
}

#inventory .stock-overview-tools .small{
  min-height:30px;
  padding:5px 14px;
}

#inventory .stock-overview-tools .active{
  border-color:#13a37b;
  color:#087456;
  background:#f0fbf7;
}

#inventory .stock-overview-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}

#inventory .stock-overview-stats article{
  display:grid;
  grid-template-columns:minmax(88px,.8fr) minmax(100px,1fr);
  grid-template-areas:
    "label value"
    "note note";
  align-items:center;
  gap:0 8px;
  min-height:44px;
  padding:6px 12px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fbfdff;
}

#inventory .stock-overview-stats span,
#inventory .stock-overview-stats em{
  color:#60748c;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

#inventory .stock-overview-stats strong{
  grid-area:value;
  justify-self:center;
  text-align:center;
  min-width:0;
  color:#0f2136;
  font-size:21px;
  line-height:1.15;
  overflow-wrap:anywhere;
}

#inventory .stock-overview-stats span{
  grid-area:label;
}

#inventory .stock-overview-stats em{
  grid-area:note;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#inventory .stock-overview-stats .stock-cost-total{
  grid-template-columns:minmax(78px,.75fr) minmax(130px,1fr);
}

#inventory .stock-overview-stats .stock-cost-total strong{
  font-size:20px;
}

#inventory .stock-overview-layout{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(460px,1.22fr);
  gap:14px;
  align-items:start;
}

#inventory .stock-overview-list,
#inventory .stock-overview-detail{
  overflow:hidden;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
}

#inventory .stock-overview-table-head,
#inventory .stock-overview-model{
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px;
  gap:12px;
  align-items:center;
}

#inventory .stock-overview-table-head{
  padding:11px 14px;
  background:#f3f8fd;
  color:#405775;
  font-size:12px;
  font-weight:900;
}

#inventory .stock-overview-table-head span:last-child{
  text-align:right;
}

#inventory .stock-overview-models{
  display:grid;
  max-height:640px;
  overflow:auto;
}

#inventory .stock-overview-model{
  width:100%;
  min-height:52px;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid #e6eef6;
  background:#fff;
  color:#0f2136;
  font:inherit;
  text-align:left;
  cursor:pointer;
}

#inventory .stock-overview-model:last-child{
  border-bottom:0;
}

#inventory .stock-overview-model:hover,
#inventory .stock-overview-model.active{
  background:#f1f8ff;
}

#inventory .stock-overview-model.active{
  box-shadow:inset 4px 0 0 #13a37b;
}

#inventory .stock-overview-model span{
  min-width:0;
  font-size:15px;
  font-weight:900;
  overflow-wrap:anywhere;
}

#inventory .stock-overview-model strong{
  justify-self:end;
  color:#087456;
  font-size:17px;
  white-space:nowrap;
}

#inventory .stock-overview-detail{
  display:grid;
}

#inventory .stock-overview-detail-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid #dce8f3;
  background:#fbfdff;
}

#inventory .stock-overview-detail-head div{
  display:grid;
  gap:4px;
  min-width:0;
}

#inventory .stock-overview-detail-head span{
  color:#0d8f70;
  font-size:12px;
  font-weight:900;
}

#inventory .stock-overview-detail-head h2{
  margin:0;
  color:#0f2136;
  font-size:20px;
  overflow-wrap:anywhere;
}

#inventory .stock-overview-detail-head strong{
  color:#087456;
  font-size:20px;
  white-space:nowrap;
}

#inventory .stock-overview-detail-list{
  display:grid;
  max-height:640px;
  overflow:auto;
}

#inventory .stock-overview-device{
  display:grid;
  grid-template-columns:minmax(220px,1.2fr) minmax(120px,.5fr) minmax(110px,.42fr);
  gap:12px;
  align-items:center;
  min-height:58px;
  padding:12px 16px;
  border-bottom:1px solid #e6eef6;
}

#inventory .stock-overview-device:last-child{
  border-bottom:0;
}

#inventory .stock-overview-device div{
  display:grid;
  gap:4px;
  min-width:0;
}

#inventory .stock-overview-device strong{
  color:#0f2136;
  font-size:15px;
  overflow-wrap:anywhere;
}

#inventory .stock-overview-device span{
  color:#60748c;
  font-size:12px;
  font-weight:900;
  overflow-wrap:anywhere;
}

#inventory .stock-overview-device b,
#inventory .stock-overview-device em{
  color:#1f4265;
  font-style:normal;
  font-weight:900;
}

#inventory .stock-overview-device em{
  justify-self:end;
  color:#0f3a63;
}

#inventory .stock-overview-empty{
  display:grid;
  place-items:center;
  min-height:92px;
  padding:18px;
  color:#60748c;
  font-weight:900;
  text-align:center;
}

#inventory .stock-overview-browse{
  display:grid;
  gap:16px;
}

#inventory .stock-overview-category{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fbfdff;
}

#inventory .stock-overview-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #dce8f3;
}

#inventory .stock-overview-category-head h3{
  margin:0;
  color:#0f2136;
  font-size:20px;
  line-height:1.25;
}

#inventory .stock-overview-category-head strong{
  color:#087456;
  font-size:17px;
  white-space:nowrap;
}

#inventory .stock-overview-chips{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

#inventory .stock-overview-chip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  max-width:100%;
  min-height:46px;
  padding:9px 11px;
  border:1px solid #cfe0ee;
  border-radius:8px;
  background:#fff;
  color:#18354f;
  font:inherit;
  text-align:left;
}

#inventory .stock-overview-chip.stock-overview-model{
  width:100%;
  min-height:46px;
  border:1px solid #cfe0ee;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  box-shadow:none;
}

#inventory .stock-overview-chip.stock-overview-model:hover{
  border-color:#95c9ba;
  background:#f3fbf8;
}

#inventory .stock-overview-chip b{
  flex:1 1 auto;
  min-width:0;
  color:#0f2136;
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}

#inventory .stock-overview-chip strong{
  flex:0 0 auto;
  color:#087456;
  font-size:14px;
  white-space:nowrap;
}

#inventory .stock-overview-chip em{
  flex:0 0 auto;
  padding-left:2px;
  color:#526b84;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}

#inventory .stock-overview-chip.accessory{
  background:#f8fbff;
}

#inventory .stock-overview-category[draggable="true"]{
  border-style:dashed;
  cursor:grab;
}

#inventory .stock-overview-category[draggable="true"] .stock-overview-chip{
  cursor:grab;
}

#inventory .stock-overview-category.dragging,
#inventory .stock-overview-chip.dragging{
  opacity:.45;
}

#inventory .stock-overview-category.drag-probing,
#inventory .stock-overview-chip.drag-probing{
  pointer-events:none;
}

#inventory .stock-overview-detail-page{
  overflow:hidden;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
}

#inventory .stock-overview-detail-page.hidden,
#inventory .stock-overview-browse.hidden{
  display:none;
}

#inventory .inventory-overview-strip{
  display:grid;
  grid-template-columns:1.15fr repeat(4,minmax(150px,1fr));
  gap:10px;
  margin-bottom:6px;
}

#inventory .inventory-overview-strip article{
  display:grid;
  gap:6px;
  min-height:82px;
  padding:14px 16px;
  border:1px solid #d8e6f2;
  border-radius:8px;
  background:#fbfdff;
}

#inventory .inventory-overview-strip span,
#inventory .inventory-overview-strip em{
  color:#60748c;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

#inventory .inventory-overview-strip strong{
  color:#0f2136;
  font-size:22px;
  line-height:1.15;
}

#inventory .inventory-overview-strip .ok strong{color:#087456}
#inventory .inventory-overview-strip .warn strong{color:#a66900}
#inventory .inventory-overview-strip .danger strong{color:#bf2333}
#inventory .inventory-overview-strip .focus{
  border-color:#c9dfef;
  background:#f5fbff;
}

#inventory .inventory-ledger-row{
  display:grid;
  grid-template-columns:minmax(170px,.8fr) minmax(260px,1.2fr) minmax(180px,.75fr) minmax(320px,1.4fr) minmax(86px,.35fr);
  gap:14px;
  align-items:center;
  min-height:104px;
  padding:16px 18px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
}

#inventory .inventory-category-main{
  display:grid;
  gap:7px;
  min-width:0;
}

#inventory .inventory-category-main strong{
  color:#0f2136;
  font-size:20px;
  line-height:1.3;
  word-break:break-word;
}

#inventory .inventory-category-main span{
  display:block;
  color:#60748c;
  font-size:13px;
  font-weight:900;
}

#inventory .inventory-category-flow{
  display:grid;
  gap:9px;
  min-width:0;
}

#inventory .inventory-status-bar{
  display:flex;
  width:100%;
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#eaf1f7;
}

#inventory .inventory-status-bar i{
  display:block;
  min-width:0;
}

#inventory .inventory-status-bar .stock{background:#13a37b}
#inventory .inventory-status-bar .renting{background:#2f74c0}
#inventory .inventory-status-bar .repair{background:#d89614}

#inventory .inventory-status-legend{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

#inventory .inventory-status-legend span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#526b84;
  font-size:12px;
  font-weight:900;
}

#inventory .inventory-status-legend span::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#13a37b;
}

#inventory .inventory-status-legend .renting::before{background:#2f74c0}
#inventory .inventory-status-legend .repair::before{background:#d89614}

#inventory .inventory-category-money{
  display:grid;
  gap:7px;
  justify-items:start;
  min-width:0;
}

#inventory .inventory-category-money b{
  color:#1f4265;
  font-size:21px;
  line-height:1.2;
  white-space:nowrap;
}

#inventory .inventory-category-money span{
  color:#60748c;
  font-size:12px;
  font-weight:900;
}

#inventory .inventory-ledger-row .text-btn{
  justify-self:end;
  white-space:nowrap;
}

#inventory .inventory-warehouse-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}

#inventory .inventory-warehouse-tags i{
  display:grid;
  gap:3px;
  max-width:100%;
  padding:7px 9px;
  border:1px solid #d7e6f2;
  border-radius:7px;
  background:#f7fbff;
  color:#244d73;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  line-height:1.25;
}

#inventory .inventory-warehouse-tags i.primary{
  border-color:#b9d8ee;
  background:#eef7ff;
}

#inventory .inventory-warehouse-tags i strong{
  color:#17456d;
  font-size:12px;
}

#inventory .inventory-warehouse-tags small{
  color:#60748c;
  font-size:12px;
  font-weight:800;
}

#inventory .warehouse-stock-card{
  display:grid;
  gap:12px;
  margin-top:18px;
  padding:18px;
  border:1px solid #b9d8ee;
  border-radius:8px;
  background:#fbfdff;
}

#inventory .warehouse-stock-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid #dce8f3;
}

#inventory .warehouse-stock-head span{
  color:#008a76;
  font-size:13px;
  font-weight:900;
}

#inventory .warehouse-stock-head h2{
  margin:4px 0 0;
  color:#071d35;
  font-size:22px;
}

#inventory .warehouse-stock-total{
  display:grid;
  gap:4px;
  justify-items:end;
}

#inventory .warehouse-stock-total strong{
  color:#087456;
  font-size:16px;
}

#inventory .warehouse-stock-total b{
  color:#0f3a63;
  font-size:24px;
}

#inventory .warehouse-stock-table-head,
#inventory .warehouse-stock-line{
  display:grid;
  grid-template-columns:minmax(300px,1.55fr) minmax(90px,.35fr) minmax(150px,.55fr) minmax(120px,.45fr) minmax(96px,.38fr);
  gap:12px;
  align-items:center;
}

#inventory .warehouse-stock-table-head{
  padding:0 14px;
  color:#60748c;
  font-size:12px;
  font-weight:900;
}

#inventory .warehouse-stock-lines{
  display:grid;
  gap:0;
  overflow:hidden;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fff;
}

#inventory .warehouse-stock-line{
  min-height:54px;
  padding:11px 14px;
  border-bottom:1px solid #e6eef6;
  background:transparent;
}

#inventory .warehouse-stock-line:last-child{
  border-bottom:0;
}

#inventory .warehouse-stock-line div{
  display:grid;
  gap:4px;
  min-width:0;
}

#inventory .warehouse-stock-line strong{
  color:#0f2136;
  font-size:16px;
}

#inventory .warehouse-stock-line span{
  color:#526b84;
  font-size:13px;
  font-weight:900;
  overflow-wrap:anywhere;
}

#inventory .warehouse-stock-line b,
#inventory .warehouse-stock-line em,
#inventory .warehouse-stock-line small{
  justify-self:end;
  color:#1f4265;
  font-style:normal;
  font-weight:900;
}

#inventory .warehouse-stock-line .text-btn{
  justify-self:end;
  white-space:nowrap;
}

#inventory .warehouse-stock-line em{
  color:#0f3a63;
  font-size:17px;
}

#inventory .warehouse-stock-empty{
  display:grid;
  place-items:center;
  min-height:72px;
  color:#60748c;
  font-weight:900;
}

#inventory .warehouse-stock-more{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:4px 2px 0;
  color:#60748c;
  font-size:13px;
  font-weight:900;
}

#inventory .warehouse-stock-more .text-btn{
  white-space:nowrap;
}

#inventory .inventory-ledger-total{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(360px,2fr) minmax(180px,.8fr);
  gap:12px;
  align-items:center;
  margin-top:4px;
  padding:16px;
  border:1px solid #b8dcd6;
  border-radius:8px;
  background:#f4fbf9;
}

#inventory .inventory-ledger-total strong{
  color:#0a6f5d;
  font-size:18px;
}

#inventory .inventory-ledger-total span{
  color:#486177;
  font-size:14px;
  font-weight:900;
}

#inventory .inventory-ledger-total b{
  justify-self:end;
  color:#0a6f5d;
  font-size:22px;
}

#inventory .inventory-summary .item{
  display:grid;
  grid-template-columns:minmax(150px,.75fr) minmax(0,1.15fr) minmax(150px,.8fr);
  grid-template-areas:
    "title status cost"
    "title action action";
  column-gap:16px;
  row-gap:8px;
  align-items:center;
  min-height:82px;
  padding:14px;
  border-color:#dce8f3;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:none;
}

#inventory .inventory-summary .item strong{
  grid-area:title;
  min-width:0;
  color:#0f2136;
  font-size:16px;
  line-height:1.3;
  word-break:break-word;
}

#inventory .inventory-summary .item span{
  min-width:0;
  color:#526b84;
  font-size:13px;
  line-height:1.4;
  word-break:break-word;
}

#inventory .inventory-summary .item span:nth-of-type(1){
  grid-area:status;
}

#inventory .inventory-summary .item span:nth-of-type(2){
  grid-area:cost;
  white-space:nowrap;
}

#inventory .inventory-summary .item .actions{
  grid-area:action;
  justify-self:end;
  max-width:100%;
}

#inventory .inventory-summary .text-btn{
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

#inventory .inventory-model-table-wrap{
  overflow:auto;
  border-color:#dce8f3;
  border-radius:8px;
}

#inventory .inventory-model-table{
  min-width:920px;
  table-layout:fixed;
}

#inventory .inventory-model-table th,
#inventory .inventory-model-table td{
  padding:9px 12px;
  white-space:normal;
  word-break:break-word;
  vertical-align:middle;
}

#inventory .inventory-model-table th{
  position:sticky;
  top:0;
  z-index:1;
}

#inventory .inventory-model-table th:nth-child(1),
#inventory .inventory-model-table td:nth-child(1){width:26%;}
#inventory .inventory-model-table th:nth-child(2),
#inventory .inventory-model-table td:nth-child(2){width:19%;}
#inventory .inventory-model-table th:nth-child(3),
#inventory .inventory-model-table td:nth-child(3),
#inventory .inventory-model-table th:nth-child(4),
#inventory .inventory-model-table td:nth-child(4),
#inventory .inventory-model-table th:nth-child(5),
#inventory .inventory-model-table td:nth-child(5),
#inventory .inventory-model-table th:nth-child(6),
#inventory .inventory-model-table td:nth-child(6){width:8%;text-align:center;}
#inventory .inventory-model-table th:nth-child(7),
#inventory .inventory-model-table td:nth-child(7){width:13%;}
#inventory .inventory-model-table th:nth-child(8),
#inventory .inventory-model-table td:nth-child(8){width:10%;text-align:right;}

#inventory .inventory-model-table td strong{
  display:block;
  color:#0f2136;
  font-size:14px;
  line-height:1.3;
}

#inventory .inventory-model-table td span{
  display:block;
  margin-top:2px;
  color:#60748c;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}

#inventory .inventory-model-table .text-btn{
  white-space:nowrap;
}

#inventory .table-wrap{
  border-color:#dce8f3;
  box-shadow:none;
}

#inventory table{
  width:100%;
}

#inventory th{
  background:#f3f8fd;
  color:#405775;
  font-size:12px;
}

#inventory .inventory-serial-head{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

#inventory .inventory-copy-serials{
  min-height:26px;
  padding:3px 9px;
  border:1px solid #9fc9ef;
  border-radius:6px;
  color:#1265a8;
  background:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}

#inventory .inventory-copy-serials:hover{
  border-color:#1684d6;
  color:#075ca5;
  background:#eaf5ff;
}

#inventory .inventory-copy-serials:disabled{
  opacity:.45;
  cursor:not-allowed;
}

#inventory td{
  color:#20354d;
  font-weight:700;
}

#accessoryInventoryPage .table-wrap,
#deviceInventoryPage .table-wrap{
  overflow:auto;
}

#warehouseTransferForm.inventory-transfer-panel{
  gap:14px;
  padding:16px;
}

#warehouseTransferForm .transfer-filter-grid{
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:10px;
  padding-right:0;
}

#warehouseTransferForm .transfer-board{
  margin-top:0;
  padding:14px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fbfdff;
}

#warehouseTransferForm .transfer-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-height:620px;
}

#warehouseTransferForm .transfer-device{
  grid-template-columns:82px minmax(150px,.85fr) minmax(200px,1.1fr) minmax(150px,.75fr);
  border-color:#dce8f3;
}

#warehouseTransferForm .transfer-footer{
  grid-template-columns:minmax(180px,260px) minmax(260px,1fr) minmax(220px,300px);
  padding:14px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#f8fbff;
}

#stockMovementPage .movement-toolbar{
  margin:0 0 14px;
  padding:10px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fbfdff;
}

#stockMovementPage .movement-search{
  width:min(560px,100%);
}

#stockMovementPage .movement-card,
#deviceTracePage .trace-event{
  border-color:#dce8f3;
  box-shadow:0 8px 22px rgba(22,42,70,.05);
}

#stockMovementPage .movement-timeline,
#deviceTracePage .trace-timeline{
  padding-left:0;
}

#stockMovementPage .movement-timeline::before,
#deviceTracePage .trace-timeline::before{
  left:17px;
}

#deviceTracePage .inventory-trace-panel{
  gap:14px;
  padding:16px;
}

#deviceTracePage .trace-search-row{
  grid-template-columns:minmax(220px,1fr) minmax(320px,1.3fr) 120px;
  gap:10px;
  padding:14px;
  border:1px solid #dce8f3;
  border-radius:8px;
  background:#fbfdff;
}

#deviceTracePage .trace-device-hero,
#deviceTracePage .trace-timeline-wrap{
  border-color:#dce8f3;
  box-shadow:none;
}

@media (max-width:1380px){
  .inventory-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  #inventory .inventory-overview-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  #inventory .stock-overview-layout{
    grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr);
  }

  #warehouseTransferForm .transfer-filter-grid{
    grid-template-columns:repeat(3,minmax(160px,1fr));
  }

  #warehouseTransferForm .transfer-list{
    grid-template-columns:1fr;
  }

  #inventory .inventory-ledger-row{
    grid-template-columns:minmax(160px,.8fr) minmax(230px,1.2fr) minmax(170px,.75fr) minmax(250px,1.25fr) minmax(82px,.35fr);
    gap:10px;
  }
}

@media (max-width:980px){
  .inventory-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #inventory .stock-overview-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #inventory .stock-overview-chips{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #inventory .stock-overview-layout{
    grid-template-columns:1fr;
  }

  #warehouseTransferForm .transfer-filter-grid,
  #warehouseTransferForm .transfer-footer,
  #deviceTracePage .trace-search-row,
  #deviceTracePage .trace-device-hero{
    grid-template-columns:1fr;
  }

  #warehouseTransferForm .transfer-footer .transfer-to-warehouse,
  #warehouseTransferForm .transfer-footer label:not(.transfer-to-warehouse),
  #warehouseTransferForm .transfer-footer button[type="submit"]{
    grid-column:auto;
  }

  #inventory .inventory-summary .item,
  #warehouseTransferForm .transfer-device{
    grid-template-columns:1fr;
  }

  #inventory .inventory-overview-strip,
  #inventory .inventory-ledger-row{
    grid-template-columns:1fr 1fr;
  }

  #inventory .warehouse-stock-table-head,
  #inventory .warehouse-stock-line{
    grid-template-columns:minmax(220px,1.2fr) minmax(72px,.32fr) minmax(110px,.5fr) minmax(88px,.4fr) minmax(86px,.36fr);
  }

  #inventory .inventory-ledger-row .text-btn{
    justify-self:start;
  }

  #inventory .inventory-summary .item{
    grid-template-areas:
      "title"
      "status"
      "cost"
      "action";
  }

  #inventory .inventory-summary .item span:nth-of-type(2){
    white-space:normal;
  }

  #inventory .inventory-summary .item .actions{
    justify-self:start;
  }
}

@media (max-width:640px){
  #inventory .inventory-section-head,
  #stockMovementPage .inventory-section-head{
    flex-direction:column;
    align-items:stretch;
  }

  .inventory-kpis{
    grid-template-columns:1fr;
  }

  #inventory .inventory-overview-strip,
  #inventory .inventory-ledger-row{
    grid-template-columns:1fr;
  }

  #inventory .warehouse-stock-head{
    align-items:flex-start;
    flex-direction:column;
  }

  #inventory .warehouse-stock-total{
    justify-items:start;
  }

  #inventory .warehouse-stock-table-head{
    display:none;
  }

  #inventory .warehouse-stock-line{
    grid-template-columns:1fr 1fr;
  }

  #inventory .stock-overview-stats,
  #inventory .stock-overview-device{
    grid-template-columns:1fr;
  }

  #inventory .stock-overview-chips{
    grid-template-columns:1fr;
  }

  #inventory .stock-overview-detail-head{
    align-items:flex-start;
    flex-direction:column;
  }

  #inventory .stock-overview-device em{
    justify-self:start;
  }

  #inventory .warehouse-stock-line div{
    grid-column:1 / -1;
  }

  #inventory .warehouse-stock-line b,
  #inventory .warehouse-stock-line em,
  #inventory .warehouse-stock-line small{
    justify-self:start;
  }

  #inventory .warehouse-stock-more{
    align-items:flex-start;
    flex-direction:column;
  }

  #stockMovementPage .movement-search{
    grid-template-columns:1fr;
  }
}
/* Return entry: search on the left, selected order details on the right. */
#returnForm.return-entry-workbench{
  display:block !important;
  width:100%;
  max-width:none !important;
  padding:0;
  overflow:hidden;
}

#returnForm .return-entry-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px;
  color:#fff;
  background:linear-gradient(135deg,#0f4e72,#0a806f);
}

#returnForm .return-entry-head span,
#returnForm .return-query-block > span,
#returnForm .return-detail-title span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#returnForm .return-entry-head h2{margin:4px 0;font-size:26px;color:#fff}
#returnForm .return-entry-head p{margin:0;color:rgba(255,255,255,.78)}
#returnForm .return-entry-head > strong{padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:13px}

#returnForm .return-entry-columns{
  display:grid;
  grid-template-columns:minmax(300px,36%) minmax(0,64%);
  min-height:560px;
}

#returnForm .return-entry-search-pane,
#returnForm .return-entry-detail-pane{min-width:0;padding:20px}
#returnForm .return-entry-search-pane{border-right:1px solid #dbe7f1;background:#f5f9fd}
#returnForm .return-entry-detail-pane{display:flex;flex-direction:column;gap:14px;background:#fff}

#returnForm .return-query-block{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px;
  padding:16px;
  border:1px solid #d5e4ef;
  border-radius:12px;
  background:#fff;
}
#returnForm .return-query-block h2{margin:0;font-size:20px}
#returnForm .return-query-block > span,#returnForm .return-detail-title span{color:#07826f}
#returnForm .return-query-block label,#returnForm .return-query-block input,#returnForm .return-query-block button{width:100% !important;max-width:none !important}
#returnForm .return-query-block button{min-height:40px}

#returnForm .return-result-head,#returnForm .return-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 2px 10px}
#returnForm .return-result-head span,#returnForm .return-detail-title em{color:#71849a;font-size:12px;font-style:normal}
#returnForm .return-detail-title{margin:0;padding-bottom:12px;border-bottom:1px solid #e2ebf3}
#returnForm .return-detail-title h2{margin:3px 0 0;font-size:20px}

#returnForm #returnSaleResults{width:100%;max-height:430px;overflow:auto;padding-right:4px}
#returnForm #returnSaleResults .item{background:#fff;border:1px solid #dbe7f1;border-radius:10px}
#returnForm .return-selected-sale,#returnForm .return-entry-fields label{width:100% !important;max-width:none !important}
#returnForm .return-selected-sale{padding:12px;border:1px solid #dbe7f1;border-radius:10px;background:#f8fbfe}

#returnForm .return-selection-empty{display:flex;min-height:250px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed #bfd2e1;border-radius:12px;background:#f8fbfe;color:#6d8296;text-align:center}
#returnForm .return-selection-empty strong{font-size:17px;color:#29465d}
#returnForm .return-selection-empty.hidden{display:none}
#returnForm #returnSaleLinePicker{width:100%;max-width:none !important;margin:0}
#returnForm .return-entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto}
#returnForm .return-submit-btn{width:100% !important;min-height:44px}

@media (max-width:1100px){
  #returnForm .return-entry-columns{grid-template-columns:1fr}
  #returnForm .return-entry-search-pane{border-right:0;border-bottom:1px solid #dbe7f1}
  #returnForm #returnSaleResults{max-height:300px}
}

@media (max-width:640px){
  #returnForm .return-entry-head,#returnForm .return-result-head,#returnForm .return-detail-title{align-items:flex-start;flex-direction:column}
  #returnForm .return-entry-head > strong{border-radius:10px}
  #returnForm .return-entry-search-pane,#returnForm .return-entry-detail-pane{padding:14px}
  #returnForm .return-entry-fields{grid-template-columns:1fr}
}

/* Exchange entry: search on the left, order and replacement details on the right. */
#exchangeForm.exchange-entry-workbench{display:block !important;width:100%;max-width:none !important;padding:0;overflow:hidden}
#exchangeForm .exchange-entry-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;color:#fff;background:linear-gradient(135deg,#173f70,#13786e)}
#exchangeForm .exchange-entry-head span,#exchangeForm .exchange-sale-search > span,#exchangeForm .exchange-detail-title span,#exchangeForm .exchange-new-device-panel .panel-head span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
#exchangeForm .exchange-entry-head h2{margin:4px 0;font-size:26px;color:#fff}
#exchangeForm .exchange-entry-head p{margin:0;color:rgba(255,255,255,.78)}
#exchangeForm .exchange-entry-head > strong{padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:13px}
#exchangeForm .exchange-entry-columns{display:grid;grid-template-columns:minmax(300px,36%) minmax(0,64%);min-height:650px}
#exchangeForm .exchange-entry-search-pane,#exchangeForm .exchange-entry-detail-pane{min-width:0;padding:20px}
#exchangeForm .exchange-entry-search-pane{border-right:1px solid #dbe7f1;background:#f5f9fd}
#exchangeForm .exchange-entry-detail-pane{display:flex;flex-direction:column;gap:14px;background:#fff}
#exchangeForm .exchange-sale-search{display:grid;grid-template-columns:1fr;gap:10px;padding:16px;border:1px solid #d5e4ef;border-radius:12px;background:#fff}
#exchangeForm .exchange-sale-search > span,#exchangeForm .exchange-detail-title span,#exchangeForm .exchange-new-device-panel .panel-head span{color:#087e6e}
#exchangeForm .exchange-sale-search h2{margin:0;font-size:20px}
#exchangeForm .exchange-sale-search label,#exchangeForm .exchange-sale-search input,#exchangeForm .exchange-sale-search button{width:100% !important;max-width:none !important}
#exchangeForm .exchange-sale-search button{min-height:40px}
#exchangeForm .exchange-result-head,#exchangeForm .exchange-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 2px 10px}
#exchangeForm .exchange-result-head span,#exchangeForm .exchange-detail-title em{color:#71849a;font-size:12px;font-style:normal}
#exchangeForm .exchange-detail-title{margin:0;padding-bottom:12px;border-bottom:1px solid #e2ebf3}
#exchangeForm .exchange-detail-title h2{margin:3px 0 0;font-size:20px}
#exchangeForm #exchangeOldResults{width:100%;max-height:500px;overflow:auto;padding-right:4px}
#exchangeForm #exchangeOldResults .item{background:#fff;border:1px solid #dbe7f1;border-radius:10px}
#exchangeForm .exchange-selected-sale,#exchangeForm .exchange-selected-old,#exchangeForm .exchange-customer-fields label,#exchangeForm .exchange-entry-fields label{width:100% !important;max-width:none !important}
#exchangeForm .exchange-selected-sale,#exchangeForm .exchange-selected-old{padding:12px;border:1px solid #dbe7f1;border-radius:10px;background:#f8fbfe}
#exchangeForm .exchange-selection-empty{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed #bfd2e1;border-radius:12px;background:#f8fbfe;color:#6d8296;text-align:center}
#exchangeForm .exchange-selection-empty strong{font-size:17px;color:#29465d}
#exchangeForm .exchange-selection-empty.hidden{display:none}
#exchangeForm #exchangeOldLinePicker{width:100%;max-width:none !important;margin:0}
#exchangeForm .exchange-customer-fields,#exchangeForm .exchange-entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#exchangeForm .exchange-new-device-panel{display:grid;gap:12px;padding:16px;border:1px solid #dbe7f1;border-radius:12px;background:#f8fbfe}
#exchangeForm .exchange-new-device-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
#exchangeForm .exchange-new-device-panel .panel-head h2{margin:3px 0 0}
#exchangeForm .exchange-sale-style-picker{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:12px;align-items:end;padding:12px;border:1px solid #cfe2f1;border-radius:10px;background:#fff}
#exchangeForm .exchange-sale-style-picker .device-pick{position:relative;min-width:0}
#exchangeForm .exchange-sale-style-picker input{width:100%;max-width:none}
#exchangeForm .exchange-sale-style-picker .sale-device-config{display:grid;gap:4px;min-height:38px;padding:8px 10px;border:1px solid #cfe2f1;border-radius:7px;background:#eef7ff;color:#31516f;font-weight:900}
#exchangeForm .exchange-sale-style-picker .sale-device-config em{color:#6b7d93;font-size:12px;font-style:normal}
#exchangeForm .exchange-sale-style-picker .sale-device-config span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#exchangeForm .exchange-sale-style-picker .sale-device-config.matched{border-color:#b9eadb;background:#ecfdf6;color:#087456}
#exchangeForm .exchange-sale-style-picker .sale-device-config.unmatched{border-color:#f4d8a6;background:#fff8eb;color:#965b10}
#exchangeForm .exchange-sale-line-fields{display:grid;grid-template-columns:.7fr 1.35fr .55fr .75fr 1.05fr 1fr .75fr .75fr .75fr;gap:8px;align-items:end}
#exchangeForm .exchange-sale-line-fields label{min-width:0;width:100% !important;max-width:none !important}
#exchangeForm .exchange-sale-line-fields input,#exchangeForm .exchange-sale-line-fields select{width:100%;min-width:0}
#exchangeForm .exchange-sale-fees{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#exchangeForm .exchange-sale-fees span{display:flex;min-height:34px;align-items:center;justify-content:center;border-radius:7px;background:#ecfdf6;color:#087456;font-weight:900}
#exchangeForm .exchange-sale-fees span:nth-child(2),#exchangeForm .exchange-sale-fees span:nth-child(3){background:#fff8eb;color:#965b10}
#exchangeForm .exchange-new-device-panel .filter-grid{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;width:100%;max-width:none !important}
#exchangeForm #exchangeNewResults{max-height:250px;overflow:auto}
#exchangeForm .exchange-submit-btn{width:100% !important;min-height:44px}

@media (max-width:1500px){#exchangeForm .exchange-sale-line-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1250px){#exchangeForm .exchange-new-device-panel .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:1100px){
  #exchangeForm .exchange-entry-columns{grid-template-columns:1fr}
  #exchangeForm .exchange-entry-search-pane{border-right:0;border-bottom:1px solid #dbe7f1}
  #exchangeForm #exchangeOldResults{max-height:300px}
}
@media (max-width:640px){
  #exchangeForm .exchange-entry-head,#exchangeForm .exchange-result-head,#exchangeForm .exchange-detail-title,#exchangeForm .exchange-new-device-panel .panel-head{align-items:flex-start;flex-direction:column}
  #exchangeForm .exchange-entry-head > strong{border-radius:10px}
  #exchangeForm .exchange-entry-search-pane,#exchangeForm .exchange-entry-detail-pane{padding:14px}
  #exchangeForm .exchange-customer-fields,#exchangeForm .exchange-entry-fields,#exchangeForm .exchange-new-device-panel .filter-grid{grid-template-columns:1fr !important}
  #exchangeForm .exchange-sale-style-picker{grid-template-columns:1fr}
  #exchangeForm .exchange-sale-line-fields,#exchangeForm .exchange-sale-fees{grid-template-columns:1fr}
}

/* Dashboard key outcomes: make profit and asset values instantly scannable. */
#dashboard .ledger-profit .dashboard-key-result{border-color:rgba(255,220,224,.38);background:rgba(255,230,233,.16);box-shadow:inset 4px 0 0 #ff7d8b}
#dashboard .ledger-profit .dashboard-key-result span{color:#fff0f2}
#dashboard .ledger-profit .dashboard-key-result b{color:#fff;font-size:18px;text-shadow:0 1px 10px rgba(0,0,0,.12)}
#dashboard .dashboard-today-profit{display:flex;min-height:48px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #f3bcc3;border-radius:9px;background:linear-gradient(135deg,#fff0f2,#fff8f8);color:#a13a48}
#dashboard .dashboard-today-profit b{color:#c72f42;font-size:20px}
#dashboard .dashboard-asset-value{display:inline-flex;width:max-content;max-width:100%;align-items:center;padding:8px 12px;border:1px solid #efb1ba;border-radius:10px;background:linear-gradient(135deg,#ffedef,#fff7f8);color:#bd2d40;box-shadow:0 8px 20px rgba(190,45,64,.11)}
#dashboard .dashboard-net-profit{display:inline-flex;width:max-content;max-width:100%;align-items:center;padding:8px 12px;border:1px solid rgba(255,190,198,.72);border-radius:10px;background:linear-gradient(135deg,#fff0f2,#ffe1e5);color:#c3263b !important;box-shadow:0 10px 24px rgba(90,8,25,.18);text-shadow:none !important}

/* Dashboard performance: one full-width panel, shops above salespeople. */
#dashboard .dashboard-performance-panel{grid-column:1 / -1;display:grid;gap:20px;padding:20px}
#dashboard .dashboard-performance-head{padding-bottom:14px;border-bottom:1px solid #dce7f1}
#dashboard .dashboard-performance-head span{color:#07826f;font-size:12px;font-weight:900;letter-spacing:.1em}
#dashboard .dashboard-performance-head h2{margin:4px 0;font-size:24px}
#dashboard .dashboard-performance-head p{margin:0;color:#6b7d93}
#dashboard .dashboard-performance-section{display:grid;gap:10px;min-width:0}
#dashboard .dashboard-performance-section + .dashboard-performance-section{padding-top:18px;border-top:1px solid #dce7f1}
#dashboard .dashboard-performance-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
#dashboard .dashboard-performance-title h3{margin:0;font-size:19px}
#dashboard .dashboard-performance-title span{padding:5px 10px;border-radius:999px;background:#eef5fb;color:#4d6680;font-size:12px;font-weight:900}
#dashboard .dashboard-performance-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:10px;max-height:560px;overflow:auto;padding:2px 5px 2px 2px}
#dashboard .dashboard-performance-list .item{min-width:0;margin:0}
@media (max-width:700px){
  #dashboard .dashboard-performance-panel{padding:14px}
  #dashboard .dashboard-performance-list{grid-template-columns:1fr;max-height:none}
}

/* Accessory outbound: sales-style multi-line picker on the left, outbound ledger on the right. */
.accessory-outbound-workspace{display:grid;grid-template-columns:minmax(430px,42%) minmax(0,58%);gap:16px;align-items:start}
.accessory-outbound-entry-pane,.accessory-outbound-ledger-pane{min-width:0;border:1px solid #d5e4f1;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(22,42,70,.04)}
.accessory-outbound-entry-pane{position:sticky;top:12px;padding:16px}
.accessory-outbound-ledger-pane{display:grid;gap:12px;padding:16px}
.accessory-outbound-pane-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #dfeaf4}
.accessory-outbound-pane-head>div{display:grid;gap:3px}
.accessory-outbound-pane-head span{color:#07826f;font-size:12px;font-weight:900;letter-spacing:.08em}
.accessory-outbound-pane-head h2{margin:0;color:#0c1f33;font-size:21px}
.accessory-outbound-pane-head p{margin:0;color:#687b91;font-size:12px;font-weight:800}
.accessory-outbound-entry-pane .accessory-outbound-form{grid-template-columns:1fr !important;gap:12px;padding:0;border:0;background:transparent}
.accessory-outbound-entry-pane .accessory-outbound-form .primary-btn{width:100%;min-height:44px}
.accessory-outbound-lines{display:grid;gap:10px}
.accessory-outbound-line{position:relative;display:grid !important;grid-template-columns:repeat(12,minmax(0,1fr)) !important;gap:8px !important;padding:11px !important;border:1px solid #d8e6f1 !important;border-radius:9px !important;background:#f8fbfe !important;overflow:visible !important}
.accessory-outbound-line .accessory-outbound-pick{position:relative;grid-column:1 / 13;overflow:visible}
.accessory-outbound-line .accessory-outbound-stock{grid-column:1 / 5;min-width:0}
.accessory-outbound-line>label:nth-of-type(2){grid-column:5 / 7}
.accessory-outbound-line .accessory-outbound-note{grid-column:7 / 12}
.accessory-outbound-line .remove-line{grid-column:12 / 13;align-self:end;min-height:38px}
.accessory-outbound-line label,.accessory-outbound-line input{width:100%;min-width:0}
.accessory-outbound-line .accessory-outbound-popover{width:min(760px,calc(100vw - 80px));z-index:80}
.accessory-outbound-line .sale-device-option{grid-template-columns:minmax(220px,.9fr) minmax(300px,1.1fr)}
.accessory-outbound-ledger-pane .accessory-outbound-ledger-head{padding-top:0}
.accessory-outbound-ledger-search{display:flex;align-items:end;gap:8px;width:min(460px,100%)}
.accessory-outbound-ledger-search input{width:100%;min-width:0}
.accessory-outbound-ledger-search .primary-btn{flex:0 0 auto}
.accessory-outbound-ledger-pane .accessory-outbound-ledger-head input{width:100%}
.accessory-outbound-ledger-pane .accessory-outbound-table{min-width:760px}
.accessory-outbound-ledger-pane .accessory-outbound-table th,.accessory-outbound-ledger-pane .accessory-outbound-table td{padding:9px 10px;font-size:12px}
@media (max-width:1100px){
  .accessory-outbound-workspace{grid-template-columns:1fr}
  .accessory-outbound-entry-pane{position:static}
}
@media (max-width:760px){
  .accessory-outbound-entry-pane,.accessory-outbound-ledger-pane{padding:12px}
  .accessory-outbound-pane-head{grid-template-columns:1fr}
  .accessory-outbound-pane-head .secondary-btn{width:100%}
  .accessory-outbound-line{grid-template-columns:1fr !important}
  .accessory-outbound-line .accessory-outbound-pick,.accessory-outbound-line .accessory-outbound-stock,.accessory-outbound-line>label:nth-of-type(2),.accessory-outbound-line .accessory-outbound-note,.accessory-outbound-line .remove-line{grid-column:auto}
  .accessory-outbound-line .accessory-outbound-popover{width:min(92vw,520px)}
  .accessory-outbound-line .sale-device-option{grid-template-columns:1fr}
  .accessory-outbound-ledger-search{width:100%}
}
