.feed-main-stack{display:grid;gap:20px;min-width:0}
.plans-panel{position:relative;padding-top:18px}
.plans-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.plans-heading h1,.plans-heading h2{margin-bottom:6px}
.plans-heading p{margin:0;max-width:780px}
.plan-section+.plan-section,.plan-section+.plan-list{margin-top:16px}
.plan-running-section{margin-bottom:18px;padding:14px;border:1px solid rgba(141,255,177,.28);border-radius:14px;background:linear-gradient(90deg,rgba(141,255,177,.07),rgba(101,246,255,.025),transparent)}
.plan-running-section>h2,.plan-running-section>h3{margin:0 0 8px;color:var(--green)}
.plan-overdue-section{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,102,125,.22)}
.plan-overdue-section>h2,.plan-overdue-section>h3{color:var(--danger)}
.plan-list{display:grid}
.plan-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:start;padding:15px 0;border-top:1px solid var(--line)}
.plan-list>.plan-item:first-child,.plan-tree-level>.plan-item:first-child{border-top:0}
.plan-item.is-overdue{background:linear-gradient(90deg,rgba(255,102,125,.045),transparent 38%)}
.plan-item.is-completed{opacity:.72}
.plan-item.is-running{background:linear-gradient(90deg,rgba(141,255,177,.065),transparent 44%)}
.plans-date-group .plan-item.is-subtask{margin-left:28px;padding-left:14px;border-left:1px solid rgba(101,246,255,.18);background:linear-gradient(90deg,rgba(101,246,255,.035),transparent 44%)}
.plan-time{display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:3px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}
.plan-time strong{color:var(--cyan);font-size:1.05rem}
.plan-time span{font-size:.75rem}
.plan-time small{margin-top:3px;color:var(--danger);font-size:.68rem;line-height:1.25}
.plan-time .plan-completed-at{color:var(--green)}
.plan-time.overdue strong{color:var(--danger)}
.plan-play-stop-form{margin:7px 0 0}
.plan-play-stop{display:grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border-radius:50%;font-size:1rem;line-height:1;background:rgba(101,246,255,.055);border:1px solid rgba(101,246,255,.58);color:var(--cyan);box-shadow:inset 0 0 0 3px rgba(101,246,255,.035),0 0 16px rgba(101,246,255,.1);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.plan-play-stop:hover,.plan-play-stop:focus-visible{transform:scale(1.06);filter:none;border-color:var(--cyan);box-shadow:inset 0 0 0 3px rgba(101,246,255,.06),0 0 22px rgba(101,246,255,.24)}
.plan-play-stop.is-play span{transform:translateX(1px)}
.plan-play-stop.is-stop{color:var(--green);border-color:rgba(141,255,177,.68);background:rgba(141,255,177,.075);box-shadow:inset 0 0 0 3px rgba(141,255,177,.04),0 0 20px rgba(141,255,177,.18)}
.plan-content{min-width:0}
.plan-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.plan-title-row h3{margin:7px 0 0;font-size:1.08rem;line-height:1.3}
.plan-badges{display:flex;flex-wrap:wrap;gap:6px}
.plan-category{border-color:rgba(101,246,255,.22)}
.plan-recurrence{border-color:rgba(141,255,177,.3);color:var(--green)}
.plan-running{border-color:rgba(141,255,177,.42);color:var(--green);background:rgba(141,255,177,.055)}
.plan-completed{border-color:rgba(141,255,177,.35);color:var(--green)}
.plan-tools{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.plan-editor{position:relative}
.plan-editor>summary::-webkit-details-marker{display:none}
.plan-editor>form{position:absolute;z-index:30;right:0;top:34px;width:min(520px,calc(100vw - 48px));max-height:min(82vh,900px);overflow:auto;padding:14px;border:1px solid var(--line-bright);border-radius:10px;background:var(--surface-elevated);box-shadow:0 20px 54px rgba(0,0,0,.52)}
.plan-editor textarea{min-height:90px}
.plans-page{width:100%;max-width:none;margin:0}
.plans-date-group{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}
.plans-date-group>h2{margin-bottom:6px}
.plan-create-card{margin:18px 0 24px;padding:18px;border:1px solid rgba(101,246,255,.24);border-radius:15px;background:linear-gradient(145deg,rgba(101,246,255,.06),rgba(4,14,17,.72))}
.plan-create-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.plan-create-heading h2{margin:0 0 5px}
.plan-form{display:grid;gap:12px;margin-top:14px}
.plan-form-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;align-items:end}
.plan-form-grid .field{margin:0}
.task-type-picker{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr);gap:10px;grid-column:span 2}
.task-type-picker .field{margin:0}
.plan-recurrence-custom{display:grid;grid-template-columns:minmax(90px,.55fr) minmax(130px,1fr);gap:8px;grid-column:1/-1;padding:10px;border:1px solid rgba(141,255,177,.18);border-radius:11px;background:rgba(141,255,177,.035)}
.plan-recurrence-custom[hidden],[data-recurrence-fields][hidden],[data-flight-fields][hidden],[data-task-fields][hidden],[data-task-start][hidden],.quick-note-plan-fields[hidden],[data-planned-task-type][hidden]{display:none!important}
.plan-form textarea{min-height:80px}
.plans-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.plan-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;align-items:end;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(101,246,255,.025)}
.plan-filter-bar .field{margin:0}
.plan-show-completed{display:flex;align-items:center;gap:8px;min-height:42px;white-space:nowrap}
.plan-trip{border-color:rgba(255,211,105,.35);color:var(--warn)}
.plan-flight{border-color:rgba(101,246,255,.35)}
.plan-costs,.plan-optional-fields{border:1px solid rgba(101,246,255,.18);border-radius:12px;margin:0;background:rgba(101,246,255,.025)}
.plan-costs>summary,.plan-optional-fields>summary{cursor:pointer;padding:11px 12px;color:var(--cyan);font-weight:700;list-style:none}
.plan-costs>summary::-webkit-details-marker,.plan-optional-fields>summary::-webkit-details-marker{display:none}
.plan-costs>summary::before,.plan-optional-fields>summary::before{content:'›';display:inline-block;margin-right:8px;transition:transform .16s ease}
.plan-costs[open]>summary::before,.plan-optional-fields[open]>summary::before{transform:rotate(90deg)}
.plan-costs[open]>summary,.plan-optional-fields[open]>summary{border-bottom:1px solid rgba(101,246,255,.14)}
.plan-costs-body,.plan-optional-fields>.field{padding:12px}
.plan-cost-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(110px,.5fr) 86px auto;gap:8px;align-items:end;margin-bottom:8px}
.plan-cost-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;color:var(--muted);font-size:.86rem}
.plan-cost-list span{border:1px solid var(--line);border-radius:999px;padding:3px 8px}
.plan-optional-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plan-address{margin:9px 0 0}
.plan-address-link{color:var(--cyan);text-decoration:none;border-bottom:1px dashed rgba(101,246,255,.38)}
.plan-address-link:hover,.plan-address-link:focus-visible{color:var(--text);border-bottom-color:var(--cyan)}
.plan-period-line{margin-top:8px;color:var(--text);font-variant-numeric:tabular-nums}
.plan-tree-level-1,.plan-tree-level-2,.plan-tree-level-3,.plan-tree-level-4,.plan-tree-level-5{margin-left:28px;border-left:1px solid rgba(101,246,255,.18);padding-left:14px}
.plan-tree-level-1>.plan-item,.plan-tree-level-2>.plan-item,.plan-tree-level-3>.plan-item,.plan-tree-level-4>.plan-item,.plan-tree-level-5>.plan-item{background:linear-gradient(90deg,rgba(101,246,255,.035),transparent 44%)}
.plan-subtask{margin:0 0 8px 106px;color:var(--muted)}
.plan-subtask>summary{cursor:pointer;color:var(--cyan);font-weight:700;padding:4px 0}
.plan-subtask>form{padding:12px;border:1px solid rgba(101,246,255,.16);border-radius:12px;background:rgba(4,14,17,.45)}
.plan-flight-summary{display:grid;gap:2px;margin-top:8px;color:var(--muted)}
.plan-flight-summary strong{color:var(--cyan)}
.trip-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}
.trip-list{display:grid;gap:10px;align-content:start}
.trip-card{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(101,246,255,.04);color:inherit;text-decoration:none}
.trip-card.active{border-color:var(--cyan);background:rgba(101,246,255,.09)}
.trip-card span,.trip-card small{color:var(--muted)}
.trip-detail{min-width:0}
.trip-create-form .plan-title-field input[type="text"]{width:100%;min-height:42px}
.travel-plan-form{margin:16px 0 22px;padding:14px;border:1px solid rgba(101,246,255,.18);border-radius:12px;background:rgba(101,246,255,.025)}
.quick-note-task-panel>p{margin-top:-4px}
.quick-note-plan-fields{display:grid;gap:10px;padding:12px;border:1px solid rgba(101,246,255,.2);border-radius:12px;background:linear-gradient(145deg,rgba(101,246,255,.055),rgba(4,14,17,.4))}
.quick-note-plan-fields .task-type-picker{grid-column:auto}
.quick-note-plan-fields .plan-recurrence-custom{grid-column:auto}
@media(max-width:1200px){.plan-form-grid{grid-template-columns:1fr 1fr}.task-type-picker{grid-column:1/-1}.plan-filter-bar{grid-template-columns:1fr auto}}
@media(max-width:900px){.trip-layout{grid-template-columns:1fr}.plan-cost-row{grid-template-columns:1fr}.plan-subtask{margin-left:0}.plans-date-group .plan-item.is-subtask{margin-left:12px;padding-left:10px}.plan-tree-level-1,.plan-tree-level-2,.plan-tree-level-3,.plan-tree-level-4,.plan-tree-level-5{margin-left:12px;padding-left:10px}.plan-filter-bar{grid-template-columns:1fr}.plan-show-completed{white-space:normal}}
@media(max-width:720px){.plans-heading,.plan-create-heading{flex-direction:column}.plans-heading .button{width:100%}.plan-item{grid-template-columns:66px minmax(0,1fr);gap:9px}.plan-title-row{gap:8px}.plan-title-row h3{font-size:1rem}.plan-editor>form{right:-32px;width:min(390px,calc(100vw - 28px))}.plan-form-grid,.task-type-picker,.plan-optional-grid{grid-template-columns:1fr}.plan-create-card{padding:14px}.plan-time{align-items:flex-start;text-align:left}.plan-play-stop{margin-left:2px}}

