/* TRMIB Zone Calculator. Scoped under .trmibzc and written to win over theme form styles. */
.trmibzc{--tz-ink:#14211f;--tz-teal:#1F4E4C;--tz-pink:#FF2D78;--tz-line:#d5dfdd;--tz-soft:#eef4f3;--tz-warn:#8a5200;--tz-warnbg:#fff4dd;--tz-h:48px;
	max-width:860px;margin:0 auto 32px;color:var(--tz-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.5}
.trmibzc *,.trmibzc *::before,.trmibzc *::after{box-sizing:border-box}
.trmibzc [hidden]{display:none !important}

.trmibzc .tz-title{font-size:26px;line-height:1.15;margin:0 0 6px;color:var(--tz-teal)}
.trmibzc .tz-intro{margin:0 0 18px;color:#4c5b59;font-size:15px}
.trmibzc .tz-h{font-size:15px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px;color:var(--tz-teal)}
.trmibzc .tz-hint{font-size:13px;line-height:1.5;color:#51605e;margin:12px 0 0}

.trmibzc .tz-card{border:1px solid var(--tz-line);border-radius:12px;padding:18px;margin:0 0 16px;background:#fff}

/* Two equal columns on every screen, so fields line up card to card */
.trmibzc .tz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 14px;align-items:end}
.trmibzc .tz-field{min-width:0;display:flex;flex-direction:column}
.trmibzc .tz-wide{grid-column:1 / -1}

.trmibzc label{display:block;margin:0 0 6px;padding:0;font-family:inherit !important;font-size:13px !important;font-weight:600 !important;line-height:1.3 !important;letter-spacing:.02em !important;text-transform:none !important;color:#3b4a48 !important}

.trmibzc input[type=text],.trmibzc input[type=number],.trmibzc input[type=date],.trmibzc select{
	display:block;width:100% !important;min-width:0 !important;max-width:100% !important;height:var(--tz-h) !important;min-height:var(--tz-h) !important;
	margin:0 !important;padding:0 12px !important;border:1px solid #b9c7c5 !important;border-radius:8px !important;background-color:#fff !important;
	color:var(--tz-ink) !important;font-family:inherit !important;font-size:16px !important;line-height:normal !important;letter-spacing:normal !important;text-transform:none !important;
	box-shadow:none !important;-webkit-appearance:none !important;appearance:none !important}
.trmibzc select{padding-right:36px !important;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231F4E4C' stroke-width='2'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;background-position:right 12px center !important;background-size:12px 8px !important}
.trmibzc input[type=date]{text-align:left}
.trmibzc input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
.trmibzc input[type=date]::-webkit-calendar-picker-indicator{opacity:.6}
.trmibzc input::placeholder{color:#9aa8a6;opacity:1}
.trmibzc input:focus,.trmibzc select:focus{outline:2px solid var(--tz-pink) !important;outline-offset:1px;border-color:var(--tz-pink) !important}

.trmibzc .tz-check{display:flex !important;align-items:flex-start;gap:10px;margin:14px 0 0 !important;font-size:14px !important;font-weight:400 !important;letter-spacing:normal !important;text-transform:none !important;color:var(--tz-ink) !important;cursor:pointer}
.trmibzc .tz-check input{width:20px !important;height:20px !important;min-height:0 !important;margin:1px 0 0 !important;flex:none;accent-color:var(--tz-teal);-webkit-appearance:checkbox !important;appearance:auto !important}

.trmibzc .tz-flag{background:var(--tz-warnbg);color:var(--tz-warn);border-radius:8px;padding:10px 12px;margin:0 0 10px;font-size:14px;line-height:1.45}
.trmibzc .tz-flag.tz-info{background:var(--tz-soft);color:var(--tz-teal)}

.trmibzc .tz-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.trmibzc .tz-stat{background:var(--tz-soft);border-radius:10px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;min-height:84px;min-width:0}
.trmibzc .tz-stat span{font-size:12px;line-height:1.3;color:#51605e}
.trmibzc .tz-stat b{display:block;font-size:22px;line-height:1.1;margin-top:8px;color:var(--tz-teal);font-variant-numeric:tabular-nums;white-space:nowrap}
.trmibzc .tz-stat.tz-main{background:var(--tz-teal)}
.trmibzc .tz-stat.tz-main span{color:#cfe2df}
.trmibzc .tz-stat.tz-main b{color:#fff}

.trmibzc .tz-table{width:100% !important;min-width:0 !important;max-width:100% !important;border-collapse:collapse;margin:0;font-variant-numeric:tabular-nums;table-layout:fixed;border:0}
.trmibzc .tz-table th,.trmibzc .tz-table td{padding:9px 8px;border:0;border-bottom:1px solid var(--tz-line);text-align:left;font-size:15px;line-height:1.3;background:none}
.trmibzc .tz-table th{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#51605e;background:var(--tz-soft)}
.trmibzc .tz-table th:first-child,.trmibzc .tz-table td:first-child{width:34%}
.trmibzc .tz-table td.tz-n{font-weight:600}
.trmibzc .tz-table td.tz-empty{color:#51605e;font-size:14px}
.trmibzc .tz-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}

.trmibzc .tz-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.trmibzc .tz-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border:0;border-radius:8px;background:var(--tz-pink);color:#fff;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:none;cursor:pointer;line-height:1}
.trmibzc .tz-btn.tz-alt{background:var(--tz-teal)}

.trmibzc details summary{cursor:pointer;font-weight:600;color:var(--tz-teal);font-size:16px}
.trmibzc .tz-bounds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.trmibzc .tz-bounds .tz-field label{font-size:12px !important}

@media (max-width:560px){
	.trmibzc .tz-card{padding:14px}
	.trmibzc .tz-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
	.trmibzc .tz-pct{display:none}
	.trmibzc .tz-table th,.trmibzc .tz-table td{font-size:14px;padding:9px 6px}
	.trmibzc .tz-bounds{grid-template-columns:repeat(2,minmax(0,1fr))}
}
