.sst-app{margin-top:28px}
.sst-rule-summary,.sst-ad-slot{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);margin:18px 0;color:var(--text)}
.sst-hero-mini,.sst-panel,.sst-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px}
.sst-hero-mini{padding:26px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}
.sst-hero-mini h2{margin:6px 0 8px;font-size:2rem;color:var(--text)}
.sst-hero-mini p{margin:0;max-width:780px}
.sst-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.sst-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:18px}
.sst-trips-panel,.sst-panel{padding:22px}
.sst-panel h3{margin:0 0 6px;font-size:1.45rem;color:var(--text)}
.sst-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.sst-panel-head p{margin:0}
.sst-form{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end;margin-bottom:18px}
.sst-form label{display:flex;flex-direction:column;gap:7px;color:var(--text);font-size:.94rem;font-weight:600}
.sst-form input,.sst-calendar-controls select{width:100%;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);padding:12px 14px;color:var(--text);font:inherit}
.sst-form button{height:48px}
.sst-table-wrap{overflow:auto}
.sst-table{width:100%;border-collapse:collapse}
.sst-table th,.sst-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;color:var(--text)}
.sst-table th{font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.sst-table td small{display:block;color:var(--muted)}
.sst-table .sst-delete{padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--danger);font-weight:600;cursor:pointer}
.sst-results{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sst-card{padding:22px}
.sst-card span{display:block;color:var(--muted);font-weight:600;margin-bottom:10px}
.sst-card strong{font-size:2.45rem;line-height:1;color:var(--text);display:block;margin-bottom:10px}
.sst-card small{color:var(--muted)}
.sst-card.sst-green strong{color:var(--success)}
.sst-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.sst-sim-form{grid-template-columns:1fr 1fr auto;margin-top:16px}
.sst-sim-result{margin-top:14px;padding:16px 18px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line);color:var(--text)}
.sst-sim-result.success{border-color:rgba(18,146,107,.35);background:rgba(18,146,107,.08)}
.sst-sim-result.error{border-color:rgba(197,68,68,.35);background:rgba(197,68,68,.08)}
.sst-calendar-controls{display:flex;gap:8px}
.sst-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}
.sst-cal-head,.sst-cal-day{padding:10px;border-radius:14px;text-align:center}
.sst-cal-head{font-size:.83rem;color:var(--muted);font-weight:700}
.sst-cal-day{min-height:68px;background:var(--surface-2);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;color:var(--text);font-size:.95rem}
.sst-cal-day.outside{opacity:.45}
.sst-cal-day.trip{background:rgba(63,99,255,.1);border-color:rgba(63,99,255,.28)}
body.sst-dark .sst-cal-day.trip{background:rgba(106,130,255,.16)}
.sst-cal-day.today{outline:2px solid var(--primary)}
.sst-cal-day .num{font-weight:700}
.sst-cal-day .hint{font-size:.72rem;color:var(--muted)}
.sst-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted)}
.sst-legend span{display:flex;align-items:center;gap:8px}
.sst-legend i{width:14px;height:14px;border-radius:4px;background:rgba(63,99,255,.12);border:1px solid rgba(63,99,255,.28);display:inline-block}
.sst-legend i.today{background:transparent;border:2px solid var(--primary)}
.sst-timeline{display:grid;gap:12px}
.sst-time-item{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--line);border-radius:16px}
.sst-time-item strong{font-size:1rem;color:var(--text)}
.sst-time-item span{color:var(--muted)}
.sst-disclaimer{margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(197,68,68,.07);border:1px solid rgba(197,68,68,.16);color:var(--text)}
body.sst-dark .sst-disclaimer{background:rgba(255,114,114,.08);border-color:rgba(255,114,114,.18)}
@media (max-width:1200px){
  .sst-layout,.sst-grid-two{grid-template-columns:1fr}
}
@media (max-width:900px){
  .sst-form,.sst-sim-form{grid-template-columns:1fr 1fr}
  .sst-hero-mini{display:block}
  .sst-actions{margin-top:14px;justify-content:flex-start}
}
@media (max-width:720px){
  .sst-form,.sst-sim-form,.sst-results{grid-template-columns:1fr}
  .sst-card strong{font-size:2rem}
  .sst-cal-day{min-height:56px;padding:8px}
}


/* v4.4 trip planner overview */
.sst-planner-overview{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin:24px 0}
.sst-planner-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;padding:26px}
.sst-planner-card h2,.sst-planner-card h3{margin-top:0;color:var(--text)}
.sst-planner-card li{margin-bottom:8px}
@media(max-width:900px){.sst-planner-overview{grid-template-columns:1fr}}


