.ttt-tip{--tip-ink:#1c464b;--tip-dark:#113f44;--tip-teal:#0c6c72;--tip-line:#d6e7e2;--tip-muted:#55757a;max-width:1120px;margin:20px auto 28px;border:1px solid #c6dcd8;border-radius:13px;overflow:hidden;background:#fff;color:var(--tip-ink);font-family:inherit;box-shadow:0 8px 25px #0b3c4010;box-sizing:border-box}
.ttt-tip *{box-sizing:border-box}
.ttt-tip__hero{padding:clamp(23px,3.6vw,40px);background:linear-gradient(128deg,#123a3e,#12737b);color:#fff}
.ttt-tip__eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#dbf2ee;margin-bottom:9px}
.ttt-tip__eyebrow--dark{color:#22767b}
.ttt-tip__hero h2{font-family:inherit;font-size:clamp(26px,3.8vw,39px);line-height:1.13;font-weight:800;color:#fff;margin:0 0 12px}
.ttt-tip__hero p{font-size:14px;line-height:1.6;max-width:730px;color:#eaf6f3;margin:0 0 13px}
.ttt-tip__privacy{font-size:11px;color:#d5ebe7}
.ttt-tip__body{padding:clamp(16px,3vw,33px)}
.ttt-tip__step{display:flex;align-items:flex-start;gap:12px;margin:6px 0 17px;color:var(--tip-dark)}
.ttt-tip__step>span{display:grid;place-items:center;background:#dff0ec;border-radius:50%;width:31px;height:31px;flex:0 0 31px;color:#0c7174;font-size:11px;font-weight:800}
.ttt-tip__step strong{display:block;font-size:19px;line-height:1.25}
.ttt-tip__step small{display:block;font-size:11px;font-weight:500;line-height:1.5;color:var(--tip-muted);margin-top:3px}
.ttt-tip__step--route{margin-top:32px}
.ttt-tip__field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.ttt-tip label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:700;color:#264f53}
.ttt-tip label small{font-size:10px;color:#6f8589;font-weight:500;line-height:1.5}
.ttt-tip input,.ttt-tip select{font-family:inherit;width:100%;min-height:38px;padding:7px 10px;border:1px solid #b8d2cb;background:#fff;border-radius:6px;color:#194750;font-size:13px;max-width:100%;box-shadow:none;margin:0}
.ttt-tip :is(input,select,button,a):focus-visible{outline:3px solid #e8bd71;outline-offset:2px}
.ttt-tip__toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.ttt-tip__toolbar p{font-size:11px;color:#567479;line-height:1.55;max-width:570px;margin:0}
.ttt-tip__toolbar-buttons{display:flex;gap:7px;flex-wrap:wrap}
.ttt-tip button.ttt-tip__button{font-family:inherit;cursor:pointer;min-height:34px;border-radius:7px;padding:8px 11px;font-size:11px;line-height:1.2;font-weight:760;margin:0;box-shadow:none;white-space:normal}
.ttt-tip__button--primary{border:1px solid #0b686d;background:#0b686d;color:#fff}
.ttt-tip__button--primary:hover{background:#064d53;color:#fff}
.ttt-tip__button--muted{border:1px solid #b1d7d0;background:#eff7f5;color:#145a60}
.ttt-tip__button--muted:hover{background:#dfefeb;color:#145a60}
.ttt-tip__button--outline{border:1px solid #87c7be;background:#fff;color:#08666a}
.ttt-tip__button--outline:hover{background:#eaf4f0;color:#08666a}
.ttt-tip__stops{display:grid;gap:10px}
.ttt-tip__stop{min-width:0;border:1px solid #d2e4df;border-radius:9px;padding:13px 14px 12px;background:#fbfdfc;margin:0}
.ttt-tip__stop legend{float:none;font-size:13px;font-weight:800;padding:0 7px;color:#174e56;line-height:1.4}
.ttt-tip__stop-tag{font-size:10px;font-weight:600;color:#6b8b8c;margin-left:6px}
.ttt-tip__stop-fields{display:grid;grid-template-columns:1.5fr .65fr 1fr 1fr;gap:10px;align-items:start}
.ttt-tip__stop-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;margin-top:9px;flex-wrap:wrap}
.ttt-tip__stop-actions>span{font-size:10px;color:#769092;margin-right:auto;max-width:350px}
.ttt-tip button.ttt-tip__small-button{font-family:inherit;color:#447377;cursor:pointer;border:1px solid #c9dfda;border-radius:5px;background:white;font-size:10px;font-weight:700;min-height:28px;padding:4px 7px;line-height:1.2;margin:0;box-shadow:none}
.ttt-tip button.ttt-tip__small-button:disabled{opacity:.4;cursor:not-allowed}
.ttt-tip button.ttt-tip__small-button--remove{color:#976151;border-color:#f0dbd1}
.ttt-tip__add{margin:14px 0 0!important}
.ttt-tip__helper{padding:10px 13px;background:#fff3e4;border-left:3px solid #d7a454;font-size:11px;line-height:1.5;color:#77573b;border-radius:5px}
.ttt-tip__method{font-size:11px;line-height:1.6;color:#526c70;background:#f2f8f5;padding:12px 14px;border-radius:7px;margin:17px 0 24px}
.ttt-tip__results{border-top:1px solid var(--tip-line);padding-top:22px}
.ttt-tip__results-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}
.ttt-tip__results-heading h3{font-size:clamp(19px,2.8vw,25px);line-height:1.2;color:#184950;font-family:inherit;margin:5px 0 0;font-weight:800}
.ttt-tip__pill{font-size:10px;color:#54757a;padding:6px 9px;border:1px solid #d1e4dd;border-radius:50px;white-space:nowrap}
.ttt-tip__assessment{background:#eaf6f2;border:1px solid #b9dbd2;padding:19px;border-radius:10px;display:flex;gap:19px;align-items:center;margin-bottom:12px}
.ttt-tip__score{min-width:112px;max-width:112px;text-align:center;background:#fff;border:1px solid #bfded4;border-radius:8px;padding:10px 5px}
.ttt-tip__score strong{display:block;color:#086970;font-size:31px;line-height:1.1;letter-spacing:-.03em}
.ttt-tip__score small{display:block;margin-top:4px;font-size:10px;color:#587e80}
.ttt-tip__assessment h4{font-size:20px;font-weight:800;color:#114e56;font-family:inherit;line-height:1.2;margin:0 0 6px}
.ttt-tip__assessment p{font-size:12px;line-height:1.57;margin:0 0 4px;color:#3d6b70}
.ttt-tip__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 20px}
.ttt-tip__stats>div{padding:11px;border:1px solid #dceae7;border-radius:7px;background:#fff;min-width:0}
.ttt-tip__stats span{display:block;font-size:10px;color:#607f81;margin-bottom:5px}
.ttt-tip__stats strong{font-size:18px;color:#1c5359;display:block}
.ttt-tip__mini-heading{font-family:inherit;font-size:15px;font-weight:800;color:#164850;margin:18px 0 10px}
.ttt-tip__stop-report{display:grid;grid-template-columns:1fr auto;gap:11px 14px;border:1px solid #dbe8e3;background:#fafdfb;border-radius:8px;padding:12px 14px;margin-bottom:8px}
.ttt-tip__stop-report h5{font-size:13px;font-weight:800;color:#1d4d52;font-family:inherit;margin:0 0 5px}
.ttt-tip__stop-report p{margin:0;color:#5b757a;font-size:11px;line-height:1.5}
.ttt-tip__status{font-size:10px;font-weight:800;border:1px solid #c9e6dc;color:#1b796e;background:#eaf8f1;padding:5px 8px;border-radius:30px;align-self:start;white-space:nowrap}
.ttt-tip__status--busy{background:#fff1e9;border-color:#edd1bb;color:#976033}
.ttt-tip__status--watch{background:#fff8e9;border-color:#ebdda8;color:#836524}
.ttt-tip__issues{margin:8px 0 0;padding-left:16px;grid-column:1/-1;font-size:11px;line-height:1.6;color:#6a5550}
.ttt-tip__tips{border-left:3px solid #207e7a;padding:11px 15px;margin-top:12px;background:#f5faf7;border-radius:6px}
.ttt-tip__tips ul{margin:5px 0;padding-left:20px;font-size:12px;line-height:1.65;color:#46686a}
.ttt-tip__unknown{font-size:11px;color:#785f37;border:1px solid #eedfbd;background:#fffaee;border-radius:6px;padding:10px 13px;margin:11px 0}
.ttt-tip__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:17px}
.ttt-tip__copy-status{font-size:11px;color:#206e6c}
.ttt-tip__related{display:flex;gap:11px 19px;flex-wrap:wrap;align-items:center;border-top:1px solid #dfebe6;margin-top:22px;padding-top:15px;font-size:12px}
.ttt-tip__related strong{font-size:12px;color:#1f5056}
.ttt-tip__related a{font-size:12px;color:#087079;text-decoration:underline;font-weight:700}
.ttt-tip__footer{margin:22px 0 0;padding:12px 14px;font-size:11px;line-height:1.6;background:#f5f8f7;color:#607479;border-radius:7px}
.ttt-tip__error{font-size:12px;border:1px solid #efd0be;background:#fff5ed;color:#954f32;border-radius:8px;padding:13px}
.ttt-tip [hidden]{display:none!important}
@media(max-width:850px){.ttt-tip__field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ttt-tip__stop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ttt-tip__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.ttt-tip__hero{padding:24px 18px}.ttt-tip__body{padding:18px 13px}.ttt-tip__field-grid{grid-template-columns:1fr}.ttt-tip__step strong{font-size:16px}.ttt-tip__toolbar{display:block}.ttt-tip__toolbar-buttons{margin-top:10px}.ttt-tip__stop{padding:10px 9px}.ttt-tip__stop-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ttt-tip__stop-fields label{font-size:11px}.ttt-tip__stop-actions>span{width:100%;max-width:none}.ttt-tip__results-heading{align-items:flex-start;flex-wrap:wrap}.ttt-tip__assessment{display:block;padding:13px}.ttt-tip__score{text-align:left;max-width:none;min-width:0;margin-bottom:11px}.ttt-tip__score strong,.ttt-tip__score small{display:inline-block}.ttt-tip__score small{margin-left:6px}.ttt-tip__stats strong{font-size:16px}}
@media print{.ttt-tip{box-shadow:none;border:0}.ttt-tip__hero{background:#fff;padding:10px 0}.ttt-tip__hero *{color:#222!important}.ttt-tip__form,.ttt-tip__actions,.ttt-tip__related{display:none!important}.ttt-tip__body{padding:0}.ttt-tip__results{border-top:0}.ttt-tip__assessment,.ttt-tip__stop-report{break-inside:avoid}}

/* v2.1.1 route suggestions and night allocation consistency */
.ttt-tip__field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ttt-tip__suggestion{margin:18px 0 9px;border:1px solid #addbd2;background:#edf8f4;border-radius:10px;padding:14px 16px}
.ttt-tip__suggestion h3{font-family:inherit;font-size:16px;font-weight:800;color:#164e54;margin:0 0 6px}
.ttt-tip__suggestion p{font-size:12px;line-height:1.55;margin:0 0 10px;color:#41696c}
.ttt-tip__suggestion ol{display:flex;align-items:center;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:8px 0 11px}
.ttt-tip__suggestion li{font-size:11px;font-weight:700;border:1px solid #c5e0d8;border-radius:6px;background:white;padding:7px 9px;color:#255b5e}
.ttt-tip__suggestion li + li:before{content:'→';margin-right:7px;color:#688c8a}
.ttt-tip__suggestion a{font-size:11px;color:#176b72;text-decoration:underline}
.ttt-tip__suggestion-status{display:inline-block;margin-left:10px;font-size:11px;color:#266a5e}
.ttt-tip__night-match{border:1px solid #d9e2bd;background:#fafbed;color:#526139;font-size:12px;line-height:1.55;border-radius:7px;padding:10px 12px;margin:12px 0}
.ttt-tip__night-match--error{border-color:#e7d2a3;background:#fff9ea;color:#82581e}
.ttt-tip__night-match--success{border-color:#b9d9c3;background:#f0f9f2;color:#28704e}
@media(max-width:550px){.ttt-tip__field-grid{grid-template-columns:1fr}.ttt-tip__suggestion{padding:12px}.ttt-tip__suggestion li + li:before{margin-right:4px}.ttt-tip__suggestion-status{display:block;margin:8px 0 0}}