/* Plan form refinements: search, recurrence and subtasks. */
.plan-filter-bar{grid-template-columns:minmax(340px,1fr) auto auto;align-items:end}
.plan-search-cluster{display:flex;align-items:flex-end;gap:8px;min-width:0}
.plan-search-field{flex:1 1 auto;margin:0}
.plan-search-input{width:100%;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;font-family:inherit;font-size:1rem;line-height:1.35;color:var(--text);background:var(--surface-input);outline:none;-webkit-appearance:none;appearance:none}
.plan-search-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(101,246,255,.08)}
.plan-search-button{flex:0 0 auto;min-height:44px}
.plan-filter-reset{align-self:end}
.plan-end-field{margin:0}
.plan-address-grid{grid-template-columns:1fr}
.plan-subtasks-toggle{display:inline-flex;margin:6px 0 3px 106px;padding:4px 9px;min-height:0;border:1px solid rgba(101,246,255,.26);border-radius:999px;background:rgba(101,246,255,.035);color:var(--cyan);font-size:.76rem;font-weight:700}
.plan-subtasks-toggle:hover,.plan-subtasks-toggle:focus-visible{background:rgba(101,246,255,.09);filter:none}
.plan-item[hidden],.plan-subtask[hidden]{display:none!important}
@media(max-width:900px){.plan-filter-bar{grid-template-columns:1fr}.plan-search-cluster{width:100%}.plan-filter-reset{justify-self:start}}
@media(max-width:560px){.plan-search-cluster{display:grid;grid-template-columns:1fr auto}.plan-search-button{align-self:end}}


