.thlm-card{box-sizing:border-box;max-width:900px;margin:20px auto;padding:28px 32px;background:#fff;border:1px solid #e3e3e3;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);color:#333}
.thlm-card *{box-sizing:border-box}
.thlm-title{margin:0 0 16px;font-size:32px;line-height:1.2;font-weight:700;color:#2b2b2b}
.thlm-tabs{display:inline-flex;margin-bottom:20px;border:1px solid #c9c9c9;border-radius:6px;overflow:hidden}
.thlm-tab{cursor:pointer;padding:10px 26px;font-size:15px;font-weight:700;color:#555;background:#fff;border:0}
.thlm-tab+.thlm-tab{border-left:1px solid #c9c9c9}
.thlm-tab.thlm-active{color:#fff;background:#00669b}
.thlm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.thlm-f{display:flex;flex-direction:column;gap:5px}
.thlm-f label{font-size:15px;color:#444}
.thlm-f small{font-size:12px;color:#6b7280}
.thlm-f input,.thlm-f select{width:100%;height:40px;padding:6px 10px;font-size:16px;color:#222;background:#fff;border:1px solid #9a9a9a;border-radius:4px;box-shadow:none}
.thlm-f input:focus,.thlm-f select:focus{outline:none;border-color:#00669b;box-shadow:0 0 0 2px rgba(0,102,155,.2)}
.thlm-inline{display:flex;gap:8px}
.thlm-inline select{width:90px;flex:0 0 90px}
.thlm-card[data-mode="loan"] .thlm-mort-only{display:none}
.thlm-card[data-mode="mortgage"] .thlm-loan-only{display:none}
.thlm-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
.thlm-btn{cursor:pointer;height:42px;padding:0 26px;font-size:15px;font-weight:700;border-radius:4px;line-height:1}
.thlm-calc{color:#fff;background:#00669b;border:1px solid #00669b}
.thlm-calc:hover{background:#004f78;border-color:#004f78}
.thlm-share{color:#555;background:#fff;border:2px solid #c9c9c9}
.thlm-share:hover{border-color:#999;color:#333}
.thlm-reset{cursor:pointer;background:none;border:0;padding:8px 6px;font-size:14px;color:#00669b;text-decoration:underline}
.thlm-message{margin-top:16px;font-size:15px;line-height:1.5}
.thlm-message.thlm-error{color:#b3261e;background:#fdeceb;border:1px solid #f5c6c2;border-radius:4px;padding:10px 14px}
.thlm-message.thlm-ok{color:#14532d;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:4px;padding:10px 14px}
.thlm-results{margin-top:24px;padding-top:22px;border-top:1px solid #e3e3e3}
.thlm-big{padding:18px 20px;margin-bottom:18px;background:#f2f8fc;border:1px solid #cfe3ef;border-radius:8px}
.thlm-big span{display:block;font-size:14px;color:#4a5560}
.thlm-big strong{display:block;margin-top:2px;font-size:34px;line-height:1.2;color:#00669b}
.thlm-big em{display:block;margin-top:4px;font-style:normal;font-size:13px;color:#4a5560}
.thlm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:20px}
.thlm-stat{padding:12px 14px;border:1px solid #e3e3e3;border-radius:6px}
.thlm-stat span{display:block;font-size:13px;color:#6b7280}
.thlm-stat strong{display:block;margin-top:2px;font-size:19px;color:#222}
.thlm-saved{background:#ecfdf3;border-color:#bbf7d0}
.thlm-bar{display:flex;height:16px;margin:8px 0 10px;border-radius:8px;overflow:hidden;background:#eee}
.thlm-bar i{display:block;height:100%}
.thlm-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:22px;font-size:13px;color:#444}
.thlm-legend b{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}
.thlm-h{margin:0 0 6px;font-size:17px;font-weight:700;color:#2b2b2b}
.thlm-sched-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.thlm-toggle{display:inline-flex;border:1px solid #c9c9c9;border-radius:5px;overflow:hidden}
.thlm-toggle button{cursor:pointer;padding:6px 14px;font-size:13px;font-weight:700;color:#555;background:#fff;border:0}
.thlm-toggle button+button{border-left:1px solid #c9c9c9}
.thlm-toggle button.thlm-active{color:#fff;background:#00669b}
.thlm-table-wrap{max-height:380px;overflow:auto;border:1px solid #e3e3e3;border-radius:6px}
.thlm-table{width:100%;border-collapse:collapse;font-size:14px;margin:0}
.thlm-table th,.thlm-table td{padding:8px 12px;text-align:right;border-bottom:1px solid #eee;white-space:nowrap}
.thlm-table th:first-child,.thlm-table td:first-child{text-align:left}
.thlm-table thead th{position:sticky;top:0;background:#f5f7f9;color:#333;border-bottom:1px solid #d5d9dd}
@media (max-width:640px){
.thlm-card{padding:20px 16px}
.thlm-title{font-size:26px}
.thlm-grid{grid-template-columns:1fr}
.thlm-big strong{font-size:28px}
.thlm-btn{flex:1 1 140px}
}