/* v4.7 summary, ads and print */
.sst-grid-two{margin-top:18px}
.sst-timeline-panel{margin-top:28px}
.sst-report-panel{margin-top:18px}
.sst-report-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:24px;align-items:center}
.sst-report-chart{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.sst-report-ring{position:relative;width:180px;height:180px;display:grid;place-items:center}
.sst-report-ring svg{width:180px;height:180px;transform:rotate(-90deg)}
.sst-ring-track,.sst-ring-progress{fill:none;stroke-width:10}
.sst-ring-track{stroke:var(--line)}
.sst-ring-progress{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset .35s ease}
.sst-report-ring-copy{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:26px}
.sst-report-ring-copy strong{display:block;font-size:2.1rem;color:var(--text);line-height:1}
.sst-report-ring-copy span{display:block;font-size:.9rem;color:var(--muted);margin-top:6px}
.sst-usage-bars{display:grid;gap:14px}
.sst-usage-row{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center}
.sst-usage-row span{font-weight:700;color:var(--text)}
.sst-usage-row strong{font-size:.94rem;color:var(--muted)}
.sst-usage-bar{height:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.sst-usage-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),#8798ff);border-radius:999px}
.sst-usage-bar-alt i{background:linear-gradient(90deg,#21b47b,#8ce3c0)}
.sst-report-copy p{margin:0 0 14px;font-size:1rem;line-height:1.75}
.sst-ad-slot-placeholder{border-style:dashed;background:rgba(63,99,255,.06)}
.sst-ad-slot-placeholder strong{margin-right:6px}
.sst-ad-slot-placeholder span{display:inline-block;color:var(--muted)}
@media (max-width:1000px){
  .sst-report-grid{grid-template-columns:1fr}
  .sst-report-chart{grid-template-columns:1fr;justify-items:center}
}
@media (max-width:720px){
  .sst-timeline-panel{margin-top:22px}
  .sst-report-panel{margin-top:16px}
  .sst-report-ring,.sst-report-ring svg{width:156px;height:156px}
  .sst-usage-row{grid-template-columns:1fr;gap:8px}
}
@media print{
  body.sst-print-results .sst-shell *{visibility:hidden !important}
  body.sst-print-results .sst-print-area, body.sst-print-results .sst-print-area *{visibility:visible !important}
  body.sst-print-results .sst-print-area{display:block !important;position:absolute;left:0;top:0;width:100%;max-width:none;padding:0;margin:0;border:none;box-shadow:none;background:#fff;color:#000}
  body.sst-print-results .sst-panel-head p{color:#444 !important}
  body.sst-print-results .sst-report-grid{grid-template-columns:260px 1fr;gap:24px}
  body.sst-print-results .sst-report-panel{margin:0;padding:0}
}


/* v4.8 calculator polish */
.sst-grid-two{margin-bottom:26px}
.sst-timeline-panel{margin-top:34px}
.sst-report-panel{margin-top:24px}
.sst-report-panel{border-color:rgba(74,108,255,.22)}


/* v4.9 planning/result refinements */
.sst-grid-two{margin-top:22px}
.sst-timeline-panel{margin-top:36px}
.sst-report-panel{margin-top:22px}
.sst-report-grid{grid-template-columns:1fr;gap:20px}
.sst-report-chart{display:grid;gap:16px}
.sst-report-line-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-weight:700}
.sst-report-line-head strong{color:var(--text);font-size:1.05rem}
.sst-report-line{height:24px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);position:relative;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.04)}
.sst-report-line i{position:absolute;top:0;bottom:0;display:block}
.sst-report-line-used{left:0;width:0;background:linear-gradient(90deg,var(--primary),#8193ff);border-radius:999px 0 0 999px}
.sst-report-line-future{left:0;width:0;background:linear-gradient(90deg,#22b37c,#83dfbd);opacity:.95}
.sst-report-line-legend{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:.94rem}
.sst-report-line-legend span{display:inline-flex;align-items:center;gap:8px}
.sst-report-line-legend b{width:13px;height:13px;border-radius:4px;display:inline-block}
.sst-report-line-legend b.used{background:var(--primary)}
.sst-report-line-legend b.future{background:#22b37c}
.sst-report-line-legend b.remaining{background:var(--surface-2);border:1px solid var(--line)}
.sst-report-copy{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:18px}
.sst-report-copy p{margin:0 0 12px;line-height:1.72}
.sst-report-copy p:last-child{margin-bottom:0}
.sst-usage-bars{margin-top:4px}
.sst-future-panel{min-height:unset}
.sst-ad-slot-placeholder{border-style:dashed;background:rgba(63,99,255,.06)}
.sst-ad-slot-placeholder span{display:inline;color:var(--muted)}
@media (max-width:720px){
  .sst-timeline-panel{margin-top:28px}
  .sst-report-panel{margin-top:18px}
  .sst-report-line{height:20px}
  .sst-report-line-head{font-size:.86rem}
}
@media print{
  body.sst-print-results .sst-shell *{visibility:hidden !important}
  body.sst-print-results [data-sst-print-block], body.sst-print-results [data-sst-print-block] *, body.sst-print-results .sst-disclaimer, body.sst-print-results .sst-disclaimer *{visibility:visible !important}
}


/* v5.0 simplified premium result summary */
.sst-report-grid-premium{grid-template-columns:1fr;gap:20px}
.sst-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sst-report-metric{background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}
.sst-report-metric span{display:block;color:var(--muted);font-weight:700;font-size:.9rem;margin-bottom:8px}
.sst-report-metric strong{display:block;color:var(--text);font-size:2.35rem;line-height:1}
.sst-report-metric small{display:block;color:var(--muted);margin-top:6px}
.sst-report-metric.is-muted{opacity:.62}
.sst-report-chart{background:var(--surface-2);border:1px solid var(--line);border-radius:22px;padding:18px}
.sst-report-line{height:28px}
.sst-report-line-used{box-shadow:0 0 0 1px rgba(255,255,255,.14) inset}
.sst-report-line-future{box-shadow:0 0 0 1px rgba(255,255,255,.14) inset}
.sst-report-copy{font-size:1.02rem}
.sst-usage-bars{display:none !important}
@media (max-width:780px){
  .sst-report-metrics{grid-template-columns:1fr}
  .sst-report-metric{padding:16px}
  .sst-report-metric strong{font-size:2rem}
}


/* v5.1 confirmed + planned trips */
.sst-planned-panel,.sst-calendar-panel{margin-top:18px}
.sst-planned-panel .sst-panel-head{align-items:flex-start}
.sst-status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:.86rem;font-weight:750;white-space:nowrap}
.sst-status-pill.ok{background:rgba(18,146,107,.10);color:var(--success);border:1px solid rgba(18,146,107,.20)}
.sst-status-pill.risk{background:rgba(197,68,68,.10);color:var(--danger);border:1px solid rgba(197,68,68,.22)}
.sst-row-risk td{background:rgba(197,68,68,.035)}
.sst-cal-day.planned{background:rgba(34,179,124,.10);border-color:rgba(34,179,124,.28)}
.sst-cal-day.over{background:rgba(197,68,68,.10);border-color:rgba(197,68,68,.32)}
.sst-legend i.planned{background:rgba(34,179,124,.14);border:1px solid rgba(34,179,124,.28)}
.sst-legend i.over{background:rgba(197,68,68,.14);border:1px solid rgba(197,68,68,.32)}
.sst-time-item.confirmed{border-left:4px solid var(--primary)}
.sst-time-item.planned{border-left:4px solid var(--success)}
.sst-time-item.planned.risk{border-left-color:var(--danger);background:rgba(197,68,68,.045)}
.sst-report-grid-premium{grid-template-columns:1fr;gap:20px}
.sst-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sst-report-metric{background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}
.sst-report-metric span{display:block;color:var(--muted);font-weight:700;font-size:.9rem;margin-bottom:8px}
.sst-report-metric strong{display:block;color:var(--text);font-size:2.35rem;line-height:1}
.sst-report-metric small{display:block;color:var(--muted);margin-top:6px}
.sst-report-metric.is-muted{opacity:.62}
.sst-report-chart{background:var(--surface-2);border:1px solid var(--line);border-radius:22px;padding:18px}
.sst-report-line{height:28px;border-radius:999px;background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.04)}
.sst-report-line i{position:absolute;top:0;bottom:0;display:block}
.sst-report-line-used{left:0;width:0;background:linear-gradient(90deg,var(--primary),#8193ff);border-radius:999px 0 0 999px}
.sst-report-line-future{left:0;width:0;background:linear-gradient(90deg,#22b37c,#83dfbd);opacity:.95}
.sst-report-line-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-weight:700}
.sst-report-line-head strong{color:var(--text);font-size:1.05rem}
.sst-report-line-legend{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:.94rem;margin-top:12px}
.sst-report-line-legend span{display:inline-flex;align-items:center;gap:8px}
.sst-report-line-legend b{width:13px;height:13px;border-radius:4px;display:inline-block}
.sst-report-line-legend b.used{background:var(--primary)}
.sst-report-line-legend b.future{background:#22b37c}
.sst-report-line-legend b.remaining{background:var(--surface);border:1px solid var(--line)}
.sst-report-copy{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:18px;font-size:1.02rem}
.sst-report-copy p{margin:0 0 12px;line-height:1.72}
.sst-report-copy p:last-child{margin-bottom:0}
@media (max-width:900px){
  .sst-report-metrics{grid-template-columns:1fr}
  .sst-planned-panel .sst-form{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .sst-planned-panel .sst-form{grid-template-columns:1fr}
  .sst-report-metric strong{font-size:2rem}
  .sst-report-line{height:22px}
}


/* v5.2 performance and multi-month calendar */
.sst-calendar-controls{display:none !important}
.sst-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sst-month-block{background:var(--surface-2);border:1px solid var(--line);border-radius:22px;padding:14px}
.sst-month-title{font-weight:800;color:var(--text);font-size:1.05rem;margin:2px 4px 12px}
.sst-calendar-month{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.sst-calendar-month .sst-cal-day{min-height:54px;border-radius:12px;padding:8px}
.sst-calendar-month .sst-cal-head{padding:6px 2px}
@media (max-width:1100px){.sst-calendar{grid-template-columns:1fr}}
@media (max-width:720px){
  .sst-month-block{padding:10px;border-radius:18px}
  .sst-calendar-month{gap:5px}
  .sst-calendar-month .sst-cal-day{min-height:46px;padding:6px;font-size:.85rem}
  .sst-calendar-month .sst-cal-day .hint{font-size:.62rem}
}


/* v5.4 cosmetic refinements */
.sst-panel-head .sst-btn-danger{
  min-width:190px;
  max-width:240px;
  padding:12px 18px;
  line-height:1.25;
  text-align:center;
  white-space:normal;
}
.sst-trips-panel .sst-form,
.sst-planned-panel .sst-form{
  grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(170px,.9fr) minmax(170px,.9fr) minmax(170px,.8fr);
}
.sst-trips-panel .sst-form .sst-btn,
.sst-planned-panel .sst-form .sst-btn{
  min-height:54px;
  line-height:1.2;
  white-space:normal;
  text-align:center;
  padding:12px 16px;
}
.sst-calendar{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px;
}
.sst-month-block{
  padding:12px;
  border-radius:20px;
}
.sst-month-title{
  font-size:.98rem;
  margin-bottom:10px;
}
.sst-calendar-month{
  gap:5px;
}
.sst-calendar-month .sst-cal-day{
  min-height:44px;
  border-radius:10px;
  padding:6px;
  font-size:.86rem;
}
.sst-calendar-month .sst-cal-day .hint{
  font-size:.58rem;
}
.sst-calendar-month .sst-cal-head{
  font-size:.72rem;
}
@media(max-width:1500px){
  .sst-calendar{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:1150px){
  .sst-calendar{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .sst-calendar{grid-template-columns:1fr !important;}
  .sst-panel-head .sst-btn-danger{min-width:0;max-width:none;width:100%}
  .sst-trips-panel .sst-form,
  .sst-planned-panel .sst-form{grid-template-columns:1fr}
}


/* v5.5 form, calendar and mobile polish */
.sst-trips-panel,
.sst-planned-panel{overflow:hidden}
.sst-trips-panel .sst-panel-head,
.sst-planned-panel .sst-panel-head{
  align-items:flex-start;
  gap:18px;
}
.sst-panel-head .sst-btn-danger{
  flex:0 0 auto;
  min-width:180px;
  max-width:220px;
  white-space:normal;
}
.sst-trips-panel .sst-form,
.sst-planned-panel .sst-form{
  grid-template-columns:minmax(135px,1fr) minmax(135px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(155px,.72fr) !important;
  gap:12px;
  align-items:end;
}
.sst-trips-panel .sst-form label,
.sst-planned-panel .sst-form label{min-width:0}
.sst-trips-panel .sst-form input,
.sst-planned-panel .sst-form input{
  min-width:0;
  width:100%;
}
.sst-trips-panel .sst-form .sst-btn,
.sst-planned-panel .sst-form .sst-btn{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  white-space:normal;
  padding:11px 12px;
  font-size:.95rem;
  line-height:1.18;
  min-height:54px;
}
.sst-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sst-calendar{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:start;
  gap:18px;
}
.sst-month-block{
  min-width:0;
  overflow:hidden;
}
.sst-calendar-month{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
}
.sst-calendar-month .sst-cal-head{
  min-width:0;
  text-align:center;
  font-size:.68rem;
}
.sst-calendar-month .sst-cal-day{
  min-width:0;
  overflow:hidden;
  min-height:42px;
  padding:6px 4px;
  font-size:.82rem;
}
.sst-calendar-month .sst-cal-day .num{line-height:1}
.sst-calendar-month .sst-cal-day .hint{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.54rem;
}
@media(max-width:1320px){
  .sst-trips-panel .sst-form,
  .sst-planned-panel .sst-form{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .sst-trips-panel .sst-form .sst-btn,
  .sst-planned-panel .sst-form .sst-btn{
    grid-column:1/-1;
  }
}
@media(max-width:1180px){
  .sst-calendar{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .sst-trips-panel .sst-panel-head,
  .sst-planned-panel .sst-panel-head{display:block}
  .sst-panel-head .sst-btn-danger{
    width:100%;
    max-width:none;
    min-width:0;
    margin-top:12px;
  }
  .sst-trips-panel .sst-form,
  .sst-planned-panel .sst-form{
    grid-template-columns:1fr !important;
  }
  .sst-calendar{grid-template-columns:1fr !important;}
  .sst-month-block{padding:12px}
  .sst-calendar-month .sst-cal-day{min-height:46px}
}

/* v5.8 calculation method helper */
.sst-method-panel{margin-top:18px}
.sst-method-copy{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:10px}
.sst-method-copy p{margin:0;line-height:1.7}
.sst-method-copy a{font-weight:750;color:var(--primary)}


/* v6.0 calendar summary + wording adjustments */
.sst-time-item.previous,.sst-time-item.confirmed{border-left:4px solid var(--primary)}
.sst-calendar-summary-card{display:flex;flex-direction:column;min-height:100%}
.sst-calendar-summary{display:flex;flex-direction:column;gap:14px;padding:12px 4px 4px;color:var(--text)}
.sst-calendar-summary p{margin:0}
.sst-calendar-summary ul{margin:0;padding-left:1.1rem}
.sst-calendar-summary li{margin:8px 0;color:var(--muted)}
.sst-calendar-summary li strong{color:var(--text)}
.sst-calendar-tip{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);color:var(--text)}


/* v6.1 Trip Planner page polish */
.sst-planner-v61{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  align-items:start;
}
.sst-planner-hero-card{
  background:
    radial-gradient(circle at 22% 10%, rgba(74,108,255,.12), transparent 34%),
    linear-gradient(180deg,var(--surface),var(--surface-2));
}
.sst-planner-mini-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:22px 0;
}
.sst-planner-mini-steps div{
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  padding:16px;
  box-shadow:var(--shadow-soft);
}
.sst-planner-mini-steps span{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--primary-soft);
  color:var(--primary);
  font-weight:800;
  margin-bottom:12px;
}
.sst-planner-mini-steps strong{
  display:block;
  margin-bottom:7px;
  color:var(--text);
}
.sst-planner-mini-steps small{
  color:var(--muted);
  line-height:1.55;
}
.sst-planner-wide{
  grid-column:1 / -1;
}
.sst-planner-tips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.sst-planner-tips div{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
}
.sst-planner-tips strong{
  color:var(--text);
  display:block;
  margin-bottom:8px;
}
.sst-planner-tips p{
  margin:0;
}
.sst-planner-faq details{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 16px;
  margin:10px 0;
  background:var(--surface-2);
}
.sst-planner-faq summary{
  cursor:pointer;
  font-weight:760;
  color:var(--text);
}
.sst-planner-faq p{
  margin:10px 0 0;
}
@media(max-width:1050px){
  .sst-planner-v61,.sst-planner-mini-steps,.sst-planner-tips{grid-template-columns:1fr}
  .sst-planner-wide{grid-column:auto}
}


/* v6.5 calculator fixes and dark-mode refinement */
.sst-data-privacy-card{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin:18px 0;
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px 20px;
  background:
    radial-gradient(circle at 4% 0%, rgba(30,183,124,.10), transparent 32%),
    var(--surface);
  box-shadow:var(--shadow-soft);
}
.sst-data-privacy-card strong{
  display:block;
  color:var(--text);
  margin-bottom:4px;
}
.sst-data-privacy-card span{
  color:var(--muted);
}
.sst-data-privacy-card a{
  flex:0 0 auto;
  font-weight:760;
}
.sst-cal-day .usage{
  display:block;
  margin-top:2px;
  font-size:.54rem;
  font-weight:780;
  color:var(--muted);
  line-height:1;
}
.sst-cal-day.usage-caution{
  border-color:rgba(245,166,35,.45);
  background:rgba(245,166,35,.09);
}
.sst-cal-day.usage-high{
  border-color:rgba(255,141,145,.55);
  background:rgba(255,141,145,.09);
}
.sst-cal-day.usage-over{
  border-color:rgba(255,91,104,.7);
  background:rgba(255,91,104,.14);
}
.sst-cal-day.usage-caution .usage{color:#b56a00}
.sst-cal-day.usage-high .usage,
.sst-cal-day.usage-over .usage{color:#c64b55}
body.sst-dark .sst-form input[type="date"],
body.sst-dark .sst-form input,
body.sst-dark .sst-form select{
  color-scheme:dark;
  background:#0b1629;
  border-color:rgba(185,196,220,.18);
  color:#f4f7ff;
}
body.sst-dark .sst-form input[type="date"]:focus,
body.sst-dark .sst-form input:focus{
  outline:none;
  border-color:#7b86ff;
  box-shadow:0 0 0 4px rgba(123,134,255,.16);
}
body.sst-dark input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(1) opacity(.78);
  cursor:pointer;
}
body.sst-dark .sst-sim-result.success{
  background:rgba(85,214,170,.09);
  border-color:rgba(85,214,170,.36);
  color:#dffcf1;
}
body.sst-dark .sst-sim-result.error{
  background:rgba(255,141,145,.09);
  border-color:rgba(255,141,145,.34);
  color:#ffe3e5;
}
body.sst-dark .sst-card.sst-green strong{
  color:#55d6aa;
}
body.sst-dark .sst-delete,
body.sst-dark .sst-btn-danger{
  color:#ff9fa3 !important;
  background:rgba(255,141,145,.07) !important;
  border-color:rgba(255,141,145,.28) !important;
}
body.sst-dark .sst-btn-primary{
  background:linear-gradient(135deg,#6370f4,#8d7bff);
  box-shadow:0 14px 36px rgba(108,118,255,.25);
}
body.sst-dark .sst-calendar-summary-card,
body.sst-dark .sst-data-privacy-card{
  background:
    radial-gradient(circle at 12% 0%, rgba(93,111,255,.11), transparent 35%),
    linear-gradient(180deg,#111d35,#0f1a30);
}
body.sst-dark .sst-cal-day .usage{color:#93a0be}
body.sst-dark .sst-cal-day.usage-caution .usage{color:#ffd089}
body.sst-dark .sst-cal-day.usage-high .usage,
body.sst-dark .sst-cal-day.usage-over .usage{color:#ffb3b7}
body.sst-dark .sst-cal-day.usage-caution{background:rgba(245,166,35,.12)}
body.sst-dark .sst-cal-day.usage-high{background:rgba(255,141,145,.12)}
body.sst-dark .sst-cal-day.usage-over{background:rgba(255,91,104,.18)}
@media(max-width:760px){
  .sst-data-privacy-card{display:block}
  .sst-data-privacy-card a{display:inline-flex;margin-top:10px}
}


/* v6.5 fixes */
body.sst-dark .sst-status-pill.ok{background:rgba(116,182,164,.10);color:#b7ddd1;border:1px solid rgba(116,182,164,.22)}
body.sst-dark .sst-status-pill.risk{background:rgba(207,150,150,.10);color:#e3bcbc;border:1px solid rgba(207,150,150,.22)}
body.sst-dark .sst-time-item.planned.risk{background:rgba(207,150,150,.06)}
body.sst-dark .sst-time-item.planned{border-left-color:var(--success)}
body.sst-dark .sst-time-item.confirmed{border-left-color:var(--primary)}
body.sst-dark .sst-sim-result.success{background:rgba(116,182,164,.08);border-color:rgba(116,182,164,.22);color:#e6f4ef}
body.sst-dark .sst-sim-result.error{background:rgba(207,150,150,.08);border-color:rgba(207,150,150,.22);color:#f5e7e7}
body.sst-dark .sst-card.sst-green strong{color:#9fd0c2}
body.sst-dark .sst-delete,
body.sst-dark .sst-btn-danger{color:#e0b3b3 !important;background:rgba(207,150,150,.07) !important;border-color:rgba(207,150,150,.22) !important}
body.sst-dark .sst-btn-primary{background:linear-gradient(135deg,#5f6eb3,#7581bc);box-shadow:0 10px 24px rgba(42,56,96,.24)}
body.sst-dark .sst-calendar-summary-card,
body.sst-dark .sst-data-privacy-card{background:radial-gradient(circle at 12% 0%, rgba(122,136,200,.07), transparent 35%),linear-gradient(180deg,#101a2b,#0d1726)}
body.sst-dark .sst-report-line-future{background:linear-gradient(90deg,#679f93,#89b7ad)}
body.sst-dark .sst-report-line-legend b.future{background:#679f93}
body.sst-dark .sst-cal-day.planned{background:rgba(116,182,164,.10);border-color:rgba(116,182,164,.22)}
body.sst-dark .sst-cal-day.over{background:rgba(207,150,150,.10);border-color:rgba(207,150,150,.22)}
body.sst-dark .sst-legend i.planned{background:rgba(116,182,164,.14);border-color:rgba(116,182,164,.22)}
body.sst-dark .sst-legend i.over{background:rgba(207,150,150,.14);border-color:rgba(207,150,150,.22)}
body.sst-dark .sst-cal-day.usage-caution .usage{color:#ddc08b}
body.sst-dark .sst-cal-day.usage-high .usage,
body.sst-dark .sst-cal-day.usage-over .usage{color:#dfb4b4}
body.sst-dark .sst-cal-day.usage-caution{background:rgba(212,177,106,.10)}
body.sst-dark .sst-cal-day.usage-high{background:rgba(207,150,150,.10)}
body.sst-dark .sst-cal-day.usage-over{background:rgba(207,150,150,.14)}


/* v6.9 calculator UX cleanup */
.sst-app{margin-top:18px}
.sst-calc-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:0 0 18px;
}
.sst-privacy-inline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
  box-shadow:var(--shadow-soft);
}
.sst-privacy-inline strong{color:var(--text)}
.sst-privacy-inline a{font-weight:760}
.sst-results-compact{
  grid-template-columns:1fr;
}
.sst-reference-card strong{
  font-size:2rem;
}
.sst-reference-card small{
  display:block;
  line-height:1.55;
}
.sst-report-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.sst-rule-summary-after{
  margin:18px 0;
  box-shadow:var(--shadow-soft);
}
body.sst-dark .sst-privacy-inline{
  background:rgba(255,255,255,.028);
  border-color:rgba(169,181,204,.20);
}
@media(max-width:980px){
  .sst-calc-toolbar{align-items:stretch;flex-direction:column}
  .sst-actions{justify-content:flex-start}
  .sst-privacy-inline{border-radius:18px}
  .sst-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .sst-report-metrics{grid-template-columns:1fr}
}


/* v7.0 Daily Schengen Insight + Buffer recommendation */
.sst-cal-day{
  cursor:pointer;
  font:inherit;
  color:var(--text);
}
button.sst-cal-day{
  border:1px solid var(--line);
}
.sst-cal-day.selected{
  outline:3px solid rgba(74,108,255,.25);
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(74,108,255,.10);
}
.sst-day-insight{
  margin-top:22px;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    radial-gradient(circle at 8% 0%, rgba(74,108,255,.08), transparent 32%),
    linear-gradient(180deg,var(--surface),var(--surface-2));
  padding:22px;
  box-shadow:var(--shadow-soft);
}
.sst-day-insight-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.sst-day-insight-head h3{
  margin:0;
  font-size:1.35rem;
}
.sst-day-insight-head .sst-kicker{
  margin-bottom:8px;
}
.sst-day-insight-head > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--text);
  font-weight:760;
  white-space:nowrap;
}
.sst-day-insight-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.sst-day-insight-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  background:var(--surface);
}
.sst-day-insight-card span{
  display:block;
  color:var(--muted);
  font-size:.88rem;
  font-weight:720;
  margin-bottom:8px;
}
.sst-day-insight-card strong{
  display:block;
  color:var(--text);
  font-size:1.28rem;
  line-height:1.18;
}
.sst-day-insight-card.buffer-comfortable strong,
.sst-buffer-metric.buffer-comfortable strong{color:var(--success)}
.sst-day-insight-card.buffer-moderate strong,
.sst-buffer-metric.buffer-moderate strong{color:var(--warning)}
.sst-day-insight-card.buffer-low strong,
.sst-buffer-metric.buffer-low strong{color:#b7791f}
.sst-day-insight-card.buffer-over strong,
.sst-buffer-metric.buffer-over strong{color:var(--danger)}
.sst-day-insight-copy{
  margin-top:16px;
  padding:16px 18px;
  border-radius:18px;
  background:var(--surface-2);
  border:1px solid var(--line);
}
.sst-day-insight-copy p{
  margin:0 0 8px;
}
.sst-day-insight-copy p:last-child{
  margin-bottom:0;
}
.sst-day-insight-trips{
  margin-top:16px;
}
.sst-day-insight-trips h4{
  margin:0 0 10px;
  font-size:1rem;
}
.sst-insight-trip{
  display:grid;
  grid-template-columns:140px minmax(0,.8fr) minmax(0,1.2fr);
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:16px;
  margin-top:8px;
}
.sst-insight-trip span{
  color:var(--muted);
  font-weight:740;
}
.sst-insight-trip strong{
  color:var(--text);
}
.sst-insight-trip small{
  color:var(--muted);
}
.sst-insight-trip.planned{
  border-color:rgba(16,150,111,.24);
  background:rgba(16,150,111,.06);
}
.sst-insight-empty{
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  color:var(--muted);
}
.sst-day-insight-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:.92rem;
}
.sst-buffer-metric small{
  line-height:1.45;
}
body.sst-dark .sst-day-insight,
body.sst-dark .sst-day-insight-card,
body.sst-dark .sst-insight-trip,
body.sst-dark .sst-insight-empty{
  background:
    radial-gradient(circle at 12% 0%, rgba(122,136,200,.07), transparent 35%),
    linear-gradient(180deg,#101a2b,#0d1726);
}
body.sst-dark .sst-day-insight-copy{
  background:#0d1726;
}
body.sst-dark .sst-cal-day.selected{
  outline-color:rgba(122,136,200,.28);
  box-shadow:0 0 0 4px rgba(122,136,200,.12);
}
body.sst-dark .sst-insight-trip.planned{
  background:rgba(116,182,164,.07);
  border-color:rgba(116,182,164,.18);
}
@media(max-width:980px){
  .sst-day-insight-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sst-insight-trip{
    grid-template-columns:1fr;
    gap:4px;
  }
}
@media(max-width:640px){
  .sst-day-insight-head{
    display:block;
  }
  .sst-day-insight-head > span{
    margin-top:12px;
  }
  .sst-day-insight-grid{
    grid-template-columns:1fr;
  }
}


/* v7.0.1 Daily Insight click feedback */
.sst-day-insight.is-selected{
  border-color:rgba(74,108,255,.32);
  box-shadow:0 18px 46px rgba(74,108,255,.10);
}
.sst-day-insight.is-selected .sst-day-insight-head > span{
  border-color:rgba(74,108,255,.34);
  background:rgba(74,108,255,.08);
  color:var(--primary);
}
body.sst-dark .sst-day-insight.is-selected{
  border-color:rgba(122,136,200,.28);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
body.sst-dark .sst-day-insight.is-selected .sst-day-insight-head > span{
  border-color:rgba(122,136,200,.28);
  background:rgba(122,136,200,.10);
  color:#edf2fb;
}


/* v7.1 UI refinement */
.sst-layout{
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
}
.sst-results{
  gap:14px;
}
.sst-results .sst-card{
  padding:20px;
  min-height:auto;
}
.sst-results .sst-card strong{
  font-size:2.15rem;
}
.sst-reference-card strong{
  font-size:1.7rem;
}
.sst-reference-card small{
  font-size:.9rem;
}
.sst-cal-day.blank{
  visibility:hidden;
  pointer-events:none;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.sst-calendar-summary-bar{
  margin-top:18px;
}
.sst-calendar-summary-inline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 18px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-2);
  color:var(--muted);
}
.sst-calendar-summary-inline strong{
  color:var(--text);
}
.sst-calendar-summary-inline span{
  color:var(--muted);
}
.sst-calendar-summary-inline b{
  color:var(--text);
}
.sst-report-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.sst-buffer-metric strong{
  font-size:1.9rem;
  line-height:1.05;
}
.sst-buffer-metric small{
  max-width:22ch;
}
.sst-home-simplified .sst-hero-text > p:not(.sst-hero-badge){
  max-width:62ch;
}
.sst-tool-preview-card p strong,
.sst-home-privacy-note strong{
  color:var(--text);
}
body.sst-dark .sst-calendar-summary-inline{
  background:#0d1726;
}
@media(max-width:1180px){
  .sst-layout{
    grid-template-columns:1fr;
  }
  .sst-results{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .sst-report-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sst-results{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .sst-report-metrics{
    grid-template-columns:1fr;
  }
}


/* v7.1.1 premium compact Trip Calendar */
.sst-calendar{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start;
}
.sst-month-block{
  display:flex;
  flex-direction:column;
  padding:12px !important;
  border-radius:20px;
  min-height:330px;
}
.sst-month-title{
  margin:0 2px 10px !important;
  min-height:22px;
  line-height:1.2;
}
.sst-calendar-month{
  grid-template-rows:auto repeat(6,34px);
  gap:6px !important;
}
.sst-calendar-month .sst-cal-head{
  height:20px;
  padding:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.68rem;
  line-height:1;
}
.sst-calendar-month .sst-cal-day{
  height:34px !important;
  min-height:0 !important;
  padding:4px 5px !important;
  border-radius:10px;
  gap:0 !important;
  align-items:flex-start;
  justify-content:flex-start;
  overflow:hidden;
  line-height:1.05;
}
.sst-calendar-month .sst-cal-day .num{
  font-size:.78rem;
  line-height:1;
}
.sst-calendar-month .sst-cal-day .hint{
  display:none;
}
.sst-calendar-month .sst-cal-day.over .hint{
  display:block;
  margin-top:2px;
  font-size:.48rem;
  line-height:1;
  color:var(--danger);
}
.sst-calendar-month .sst-cal-day .usage{
  margin-top:2px !important;
  font-size:.48rem !important;
  line-height:1 !important;
  white-space:nowrap;
}
.sst-calendar-month .sst-cal-day.blank{
  height:34px !important;
}
.sst-calendar-summary-bar{
  margin-top:16px;
}
.sst-calendar-summary-inline{
  justify-content:flex-start;
  font-size:.94rem;
}
@media(max-width:1380px){
  .sst-calendar{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:1050px){
  .sst-calendar{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .sst-calendar{
    grid-template-columns:1fr !important;
  }
  .sst-month-block{
    min-height:315px;
  }
  .sst-calendar-month{
    grid-template-rows:auto repeat(6,32px);
    gap:5px !important;
  }
  .sst-calendar-month .sst-cal-day,
  .sst-calendar-month .sst-cal-day.blank{
    height:32px !important;
  }
}


/* v7.1.2 visible outside-month days without height jumps */
.sst-calendar-month .sst-cal-day.outside{
  visibility:visible !important;
  pointer-events:auto;
  opacity:.48;
  background:rgba(255,255,255,.38) !important;
  border-color:rgba(186,198,220,.38) !important;
  color:var(--muted);
  box-shadow:none !important;
}
.sst-calendar-month .sst-cal-day.outside.blank{
  visibility:visible !important;
}
.sst-calendar-month .sst-cal-day.outside .num{
  color:var(--muted);
  font-weight:650;
}
.sst-calendar-month .sst-cal-day.outside .hint,
.sst-calendar-month .sst-cal-day.outside .usage{
  display:none !important;
}
body.sst-dark .sst-calendar-month .sst-cal-day.outside{
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(169,181,204,.12) !important;
  opacity:.42;
}


/* v7.1.3 calendar summary tile */
.sst-calendar-summary-bar{
  display:none !important;
}
.sst-panel:has(.sst-calendar-summary-tile) > .sst-legend{
  display:none;
}
.sst-calendar-summary-tile{
  grid-column:span 2;
  min-height:330px;
  background:
    radial-gradient(circle at 12% 0%, rgba(74,108,255,.08), transparent 36%),
    linear-gradient(180deg,var(--surface),var(--surface-2));
}
.sst-calendar-summary-tile-body{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  height:100%;
  color:var(--muted);
}
.sst-calendar-summary-tile-body p{
  margin:0;
  line-height:1.55;
}
.sst-calendar-summary-tile-body strong{
  color:var(--text);
}
.sst-calendar-summary-tile-body ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.sst-calendar-summary-tile-body li{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.45);
  line-height:1.35;
}
.sst-calendar-summary-tile-body .dot{
  width:12px;
  height:12px;
  border-radius:4px;
  flex:none;
  border:1px solid rgba(63,99,255,.28);
  background:rgba(63,99,255,.12);
}
.sst-calendar-summary-tile-body .dot.planned{
  background:rgba(18,146,107,.14);
  border-color:rgba(18,146,107,.26);
}
.sst-calendar-summary-tile-body .dot.over{
  background:rgba(197,68,68,.12);
  border-color:rgba(197,68,68,.26);
}
.sst-calendar-summary-tile-body .dot.today{
  background:transparent;
  border:2px solid var(--primary);
}
.sst-calendar-summary-tip{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  color:var(--text);
}
body.sst-dark .sst-calendar-summary-tile{
  background:
    radial-gradient(circle at 12% 0%, rgba(122,136,200,.08), transparent 34%),
    linear-gradient(180deg,#101a2b,#0d1726);
}
body.sst-dark .sst-calendar-summary-tile-body li{
  background:rgba(255,255,255,.03);
}
@media(max-width:1380px){
  .sst-calendar-summary-tile{
    grid-column:span 1;
  }
}
@media(max-width:1050px){
  .sst-calendar-summary-tile{
    grid-column:span 2;
  }
}
@media(max-width:720px){
  .sst-calendar-summary-tile{
    grid-column:span 1;
    min-height:auto;
  }
  .sst-calendar-summary-tile-body ul{
    grid-template-columns:1fr;
  }
}


/* v7.1.5 mobile usability hotfix */
.sst-form,
.sst-form *,
.sst-table-wrap,
.sst-panel,
.sst-trips-panel{
  box-sizing:border-box;
}
.sst-table-wrap{
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  border-radius:16px;
}
.sst-table-wrap::after{
  content:"";
}
@media(max-width:760px){
  .sst-app{
    margin-top:10px;
  }
  .sst-calc-toolbar{
    gap:10px;
    margin-bottom:12px;
  }
  .sst-privacy-inline{
    font-size:.92rem;
    line-height:1.45;
    padding:10px 12px;
  }
  .sst-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:0;
  }
  .sst-actions .sst-btn{
    width:100%;
    justify-content:center;
    min-height:44px;
  }
  .sst-layout,
  .sst-grid-two,
  .sst-report-grid{
    grid-template-columns:1fr !important;
    gap:14px;
  }
  .sst-trips-panel,
  .sst-panel{
    padding:16px;
    border-radius:22px;
    overflow:hidden;
  }
  .sst-panel-head{
    display:block;
    margin-bottom:14px;
  }
  .sst-panel-head p{
    font-size:.95rem;
    line-height:1.5;
    margin-top:6px;
  }
  .sst-panel-head .sst-btn-danger{
    width:100%;
    margin-top:12px;
  }
  .sst-trips-panel .sst-form,
  .sst-planned-panel .sst-form,
  .sst-form,
  .sst-sim-form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100%;
    max-width:100%;
  }
  .sst-form label,
  .sst-form input,
  .sst-form button,
  .sst-form .sst-btn,
  .sst-sim-form label,
  .sst-sim-form input,
  .sst-sim-form button{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  .sst-form input{
    height:48px;
    padding:11px 12px;
  }
  .sst-form .sst-btn,
  .sst-sim-form .sst-btn{
    min-height:48px;
  }
  .sst-table-wrap{
    margin-top:10px;
    padding-bottom:6px;
  }
  .sst-table{
    min-width:680px;
  }
  .sst-planned-panel .sst-table{
    min-width:760px;
  }
  .sst-table th,
  .sst-table td{
    padding:12px 10px;
    white-space:nowrap;
  }
  .sst-table td small{
    white-space:normal;
    max-width:180px;
  }
  .sst-table-wrap:before{
    content:"Scroll table sideways →";
    display:block;
    font-size:.82rem;
    color:var(--muted);
    margin:0 0 8px;
  }
  .sst-results{
    grid-template-columns:1fr !important;
    gap:12px;
  }
  .sst-results .sst-card{
    padding:16px;
  }
  .sst-results .sst-card strong{
    font-size:1.85rem;
  }
  .sst-card small{
    line-height:1.45;
  }
  .sst-planned-panel,
  .sst-calendar-panel,
  .sst-timeline-panel,
  .sst-report-panel,
  .sst-method-panel{
    margin-top:14px;
  }
  .sst-panel h3{
    font-size:1.28rem;
  }
  .sst-panel > p,
  .sst-report-panel > p,
  .sst-calendar-panel > p{
    font-size:.95rem;
    line-height:1.5;
  }
  .sst-calendar-summary-tile-body ul{
    grid-template-columns:1fr;
  }
  .sst-day-insight-grid,
  .sst-report-metrics{
    grid-template-columns:1fr !important;
  }
  .sst-report-copy{
    font-size:.95rem;
    line-height:1.65;
  }
  .sst-rule-summary-after,
  .sst-disclaimer{
    font-size:.93rem;
    line-height:1.55;
  }
}
@media(max-width:430px){
  .sst-actions{
    grid-template-columns:1fr;
  }
  .sst-table{
    min-width:640px;
  }
  .sst-planned-panel .sst-table{
    min-width:720px;
  }
  .sst-trips-panel,
  .sst-panel{
    padding:14px;
  }
}
