.future-overlay{
  position:fixed;inset:0;z-index:1000;display:none;place-items:center;padding:24px;
  background:rgba(1,7,13,.76);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);
}
.future-overlay.show{display:grid;animation:futureFade .22s ease both;}
.future-panel{
  position:relative;width:min(1080px,100%);max-height:min(880px,calc(100dvh - 48px));overflow:auto;
  border:1px solid rgba(116,207,225,.2);border-radius:18px;
  background:radial-gradient(ellipse at 85% 0%,rgba(255,179,71,.09),transparent 32%),linear-gradient(145deg,#0b1b26,#071018 72%);
  color:#e8f5f5;box-shadow:0 32px 100px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.07);
}
.future-head{position:relative;min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 92px 25px 34px;border-bottom:1px solid rgba(148,205,211,.12);background:linear-gradient(100deg,rgba(18,61,69,.42),transparent 68%);}
.future-kicker,.future-form-heading span,.future-list-heading>div>span{margin:0;color:#f3b95f;font:700 10px/1.2 Inter,sans-serif;letter-spacing:.16em;}
.future-head h2{margin:9px 0 6px;font-size:clamp(24px,4vw,34px);line-height:1.15;font-weight:720;color:#f1f8f4;}
.future-head>div:first-child>p:last-child{margin:0;color:#93abb0;font-size:13px;line-height:1.55;}
.future-head-count{display:grid;gap:2px;justify-items:end;min-width:80px;color:#87a3a8;}
.future-head-count strong{color:#f3c772;font:650 28px/1 Inter,sans-serif;}
.future-head-count span{font-size:11px;}
.future-close{position:absolute;right:22px;top:22px;width:38px;height:38px;border:1px solid rgba(164,205,209,.18);border-radius:8px;background:rgba(255,255,255,.04);color:#c8dddc;font-size:23px;line-height:1;cursor:pointer;}
.future-close:hover{border-color:rgba(243,185,95,.55);color:#fff;background:rgba(243,185,95,.1);}
.future-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(340px,1.15fr);gap:0;min-height:430px;}
.future-form{align-self:start;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:26px 30px 30px;border-right:1px solid rgba(148,205,211,.1);}
.future-form-heading{display:grid;gap:7px;margin:0 0 2px;}
.future-form-heading strong{font-size:17px;font-weight:650;color:#e7f3ef;}
.future-field{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:7px;color:#a5bcc0;font-size:12px;font-weight:600;}
.future-field em{margin-left:4px;color:#698289;font-size:10px;font-style:normal;font-weight:450;}
.future-field-hint{color:#819b9d;font-size:10px;font-weight:450;line-height:1.45;}
.future-city-picker{position:relative;display:block;z-index:1;}
.future-city-picker:focus-within{z-index:8;}
.future-field .future-city-picker>input[type=search]{box-sizing:border-box;width:100%;height:42px;padding:0 42px 0 12px;appearance:none;-webkit-appearance:none;}
.future-city-picker>input[type=search]::-webkit-search-cancel-button{display:none;}
.future-field .future-city-picker>input[type=hidden]{display:none;}
.future-city-clear{position:absolute;right:8px;top:7px;width:28px;height:28px;border:0;border-radius:5px;background:transparent;color:#86a1a4;font-size:19px;line-height:1;cursor:pointer;}
.future-city-clear:hover{background:rgba(255,255,255,.08);color:#fff;}
.future-city-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:12;max-height:230px;overflow:auto;padding:5px;border:1px solid rgba(126,182,183,.25);border-radius:8px;background:#0b1920;box-shadow:0 16px 36px rgba(0,0,0,.48);scrollbar-width:thin;}
.future-city-options[hidden]{display:none;}
.future-city-option{display:block;width:100%;min-height:37px;padding:8px 10px;border:0;border-radius:5px;background:transparent;color:#d7e7e5;text-align:left;font:inherit;font-size:13px;line-height:1.4;cursor:pointer;}
.future-city-option:hover,.future-city-option:focus-visible{outline:none;background:rgba(228,168,78,.13);color:#ffd68d;}
.future-city-empty{padding:12px 10px;color:#82989a;font-size:12px;}
.future-goal-picker{position:relative;z-index:2;}
.future-goal-picker:focus-within{z-index:9;}
.future-goal-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:12;max-height:230px;overflow:auto;padding:5px;border:1px solid rgba(126,182,183,.25);border-radius:8px;background:#0b1920;box-shadow:0 16px 36px rgba(0,0,0,.48);scrollbar-width:thin;}
.future-goal-options[hidden]{display:none;}
.future-goal-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:5px;background:transparent;color:#d7e7e5;text-align:left;font:inherit;font-size:13px;line-height:1.4;cursor:pointer;}
.future-goal-option small{flex:none;color:#80999b;font-size:11px;}
.future-goal-option>span{min-width:0;overflow-wrap:anywhere;}
.future-goal-option small{flex:0 1 44%;text-align:right;overflow-wrap:anywhere;}
.future-field-hint a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.future-goal-option:hover,.future-goal-option:focus-visible{outline:none;background:rgba(228,168,78,.13);color:#ffd68d;}
.future-field select,.future-field input,.future-field textarea{
  box-sizing:border-box;width:100%;min-width:0;border:1px solid rgba(142,183,188,.21);border-radius:7px;
  background:rgba(4,13,19,.76);color:#e4f2f0;font:500 14px/1.4 Inter,sans-serif;outline:none;
  transition:border-color .16s,box-shadow .16s,background .16s;
}
.future-field select,.future-field input{height:42px;padding:0 12px;}
.future-field textarea{min-height:80px;resize:vertical;padding:10px 12px;}
.future-field select:focus,.future-field input:focus,.future-field textarea:focus{border-color:#e4a84e;box-shadow:0 0 0 3px rgba(228,168,78,.13);background:#091923;}
.future-field option{background:#0b1920;color:#e4f2f0;}
.future-field textarea::placeholder{color:#617981;}
.future-route-connector{height:10px;margin:-11px 0 -11px 14px;display:flex;align-items:center;gap:7px;color:#edb451;}
.future-route-connector i{width:3px;height:3px;border-radius:50%;background:#e5b14f;box-shadow:0 0 8px rgba(245,190,91,.75);}
.future-route-connector span{font-size:12px;line-height:1;}
.future-date-grid{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;}
.future-date-control{position:relative;display:block;min-width:0;}
.future-field .future-date-control input{padding-right:42px;color-scheme:dark;}
.future-field .future-date-control input::-webkit-calendar-picker-indicator{opacity:0;width:24px;height:24px;cursor:pointer;}
.future-date-open{position:absolute;right:5px;top:5px;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(142,183,188,.16);border-radius:5px;background:rgba(255,255,255,.04);color:#9cc3c2;cursor:pointer;}
.future-date-open:hover{border-color:rgba(243,185,95,.45);background:rgba(243,185,95,.1);color:#f4c873;}
.future-date-open svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.future-guide-field{position:relative;}
.future-field .future-guide-field textarea,#futureGuide{min-height:154px;resize:vertical;line-height:1.7;}
.future-guide-count{justify-self:end;margin-top:-4px;color:#70888c;font-size:10px;font-variant-numeric:tabular-nums;}
.future-form-actions{display:flex;gap:8px;}
.future-form-actions .future-submit{flex:1;}
.future-cancel-edit{min-height:43px;padding:0 13px;border:1px solid rgba(142,183,188,.2);border-radius:7px;background:rgba(255,255,255,.04);color:#a9c0c0;font-size:12px;cursor:pointer;}
.future-cancel-edit:hover{border-color:rgba(142,183,188,.42);color:#e6f4f0;}
.future-submit{height:43px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(247,197,105,.45);border-radius:7px;background:linear-gradient(110deg,#e9ad4f,#d88b39);color:#1b1710;font-size:13px;font-weight:750;cursor:pointer;box-shadow:0 8px 18px rgba(207,130,42,.14);transition:transform .16s,filter .16s;}
.future-submit:hover{filter:brightness(1.08);transform:translateY(-1px);}
.future-submit:active{transform:translateY(1px);}
.future-submit span{font-size:18px;line-height:.8;}
.future-sync-note{margin:-6px 0 0;color:#718a8e;font-size:10px;line-height:1.45;text-align:center;}
.future-list-section{min-width:0;padding:26px 30px 30px;}
.future-list-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;}
.future-list-heading h3{margin:7px 0 0;color:#e5f1ef;font-size:19px;font-weight:650;}
.future-list-total{color:#718c91;font:600 10px/1 Inter,sans-serif;letter-spacing:.11em;}
.future-list{display:grid;gap:11px;}
.future-empty{min-height:260px;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;color:#728a8e;}
.future-empty-orbit{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(242,183,82,.28);border-radius:50%;color:#e7b65e;font-size:21px;box-shadow:0 0 28px rgba(221,151,51,.1),inset 0 0 18px rgba(221,151,51,.08);}
.future-empty strong{color:#c1d3d1;font-size:14px;font-weight:600;}
.future-empty span{max-width:240px;font-size:11px;line-height:1.6;}
.future-trip{position:relative;overflow:hidden;padding:16px 17px 14px;border:1px solid rgba(126,182,183,.15);border-radius:8px;background:linear-gradient(115deg,rgba(15,39,46,.86),rgba(9,22,29,.72));}
.future-trip::after{content:"";position:absolute;right:-28px;top:-42px;width:126px;height:126px;border:1px solid rgba(241,183,86,.08);border-radius:50%;box-shadow:0 0 0 15px rgba(241,183,86,.025),0 0 0 32px rgba(241,183,86,.018);pointer-events:none;}
.future-trip-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.future-trip-status{display:inline-flex;align-items:center;gap:6px;color:#eabd69;font-size:10px;font-weight:650;}
.future-trip-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#efb957;box-shadow:0 0 9px rgba(239,185,87,.7);}
.future-trip-status.is-active{color:#77d2cb;}.future-trip-status.is-active::before{background:#66d4c3;box-shadow:0 0 9px rgba(102,212,195,.65);}
.future-trip-status.is-past{color:#8c9d9f;}.future-trip-status.is-past::before{background:#75888b;box-shadow:none;}
.future-trip-status.is-undated{color:#9aa9a7;}.future-trip-status.is-undated::before{background:#819493;box-shadow:none;}
.future-trip-delete{position:relative;z-index:1;width:28px;height:28px;border:1px solid transparent;border-radius:6px;background:transparent;color:#779096;font-size:17px;line-height:1;cursor:pointer;}
.future-trip-delete:hover{border-color:rgba(242,119,93,.36);background:rgba(242,119,93,.08);color:#f1927a;}
.future-trip-route{display:grid;grid-template-columns:minmax(72px,1fr) minmax(52px,.7fr) minmax(72px,1fr);align-items:center;gap:12px;}
.future-trip-city{min-width:0;display:grid;gap:4px;}
.future-trip-city:last-child{text-align:right;}
.future-trip-city small{color:#718b8f;font-size:9px;letter-spacing:.08em;}
.future-trip-city strong{overflow:hidden;color:#e5f2ee;font-size:17px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;}
.future-trip-line{position:relative;height:1px;background:linear-gradient(90deg,rgba(241,183,86,.16),rgba(241,183,86,.72),rgba(101,194,191,.52));}
.future-trip-line::before{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;border:1px solid #e8bd69;border-radius:50%;background:#13252a;}
.future-trip-line::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid #94d3c8;border-right:1px solid #94d3c8;transform:rotate(45deg);}
.future-trip-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:11px;border-top:1px solid rgba(141,184,185,.1);color:#829a9d;font-size:10px;}
.future-trip-meta strong{color:#b8c9c7;font-size:10px;font-weight:600;}
.future-trip-note{margin:10px 0 0;color:#8da4a4;font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
.future-trip-goal{margin:11px 0 0;padding:8px 10px;border-left:2px solid #80c96a;background:rgba(105,181,91,.08);color:#b9e1a9;font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
.future-guide-details{margin-top:12px;border-top:1px solid rgba(141,184,185,.1);padding-top:10px;}
.future-guide-details summary{color:#e9be6c;font-size:11px;font-weight:650;cursor:pointer;}
.future-guide-content{margin-top:9px;max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#a9bfbd;font-size:11px;line-height:1.8;}
.future-trip-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;}
.future-trip-edit{min-height:32px;padding:0 10px;border:1px solid rgba(126,182,183,.16);border-radius:6px;background:rgba(255,255,255,.025);color:#9fb7b6;font-size:10px;font-weight:600;cursor:pointer;}
.future-trip-edit:hover{border-color:rgba(126,182,183,.36);background:rgba(255,255,255,.06);color:#e6f4f0;}
.future-trip-preview{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid rgba(241,183,86,.22);border-radius:6px;background:rgba(241,183,86,.07);color:#eac274;font-size:10px;font-weight:650;cursor:pointer;transition:background .16s,border-color .16s,color .16s;}
.future-trip-preview svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.future-trip-preview:hover{border-color:rgba(241,183,86,.48);background:rgba(241,183,86,.14);color:#ffdfa1;}
body.light-theme .future-overlay{background:rgba(23,38,43,.46);}
body.light-theme .future-panel{border-color:rgba(42,116,119,.22);background:radial-gradient(ellipse at 85% 0%,rgba(235,177,78,.12),transparent 32%),linear-gradient(145deg,#f7fbf9,#edf5f4);color:#1e383b;box-shadow:0 30px 80px rgba(31,62,67,.2);}
body.light-theme .future-head{border-color:rgba(42,116,119,.13);background:linear-gradient(100deg,rgba(47,132,132,.08),transparent 68%);}
body.light-theme .future-head h2,body.light-theme .future-form-heading strong,body.light-theme .future-list-heading h3,body.light-theme .future-trip-city strong{color:#1d3739;}
body.light-theme .future-head>div:first-child>p:last-child,body.light-theme .future-field,body.light-theme .future-trip-note{color:#60797b;}
body.light-theme .future-field-hint{color:#6b8382;}
body.light-theme .future-trip-goal{border-color:#278343;background:rgba(39,131,67,.07);color:#236d3a;}
body.light-theme .future-form{border-color:rgba(42,116,119,.13);}
body.light-theme .future-field select,body.light-theme .future-field input,body.light-theme .future-field textarea{border-color:rgba(51,110,113,.22);background:#fff;color:#213a3b;}
body.light-theme .future-field option{background:#fff;color:#213a3b;}
body.light-theme .future-city-options{border-color:rgba(42,116,119,.22);background:#fff;box-shadow:0 16px 34px rgba(31,62,67,.2);}
body.light-theme .future-city-option{color:#294649;}
body.light-theme .future-city-option:hover,body.light-theme .future-city-option:focus-visible{background:rgba(214,163,79,.15);color:#714c16;}
body.light-theme .future-goal-options{border-color:rgba(42,116,119,.22);background:#fff;box-shadow:0 16px 34px rgba(31,62,67,.2);}
body.light-theme .future-goal-option{color:#294649;}
body.light-theme .future-goal-option small{color:#6b8382;}
body.light-theme .future-goal-option:hover,body.light-theme .future-goal-option:focus-visible{background:rgba(214,163,79,.15);color:#714c16;}
body.light-theme .future-field .future-date-control input{color-scheme:light;}
body.light-theme .future-date-open{border-color:rgba(51,110,113,.16);background:rgba(42,116,119,.04);color:#38696b;}
body.light-theme .future-guide-content{color:#496568;}
body.light-theme .future-trip-edit{border-color:rgba(42,116,119,.18);color:#537174;}
body.light-theme .future-trip{border-color:rgba(42,116,119,.15);background:linear-gradient(115deg,rgba(226,239,234,.82),rgba(247,250,246,.78));}
body.light-theme .future-trip-meta{border-color:rgba(42,116,119,.12);color:#667d7e;}
body.light-theme .future-trip-meta strong{color:#405a5b;}
body.light-theme .future-trip-preview{border-color:rgba(158,112,41,.24);background:rgba(220,163,76,.1);color:#805c25;}
@keyframes futureFade{from{opacity:0}to{opacity:1}}
@media(max-width:760px){
  .future-overlay{padding:10px;}
  .future-panel{max-height:calc(100dvh - 20px);border-radius:12px;}
  .future-head{min-height:112px;padding:22px 72px 18px 20px;gap:8px;}
  .future-head-count{min-width:52px;}.future-head-count strong{font-size:23px;}
  .future-close{right:12px;top:12px;width:34px;height:34px;}
  .future-head h2{font-size:24px;}
  .future-head>div:first-child>p:last-child{max-width:320px;font-size:11px;}
  .future-layout{grid-template-columns:minmax(0,1fr);}
  .future-form{padding:20px;border-right:0;border-bottom:1px solid rgba(148,205,211,.1);}
  .future-list-section{padding:20px;}
  .future-empty{min-height:190px;}
  .future-date-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce){.future-overlay.show{animation:none}.future-submit{transition:none}}
