.tpm-panel{--tpm:var(--bms-success);--tpm-soft:var(--bms-success-soft)}
.tpm-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:4px 0 14px}
.tpm-hero h2{margin:4px 0;color:var(--ink)}
.tpm-hero p{margin:0;color:var(--muted)}
.tpm-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.tpm-tabs{display:flex;gap:4px;margin:12px 0 18px;overflow:auto;border-bottom:1px solid var(--line)}
.tpm-tabs button{white-space:nowrap;border:0;border-radius:8px 8px 0 0;background:transparent;padding:10px 12px;color:var(--muted);font-weight:700}
.tpm-tabs button.active{background:var(--tpm-soft);color:var(--tpm)}
.tpm-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tpm-metric,.tpm-card{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:14px}
.tpm-metric{border-top:3px solid var(--tpm)}
.tpm-metric span,.tpm-card small{display:block;color:var(--muted);font-size:.78rem}
.tpm-metric strong{display:block;margin-top:7px;font-size:1.35rem}
.tpm-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:13px;margin-top:14px}
.tpm-list{display:grid;gap:8px}
.tpm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}
.tpm-row:last-child{border-bottom:0}
.tpm-row-actions{display:flex;flex-wrap:wrap;gap:6px}
.tpm-status{display:inline-flex;border-radius:999px;background:var(--tpm-soft);padding:4px 8px;color:var(--tpm);font-size:.74rem;font-weight:800}
.tpm-empty{padding:28px;text-align:center;color:var(--muted)}
.tpm-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tpm-form label{display:grid;gap:6px}
.tpm-form label b{display:inline;color:var(--bms-danger);font-weight:800}
.tpm-form .wide,.tpm-form footer{grid-column:1/-1}
.tpm-form [hidden]{display:none}
.tpm-form footer{display:flex;justify-content:flex-end;gap:8px}
.tpm-timing{margin:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.tpm-timing legend{padding:0 5px;font-weight:700}
.tpm-timing-options{display:flex;flex-wrap:wrap;gap:10px 22px}
.tpm-timing-options label{display:flex;grid-template-columns:none;align-items:center;gap:7px}
.tpm-purchase-section{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:18px}
.tpm-purchase-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tpm-purchase-section>header div{display:grid;gap:3px}
.tpm-purchase-section>header small{color:var(--muted)}
.tpm-purchase-rows{display:grid;gap:8px}
.tpm-purchase-row{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(90px,.7fr) minmax(90px,.65fr) minmax(135px,.9fr) minmax(170px,1.4fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.tpm-purchase-row .btn{white-space:nowrap}
.tpm-dialog{width:min(680px,calc(100vw - 24px));max-height:90vh;overflow:hidden;border:0;border-radius:16px;padding:0;color:var(--ink);background:var(--surface);box-shadow:var(--bms-shadow-lg)}
.tpm-dialog::backdrop{background:color-mix(in srgb,var(--bms-frame-950) 48%,transparent)}
.tpm-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 20px;background:var(--surface)}
.tpm-dialog-header span{display:block;margin-bottom:4px;color:var(--bms-primary);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tpm-dialog-header h3{margin:0;font-size:1.2rem}
.tpm-dialog-close{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:0;border-radius:10px;background:var(--surface-soft);color:var(--ink);font-size:1.45rem;font-weight:700;cursor:pointer}
.tpm-dialog>form:not(.tpm-repair-form),.tpm-dialog>.tpm-checklist,.tpm-dialog>.tpm-order-detail{max-height:calc(90vh - 72px);overflow:auto;padding:20px}
.tpm-dialog-repair{width:min(1040px,calc(100vw - 24px));height:min(850px,calc(100vh - 24px));display:grid;grid-template-rows:auto minmax(0,1fr)}
.tpm-repair-form{display:grid;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden}
.tpm-repair-body{display:grid;min-width:0;gap:0;overflow-y:auto;overflow-x:hidden;padding:20px 22px 28px}
.tpm-form-section{display:grid;gap:14px;margin:0 0 20px;border-bottom:1px solid var(--line);padding:0 0 20px}
.tpm-form-section h4{margin:0;font-size:.94rem}
.tpm-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.tpm-section-grid>.wide{grid-column:1/-1}
.tpm-asset-builder{position:relative;display:grid;gap:7px}.tpm-asset-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700}.tpm-asset-heading small{color:var(--muted);font-weight:500}
.tpm-asset-picker{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:5px 8px;background:var(--surface)}.tpm-asset-picker:focus-within{border-color:var(--bms-focus);outline:3px solid color-mix(in srgb,var(--bms-focus) 24%,transparent)}
.tpm-asset-chips{display:contents}.tpm-asset-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border-radius:999px;padding:3px 5px 3px 3px;background:var(--tpm-soft);color:var(--ink);font-weight:700}.tpm-asset-chip>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpm-asset-chip button{display:grid;place-items:center;width:24px;height:24px;border:0;background:transparent;color:var(--muted);font-size:1.1rem}
.tpm-asset-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--tpm);color:var(--bms-surface);font-size:.68rem;font-weight:800}.tpm-asset-search{flex:1 1 190px!important;width:auto!important;min-height:34px!important;border:0!important;padding:4px!important;outline:0!important;background:transparent!important}
.tpm-asset-suggestions{position:absolute;z-index:4;top:100%;right:0;left:0;max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:5px;background:var(--surface);box-shadow:var(--bms-shadow-overlay)}.tpm-asset-suggestions button{display:flex;align-items:center;gap:9px;width:100%;border:0;border-radius:8px;padding:8px;background:transparent;color:var(--ink);text-align:left}.tpm-asset-suggestions button:hover,.tpm-asset-suggestions button:focus{background:var(--tpm-soft)}.tpm-asset-suggestions button>span:last-child{display:grid;min-width:0}.tpm-asset-suggestions strong,.tpm-asset-suggestions small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpm-asset-suggestions small{color:var(--muted)}.tpm-asset-values{display:none}
.tpm-repair-form>.tpm-repair-body>.tpm-purchase-section{min-width:0}
.tpm-repair-form>footer{display:flex;grid-column:auto;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding:14px 20px;background:var(--surface)}
.tpm-dialog-detail{width:min(820px,calc(100vw - 24px))}
.tpm-order-detail{display:grid;gap:20px}
.tpm-order-detail section{display:grid;gap:12px}
.tpm-order-detail h4{margin:0}
.tpm-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tpm-detail-grid>span,.tpm-order-detail dl>div{display:grid;gap:4px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--surface-soft)}
.tpm-detail-grid small,.tpm-order-detail dt{color:var(--muted);font-size:.75rem}
.tpm-order-detail dl{display:grid;gap:8px;margin:0}.tpm-order-detail dd{margin:0;white-space:pre-wrap}
.tpm-checklist{display:grid;gap:10px}
.tpm-check-item{border:1px solid var(--line);border-radius:10px;padding:12px}
.tpm-check-item fieldset{border:0;padding:8px 0 0}
.tpm-report-note{border-left:3px solid var(--tpm);padding-left:10px;color:var(--muted)}
body.bms-opendesign-v8.bms-wave-4>.tpm-dialog.tpm-dialog-repair{box-sizing:border-box;width:min(1040px,calc(100vw - 24px));max-width:min(1040px,calc(100vw - 24px));height:min(850px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden}
body.bms-opendesign-v8.bms-wave-4>.tpm-dialog.tpm-dialog-repair .tpm-repair-form>footer{position:static;bottom:auto;margin:0;padding:14px 20px}
body.bms-opendesign-v8.bms-wave-4>.tpm-dialog.tpm-dialog-repair .tpm-purchase-row>*{min-width:0}
@media(max-width:1000px){.tpm-metrics{grid-template-columns:repeat(2,1fr)}.tpm-grid{grid-template-columns:1fr}.tpm-purchase-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tpm-purchase-row .btn{justify-self:start}}
@media(max-width:700px){.tpm-hero{display:block}.tpm-quick-actions{justify-content:flex-start;margin-top:12px}.tpm-form{grid-template-columns:1fr}.tpm-form .wide,.tpm-form footer{grid-column:auto}.tpm-row{align-items:flex-start}.tpm-row-actions{justify-content:flex-end}.tpm-metrics{grid-template-columns:1fr 1fr}.tpm-purchase-section>header{align-items:flex-start;flex-direction:column}.tpm-purchase-row{grid-template-columns:1fr}.tpm-purchase-row .btn{width:100%}.tpm-dialog,.tpm-dialog-repair,.tpm-dialog-detail{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.tpm-dialog-header{padding:14px}.tpm-dialog>form:not(.tpm-repair-form),.tpm-dialog>.tpm-checklist,.tpm-dialog>.tpm-order-detail{max-height:calc(100dvh - 68px);padding:14px}.tpm-repair-body{padding:16px 14px 24px}.tpm-section-grid,.tpm-detail-grid{grid-template-columns:1fr}.tpm-section-grid>.wide{grid-column:auto}.tpm-repair-form>footer{padding:12px 14px}.tpm-repair-form>footer .btn{flex:1}.tpm-timing-options{display:grid}.tpm-timing-options label{min-height:42px;border:1px solid var(--line);border-radius:9px;padding:0 10px}body.bms-opendesign-v8.bms-wave-4>.tpm-dialog.tpm-dialog-repair{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:0}body.bms-opendesign-v8.bms-wave-4>.tpm-dialog.tpm-dialog-repair .tpm-repair-form>footer{padding:12px 14px}}
