.tm-shell{--tm-line:#e3ebf1;color:#3f576d;font-size:11px;padding-bottom:28px}.tm-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid var(--tm-line);border-radius:11px;background:linear-gradient(115deg,#fff,#f6f9fc);margin-bottom:14px}.tm-eyebrow{font-size:9px;letter-spacing:1.7px;color:#8ca6bb;font-weight:650}.tm-hero h1{font-size:23px;letter-spacing:-.5px;font-weight:650;margin:7px 0}.tm-hero p{font-size:11px;line-height:1.8;margin:0;color:#8b9eae}.tm-actions{display:flex;gap:7px;flex-wrap:wrap}.tm-shell .btn,.tm-dialog .btn{height:32px;min-height:32px;border-radius:7px;font-size:11px;padding:6px 12px;white-space:nowrap}.tm-shell .btn-primary,.tm-dialog .btn-primary{background:#3b7c9c;border:1px solid #3b7c9c;color:white}.tm-shell .btn-light,.tm-dialog .btn-light{background:white;border:1px solid #dce6ee;color:#6c859a}.tm-shell button:disabled,.tm-dialog button:disabled{opacity:.45;cursor:not-allowed}.tm-summary{display:flex;gap:24px;align-items:center;padding:16px 19px;border:1px solid var(--tm-line);border-radius:9px;background:#fff;margin-bottom:13px;flex-wrap:wrap}.tm-summary span{font-size:10px;color:#8e9fad}.tm-summary strong{font-size:19px;font-weight:650;color:#3e6c89;margin:0 5px}.tm-summary span:last-child{margin-left:auto}.tm-search{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}.tm-search input{width:280px;height:33px;border:1px solid #dce6ee;border-radius:7px;padding:6px 10px;color:#456077;background:white;font-size:11px}.tm-search>span{font-size:10px;color:#96a7b5;margin-left:auto}.tm-panel{border:1px solid var(--tm-line);border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 3px 13px #203c5705}.tm-table-scroll{overflow:auto;max-height:1050px}.tm-table{border-collapse:separate!important;border-spacing:0;min-width:100%;width:max-content!important}.tm-table th,.tm-table td{min-width:140px;max-width:360px;font-size:11px!important;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid #eaf0f4!important;border-right:1px solid #edf2f6;padding:9px 12px!important;color:#435c70;text-align:left}.tm-table th{position:sticky;top:0;z-index:3;background:#f3f7fa;font-size:10px!important;color:#7e94a6;font-weight:600}.tm-table th small{display:block;color:#a0afbb;font-size:9px;margin-bottom:4px}.tm-table tbody tr:nth-child(even) td{background:#fbfcfd}.tm-table tbody tr:hover td{background:#f5f9fc}.tm-table .tm-row-no{position:sticky;left:0;min-width:42px;width:42px;max-width:42px;text-align:center;background:#f3f7fa;color:#9baab7;z-index:2;padding:8px!important}.tm-table th.tm-row-no{z-index:4}.tm-table .tm-action{position:sticky;right:0;min-width:58px;max-width:58px;width:58px;background:#f7fafc;text-align:center;z-index:2}.tm-table th.tm-action{z-index:4}.tm-link{padding:0;border:0;background:transparent;color:#407fa1;font-size:11px;cursor:pointer}.tm-link:hover{text-decoration:underline}.tm-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:11px 14px;border-top:1px solid var(--tm-line)}.tm-pager span{margin-right:auto;font-size:10px;color:#92a4b3}.tm-empty{padding:42px 20px!important;text-align:center!important;color:#90a3b2!important;line-height:1.9;font-size:11px}.tm-error,.tm-note,.tm-warning{padding:11px 13px;font-size:11px;line-height:1.8;border-radius:7px;margin:0 0 13px;overflow-wrap:anywhere}.tm-error{color:#ac6057;background:#fff4f2;border:1px solid #efd5d1}.tm-note{color:#7b94a8;background:#f5f9fc;border:1px solid #dfeaf2}.tm-note.success{color:#438772;background:#f0f8f4;border-color:#dceee4}.tm-warning{color:#a48443;background:#fff9ed;border:1px solid #f0e2c5}.tm-overlay{position:fixed;inset:0;z-index:12300;display:flex;align-items:center;justify-content:center;background:#182a4066;backdrop-filter:blur(3px);padding:24px}.tm-dialog{display:flex;flex-direction:column;width:min(1160px,96vw);max-height:92vh;background:white;border-radius:12px;box-shadow:0 22px 90px #10233645;overflow:hidden;color:#3e586e}.tm-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e3ebf1;gap:15px}.tm-dialog h2{font-size:18px;font-weight:650;margin:6px 0 0}.tm-dialog>header button{background:transparent;border:0;color:#8ba0b0;font-size:24px;cursor:pointer}.tm-dialog-body{padding:18px 22px;overflow:auto}.tm-dialog .tm-table-scroll{max-height:430px;border:1px solid #e3ebf1;border-radius:7px}.tm-dialog footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:13px 22px;border-top:1px solid #e3ebf1;background:#fbfdfe}.tm-file-name{font-size:12px;font-weight:600;line-height:1.8;overflow-wrap:anywhere;margin-bottom:13px}.tm-import-metrics{display:flex;align-items:center;gap:20px;padding:12px 14px;border:1px solid #e3ebf1;background:#f8fbfd;border-radius:7px;margin-bottom:13px;color:#8298aa;font-size:11px}.tm-import-metrics b{color:#3e708c;font-size:16px;margin:0 4px}.tm-preview-caption{display:block;margin-top:10px;color:#95a6b3;font-size:10px;line-height:1.8}.tm-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tm-edit-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}.tm-edit-grid span{font-size:10px;color:#8399ab;line-height:1.6}.tm-edit-grid textarea{font-family:inherit;font-size:12px;min-height:35px;line-height:21px;resize:vertical;border:1px solid #dce6ee;border-radius:6px;padding:6px 9px;color:#436078;min-width:0;box-sizing:border-box}.tm-shell button:focus-visible,.tm-shell input:focus-visible,.tm-dialog textarea:focus-visible,.tm-dialog button:focus-visible{outline:2px solid #8ab5cb;outline-offset:2px}
@media(max-width:950px){.tm-hero{align-items:flex-start;flex-wrap:wrap}.tm-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-summary{gap:15px}.tm-summary span:last-child{margin-left:0}}
@media(max-width:650px){.tm-hero{padding:16px}.tm-hero h1{font-size:21px}.tm-search input{width:100%}.tm-search>span{width:100%;margin-left:0}.tm-edit-grid{grid-template-columns:1fr}.tm-overlay{padding:10px}.tm-dialog{width:100%;max-height:94vh}.tm-dialog>header,.tm-dialog-body{padding:15px}.tm-dialog footer{padding:12px 15px}.tm-import-metrics{gap:12px;flex-wrap:wrap}}
