/* Five travel utilities — large touch targets and readable mobile cards */
.tt-menu,.tt-quick,.tt-card{border:1px solid #d8e6db;background:#fff;border-radius:18px;padding:15px;margin:14px 0;box-shadow:0 4px 18px #193b260b}
.tt-menu{background:#f1f8f2}
.tt-menu h3,.tt-quick h3,.tt-card h3{margin:0 0 12px;color:#194c36;font-size:19px}
.tt-card h4{margin:20px 0 8px;color:#194c36;font-size:15px}
.tt-card p{line-height:1.65}
.tt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.tt-button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:11px 9px;border:1px solid #c5dcca;border-radius:13px;background:#e9f3ea;color:#174b37;font-size:14px;font-weight:750;cursor:pointer;text-decoration:none}
.tt-button.tt-active{background:#174b37;color:white}
.tt-link{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:#e9f3ea;color:#174b37!important;padding:10px 13px;min-height:43px;font-size:13px;font-weight:750;text-decoration:none;margin:5px 0}
.tt-muted{font-size:13px;color:#607769;line-height:1.7}
.tt-warning{background:#fff6e8;color:#735021;padding:12px;border-radius:12px;border:1px solid #f0dcbb;font-size:13px;line-height:1.65}
.tt-segment{border:1px solid #e0e9e2;background:#fafdfa;border-radius:14px;padding:12px;margin:12px 0}
.tt-segment strong{display:block;margin-bottom:9px}
.tt-stop{display:flex;align-items:center;gap:10px;border-top:1px solid #e5eee7;padding:11px 3px;font-size:14px}
.tt-stop input,.tt-check input{width:20px;height:20px;accent-color:#24784f;flex-shrink:0}
.tt-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ebe6;padding:12px 0;font-size:13px}
.tt-row>div{flex:1;min-width:155px}
.tt-row small{display:block;color:#607769;margin-top:5px;line-height:1.5}
.tt-row label{display:flex;align-items:center;gap:8px;flex:1;min-width:170px}
.tt-small{min-height:40px;padding:9px 11px;border-radius:10px;border:1px solid #c7dacd;background:#f1f8f2;color:#174b37;font-weight:750;cursor:pointer}
.tt-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.tt-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#2d5941;font-weight:700}
.tt-form label input,.tt-form label select{width:100%;min-width:0;min-height:44px;padding:9px;border:1px solid #cbdace;border-radius:10px;font:inherit;background:#fff;color:#173f2c}
.tt-form .tt-check{grid-column:1/-1;flex-direction:row;align-items:center;line-height:1.6}
.tt-form .tt-button{grid-column:1/-1}
.tt-done{text-decoration:line-through;color:#85958c}
.tt-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tt-stats>div{background:#f2f8f3;padding:12px;border-radius:12px}
.tt-stats small{display:block;color:#607769;line-height:1.5;font-size:11px}
.tt-stats strong{display:block;color:#174b37;font-size:19px;margin-top:7px}
@media(max-width:390px){.tt-grid,.tt-form,.tt-stats{grid-template-columns:1fr}.tt-form .tt-check,.tt-form .tt-button{grid-column:1}}

/* Large, high-contrast prayer reader for mobile and offline use */
.tt-prayer{background:#fcfaf3;border:1px solid #e8dfc5;border-radius:17px;padding:19px 16px;color:#252b27;font-size:clamp(21px,5.2vw,27px);line-height:2.05;text-align:right;user-select:text;-webkit-user-select:text}
.tt-prayer p{margin:0 0 20px;line-height:2.05}
.tt-prayer p:last-child{margin-bottom:0}
.tt-prayer .tt-prayer-note{font-size:0.76em;line-height:1.8;background:#f3eedf;border-radius:10px;padding:12px}
.tt-prayer-ending{font-weight:800}
@media(prefers-reduced-motion:reduce){.tt-prayer{scroll-behavior:auto}}
