/* SHiNOVA v1.6.10 Ticket Core */
.tc-section{background:#fff;border:1px solid var(--line,#d8e2dd);border-radius:14px;padding:18px;margin-bottom:14px}.tc-section h3{margin:0 0 14px;font-size:18px}.tc-form .form-grid{gap:14px}.tc-condition-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #dfe7e3;border-radius:12px;background:#f8faf9}.tc-condition-grid label{display:flex;align-items:center;gap:8px;min-height:36px}.tc-signoff{display:grid;gap:14px}.tc-signature-card{background:#fff;border:1px solid #d7e1dc;border-radius:14px;padding:18px}.tc-consent-check{display:flex;gap:9px;align-items:flex-start;margin:14px 0;line-height:1.6}.tc-signature-wrap{position:relative;height:180px;border:1px dashed #9aaca4;border-radius:12px;background:#fbfdfc;overflow:hidden}.tc-signature-wrap canvas{display:block;width:100%;height:100%;touch-action:none}.tc-signature-wrap [data-signature-placeholder]{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#718078}.tc-signature-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.tc-filterbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(130px,1fr)) auto;gap:9px;margin-bottom:12px}.tc-filterbar input,.tc-filterbar select{min-width:0}.tc-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.tc-pager>div{display:flex;gap:8px}.tc-link{background:transparent;border:0;padding:0;cursor:pointer;text-align:left}.tc-overdue{font-size:11px;font-weight:700;color:#a53a32}.tc-loading,.empty-state{padding:28px;text-align:center;color:#66736d}.tc-actionbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.tc-actionbar select{min-width:190px}.tc-tabs{display:flex;gap:5px;overflow:auto;padding:5px 0 12px;scrollbar-width:thin}.tc-tabs button{white-space:nowrap;border:1px solid #d8e2dd;background:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}.tc-tabs button.active{background:#e9f5ef;border-color:#9dc7b2;color:#0b6844;font-weight:700}.tc-detail-body{display:grid;gap:12px}.tc-condition-read{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.tc-condition-read span{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;background:#f5f8f6;border-radius:9px}.tc-timeline-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ef;align-items:center}.tc-timeline-row:last-child{border-bottom:0}.tc-timeline-row span,.tc-timeline-row small{color:#68756f}.tc-section-action{display:flex;justify-content:flex-end;margin-bottom:10px}.tc-qc-grid{display:grid;gap:8px;margin:12px 0}.tc-qc-row{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(140px,.8fr) minmax(220px,2fr);gap:9px;align-items:center;padding:10px;background:#f7faf8;border:1px solid #e0e8e4;border-radius:10px}.tc-evidence-upload{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.tc-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.tc-evidence-item{display:grid;gap:4px;padding:12px;border:1px solid #dfe6e2;border-radius:10px;background:#fff;text-decoration:none;color:inherit}.tc-history-row{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ef}.tc-history-dot{width:10px;height:10px;border-radius:50%;background:#178f5f;margin-top:6px}.tc-history-row b,.tc-history-row span{margin-right:8px}.tc-history-row p{margin:4px 0}.tc-history-row small{color:#6c7973}.tc-parts-queue{margin-top:14px}
@media(max-width:900px){.tc-filterbar{grid-template-columns:1fr 1fr}.tc-filterbar #tcTicketSearch{grid-column:1/-1}.tc-qc-row{grid-template-columns:1fr}.tc-condition-read,.tc-condition-grid{grid-template-columns:1fr}.tc-timeline-row{grid-template-columns:1fr}.tc-actionbar{align-items:stretch}.tc-actionbar select,.tc-actionbar .btn{flex:1 1 180px}.tc-pager{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.tc-filterbar{grid-template-columns:1fr}.tc-filterbar #tcTicketSearch{grid-column:auto}.tc-section,.tc-signature-card{padding:14px}.tc-signature-wrap{height:160px}.tc-tabs{margin-inline:-4px}.tc-tabs button{padding:9px 10px}.tc-evidence-upload>*{width:100%}}

/* v1.6.10 hotfix — Repair Tickets filter-control border parity.
   Keep every filter/search/date/refresh control on the same SHiNOVA field token. */
.tc-filterbar > input,
.tc-filterbar > select,
.tc-filterbar > .v160-input-shell > input,
.tc-filterbar > .btn {
  min-height:40px;
  border:1px solid var(--rf-border,#d8e1dc) !important;
  border-radius:6px !important;
  background:var(--rf-card,#fff);
  color:var(--rf-text,#17221c);
  box-shadow:none !important;
}
.tc-filterbar > input,
.tc-filterbar > select,
.tc-filterbar > .v160-input-shell > input {
  width:100%;
  padding:9px 10px;
  outline:none;
}
.tc-filterbar > select { appearance:auto; }
.tc-filterbar > input[type="date"] { color-scheme:light; }
.tc-filterbar > input:hover,
.tc-filterbar > select:hover,
.tc-filterbar > .v160-input-shell > input:hover,
.tc-filterbar > .btn:hover {
  border-color:#c7d5cd !important;
}
.tc-filterbar > input:focus,
.tc-filterbar > select:focus,
.tc-filterbar > .v160-input-shell > input:focus {
  border-color:#6eb493 !important;
  box-shadow:0 0 0 2px #e7f5ed !important;
}


/* v1.6.10 Inventory production UI — component parity, compact controls, responsive data density */
.inventory-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.inventory-layout{align-items:start;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr)}
.inventory-layout>.card,.inventory-parts-queue .card{border:1px solid var(--rf-border,#d8e1dc);box-shadow:0 1px 2px rgba(18,56,37,.035)}
.inventory-toolbar{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(3,minmax(135px,.72fr));gap:8px;align-items:center;margin:0 0 12px}
.inventory-toolbar.compact{grid-template-columns:minmax(210px,1.5fr) minmax(150px,.6fr)}
.inventory-toolbar input,.inventory-toolbar select{width:100%;min-width:0;min-height:40px;padding:9px 10px;border:1px solid var(--rf-border,#d8e1dc)!important;border-radius:6px!important;background:var(--rf-card,#fff);color:var(--rf-text,#17221c);box-shadow:none!important;outline:none}
.inventory-toolbar input:hover,.inventory-toolbar select:hover{border-color:#c7d5cd!important}.inventory-toolbar input:focus,.inventory-toolbar select:focus{border-color:#6eb493!important;box-shadow:0 0 0 2px #e7f5ed!important}
.inventory-table-wrap{border:1px solid var(--rf-border,#d8e1dc);border-radius:9px;overflow:auto;background:#fff}.inventory-table-wrap table{margin:0;min-width:860px}.inventory-stock-table{min-width:1080px!important}.inventory-parts-table{min-width:920px!important}.inventory-history-table{min-width:760px!important}
.inventory-table-wrap th{white-space:nowrap;background:#f8faf9}.inventory-table-wrap tr[hidden],.inventory-requisition[hidden]{display:none!important}.inv-number{font-variant-numeric:tabular-nums}.inv-number.attention{color:#9d4a20}
.inventory-row-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.inventory-actions-menu{position:relative}.inventory-actions-menu>summary{list-style:none}.inventory-actions-menu>summary::-webkit-details-marker{display:none}.inventory-actions-menu[open]>summary{border-color:#6eb493!important}.inventory-actions-menu>div{position:absolute;right:0;top:calc(100% + 5px);z-index:30;min-width:174px;padding:5px;background:#fff;border:1px solid var(--rf-border,#d8e1dc);border-radius:8px;box-shadow:0 8px 24px rgba(22,48,35,.12);display:grid;gap:3px}.inventory-actions-menu>div .btn{justify-content:flex-start;width:100%}
.inventory-requisition-list{display:grid;gap:9px}.inventory-requisition{padding:12px;border:1px solid var(--rf-border,#d8e1dc);border-radius:9px;background:#fff}.inventory-req-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.inventory-req-head>div{min-width:0;display:grid;gap:2px}.inventory-req-head span{color:var(--rf-muted,#68756f);overflow-wrap:anywhere}.inventory-req-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.inventory-req-meta>span{display:grid;gap:2px;padding:8px;border-radius:7px;background:#f7f9f8}.inventory-req-meta small,.inventory-detail-grid small{color:var(--rf-muted,#68756f)}.inventory-req-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.inventory-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.inventory-detail-grid>div{display:grid;gap:4px;padding:10px;border:1px solid #e4ebe7;border-radius:8px;background:#fafcfb}.inventory-detail-grid .wide{grid-column:1/-1}.inventory-modal{width:min(760px,calc(100vw - 28px));max-height:min(86vh,760px);overflow:auto}.inventory-modal-body{display:grid;gap:12px}.inventory-advanced{border:1px solid #e1e9e5;border-radius:8px;background:#fafcfb;padding:10px 12px}.inventory-advanced>summary{cursor:pointer;font-weight:700}.inventory-advanced>.form-grid{margin-top:12px}
@media(max-width:1050px){.inventory-layout{grid-template-columns:1fr}.inventory-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.inventory-toolbar,.inventory-toolbar.compact{grid-template-columns:1fr 1fr}.inventory-search{grid-column:1/-1}.inventory-req-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.inventory-toolbar,.inventory-toolbar.compact{grid-template-columns:1fr}.inventory-search{grid-column:auto}.inventory-kpis{grid-template-columns:1fr!important}.inventory-requisition{padding:10px}.inventory-req-head{align-items:flex-start}.inventory-req-meta,.inventory-detail-grid{grid-template-columns:1fr}.inventory-detail-grid .wide{grid-column:auto}.inventory-req-actions .btn{flex:1 1 120px}.inventory-table-wrap{border-radius:8px}.inventory-actions-menu>div{position:fixed;left:14px;right:14px;top:auto;bottom:14px;min-width:0}}
.inventory-actions-menu>summary{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border:1px solid var(--rf-border,#d8e1dc);border-radius:6px;background:#fff;color:var(--rf-text,#17221c);font-size:11px;font-weight:700;cursor:pointer}
.inventory-actions-menu>div button{width:100%;min-height:32px;padding:7px 9px;border:0;border-radius:5px;background:transparent;color:var(--rf-text,#17221c);text-align:left;font:inherit;cursor:pointer}.inventory-actions-menu>div button:hover{background:#f0f7f3;color:#0b6844}
@media(max-width:700px){
  .inventory-stock-table,.inventory-parts-table,.inventory-history-table{min-width:0!important;width:100%!important}
  .inventory-layout,.inventory-layout>div,.inventory-layout .card,.inventory-parts-queue,.inventory-parts-queue .card{min-width:0;max-width:100%}
}

.tc-financial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.tc-financial-summary>div{border:1px solid var(--border,#d7e2dc);border-radius:12px;background:var(--panel,#fff);padding:12px;display:grid;gap:5px}
.tc-financial-summary span{color:var(--muted,#5f6f67);font-size:12px}
.tc-financial-summary b{font-size:16px}
.btn[aria-busy="true"]{cursor:wait;opacity:.72;pointer-events:none}
.btn[aria-busy="true"]::before{content:"";display:inline-block;width:.75em;height:.75em;margin-right:.45em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tc-spin .7s linear infinite}
@keyframes tc-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.tc-financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.6.10 Inventory layout-alignment hotfix — full-width operational stack.
   Prevent the former 2-column queue from creating a tall right rail + blank left gutter. */
.inventory-page-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.inventory-section{min-width:0}
.inventory-section>.card{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--rf-border,#d8e1dc);box-shadow:0 1px 2px rgba(18,56,37,.035)}
.inventory-section .inventory-table-wrap{width:100%;max-width:100%;overflow-x:auto}
.inventory-stock-table,.inventory-requisition-table,.inventory-parts-table{width:100%!important;min-width:0!important;table-layout:fixed}
.inventory-stock-table th:nth-child(1){width:8%}.inventory-stock-table th:nth-child(2){width:20%}.inventory-stock-table th:nth-child(3){width:11%}.inventory-stock-table th:nth-child(4),.inventory-stock-table th:nth-child(5),.inventory-stock-table th:nth-child(6),.inventory-stock-table th:nth-child(7){width:8%}.inventory-stock-table th:nth-child(8){width:10%}.inventory-stock-table th:nth-child(9){width:19%}
.inventory-requisition-table th:nth-child(1){width:10%}.inventory-requisition-table th:nth-child(2){width:19%}.inventory-requisition-table th:nth-child(3){width:6%}.inventory-requisition-table th:nth-child(4){width:9%}.inventory-requisition-table th:nth-child(5){width:10%}.inventory-requisition-table th:nth-child(6){width:12%}.inventory-requisition-table th:nth-child(7){width:6%}.inventory-requisition-table th:nth-child(8){width:9%}.inventory-requisition-table th:nth-child(9){width:19%}
.inventory-parts-table th:nth-child(1){width:11%}.inventory-parts-table th:nth-child(2){width:24%}.inventory-parts-table th:nth-child(3){width:7%}.inventory-parts-table th:nth-child(4){width:21%}.inventory-parts-table th:nth-child(5){width:9%}.inventory-parts-table th:nth-child(6){width:12%}.inventory-parts-table th:nth-child(7){width:16%}
.inventory-stock-table td,.inventory-requisition-table td,.inventory-parts-table td{min-width:0;overflow-wrap:anywhere;word-break:normal}
.inventory-stock-table td:nth-child(4),.inventory-stock-table td:nth-child(5),.inventory-stock-table td:nth-child(6),.inventory-stock-table td:nth-child(7),.inventory-requisition-table td:nth-child(3),.inventory-requisition-table td:nth-child(7),.inventory-parts-table td:nth-child(3),.inventory-parts-table td:nth-child(5){text-align:center}
.inventory-stock-table th:nth-child(4),.inventory-stock-table th:nth-child(5),.inventory-stock-table th:nth-child(6),.inventory-stock-table th:nth-child(7),.inventory-requisition-table th:nth-child(3),.inventory-requisition-table th:nth-child(7),.inventory-parts-table th:nth-child(3),.inventory-parts-table th:nth-child(5){text-align:center}
.inventory-part-name{line-height:1.35}
.inventory-action-cell{overflow:visible!important}
.inventory-req-row-actions{flex-wrap:nowrap;justify-content:flex-start}
.inventory-req-row-actions .btn{padding-inline:8px}
.inventory-parts-queue{margin-top:0}
@media(max-width:1180px){
  .inventory-stock-table,.inventory-requisition-table,.inventory-parts-table{table-layout:auto;min-width:980px!important}
  .inventory-requisition-table{min-width:1040px!important}
  .inventory-parts-table{min-width:860px!important}
}
@media(max-width:700px){
  .inventory-stock-table,.inventory-requisition-table,.inventory-parts-table{min-width:0!important;table-layout:auto}
  .inventory-page-stack{gap:10px}
  .inventory-section>.card{padding:12px}
  .inventory-req-row-actions{flex-wrap:wrap;justify-content:flex-end}
  .inventory-req-row-actions .btn{flex:0 0 auto}
  .inventory-section .inventory-table-wrap{overflow:visible}
}

/* v1.10.9 Financial Summary UX */
.tc-financial-panel{border:1px solid #cfe1d8;background:linear-gradient(180deg,#fbfefc,#f4faf7);border-radius:16px;padding:14px;margin:0 0 14px;box-shadow:0 8px 24px rgba(14,79,51,.04)}
.tc-financial-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.tc-financial-head .eyebrow{display:block;color:#527064;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tc-financial-head h3{margin:2px 0 0;font-size:17px}.tc-financial-status{padding:6px 9px;border-radius:999px;background:#e8f5ee;color:#0b6844;font-size:11px;font-weight:800;white-space:nowrap}.tc-financial-summary{margin-bottom:10px}.tc-financial-summary>div.tc-financial-total{border-color:#91c9ad;background:#edf9f2}.tc-financial-summary>div.tc-financial-total b{color:#075f3c;font-size:18px}.tc-financial-summary>div.tc-balance-due{border-color:#e8c68e;background:#fff9ed}.tc-financial-summary>div.tc-balance-due b{color:#8b5b00}.tc-financial-summary>div.tc-balance-clear{border-color:#acd9bf;background:#f0faf4}.tc-financial-summary>div.tc-balance-clear b{color:#087d4b}.tc-financial-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dce9e2;padding-top:10px}.tc-financial-foot small{color:#5f7068;line-height:1.45;max-width:720px}.tc-financial-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tc-pricing-explainer{display:grid;gap:4px;margin-bottom:14px}.r383-financial-note{margin:10px 0;line-height:1.45}
@media(max-width:700px){.tc-financial-panel{padding:12px}.tc-financial-head,.tc-financial-foot{flex-direction:column;align-items:stretch}.tc-financial-actions{justify-content:stretch}.tc-financial-actions .btn{flex:1 1 160px}.tc-financial-summary{grid-template-columns:1fr 1fr}.tc-financial-summary>div{padding:10px}.tc-financial-status{align-self:flex-start}}


/* v1.13.10 — Confirmed Ticket Detail compact-density UI patch.
   UI only: no workflow, permissions, state-machine or backend behavior changes. */
.tc-detail-page{display:grid;gap:10px}
.tc-detail-page .tc-actionbar{margin:0;padding:11px 12px;background:var(--rf-card,#fff);border:1px solid var(--rf-border,#d8e1dc);border-radius:12px;box-shadow:0 1px 2px rgba(18,56,37,.035)}
.tc-detail-page .tc-actionbar select{min-width:205px;min-height:38px}
.tc-detail-page .tc-actionbar .btn{min-height:38px;padding:8px 13px}
.tc-detail-page .tc-financial-panel{margin:0;padding:12px 14px;border-radius:12px;box-shadow:0 1px 3px rgba(14,79,51,.04)}
.tc-detail-page .tc-financial-head{margin-bottom:8px;align-items:center}
.tc-detail-page .tc-financial-head .eyebrow{font-size:10px;letter-spacing:.05em}
.tc-detail-page .tc-financial-head h3{font-size:16px;margin-top:1px}
.tc-detail-page .tc-financial-status{padding:5px 9px}
.tc-detail-page .tc-financial-summary{gap:8px;margin-bottom:8px}
.tc-detail-page .tc-financial-summary>div{padding:9px 11px;border-radius:9px;min-height:58px;align-content:center}
.tc-detail-page .tc-financial-summary span{font-size:11px}
.tc-detail-page .tc-financial-summary b{font-size:16px;line-height:1.2}
.tc-detail-page .tc-financial-summary>div.tc-financial-total b{font-size:17px}
.tc-detail-page .tc-financial-foot{padding-top:8px;gap:10px}
.tc-detail-page .tc-financial-foot small{font-size:10.5px;line-height:1.35}
.tc-detail-page .tc-financial-actions .btn{min-height:36px;padding:7px 12px}
.tc-detail-page .tc-tabs{gap:6px;padding:0 0 2px;margin:0;scrollbar-width:thin}
.tc-detail-page .tc-tabs button{padding:7px 11px;min-height:36px;border-radius:9px;font-size:11px}
.tc-detail-page .tc-detail-body{gap:10px}
.tc-detail-page .tc-overview-grid{gap:10px;align-items:start}
.tc-detail-page .tc-overview-card{padding:12px 14px;border-radius:12px;box-shadow:0 1px 2px rgba(18,56,37,.035);min-width:0}
.tc-detail-page .tc-overview-card h3{font-size:15px;margin:0 0 7px}
.tc-detail-page .tc-overview-card .price-line{padding:6px 0;gap:12px;min-height:30px;align-items:center}
.tc-detail-page .tc-overview-card .price-line span{font-size:11px;color:var(--rf-muted,#68756f)}
.tc-detail-page .tc-overview-card .price-line b{text-align:right;font-size:12px;overflow-wrap:anywhere}
.tc-detail-page .tc-overview-card .badge{white-space:nowrap}
@media(min-width:1101px){
  .tc-detail-page .tc-overview-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
}
@media(max-width:1100px){
  .tc-detail-page{gap:9px}
  .tc-detail-page .tc-actionbar{padding:10px}
  .tc-detail-page .tc-overview-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .tc-detail-page .tc-actionbar{background:transparent;border:0;box-shadow:none;padding:0}
  .tc-detail-page .tc-financial-panel{padding:11px}
  .tc-detail-page .tc-financial-summary{grid-template-columns:1fr 1fr}
  .tc-detail-page .tc-financial-summary>div{min-height:56px;padding:9px}
  .tc-detail-page .tc-tabs button{min-height:40px;padding:8px 10px}
  .tc-detail-page .tc-overview-card{padding:11px}
}
@media(max-width:430px){
  .tc-detail-page .tc-financial-summary{grid-template-columns:1fr}
  .tc-detail-page .tc-financial-summary>div{min-height:0}
}