/* Instant tasks, airport reference and special travel types. */
.plan-instant-toggle{display:flex;align-items:center;gap:8px;margin:8px 0 3px;color:var(--cyan);font-size:.86rem}
.plan-instant-toggle input{width:auto}
.plan-end-field.is-instant input[type="datetime-local"]{opacity:.42}
.plan-instant{border-color:rgba(255,207,90,.4);color:var(--warn)}
.plan-play-stop.is-instant{color:var(--warn);border-color:rgba(255,207,90,.68);background:rgba(255,207,90,.075);box-shadow:inset 0 0 0 3px rgba(255,207,90,.04),0 0 20px rgba(255,207,90,.14)}
.flight-task-fields{padding:14px;border:1px solid rgba(101,246,255,.2);border-radius:12px;background:rgba(101,246,255,.025)}
.flight-number-row{display:flex;margin-bottom:10px}
.flight-number-field{width:180px;margin:0}
.flight-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.flight-leg{min-width:0;margin:0;padding:12px;border:1px solid rgba(101,246,255,.18);border-radius:11px;background:rgba(4,14,17,.36)}
.flight-leg legend{padding:0 7px;color:var(--cyan);font-weight:800}
.flight-leg-grid{display:grid;grid-template-columns:minmax(120px,.72fr) 86px minmax(210px,1.35fr) 96px;gap:9px;align-items:start}
.flight-leg-grid .field{min-width:0;margin:0}
.flight-terminal-field input,.flight-seat-field input{text-transform:uppercase}
.flight-airport-note{margin:10px 0 0}
.airport-reference{display:block;min-height:2.6em;margin-top:6px;color:var(--green);line-height:1.3}
.airport-reference.is-error{color:var(--danger)}
.airport-code-field input{text-transform:uppercase;letter-spacing:.12em;font-weight:800}
@media(max-width:1450px){.flight-route-grid{grid-template-columns:1fr}.flight-leg-grid{grid-template-columns:120px 86px minmax(210px,1fr) 96px}}
@media(max-width:800px){.flight-leg-grid{grid-template-columns:1fr 90px}.flight-datetime-field{grid-column:1/-1}.flight-seat-field{grid-column:auto}.plan-subtasks-toggle{margin-left:0}}
@media(max-width:520px){.flight-leg-grid{grid-template-columns:1fr}.flight-datetime-field,.flight-seat-field{grid-column:auto}.flight-number-field{width:100%}}


