
:root{
  --ink:#0d1b22;
  --ink-2:#14252d;
  --paper:#fbfaf7;
  --cream:#f2ede5;
  --gold:#b38a42;
  --gold-2:#d1aa62;
  --muted:#707a7f;
  --line:rgba(13,27,34,.12);
  --shadow:0 22px 65px rgba(7,18,24,.15);
}
*{box-sizing:border-box}
html{background:var(--cream);scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button{font:inherit}
.app-shell{display:grid;grid-template-columns:274px minmax(0,1fr);min-height:100vh}
.side-rail{position:sticky;top:0;height:100vh;background:
linear-gradient(180deg,rgba(6,17,23,.96),rgba(10,23,29,.94)),
url("../assets/prestige/cape-town.jpg") center/cover;
color:white;padding:28px 16px 24px;display:flex;flex-direction:column;z-index:40}
.side-brand{border:0;background:none;color:white;text-align:center;padding:14px 8px 26px;cursor:pointer}
.tree-mark{display:block;color:var(--gold-2);font-size:2rem;margin-bottom:8px}
.side-brand strong{display:block;font:500 1.78rem Georgia,serif;letter-spacing:.04em}
.side-brand small{display:block;color:var(--gold-2);font-size:.83rem;letter-spacing:.19em;margin-top:5px}
.side-brand em{display:block;font-style:normal;font-size:.55rem;letter-spacing:.39em;margin-top:10px;color:rgba(255,255,255,.72)}
.side-nav{display:grid;gap:8px}
.side-nav button{position:relative;border:0;background:transparent;color:rgba(255,255,255,.82);display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;text-align:left;padding:13px 15px;border-radius:12px;cursor:pointer}
.side-nav button span{font-size:1.25rem}.side-nav button b{font-size:.92rem}.side-nav button i{font-style:normal;background:var(--gold);color:white;border-radius:999px;min-width:21px;height:21px;display:none;place-items:center;font-size:.68rem}
.side-nav button i.visible{display:grid}
.side-nav button.active{background:linear-gradient(135deg,#8f6d33,#b48b45);color:white}
.side-countdown{margin-top:auto;padding:22px 16px 10px;border-top:1px solid rgba(255,255,255,.12)}
.side-countdown strong{display:block;font:500 1.4rem Georgia,serif}.side-countdown small{display:block;margin-top:6px;color:rgba(255,255,255,.72)}.side-countdown em{display:block;margin-top:18px;color:var(--gold-2);font-style:normal;font-size:.69rem;letter-spacing:.16em}
.main-stage{min-width:0}
.topbar{height:58px;display:none;position:sticky;top:0;z-index:35;background:rgba(248,244,238,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;padding:10px 15px}
.mobile-brand{border:0;background:none;text-align:left;color:var(--ink)}.mobile-brand strong{display:block;font:500 1.2rem Georgia,serif}.mobile-brand small{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}
.version{border:1px solid rgba(179,138,66,.45);color:#805f28;border-radius:999px;padding:6px 10px;font-weight:850;font-size:.7rem}
#app{min-width:0}
.bottom-nav{display:none}

.page-hero{position:relative;height:224px;overflow:hidden;background:var(--ink)}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,24,.7),rgba(8,19,24,.08))}
.page-hero-copy{position:relative;z-index:1;color:white;padding:43px 36px;max-width:700px}
.page-hero-copy h1{font:500 3.5rem/1 Georgia,serif;margin:0}.page-hero-copy p{margin:9px 0 0;color:var(--gold-2);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.75rem}

.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 405px;min-height:calc(100vh - 224px)}
.activity-list-pane{background:var(--paper);padding:0 26px 36px;border-right:1px solid var(--line)}
.filter-row{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.95);backdrop-filter:blur(15px);display:flex;gap:8px;padding:13px 0;border-bottom:1px solid var(--line);overflow:auto}
.filter-row button{border:1px solid var(--line);background:#f2f0ec;color:var(--ink);border-radius:9px;padding:9px 14px;font-weight:800;white-space:nowrap}
.filter-row button.active{background:linear-gradient(135deg,#9c752e,#c09a4a);color:white;border-color:transparent}
.timeline-feed{padding-top:15px}
.timeline-date{font-size:.77rem;text-transform:uppercase;letter-spacing:.1em;color:#8c682e;font-weight:900;padding:8px 0 10px}
.timeline-row{position:relative;display:grid;grid-template-columns:78px 1fr 264px 34px;align-items:stretch;min-height:66px;background:white;border:1px solid var(--line);border-bottom:0}
.timeline-row:first-of-type{border-radius:12px 12px 0 0}.timeline-row:last-of-type{border-bottom:1px solid var(--line);border-radius:0 0 12px 12px}
.timeline-row:before{content:"";position:absolute;left:18px;top:0;bottom:0;border-left:2px solid #d1b273}
.timeline-dot{position:absolute;left:13px;top:28px;width:11px;height:11px;border:3px solid #a97f35;background:white;border-radius:50%;z-index:2}
.timeline-time{padding:22px 8px 18px 31px;font-weight:900;font-size:.83rem}
.timeline-main{padding:16px 15px}.timeline-main strong{display:block;font-size:.96rem}.timeline-main small{display:block;color:var(--muted);margin-top:4px}.choice-tag{display:inline-block;margin-left:7px;border:1px solid var(--gold);color:#8e682b;border-radius:5px;padding:2px 5px;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em}
.timeline-photo{height:66px;width:100%;object-fit:cover}.timeline-open{border:0;background:white;font-size:1.5rem;color:var(--ink);cursor:pointer}
.simultaneous-strip{display:flex;align-items:center;gap:10px;color:#8c682e;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;padding:8px 16px 8px 58px;background:#fbf5ea;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.simultaneous-strip:before{content:"";width:100%;max-width:28px;border-top:1px solid #caaa6c}

.detail-pane{position:sticky;top:0;height:100vh;background:var(--paper);overflow:auto}
.detail-photo{height:380px;position:relative;background:#d8d8d8}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.12))}
.detail-copy{padding:30px 28px 34px}.detail-copy .eyebrow{color:#9b7231;text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:.72rem}.detail-copy h2{font:500 2.2rem/1.05 Georgia,serif;margin:9px 0}.detail-copy .location{color:var(--muted);font-size:.95rem}.detail-copy .time{display:flex;gap:8px;align-items:center;margin:18px 0;color:#39494f}.detail-copy p{color:#4d5b60;line-height:1.67}
.detail-copy h3{margin-top:28px;color:#9b7231;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.detail-list{display:grid;gap:12px}.detail-list div{display:flex;gap:11px;align-items:flex-start;color:#49575c}.detail-list i{font-style:normal;color:var(--gold);font-weight:900}
.primary-choice{width:100%;border:0;border-radius:8px;background:linear-gradient(135deg,#aa7e32,#c89e50);color:white;padding:15px;font-weight:900;margin-top:28px;cursor:pointer}
.primary-choice.selected{background:var(--ink)}
.detail-placeholder{display:grid;place-items:center;height:100%;padding:40px;text-align:center;color:var(--muted)}

.preference-page,.group-page,.admin-page,.locations-page,.trip-page{padding:28px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 20px}.section-head small{color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-weight:800}.section-head h1,.section-head h2{font:500 clamp(2rem,5vw,3.3rem)/1 Georgia,serif;margin:7px 0 0}.section-head p{color:var(--muted);max-width:620px;line-height:1.55;margin:8px 0 0}
.day-picker{display:flex;gap:8px;overflow:auto;margin-bottom:15px}.day-picker button{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;white-space:nowrap}.day-picker button.active{background:var(--ink);color:white}
.schedule{display:grid;gap:14px}.schedule-card{display:grid;grid-template-columns:210px 1fr;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.schedule-card img{width:100%;height:100%;min-height:175px;object-fit:cover}.schedule-copy{padding:21px}.schedule-copy h3{font:500 1.55rem Georgia,serif;margin:7px 0}.schedule-copy p{color:var(--muted);line-height:1.55}.schedule-time{color:var(--gold);font-weight:900;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.preference-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.preference-card h3{font:500 1.55rem Georgia,serif}.preference-options{display:grid;gap:8px}.preference-options button{border:1px solid var(--line);background:#f6f4f0;border-radius:10px;padding:10px;text-align:left;font-weight:800}.preference-options button.selected{background:var(--ink);color:white}
.portrait-grid,.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.portrait,.info-card{background:white;border:1px solid var(--line);border-radius:16px;padding:18px}.portrait strong{display:block;font:500 1.2rem Georgia,serif}.portrait small{color:var(--muted)}
.location-card{display:grid;grid-template-columns:38% 1fr;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:16px}.location-card img{width:100%;height:250px;object-fit:cover}.location-copy{padding:24px}.location-copy h2{font:500 2rem Georgia,serif;margin:7px 0}.location-copy p{color:var(--muted);line-height:1.55}
.admin-shell{display:grid;grid-template-columns:210px 1fr;gap:16px}.admin-menu,.admin-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:16px}.admin-menu button{width:100%;border:0;background:transparent;text-align:left;padding:11px;border-radius:10px;font-weight:800;color:var(--muted)}.admin-menu button.active{background:var(--ink);color:white}
.admin-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-toolbar h2{font:500 1.8rem Georgia,serif}.admin-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-toolbar button,.admin-import-label{border:0;border-radius:999px;padding:9px 12px;background:var(--ink);color:white;font-weight:800}.admin-toolbar .secondary,.admin-import-label.secondary{background:#e9e4dc;color:var(--ink)}.admin-import-label input{display:none}
.admin-note{background:#f3eee6;border-radius:11px;padding:12px;color:var(--muted);line-height:1.5}.admin-list{display:grid;gap:8px}.admin-row{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px}.admin-row small{display:block;color:var(--muted);margin-top:4px}.admin-row-actions{display:flex;gap:6px}.admin-row-actions button{border:0;border-radius:8px;padding:7px 9px;font-weight:800}.admin-row-actions .edit{background:#efe5d4}.admin-row-actions .delete{background:#f1dddd;color:#7b2c2c}
.admin-form{display:grid;gap:11px;margin-top:16px}.admin-form label{display:grid;gap:5px;font-weight:800;font-size:.8rem}.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:white}.admin-form textarea{min-height:90px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-form-actions{display:flex;justify-content:flex-end;gap:7px}.admin-form-actions button{border:0;border-radius:999px;padding:10px 14px;font-weight:850}.admin-form-actions .save{background:var(--ink);color:white}.admin-form-actions .cancel{background:#e9e4dc}

@media(max-width:1100px){
  .app-shell{grid-template-columns:220px minmax(0,1fr)}
  .activity-layout{grid-template-columns:minmax(0,1fr) 340px}
  .timeline-row{grid-template-columns:72px 1fr 190px 32px}
}
@media(max-width:820px){
  .app-shell{display:block}.side-rail{display:none}.topbar{display:flex}
  body{padding-bottom:78px}.bottom-nav{position:fixed;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:70;display:grid;grid-template-columns:repeat(5,1fr);width:min(720px,calc(100% - 16px));background:rgba(13,27,34,.96);border-radius:18px;padding:6px}
  .bottom-nav button{border:0;background:none;color:rgba(255,255,255,.62);padding:7px 2px;border-radius:12px}.bottom-nav button span,.bottom-nav button b{display:block}.bottom-nav button b{font-size:.56rem;margin-top:2px}.bottom-nav button.active{background:white;color:var(--ink)}
  .page-hero{height:170px}.page-hero-copy{padding:29px 20px}.page-hero-copy h1{font-size:2.6rem}
  .activity-layout{display:block}.activity-list-pane{padding:0 10px 24px}.detail-pane{position:fixed;inset:58px 0 0;z-index:80;display:none;height:auto}.detail-pane.open{display:block}.detail-photo{height:42vh}.detail-copy{padding:24px 20px 100px}.detail-close{display:block}
  .timeline-row{grid-template-columns:66px 1fr 110px 28px}.timeline-photo{height:70px}.timeline-main{padding:13px 8px}.timeline-time{padding:20px 5px 15px 29px}.timeline-main strong{font-size:.87rem}.timeline-main small{font-size:.72rem}
  .preference-page,.group-page,.admin-page,.locations-page,.trip-page{padding:18px 12px}
  .preference-grid,.portrait-grid,.info-grid{grid-template-columns:1fr}.schedule-card,.location-card{grid-template-columns:1fr}.schedule-card img{height:220px}.location-card img{height:230px}.admin-shell{grid-template-columns:1fr}.admin-menu{display:flex;overflow:auto}.admin-menu button{width:auto;white-space:nowrap}.admin-form-grid{grid-template-columns:1fr}.admin-toolbar{align-items:flex-start;flex-direction:column}
}


/* TravelBook 18.2 — Premium Polish */
.timeline-row{
  min-height:92px;
  grid-template-columns:88px minmax(0,1fr) 230px 42px;
  align-items:stretch;
}
.timeline-time{
  padding:24px 8px 20px 34px;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
.timeline-main{
  min-width:0;
  padding:18px 16px;
  overflow-wrap:anywhere;
  word-break:normal;
}
.timeline-main strong{
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
.timeline-main small{
  line-height:1.45;
  white-space:normal;
  overflow-wrap:anywhere;
}
.timeline-photo{
  height:100%;
  min-height:92px;
}
.timeline-open{
  min-width:42px;
}
.simultaneous-strip{
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
.detail-copy h2,
.detail-copy p,
.detail-copy .location,
.schedule-copy h3,
.schedule-copy p{
  overflow-wrap:anywhere;
  word-break:normal;
}
.schedule-card{
  min-width:0;
}
.schedule-copy{
  min-width:0;
}
.activity-type-label{
  display:inline-block;
  margin-bottom:8px;
  color:#8c682e;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}
@media(max-width:1100px){
  .timeline-row{grid-template-columns:82px minmax(0,1fr) 180px 38px}
}
@media(max-width:820px){
  .timeline-row{grid-template-columns:72px minmax(0,1fr) 102px 32px;min-height:100px}
  .timeline-photo{min-height:100px}
  .timeline-time{padding:22px 5px 18px 30px;font-size:.76rem}
  .timeline-main{padding:15px 8px}
  .timeline-main strong{font-size:.84rem}
  .timeline-main small{font-size:.7rem}
}

/* TravelBook 18.3 */
.admin-login-page{min-height:calc(100vh - 90px);display:grid;place-items:center;padding:32px 18px 110px;background:linear-gradient(rgba(8,20,27,.72),rgba(8,20,27,.82)),url("../assets/prestige/morukuru.jpg") center/cover fixed}
.admin-login-card{width:min(440px,100%);padding:34px;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.admin-login-card .lock{width:54px;height:54px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:#102a35;color:#fff;font-size:1.35rem}
.admin-login-card h1{margin:0 0 8px;color:#102a35}.admin-login-card p{margin:0 0 24px;color:#66757c;line-height:1.55}
.admin-login-card label{display:block;margin-bottom:8px;color:#102a35;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.admin-login-card input{width:100%;box-sizing:border-box;padding:14px 15px;border:1px solid #d6dcdf;border-radius:12px;font:inherit;outline:none}
.admin-login-card input:focus{border-color:#9b7435;box-shadow:0 0 0 3px rgba(155,116,53,.14)}
.admin-login-card button{width:100%;margin-top:14px;padding:14px 18px;border:0;border-radius:12px;background:#102a35;color:#fff;font-weight:900;cursor:pointer}
.admin-login-error{min-height:22px;margin-top:10px;color:#a33b35;font-size:.84rem;font-weight:700}
.admin-logout{margin-top:14px;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 14px;background:rgba(13,27,34,.68);color:#fff;font-weight:800;cursor:pointer}
[data-close-detail]{z-index:30!important;cursor:pointer;pointer-events:auto;touch-action:manipulation}


/* TravelBook 18.5 — integrated book */
.book-page{
  min-height:calc(100vh - 58px);
  background:#100d09;
  display:flex;
  flex-direction:column;
}
.book-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  background:#102a35;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.book-toolbar div{min-width:0}
.book-toolbar small{
  display:block;
  color:#d9b879;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.book-toolbar h1{
  margin:3px 0 0;
  font:500 1.45rem Georgia,serif;
}
.book-open{
  flex:0 0 auto;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  padding:9px 14px;
  font-size:.75rem;
  font-weight:850;
}
.book-frame{
  width:100%;
  flex:1 1 auto;
  min-height:calc(100vh - 122px);
  border:0;
  background:#100d09;
}
@media(max-width:820px){
  .bottom-nav{grid-template-columns:repeat(6,1fr)}
  .book-page{min-height:calc(100vh - 136px)}
  .book-toolbar{padding:10px 12px}
  .book-toolbar h1{font-size:1.08rem}
  .book-open{padding:8px 10px;font-size:.66rem}
  .book-frame{min-height:calc(100vh - 178px)}
}

/* TravelBook 18.9 — activity-specific inclusions */
.included-heading{display:flex;align-items:center;gap:9px;margin-top:28px}
.included-heading span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#b38a42;color:#fff;font-size:.76rem}

/* TravelBook 19.2 — beheer van foto's, teksten en deelnemers */
.attendance-box{margin-top:26px;padding:18px;border:1px solid #e1e5e6;border-radius:16px;background:#f7f8f7}
.attendance-box h3{margin:0 0 12px;color:#102a35}
.attendance-box label{display:block;font-size:.75rem;font-weight:850;color:#586970}
.attendance-box select{width:100%;margin-top:7px;padding:11px;border:1px solid #d3dadd;border-radius:10px;background:#fff;font:inherit}
.attendance-button{width:100%;margin-top:12px;padding:12px;border:0;border-radius:999px;background:#102a35;color:#fff;font-weight:900;cursor:pointer}
.attendance-button.is-going{background:#8a3c32}
.attendance-box small{display:block;margin-top:10px;line-height:1.45;color:#64747b}
.admin-photo-editor{margin:8px 0 18px;padding:16px;border:1px solid #dce2e4;border-radius:16px;background:#f8f9f8}
.admin-photo-preview{margin:12px 0;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#e8ecee}
.admin-photo-preview img{width:100%;height:100%;object-fit:cover}
.admin-check{display:flex!important;align-items:center;gap:9px;margin:8px 0 18px;text-transform:none!important;letter-spacing:0!important;font-size:.9rem!important}
.admin-check input{width:auto!important}
.admin-attendance{margin:20px 0;padding:16px;border:1px solid #dce2e4;border-radius:16px}
.admin-attendance legend{padding:0 8px;font-weight:900;color:#102a35}
.admin-attendance>label{display:flex;align-items:center;gap:9px;margin:10px 0;text-transform:none;letter-spacing:0;font-size:.88rem}
.admin-attendance>label input{width:auto}
.admin-attendance-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.admin-attendance-actions button{border:1px solid #ccd5d8;border-radius:999px;padding:8px 11px;background:#fff;color:#102a35;font-weight:800;cursor:pointer}

/* TravelBook 19.3 — zichtbaar en werkend activiteitenbeheer */
#admin-editor:not(:empty){margin:0 0 22px;padding:18px;border:2px solid rgba(179,138,66,.45);border-radius:18px;background:#fffaf1;box-shadow:0 18px 48px rgba(13,27,34,.12);scroll-margin-top:18px}
#admin-editor:not(:empty)::before{content:"Activiteit bewerken";display:block;margin:0 0 14px;color:#8c682e;font:500 1.55rem Georgia,serif}
.admin-success{margin:0 0 14px;padding:12px 14px;border-radius:11px;background:#e4f1e8;color:#245b38;font-weight:850}
.admin-form input,.admin-form textarea,.admin-form select{font-size:16px}
.admin-form .save{min-width:140px;background:linear-gradient(135deg,#8f6d33,#b48b45)!important}
.admin-photo-editor input[type=file]{margin-top:8px;padding:10px;background:white;border:1px dashed #b9a47b}
@media(max-width:820px){#admin-editor:not(:empty){padding:14px;margin-bottom:18px}.admin-form-actions{position:sticky;bottom:82px;background:#fffaf1;padding:10px 0;z-index:5}.admin-form-actions button{flex:1}}

/* TravelBook 19.5 — duidelijke opslagstatus en foto-autosave */
.admin-save-status{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;margin:14px 0;padding:14px 16px;border-radius:14px;border:1px solid #cfe0d7;background:#edf7f1;color:#204d37}
.admin-save-status strong{grid-row:1/3;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.admin-save-status span{font-weight:800}.admin-save-status small{color:#587066}.admin-save-status.pending{border-color:#ead6a7;background:#fff8e8;color:#75591e}.admin-save-status.pending small{color:#8a7446}
.admin-form-actions{position:sticky;bottom:10px;z-index:8;padding:12px;margin:12px -6px -6px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(13,27,34,.13)}
.admin-form-actions .save{min-width:220px;background:linear-gradient(135deg,#8f6d33,#b48b45)!important;color:#fff!important;box-shadow:0 8px 20px rgba(143,109,51,.24)}
.admin-photo-editor:after{content:"Foto’s worden direct automatisch opgeslagen";display:block;margin-top:10px;color:#55706a;font-size:.76rem;font-weight:800}
@media(max-width:820px){.admin-save-status{grid-template-columns:1fr}.admin-save-status strong{grid-row:auto}.admin-form-actions{bottom:82px;display:grid;grid-template-columns:1fr}.admin-form-actions .save{min-width:0;width:100%}}

/* TravelBook 21.0 — central sync without redesign */
.sync-panel{display:grid;gap:16px}
.sync-status{padding:16px;border:1px solid #e0d8cb;border-radius:14px;background:#f7f3ed}
.sync-status strong,.sync-status span{display:block}
.sync-status span{margin-top:6px;color:var(--muted);line-height:1.5}
.sync-status.connected{border-color:#86a895;background:#edf5f0}
.sync-status.connected strong{color:#2d694c}

/* TravelBook 21.0.2 — session and sync diagnostics */
.cloud-live-status{padding:12px 14px;border-radius:12px;font-weight:900}
.cloud-live-status.neutral{background:#f2eee7;color:#5f6b70}
.cloud-live-status.pending{background:#fff4d8;color:#7d5d17}
.cloud-live-status.saved{background:#eaf4ed;color:#276044}
.cloud-live-status.error{background:#f8e8e6;color:#8a332d}

/* TravelBook 22.1 — Reisinfo */
.reisinfo-page{padding:28px;background:var(--paper);min-height:calc(100vh - 224px)}
.reisinfo-tabs{display:flex;gap:8px;margin-bottom:18px}
.reisinfo-tabs button{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 15px;font-weight:850}
.reisinfo-tabs button.active{background:var(--ink);color:white}
.reisinfo-card{background:white;border:1px solid var(--line);border-radius:20px;padding:22px}
.reisinfo-person{display:grid;gap:6px;max-width:360px;margin-bottom:18px;font-weight:850}
.packing-list{display:grid;gap:8px}
.packing-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px}
.packing-row input{width:auto}.packing-row small,.packing-row strong{display:block}.packing-row small{color:var(--gold);text-transform:uppercase;font-size:.62rem}
.packing-row.done strong{text-decoration:line-through;color:var(--muted)}.packing-row button{border:0;background:none;font-size:1.3rem}
.reisinfo-inline-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.reisinfo-inline-form input,.reisinfo-inline-form select{flex:1 1 180px}
.reisinfo-inline-form button{border:0;background:var(--ink);color:white;border-radius:999px;padding:11px 15px;font-weight:850}
.contact-list{display:grid;gap:9px}.contact-line{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--line);border-radius:13px;padding:14px}
.contact-line small,.contact-line strong,.contact-line span{display:block}.contact-line small{color:var(--gold);text-transform:uppercase;font-size:.62rem}.contact-line span{color:var(--muted);margin-top:3px}
.contact-line a{display:inline-block;text-decoration:none;background:var(--ink);color:white;border-radius:999px;padding:9px 12px}.contact-line button{border:0;background:none;font-size:1.2rem}
@media(max-width:820px){.reisinfo-page{padding:16px 10px 100px}.bottom-nav{grid-template-columns:repeat(7,1fr)}.contact-line{align-items:flex-start;flex-direction:column}.contact-line>div:last-child{display:flex;gap:8px}}

/* TravelBook 22.2 — Menukeuzes */
.menu-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.menu-choice-card{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff}
.menu-choice-card small{color:var(--gold);text-transform:uppercase;font-size:.65rem;font-weight:850}
.menu-choice-card h3{font:500 1.35rem Georgia,serif;margin:5px 0 3px}
.menu-choice-card p{color:var(--muted);margin:0 0 12px}
.menu-choice-card label{display:grid;gap:5px;margin-top:12px;font-size:.76rem;font-weight:850}
.menu-choice-card textarea{min-height:78px}
.menu-choice-status{margin-top:10px;font-size:.78rem;font-weight:850;color:#2d694c}
.menu-choice-status .muted{color:var(--muted);font-weight:700}
@media(max-width:820px){.menu-choice-grid{grid-template-columns:1fr}}

/* TravelBook 22.3 — Live fotoboek */
.photo-upload-form{display:grid;grid-template-columns:1fr 2fr 1.2fr auto;gap:10px;align-items:end;margin:18px 0}
.photo-upload-form label{display:grid;gap:5px;font-size:.76rem;font-weight:850}
.photo-upload-form button,.photo-print-button{border:0;background:var(--ink);color:white;border-radius:999px;padding:11px 15px;font-weight:850}
.photo-file-label input{padding:8px;background:#f7f3ed}
.photo-summary{color:var(--muted);font-size:.8rem;margin-bottom:14px}
.reisinfo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reisinfo-photo{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}
.reisinfo-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.reisinfo-photo div{padding:12px}.reisinfo-photo small,.reisinfo-photo strong{display:block}
.reisinfo-photo small{color:var(--gold);text-transform:uppercase;font-size:.62rem;font-weight:850}
.reisinfo-photo strong{margin-top:4px}.reisinfo-photo button{border:0;background:none;color:#8a332d;padding:8px 0 0;font-weight:800}
.empty-state{padding:30px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
@media(max-width:820px){.photo-upload-form,.reisinfo-gallery{grid-template-columns:1fr}}

/* TravelBook 22.4 — Activiteitsscanner */
.scanner-form{display:grid;gap:10px;margin:18px 0 8px}
.scanner-form textarea{min-height:170px;resize:vertical}
.scanner-form button,.scanner-actions button{border:0;background:var(--ink);color:white;border-radius:999px;padding:11px 15px;font-weight:850}
.scanner-help{font-size:.8rem;color:var(--muted);margin-bottom:16px}
.scanner-drafts{display:grid;gap:14px}
.scanner-draft{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}
.scanner-draft>small{color:var(--gold);text-transform:uppercase;font-weight:850;font-size:.63rem}
.scanner-draft h3{font:500 1.45rem Georgia,serif;margin:6px 0 12px}
.scanner-draft dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.scanner-draft dl div{background:#f7f3ed;border-radius:10px;padding:10px}
.scanner-draft dt{font-size:.62rem;text-transform:uppercase;color:var(--muted);font-weight:850}
.scanner-draft dd{margin:4px 0 0;font-weight:800}
.scanner-draft p{color:var(--muted);line-height:1.55}
.scanner-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.scanner-actions .secondary{background:#ece7de;color:var(--ink)}
@media(max-width:820px){.scanner-draft dl{grid-template-columns:1fr}}

/* TravelBook 22.5 — Supabase Storage foto's */
.storage-upload{grid-template-columns:1fr 1.4fr 1.4fr 1.3fr auto}
.photo-upload-progress{margin:8px 0 14px;padding:12px 14px;border-radius:12px;background:#eef5f0;color:#2d694c;font-weight:850}
.photo-image-wrap{position:relative}
.favorite-button{position:absolute;right:10px;top:10px;width:38px;height:38px;border:0!important;border-radius:50%;background:rgba(255,255,255,.9)!important;color:#8a332d!important;font-size:1.35rem!important;padding:0!important;box-shadow:0 4px 14px rgba(0,0,0,.16)}
.favorite-button.active{background:#8a332d!important;color:white!important}
.reisinfo-photo.favorite{box-shadow:0 0 0 2px #b48a49}
.reisinfo-photo img.loading{background:linear-gradient(90deg,#eee7dc,#f8f5ef,#eee7dc);min-height:180px}
.reisinfo-photo img.photo-error{background:#f6e9e6}
@media(max-width:1100px){.storage-upload{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.storage-upload{grid-template-columns:1fr}}

/* TravelBook 22.6 — Miniatuurgalerij */
.gallery-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.photo-filter-button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:850}
.photo-filter-button.active{background:#8a332d;color:white;border-color:#8a332d}
.mini-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.mini-photo{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}
.mini-photo-open{display:block;width:100%;border:0;padding:0;background:none;cursor:pointer}
.mini-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.mini-photo-caption{padding:9px}.mini-photo-caption small,.mini-photo-caption strong{display:block}
.mini-photo-caption small{font-size:.58rem;text-transform:uppercase;color:var(--gold);font-weight:850}
.mini-photo-caption strong{font-size:.78rem;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-photo .favorite-button{width:32px;height:32px;right:7px;top:7px;font-size:1.1rem!important}
.photo-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(9,20,26,.92);display:grid;place-items:center;padding:30px}
.photo-lightbox[hidden]{display:none}
.photo-lightbox img{max-width:min(1100px,92vw);max-height:82vh;object-fit:contain;border-radius:12px}
.photo-lightbox>button{position:absolute;right:20px;top:16px;border:0;background:none;color:white;font-size:2.4rem}
#photo-lightbox-caption{color:white;margin-top:12px;font:500 1.1rem Georgia,serif}
@media(max-width:1100px){.mini-gallery{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.mini-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.mini-gallery{grid-template-columns:repeat(2,1fr)}}

/* TravelBook 22.7 — Professionele foto-upload */
.photo-drop-zone{
  min-height:66px;
  border:2px dashed var(--line);
  border-radius:14px;
  padding:12px;
  display:grid;
  place-items:center;
  text-align:center;
  cursor:pointer;
  background:#faf8f4;
  transition:.18s ease;
}
.photo-drop-zone.dragging{
  border-color:var(--gold);
  background:#f4ecdc;
  transform:scale(1.01);
}
.photo-drop-zone input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.photo-upload-progress{
  display:grid;
  gap:8px;
}
.photo-upload-progress-track{
  height:10px;
  border-radius:999px;
  background:#dce7df;
  overflow:hidden;
}
#photo-upload-progress-bar{
  width:0;
  height:100%;
  background:#2d694c;
  transition:width .2s ease;
}
#photo-upload-progress-text{
  font-size:.8rem;
  font-weight:850;
}

/* TravelBook 22.8 — foto's per activiteit */
.activity-photo-box{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#faf8f4}
.activity-photo-box h3{margin:0 0 4px}.activity-photo-box p{margin:0 0 12px;color:var(--muted)}
.activity-photo-button{border:0;border-radius:999px;background:var(--ink);color:white;padding:11px 15px;font-weight:850}
.activity-photo-thumbs{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.activity-photo-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.activity-photo-thumbs small{color:var(--muted)}
.activity-photo-modal{position:fixed;inset:0;z-index:10000;background:rgba(8,20,27,.78);display:grid;place-items:center;padding:18px}
.activity-photo-modal[hidden]{display:none}
.activity-photo-dialog{position:relative;width:min(520px,96vw);background:white;border-radius:20px;padding:24px}
.activity-photo-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:2rem}
.activity-photo-login,.activity-photo-form{display:grid;gap:10px;margin-top:16px}
.activity-photo-login button,.activity-photo-form button{border:0;border-radius:999px;background:var(--ink);color:white;padding:12px;font-weight:850}
.activity-photo-form label{display:grid;gap:6px;font-weight:800}
.activity-photo-drop{border:2px dashed var(--line);border-radius:14px;padding:18px;text-align:center}
#activity-photo-progress{font-size:.85rem;font-weight:850;color:#2d694c}

/* TravelBook 23.0 — foto upload voor iedere deelnemer */
.activity-card{position:relative}
.card-photo-quick{
 position:absolute;right:12px;top:12px;z-index:5;
 width:42px;height:42px;border:0;border-radius:50%;
 background:rgba(15,37,48,.92);color:#fff;font-size:1.2rem;
 box-shadow:0 6px 18px rgba(0,0,0,.22);cursor:pointer
}
.schedule-photo-button{
 margin-top:12px;border:0;border-radius:999px;
 background:var(--ink);color:#fff;padding:10px 14px;font-weight:850
}
.activity-photo-box{
 border:2px solid #b48a49;
 background:#fffaf0;
}
.activity-photo-button{
 width:100%;
 font-size:1rem;
 padding:14px 18px;
}
.activity-photo-dialog h2{margin-right:34px}
.activity-photo-login p{color:var(--muted)}
@media(max-width:820px){
 .card-photo-quick{right:8px;top:8px}
 .schedule-photo-button{width:100%}
}

/* TravelBook 23.0.1 — zichtbare fotoknop overal */
.timeline-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.timeline-photo-upload{
 border:0;border-radius:999px;background:#0f2530;color:white;
 padding:9px 12px;font-weight:850;white-space:nowrap;cursor:pointer
}
.schedule-photo-button{
 display:inline-flex!important;align-items:center;justify-content:center;
 margin-top:12px;border:0;border-radius:999px;
 background:#0f2530;color:white;padding:11px 15px;font-weight:850;cursor:pointer
}
@media(max-width:820px){
 .timeline-photo{display:none}
 .timeline-actions{flex-direction:column;gap:5px}
 .timeline-photo-upload{padding:8px 10px;font-size:.78rem}
}

/* TravelBook 24.2 — fotoknop, oorspronkelijke lay-out behouden */
.timeline-photo-button{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#102b35;
  color:#fff;
  cursor:pointer;
  font-size:1rem;
  line-height:36px;
  padding:0;
}
.detail-photo-upload{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.detail-photo-upload>button{
  width:100%;
  border:0;
  border-radius:999px;
  background:#102b35;
  color:#fff;
  padding:12px 15px;
  font-weight:850;
  cursor:pointer;
}
.activity-photo-thumbs{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:10px;
}
.activity-photo-thumbs img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:9px;
}
.activity-photo-thumbs small{color:var(--muted)}

/* TravelBook 24.3 — directe native fotokiezer */
.direct-photo-label{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
}
.direct-photo-label input[type="file"]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.activity-photo-button.direct-photo-label,
.schedule-photo-button.direct-photo-label{
  box-sizing:border-box;
}
.direct-photo-progress{
  margin-top:8px;
  padding:8px 10px;
  border-radius:9px;
  background:#eef5f0;
  color:#2d694c;
  font-size:.78rem;
  font-weight:850;
}


/* TravelBook 24.4 — fotoweergave en knoppositie gecorrigeerd */
.timeline-photo-wrap{position:relative;min-width:0;overflow:hidden;height:100%}
.timeline-photo-wrap .timeline-photo{width:100%;height:100%;min-height:92px;display:block;object-fit:cover}
.timeline-photo-overlay{position:absolute;right:8px;bottom:8px;z-index:4;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(16,43,53,.94);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.22);font-size:1rem}
.activity-photo-thumbs img{opacity:0;transition:opacity .15s ease}
.activity-photo-thumbs img.loaded{opacity:1}
@media(max-width:820px){
 .timeline-photo-wrap .timeline-photo{min-height:100px}
 .timeline-photo-overlay{width:34px;height:34px;right:5px;bottom:5px}
}

/* TravelBook 24.5 — vierkante miniaturen en verwijderen door beheer */
.activity-photo-thumbs{
  align-items:flex-start;
}
.activity-photo-thumb{
  position:relative;
  flex:0 0 64px;
  width:64px;
  height:64px;
  aspect-ratio:1 / 1;
  display:block;
  overflow:hidden;
  border-radius:10px;
  background:#ece8e0;
}
.activity-photo-thumb img,
.activity-photo-thumbs .activity-photo-thumb img{
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  border-radius:10px;
}
.activity-photo-delete{
  position:absolute;
  top:3px;
  right:3px;
  z-index:3;
  width:22px;
  height:22px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(10,27,35,.9);
  color:#fff;
  font-size:17px;
  line-height:20px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(0,0,0,.24);
}
.activity-photo-delete:disabled{
  opacity:.45;
  cursor:wait;
}
@media(max-width:820px){
 .activity-photo-thumb{
  flex-basis:58px;
  width:58px;
  height:58px;
 }
}

/* TravelBook 24.6 — definitieve correcties */
.activity-photo-thumbs-fixed{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  width:100%!important;
}
.activity-photo-thumb-fixed{
  flex:0 0 64px!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  aspect-ratio:1 / 1!important;
}
.activity-photo-thumb-fixed img{
  display:block!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
}
.activity-photo-delete-fixed{
  position:absolute!important;
  top:3px!important;
  right:3px!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:23px!important;
  height:23px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(8,24,32,.94)!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:700!important;
  cursor:pointer!important;
  box-shadow:0 2px 7px rgba(0,0,0,.3)!important;
}
@media(max-width:820px){
 .activity-photo-thumb-fixed,
 .activity-photo-thumb-fixed img{
  flex-basis:58px!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
 }
}

/* TravelBook 25.0 LTS — stabiliteitslaag */
html.tb-offline::after{
  content:"Offline — wijzigingen worden lokaal bewaard";
  position:fixed;
  left:50%;
  bottom:76px;
  transform:translateX(-50%);
  z-index:99999;
  padding:9px 14px;
  border-radius:999px;
  background:#8b3a32;
  color:#fff;
  font-size:.76rem;
  font-weight:850;
  box-shadow:0 5px 18px rgba(0,0,0,.2);
}
.lts-health{
  margin:8px 0 12px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8f6f1;
  color:var(--muted);
  font-size:.75rem;
  font-weight:800;
}
.activity-photo-thumbs-fixed,
.activity-photo-thumbs{
  contain:layout paint;
}
.activity-photo-thumb-fixed,
.activity-photo-thumb{
  isolation:isolate;
}
button:disabled{
  cursor:not-allowed;
}

/* TravelBook 25.1 LTS — systeemcontrole en veilige back-up */
.lts-diagnostics-panel{
  margin-top:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fbfaf7;
}
.lts-diagnostics-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.lts-diagnostics-head small{
  display:block;
  color:var(--gold);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.lts-diagnostics-head h3{margin:4px 0 5px}
.lts-diagnostics-head p{margin:0;color:var(--muted);max-width:650px}
.lts-diagnostics-head>button,
.lts-actions button{
  border:0;
  border-radius:999px;
  padding:10px 13px;
  background:var(--ink);
  color:#fff;
  font-weight:850;
  cursor:pointer;
}
.lts-check-results{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:16px;
}
.lts-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:11px;
  border-radius:11px;
  border:1px solid var(--line);
  background:#fff;
}
.lts-check-icon{
  flex:0 0 24px;
  width:24px;height:24px;
  display:grid;place-items:center;
  border-radius:50%;
  font-weight:900;
}
.lts-check.ok .lts-check-icon{background:#dfeee5;color:#23623f}
.lts-check.warn .lts-check-icon{background:#f5ead2;color:#8a6324}
.lts-check.bad .lts-check-icon{background:#f3dddd;color:#8a302c}
.lts-check strong,.lts-check small{display:block}
.lts-check small{margin-top:3px;color:var(--muted);font-size:.72rem}
.lts-placeholder{color:var(--muted);padding:10px 0}
.lts-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.lts-actions .secondary{background:#eee9df;color:var(--ink)}
@media(max-width:760px){
 .lts-diagnostics-head{flex-direction:column}
 .lts-diagnostics-head>button{width:100%}
 .lts-check-results{grid-template-columns:1fr}
 .lts-actions button{width:100%}
}

/* TravelBook 25.2 LTS — Fotobeheer Pro */
.photo-pro-modal{
 position:fixed;inset:0;z-index:120000;
 background:rgba(4,14,20,.96);color:#fff;
 display:grid;grid-template-columns:64px 1fr 64px;
 grid-template-rows:1fr auto;align-items:center;
 padding:22px;
}
.photo-pro-modal[hidden]{display:none}
.photo-pro-close{
 position:absolute;right:18px;top:14px;z-index:3;
 width:42px;height:42px;border:0;border-radius:50%;
 background:rgba(255,255,255,.13);color:#fff;font-size:2rem
}
.photo-pro-stage{
 margin:0;grid-column:2;display:grid;place-items:center;
 max-height:calc(100vh - 130px)
}
.photo-pro-stage img{
 max-width:100%;max-height:calc(100vh - 190px);
 object-fit:contain;border-radius:8px
}
.photo-pro-stage figcaption{text-align:center;margin-top:12px}
.photo-pro-stage strong,.photo-pro-stage small{display:block}
.photo-pro-stage small{opacity:.7;margin-top:4px}
.photo-pro-nav{
 border:0;background:none;color:#fff;font-size:4rem;opacity:.75
}
.photo-pro-actions{
 grid-column:1/-1;display:flex;justify-content:center;gap:8px;flex-wrap:wrap
}
.photo-pro-actions button,.photo-pro-toolbar button{
 border:0;border-radius:999px;padding:10px 14px;
 background:#fff;color:#102b35;font-weight:850
}
.photo-pro-actions .danger,.photo-pro-toolbar .danger{background:#9b3c35;color:#fff}
.photo-pro-toolbar{
 display:flex;align-items:center;gap:10px;flex-wrap:wrap;
 margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);
 border-radius:12px;background:#fbfaf7
}
img[data-photo-pro-id]{cursor:zoom-in}
img[data-photo-pro-id].favorite{outline:3px solid #c49a4a;outline-offset:2px}
.photo-pro-select-mode img[data-photo-pro-id]{cursor:pointer}
.photo-pro-select-mode img[data-photo-pro-id].selected{
 outline:4px solid #1f6d4c!important;outline-offset:2px!important
}
@media(max-width:760px){
 .photo-pro-modal{grid-template-columns:40px 1fr 40px;padding:10px}
 .photo-pro-nav{font-size:2.8rem}
 .photo-pro-stage img{max-height:calc(100vh - 210px)}
 .photo-pro-actions button{flex:1 1 44%}
}

/* TravelBook 25.3 LTS — Activiteiten Pro */
.timeline-row{border-left:4px solid transparent}
.activity-category-travel{border-left-color:#607d8b}
.activity-category-stay{border-left-color:#8d6e63}
.activity-category-dining{border-left-color:#b07d3c}
.activity-category-safari{border-left-color:#557a46}
.activity-category-sport{border-left-color:#397aa8}
.activity-category-relax{border-left-color:#8a6aa1}
.activity-highlight{box-shadow:inset 0 0 0 2px rgba(196,154,74,.45)}
.activity-status-cancelled{opacity:.58}
.activity-status-done .timeline-main strong{text-decoration:line-through;text-decoration-thickness:1px}
.activity-status-pill,.activity-overlap-warning{
 display:inline-flex;margin-top:6px;margin-right:6px;padding:4px 8px;border-radius:999px;
 font-size:.66rem;font-weight:850;background:#e9eee9;color:#315d43
}
.activity-overlap-warning{background:#f4dfdc;color:#8b342e}
.activity-day-head{display:flex!important;justify-content:space-between;align-items:center;gap:14px}
.day-progress{position:relative;display:block;width:130px;height:8px;border-radius:999px;background:#e2ddd4;overflow:visible}
.day-progress i{display:block;height:100%;border-radius:999px;background:#54755f}
.day-progress b{position:absolute;right:0;top:-18px;font-size:.62rem;color:var(--muted)}
.activity-pro-box{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#faf8f3}
.activity-pro-box h3{margin:0 0 10px}
.activity-pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.activity-pro-grid label{display:grid;gap:5px;font-size:.72rem;font-weight:850}
.activity-pro-grid select{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff}
.activity-pro-grid button{border:0;border-radius:999px;padding:10px 12px;background:var(--ink);color:#fff;font-weight:850}
.activity-pro-grid .danger{background:#943e37}
.activity-highlight-toggle{display:flex!important;grid-template-columns:auto 1fr;align-items:center}
@media(max-width:760px){
 .activity-pro-grid{grid-template-columns:1fr}
 .day-progress{width:90px}
}

/* TravelBook 25.4 LTS — Dashboard Pro */
.dashboard-pro{display:grid;gap:16px;margin-bottom:20px}
.dashboard-hero{
 display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
 padding:20px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7
}
.dashboard-hero small,.dashboard-panel-head small{color:var(--gold);font-weight:900;letter-spacing:.08em}
.dashboard-hero h2,.dashboard-panel-head h3{margin:4px 0 5px}
.dashboard-hero p{margin:0;color:var(--muted)}
.dashboard-hero button,.dashboard-panel-head button{
 border:0;border-radius:999px;background:var(--ink);color:#fff;padding:10px 14px;font-weight:850
}
.dashboard-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dashboard-cards article{
 padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff
}
.dashboard-cards small,.dashboard-cards strong,.dashboard-cards span{display:block}
.dashboard-cards small{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}
.dashboard-cards strong{font-size:2rem;margin:5px 0}
.dashboard-cards strong.small-value{font-size:1rem;line-height:1.35}
.dashboard-cards span{font-size:.75rem;color:var(--muted)}
.dashboard-panel{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.dashboard-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.dashboard-panel-head span{font-size:.72rem;color:var(--muted)}
.dashboard-health{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.dashboard-health div{display:flex;gap:8px;align-items:center;padding:10px;border-radius:10px;background:#f6f4ef}
.dashboard-health i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-style:normal;font-weight:900}
.dashboard-health .ok i{background:#dfeee5;color:#23623f}
.dashboard-health .bad i{background:#f3dddd;color:#8a302c}
.dashboard-table-wrap{overflow:auto}
.dashboard-table{width:100%;border-collapse:collapse;font-size:.78rem}
.dashboard-table th,.dashboard-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.dashboard-table th{font-size:.68rem;text-transform:uppercase;color:var(--muted)}
.dashboard-error-list{display:grid;gap:8px}
.dashboard-error-list article{padding:11px;border-radius:10px;background:#f8f6f1}
.dashboard-error-list strong,.dashboard-error-list span{display:block}
.dashboard-error-list span{font-size:.68rem;color:var(--muted);margin-top:2px}
.dashboard-error-list p{margin:7px 0 0;font-size:.78rem}
@media(max-width:900px){
 .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-health{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .dashboard-hero,.dashboard-panel-head{flex-direction:column}
 .dashboard-hero button,.dashboard-panel-head button{width:100%}
 .dashboard-cards{grid-template-columns:1fr}
 .dashboard-health{grid-template-columns:1fr}
}

/* TravelBook 25.5 LTS — Deelnemers Pro */
.participants-pro{display:grid;gap:16px;margin-top:20px}
.participants-hero{
 display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
 padding:20px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7
}
.participants-hero small,.participants-panel-head small{color:var(--gold);font-weight:900;letter-spacing:.08em}
.participants-hero h2,.participants-panel-head h3{margin:4px 0 5px}
.participants-hero p{margin:0;color:var(--muted)}
.participants-hero button,.participant-card>button{
 border:0;border-radius:999px;background:var(--ink);color:#fff;padding:10px 14px;font-weight:850
}
.participants-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.participants-summary span{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}
.participants-summary strong{display:block;font-size:1.4rem}
.participants-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.participant-card{
 display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;
 padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff
}
.participant-avatar{
 width:60px;height:60px;border-radius:50%;display:grid;place-items:center;
 background:#e7e1d6;font-weight:900;font-size:1.1rem;overflow:hidden
}
.participant-avatar img{width:100%;height:100%;object-fit:cover}
.participant-main strong,.participant-main span,.participant-main small{display:block}
.participant-main span,.participant-main small{color:var(--muted);font-size:.75rem}
.participant-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.participant-badges span{padding:4px 8px;border-radius:999px;background:#ece8df;font-size:.65rem;font-weight:850}
.participant-badges .online{background:#dfeee5;color:#25633f}
.participant-badges .offline{background:#ece8df;color:#777}
.participant-card>button{grid-column:2/-1;justify-self:end}
.participants-panel{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.presence-list{display:grid;gap:10px}
.presence-activity{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fbfaf7}
.presence-activity header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.presence-activity header small,.presence-activity header strong{display:block}
.presence-activity header small{color:var(--gold);font-weight:850}
.presence-activity header span{font-size:.72rem;color:var(--muted)}
.presence-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.presence-people label{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.presence-people select{border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff}
.participant-modal{position:fixed;inset:0;z-index:130000;background:rgba(4,14,20,.86);display:grid;place-items:center;padding:16px}
.participant-dialog{position:relative;width:min(520px,96vw);display:grid;gap:11px;background:#fff;border-radius:18px;padding:22px}
.participant-dialog label{display:grid;gap:5px;font-weight:850;font-size:.76rem}
.participant-dialog input,.participant-dialog select,.participant-dialog textarea{border:1px solid var(--line);border-radius:9px;padding:10px}
.participant-dialog textarea{min-height:80px}
.participant-close{position:absolute;right:10px;top:7px;border:0;background:none;font-size:2rem}
.participant-online{grid-template-columns:auto 1fr!important;align-items:center}
.participant-dialog-actions{display:flex;gap:8px}
.participant-dialog-actions button{flex:1;border:0;border-radius:999px;padding:11px;background:var(--ink);color:#fff;font-weight:850}
.participant-dialog-actions .danger{background:#943e37}
@media(max-width:800px){
 .participants-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .participants-grid{grid-template-columns:1fr}
 .presence-people{grid-template-columns:1fr}
}
@media(max-width:560px){
 .participants-hero{flex-direction:column}
 .participants-hero button{width:100%}
 .participant-card{grid-template-columns:52px 1fr}
 .participant-avatar{width:52px;height:52px}
 .participant-badges{grid-column:1/-1;justify-content:flex-start}
 .participant-card>button{grid-column:1/-1;width:100%}
}

/* TravelBook 25.6 LTS — Smart Travel */
.smart-travel{display:grid;gap:16px;margin-top:20px}
.smart-travel-hero{
 display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
 padding:20px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7
}
.smart-travel-hero small,.smart-next>small,.smart-day-card header small{
 color:var(--gold);font-weight:900;letter-spacing:.08em
}
.smart-travel-hero h2,.smart-next h3,.smart-day-card h3{margin:4px 0}
.smart-travel-hero p,.smart-next p,.smart-day-card header span{margin:0;color:var(--muted)}
.smart-travel-hero button{
 border:0;border-radius:999px;background:var(--ink);color:#fff;padding:10px 14px;font-weight:850
}
.smart-next{
 padding:18px;border-radius:16px;background:var(--ink);color:#fff
}
.smart-next p{color:rgba(255,255,255,.72)}
.smart-next strong{display:block;margin-top:10px;font-size:1.5rem}
.smart-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.smart-day-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.smart-day-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.smart-day-card header strong{font-size:.72rem;color:var(--muted)}
.smart-warning{margin:10px 0;padding:9px 11px;border-radius:10px;background:#f7e8e5;color:#88382f}
.smart-warning p{margin:3px 0;font-size:.75rem}
.smart-map-links{display:grid;gap:8px}
.smart-map-links>div{
 display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;
 padding:9px;border-radius:10px;background:#f8f6f1
}
.smart-map-links span{font-size:.78rem;font-weight:800}
.smart-map-links a{
 padding:6px 8px;border-radius:999px;background:#ebe6dc;color:var(--ink);
 text-decoration:none;font-size:.68rem;font-weight:850
}
@media(max-width:850px){
 .smart-day-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .smart-travel-hero{flex-direction:column}
 .smart-travel-hero button{width:100%}
 .smart-map-links>div{grid-template-columns:1fr}
 .smart-map-links a{text-align:center}
}

/* TravelBook 26.0 LTS — Reisverhaal Studio */
.story-studio{display:grid;gap:16px;margin-top:20px}
.story-hero{
 display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
 padding:21px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7
}
.story-hero small,.story-editor-head small,.story-search small,.story-overview small{
 color:var(--gold);font-weight:900;letter-spacing:.08em
}
.story-hero h2,.story-editor h3,.story-search h3,.story-overview h3{margin:4px 0 5px}
.story-hero p{margin:0;color:var(--muted)}
.story-hero button,.story-controls button,.story-editor-actions button,.story-search-row button{
 border:0;border-radius:999px;padding:11px 14px;background:var(--ink);color:#fff;font-weight:850
}
.story-controls{
 display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;
 padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff
}
.story-controls label{display:grid;gap:5px;font-size:.74rem;font-weight:850}
.story-controls select,.story-search-row input{
 border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff
}
.story-editor,.story-search,.story-overview{
 padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff
}
.story-editor-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.story-editor-head span{font-size:.72rem;color:var(--muted)}
.story-editor textarea{
 width:100%;min-height:190px;margin-top:12px;padding:14px;
 border:1px solid var(--line);border-radius:12px;resize:vertical;line-height:1.55
}
.story-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.story-editor-actions .secondary{background:#ece8df;color:var(--ink)}
.story-search-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
.story-search-results{display:grid;gap:8px;margin-top:12px}
.story-search-results article{padding:11px;border-radius:11px;background:#f8f6f1}
.story-search-results small,.story-search-results strong,.story-search-results span{display:block}
.story-search-results small{color:var(--gold);font-size:.66rem;font-weight:850}
.story-search-results span{font-size:.75rem;color:var(--muted);margin-top:3px}
.story-day-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.story-day-list article{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfaf7}
.story-day-list header{display:flex;justify-content:space-between;gap:10px}
.story-day-list header span,.story-day-list>article>small{color:var(--muted);font-size:.7rem}
.story-day-list p{font-size:.8rem;line-height:1.5}
@media(max-width:760px){
 .story-hero{flex-direction:column}
 .story-hero button{width:100%}
 .story-controls{grid-template-columns:1fr}
 .story-search-row{grid-template-columns:1fr}
 .story-day-list{grid-template-columns:1fr}
 .story-editor-actions button{width:100%}
}

/* TravelBook 26.0.1 — miniatuur-hotfix */
.activity-photo-thumbs img,
.activity-photo-thumbs-fixed img,
img[data-activity-storage]{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  object-position:center!important;
  background:transparent!important;
}
.activity-photo-thumbs img.loaded,
.activity-photo-thumbs-fixed img.loaded,
img[data-activity-storage].loaded{
  opacity:1!important;
}
.activity-photo-thumb-fixed,
.activity-photo-thumb{
  background:#ece8e0;
}
@media(max-width:820px){
  .activity-photo-thumbs img,
  .activity-photo-thumbs-fixed img,
  img[data-activity-storage]{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    max-width:58px!important;
    max-height:58px!important;
  }
}
\n/* TravelBook 26.1 LTS — Platform Edition */
.platform-panel{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfaf7}.platform-panel>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.platform-panel>header small{color:var(--gold);font-weight:900;letter-spacing:.08em}.platform-panel>header h3{margin:4px 0}.platform-panel>header p{margin:0;color:var(--muted)}.platform-panel>header>span{padding:6px 10px;border-radius:999px;font-size:.7rem;font-weight:900}.platform-panel>header>span.online{background:#dfeee5;color:#23623f}.platform-panel>header>span.offline{background:#f3dddd;color:#8a302c}.platform-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.platform-metrics article{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.platform-metrics small,.platform-metrics strong,.platform-metrics span{display:block}.platform-metrics small{font-size:.67rem;text-transform:uppercase;color:var(--muted);font-weight:850}.platform-metrics strong{font-size:1.4rem;margin:5px 0}.platform-metrics strong.compact{font-size:.83rem;line-height:1.3}.platform-metrics span{font-size:.7rem;color:var(--muted);word-break:break-word}.platform-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.platform-actions button{border:0;border-radius:999px;padding:10px 13px;background:var(--ink);color:#fff;font-weight:850}.platform-actions .secondary{background:#ece8df;color:var(--ink)}@media(max-width:900px){.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.platform-panel>header{flex-direction:column}.platform-metrics{grid-template-columns:1fr}.platform-actions button{width:100%}}\n/* TravelBook 27.0 LTS — Maps & Document Center */
.premium-center{display:grid;gap:16px;margin-top:20px}.premium-hero,.premium-panel{padding:19px;border:1px solid var(--line);border-radius:17px;background:#fff}.premium-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:#fbfaf7}.premium-hero small,.premium-panel-head small{color:var(--gold);font-weight:900;letter-spacing:.08em}.premium-hero h2,.premium-panel h3{margin:4px 0}.premium-hero p{margin:0;color:var(--muted)}.premium-hero button,.premium-panel-head button,.premium-dialog>button[type=submit]{border:0;border-radius:999px;padding:10px 14px;background:var(--ink);color:#fff;font-weight:850}.premium-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.premium-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.premium-days article{padding:13px;border:1px solid var(--line);border-radius:13px;background:#fbfaf7}.premium-days header{display:flex;justify-content:space-between}.premium-days p{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center}.premium-days a,.premium-doc-actions a,.premium-doc-actions button{border:0;border-radius:999px;padding:6px 9px;background:#ebe6dc;color:var(--ink);text-decoration:none;font-size:.68rem;font-weight:850}.premium-docs{display:grid;gap:9px;margin-top:12px}.premium-docs article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.premium-docs strong,.premium-docs span,.premium-docs small{display:block}.premium-docs span,.premium-docs small{color:var(--muted);font-size:.72rem}.premium-doc-actions{display:flex;gap:6px}.premium-modal{position:fixed;inset:0;z-index:150000;background:rgba(4,14,20,.86);display:grid;place-items:center;padding:16px}.premium-dialog{position:relative;width:min(520px,96vw);display:grid;gap:10px;background:#fff;border-radius:18px;padding:22px}.premium-dialog label{display:grid;gap:5px;font-size:.75rem;font-weight:850}.premium-dialog input,.premium-dialog select,.premium-dialog textarea{border:1px solid var(--line);border-radius:9px;padding:10px}.premium-dialog textarea{min-height:80px}.premium-close{position:absolute;right:10px;top:7px;border:0;background:none;font-size:2rem}@media(max-width:760px){.premium-hero,.premium-panel-head{flex-direction:column}.premium-hero button,.premium-panel-head button{width:100%}.premium-days{grid-template-columns:1fr}.premium-days p{grid-template-columns:1fr}.premium-docs article{align-items:flex-start;flex-direction:column}}

/* TravelBook 27.1 — Quality & Performance */
img[data-quality-ready]{transition:opacity .18s ease}
img[data-quality-ready]:not(.quality-loaded){opacity:.35}
img[data-quality-ready].quality-loaded{opacity:1}
.timeline-row,.participant-card,.dashboard-panel,.smart-day-card,.story-day-list article{content-visibility:auto;contain-intrinsic-size:1px 220px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* TravelBook 27.3 LTS — Concierge Edition */
.concierge-edition{display:grid;gap:16px;margin-top:20px}.concierge-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7}.concierge-hero small,.concierge-today small,.concierge-day header small{color:var(--gold);font-weight:900;letter-spacing:.08em}.concierge-hero h2,.concierge-today h3,.concierge-day h3{margin:4px 0}.concierge-hero p,.concierge-today p,.concierge-day header span{margin:0;color:var(--muted)}.concierge-hero button{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:10px 14px;font-weight:850}.concierge-today{padding:18px;border-radius:16px;background:var(--ink);color:#fff}.concierge-today p{color:rgba(255,255,255,.72)}.concierge-today strong{display:block;margin-top:9px;font-size:1.45rem}.concierge-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.concierge-day{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.concierge-day>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.concierge-day>header b{font-size:.7rem;color:var(--muted)}.concierge-list{display:grid;gap:8px;margin:13px 0}.concierge-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border-left:4px solid #71808a;border-radius:10px;background:#f8f6f1}.concierge-item.restaurant{border-left-color:#b07d3c}.concierge-item.stay{border-left-color:#8d6e63}.concierge-item.travel{border-left-color:#607d8b}.concierge-item small,.concierge-item strong,.concierge-item span{display:block}.concierge-item small{color:var(--gold);font-size:.65rem}.concierge-item span{color:var(--muted);font-size:.72rem}.concierge-item nav{display:flex;gap:5px}.concierge-item a{padding:6px 8px;border-radius:999px;background:#e8e3da;color:var(--ink);text-decoration:none;font-size:.65rem;font-weight:850}.concierge-note{display:grid;gap:6px;font-size:.72rem;font-weight:850}.concierge-note textarea{min-height:84px;padding:10px;border:1px solid var(--line);border-radius:10px;resize:vertical}@media(max-width:850px){.concierge-days{grid-template-columns:1fr}}@media(max-width:620px){.concierge-hero{flex-direction:column}.concierge-hero button{width:100%}.concierge-item{grid-template-columns:1fr}.concierge-item nav a{flex:1;text-align:center}}
