.bu-schengen-page { max-width: 1040px; padding-bottom: 120px; }
.bu-schengen-title { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:18px; }
.bu-schengen-title h1 { margin:.15rem 0 .35rem; }
.bu-schengen-lock { flex:0 0 auto; padding:9px 12px; border:1px solid #a7f3d0; border-radius:999px; background:#ecfdf5; color:#047857; font-size:11px; font-weight:850; }
#bu-schengen { padding:22px; border:1px solid #bfe5df; border-radius:24px; background:linear-gradient(145deg,#f7fffd,#eef8ff); box-shadow:0 18px 45px rgba(15,78,86,.1); }
#bu-schengen .bu-schengen-hud { grid-template-columns:repeat(3,1fr); }
#bu-schengen .bu-schengen-hud > div { min-width:0; border-color:#d6e8eb; box-shadow:none; }
#bu-schengen .bu-schengen-hud strong { font-size:clamp(1.1rem,3vw,1.7rem); overflow-wrap:anywhere; }
.bu-schengen-bar i { background:linear-gradient(90deg,#10b981,#06b6d4); transition:width .35s ease; }
.bu-schengen-bar i.is-risk { background:#f59e0b; }
.bu-schengen-bar i.is-over { background:#e11d48; }
.bu-schengen-plan { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:10px; align-items:end; margin-top:18px; padding:16px; border-radius:18px; background:#fff; border:1px solid #dbe7ea; }
.bu-schengen-plan > strong { align-self:center; }
.bu-schengen-plan label { display:grid; gap:5px; color:#475569; font-size:11px; font-weight:800; }
.bu-schengen-plan input { min-height:44px; border:1px solid #cbd5e1; border-radius:12px; padding:0 11px; background:#fff; }
.bu-schengen-plan p { grid-column:1/-1; margin:0; padding:10px 12px; border-radius:12px; background:#f8fafc; color:#475569; font-size:12px; font-weight:700; }
.bu-schengen-plan p.is-safe { background:#ecfdf5; color:#047857; }
.bu-schengen-plan p.is-risk { background:#fff1f2; color:#be123c; }
.bu-schengen-editor,.bu-schengen-entries { margin-top:28px; }
.bu-schengen-form { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:18px; border:1px solid #e2e8f0; border-radius:20px; background:#fff; }
.bu-schengen-form label { display:grid; gap:6px; font-size:12px; font-weight:800; color:#334155; }
.bu-schengen-form input,.bu-schengen-form select { width:100%; min-height:46px; border:1px solid #cbd5e1; border-radius:12px; padding:0 12px; background:#fff; font:inherit; }
.bu-schengen-form .bu-schengen-check { display:flex; align-items:center; gap:8px; min-height:46px; }
.bu-schengen-form .bu-schengen-check input { width:20px; min-height:20px; }
.bu-schengen-form .bu-span-2 { grid-column:span 2; }
.bu-schengen-section-head { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.bu-schengen-section-head h2 { margin:0; }
.bu-schengen-section-head > span { padding:7px 10px; border-radius:999px; background:#e2e8f0; font-size:11px; font-weight:800; }
.bu-schengen-entry { margin-top:10px; border:1px solid #dbe4ea; border-radius:18px; background:#fff; overflow:hidden; }
.bu-schengen-entry.is-planned { border-style:dashed; border-color:#93c5fd; }
.bu-schengen-entry summary { display:flex; justify-content:space-between; gap:16px; padding:16px; cursor:pointer; list-style:none; }
.bu-schengen-entry summary::-webkit-details-marker { display:none; }
.bu-schengen-entry summary span { display:flex; flex-direction:column; gap:4px; color:#64748b; font-size:12px; }
.bu-schengen-entry summary em { color:#0f766e; font-size:9px; font-style:normal; font-weight:900; letter-spacing:.12em; }
.bu-schengen-entry summary strong { color:#0f172a; font-size:14px; }
.bu-schengen-entry .is-edit { margin:0 14px 12px; background:#f8fafc; }
.bu-schengen-entry > form:last-child { padding:0 14px 14px; }
.bu-schengen-history,.bu-schengen-note { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; padding:16px 18px; border-radius:18px; border:1px solid #dbe4ea; background:#fff; }
.bu-schengen-history p,.bu-schengen-note p { margin:3px 0 0; color:#64748b; font-size:12px; }
.bu-schengen-note { display:block; background:#fffbeb; border-color:#fde68a; }
@media (max-width:700px) {
  .bu-schengen-page { padding:18px 12px 110px; }
  .bu-schengen-title { align-items:flex-start; flex-direction:column; }
  #bu-schengen { padding:14px; border-radius:20px; }
  #bu-schengen .bu-schengen-hud { grid-template-columns:1fr 1fr; gap:8px; }
  #bu-schengen .bu-schengen-hud > div:last-child { grid-column:1/-1; }
  .bu-schengen-plan,.bu-schengen-form { grid-template-columns:1fr; }
  .bu-schengen-form .bu-span-2 { grid-column:auto; }
  .bu-schengen-entry summary { flex-direction:column; gap:7px; }
  .bu-schengen-history { align-items:stretch; flex-direction:column; }
}