/* Multi-segment flight ticket form. */
.flight-segments{display:grid;gap:14px}
.flight-segment{padding:13px;border:1px solid rgba(101,246,255,.22);border-radius:12px;background:rgba(4,14,17,.42)}
.flight-segment-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;color:var(--cyan)}
.flight-number-row{display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.flight-lookup-button{margin-bottom:0}
.flight-lookup-status{min-height:2.4em;display:flex;align-items:center;max-width:520px}
.plan-flight-segments-summary{display:grid;gap:8px;margin-top:8px}
.plan-flight-segments-summary .plan-flight-summary{padding:8px 10px;border-left:2px solid rgba(101,246,255,.28);background:rgba(101,246,255,.025)}
@media(max-width:620px){.flight-number-row{display:grid;grid-template-columns:1fr}.flight-lookup-button{width:100%}.flight-segment-heading{align-items:flex-start}.flight-segment-heading .button{width:auto}}

.plan-duration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.plan-duration-grid>.plan-instant-toggle{grid-column:1/-1}.plan-duration-grid.is-instant>.field{opacity:.5}.plan-template-picker{padding:12px;border:1px solid rgba(101,246,255,.18);border-radius:12px;background:rgba(101,246,255,.025);margin-bottom:12px}.plan-template-picker .field{margin:0}.plan-submit-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.plan-template-save{min-width:min(360px,100%);border:1px solid var(--line);border-radius:10px}.plan-template-save>summary{cursor:pointer;padding:10px 12px;color:var(--cyan);font-weight:800}.plan-template-save-body{display:flex;gap:8px;align-items:end;padding:0 12px 12px}.plan-template-save-body .field{flex:1;margin:0}.plan-template-manager{margin-top:14px}.plan-template-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.plan-template-chips form{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:0}.plan-template-chips span{padding:5px 9px}.plan-template-chips button{min-height:0;padding:5px 9px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--danger)}@media(max-width:720px){.plan-duration-grid{grid-template-columns:1fr}.plan-template-save-body{display:grid}.plan-submit-row>button{width:100%}}
/* Duration selector sits with title and start in the main grid. */
.plan-duration-grid{display:contents}
.plan-duration-grid>[hidden]{display:none!important}
.plan-duration-select-field{min-width:0}
.plan-duration-custom-field input{font-variant-numeric:tabular-nums}
.plan-duration-grid.is-instant .plan-duration-select-field select{border-color:rgba(255,207,90,.55);color:var(--warn)}
