/* Compact planning workspace: white surfaces, quiet lines and clear controls. */
.planner-page{padding-block:24px 40px}
.planner-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;position:relative;padding:16px;margin-top:8px;background:var(--surface);border-radius:var(--radius);align-items:start;border:1px solid var(--line);box-shadow:var(--panel-shadow);}
.settings-main{min-width:0}
.settings-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.settings-heading h1{font-size:28px;line-height:1.3;margin:0 auto 0 0;font-family:var(--display-font);}
.settings-heading button{font-size:13px}.calendar-toggle{display:none;padding:8px 12px;background:var(--coral);border:0;border-radius:var(--pill-radius)}
.trip-dates{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
.trip-dates label{display:grid;gap:4px;font-size:12px;font-weight:650;min-width:0}
.trip-dates input{max-width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--control-radius);padding:8px;background:var(--paper);font-size:14px}
.date-dash{align-self:center;padding-top:20px}
.date-form-actions{display:flex;gap:6px;align-items:center}
.trip-dates button{font-size:12px;padding:8px 10px}
#clear-dates{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface)}
#clear-dates:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.calendar-swipe-hint{display:none}
.trip-dates p{flex-basis:100%;margin:0;font-size:12px;color:var(--muted)}
#plan-status,#plan-storage,.plan-disclaimer{font-size:12px;line-height:1.6;margin:8px 0 0;color:var(--muted)}
#plan-status{color:var(--accent)}
#plan-status:empty{margin:0}
.date-calendar{min-width:0;padding-left:16px;border-left:1px solid var(--line)}
.calendar-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.calendar-panel{min-width:0}
.calendar-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.calendar-month strong{font-size:14px}
.calendar-month button{width:40px;border:0;background:none;font-size:24px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.weekday{text-align:center;font-size:12px;color:var(--muted)}
.calendar-grid button{position:relative;padding:2px;border:0;border-radius:var(--control-radius);font-size:12px;background:var(--sky);}
.calendar-grid button:disabled{background:none}
.calendar-grid button:not(:disabled):hover,.calendar-grid button[aria-current=date]{background:var(--ink);color:var(--surface);}
.calendar-grid i{position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}
.calendar-caption,.calendar-empty{font-size:12px;color:var(--muted);margin:8px 0 0}
.plan-view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:0;margin-bottom:12px;font-weight:650}
.plan-view-toolbar>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.toolbar-divider{height:24px;border-left:1px solid var(--line);margin-inline:4px}
.plan-view-toolbar button{font-size:12px;padding:8px 12px}
.action-label-short{display:none}
.plan-view-toolbar button:not(.primary-button){background:var(--surface);border:1px solid var(--line);border-radius:var(--pill-radius)}
.plan-workspace{min-width:0}
.planner-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;margin-top:12px;align-items:start}
.plan-pool{min-width:0;padding:12px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);}
.plan-section-title{display:flex;justify-content:space-between;align-items:center}
.plan-section-title h2{font-size:18px;margin:0}
.pool-heading-actions{display:flex;align-items:center;gap:8px}.pool-heading-actions>span{font-size:13px;background:var(--sun);border-radius:999px;padding:2px 8px}.pool-toggle{display:none;align-items:center;justify-content:center;min-width:44px;height:44px;border:0;background:var(--coral);border-radius:50%;font-size:24px}.pool-toggle[aria-expanded=true] span{transform:rotate(180deg)}
.plan-help{font-size:12px;color:var(--muted);margin:8px 0 12px}
.plan-calendar{display:grid;gap:12px;min-width:0}
.plan-day{border-radius:var(--radius);overflow:hidden;min-width:0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--panel-shadow);}
.day-toggle-heading{margin:0;font-size:inherit}
.day-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:16px;border:0;text-align:left;scroll-margin-top:16px;background:var(--sky)}
.day-toggle:hover{background:var(--paper)}
.day-number{display:grid;place-items:center;min-width:36px;height:36px;font-size:14px;font-weight:750;background:var(--surface);color:var(--ink);border-radius:12px}
.day-label{display:grid;gap:0;min-width:0}
.day-label strong{font-size:16px}
.day-label small{font-size:12px;color:var(--muted);font-weight:400}
.day-count{margin-left:auto;font-size:12px;font-weight:400;white-space:nowrap}
.day-chevron{font-size:22px;transform:rotate(180deg)}
.day-toggle[aria-expanded=false] .day-chevron{transform:none}
.plan-day-items{padding:4px 16px;border-top:1px solid var(--line)}
.plan-period{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:start;padding-block:14px;border-bottom:1px solid var(--line);min-width:0}
.plan-period--empty{align-items:center;min-height:54px}
.plan-period--empty .period-heading{margin-bottom:0}
.plan-period--empty .period-items{min-height:0}
.plan-period--empty .period-items .plan-empty{padding:8px 12px;font-size:12px}
.plan-period--empty:hover{background:var(--paper)}
.plan-period:first-child{padding-top:14px}
.plan-period:last-child{border-bottom:0}
.period-heading{display:grid;gap:2px;padding-top:7px}
.period-heading h3{font-size:14px;margin:0}
.period-heading>span{font-size:12px;color:var(--muted)}
.period-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:40px;align-items:start}
.period-items .plan-card{margin:0;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;border:1px solid var(--line);border-radius:16px}
.period-items .plan-card:only-child{grid-column:1/-1}
.period-items .plan-card-controls{margin-top:0}
.period-items .plan-empty{grid-column:1/-1;margin:0;padding:10px;border:1px dashed var(--line);border-radius:var(--control-radius)}
.plan-card{position:relative;min-width:0;padding:10px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:grab}
.plan-card:last-child{margin-bottom:0}
.plan-card:active{cursor:grabbing}
.plan-card-main{min-width:0}
.plan-thumbnail{display:block;overflow:hidden;border-radius:var(--control-radius);}
.plan-thumbnail img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:element;user-select:none}
.plan-card-copy{min-width:0}
.plan-type{font-size:12px;color:var(--muted)}
.plan-card h3{font-size:14px;line-height:1.5;overflow-wrap:anywhere;margin:2px 0}
.plan-card-copy p{font-size:12px;color:var(--muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-card-controls{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6px;align-items:center;padding-top:6px}
.plan-card-controls select{min-width:0;width:100%;padding:8px 5px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);font-size:12px}
.plan-card-controls [data-assign]:last-child{grid-column:1/-1}
.plan-card-actions{display:flex;gap:4px}
.plan-card-actions button{display:grid;place-items:center;width:32px;min-height:32px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:22px;line-height:1;color:var(--muted)}
.plan-card-actions button:hover{background:var(--paper);color:var(--ink)}
.plan-card-actions .plan-remove:hover{color:var(--danger);}
.plan-card--scheduled .plan-card-main{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;min-height:54px}
.plan-card--scheduled .plan-thumbnail{width:52px;height:52px;border-radius:10px}
.plan-card--scheduled .plan-thumbnail img{height:100%}
.plan-edit-toggle{grid-column:2;grid-row:1;min-width:44px;min-height:44px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-size:12px}
.plan-edit-toggle:hover,.plan-edit-toggle[aria-expanded=true]{background:var(--sky);color:var(--ink)}
.plan-card.is-editing{border-color:var(--accent)}
.plan-card-editor{grid-column:1/-1;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.plan-card-editor[hidden]{display:none}
.plan-card-editor .plan-card-controls{padding-top:0}
.plan-card-editor select{min-height:44px}
.plan-note-preview{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;margin-top:8px;padding:6px 10px;border:0;border-radius:10px;background:#faf6e9;text-align:left;font-size:12px;color:var(--ink)}
.plan-note-preview>span:first-child{flex-shrink:0;color:var(--muted)}
.plan-note-preview [data-note-text]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.plan-note-preview[hidden],.plan-card--scheduled.is-editing .plan-note-preview{display:none}
.plan-note-field{margin-top:12px;min-width:0}
.plan-note-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px}
.plan-note-label label{font-weight:650}
.plan-note-label [data-note-count]{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.plan-note-field textarea{display:block;width:100%;min-width:0;min-height:88px;max-height:240px;resize:vertical;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fffdf7;color:var(--ink);font:inherit;font-size:14px;line-height:1.6;cursor:text}
.plan-note-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.plan-note-field textarea::placeholder{color:var(--muted)}
.plan-note-field [data-note-status]{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.plan-note-done{min-height:44px;padding:6px 12px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12px}
.plan-card--pending .plan-note-preview{grid-row:3}
.plan-card--pending .plan-card-editor{grid-row:4}
.plan-card--pending .plan-note-field{margin-top:0}
.scheduled-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:2px;padding-top:0}
.plan-return{display:flex;align-items:center;gap:4px;min-height:44px;padding:4px 0;border:0;border-radius:4px;background:transparent;font-size:12px}
.plan-return>span{font-size:20px}
.plan-delete{min-height:44px;padding:4px 0;border:0;background:transparent;color:var(--danger);font-size:12px}
.plan-card--scheduled .plan-card-copy{display:grid;gap:2px;min-width:0}
.plan-card--scheduled .plan-card-copy .plan-type{display:none}
.plan-card--scheduled .plan-card-copy p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-card--scheduled h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0;margin:0;font-size:13px;line-height:1.4}
.plan-card--pending{padding:8px;display:grid;grid-template-columns:84px minmax(0,1fr) 28px;gap:0 8px;align-items:center}
.plan-card--pending .plan-card-main{display:contents}
.plan-card--pending .plan-thumbnail{grid-column:1;grid-row:1/3;width:84px;height:100%;min-height:54px;align-self:stretch;position:relative}
.plan-card--pending .plan-thumbnail img{position:absolute;inset:0;width:100%;height:100%}
.plan-card--pending .plan-card-copy{grid-column:2;grid-row:1}
.plan-card--pending .plan-type{display:none}
.plan-card--pending .plan-card-actions{grid-column:3;grid-row:1;align-self:start}
.plan-card--pending .plan-card-actions button{width:28px;min-height:44px;border:0}
.plan-card--pending .plan-card-controls{grid-column:2/4;grid-row:2;padding-top:4px}
.plan-card--pending h3{font-size:13px;margin:0}
.plan-card--pending .plan-card-controls select{min-height:44px;padding:6px 4px}
.pool-category+.pool-category{margin-top:16px}
.pool-category>h3{display:flex;justify-content:space-between;font-size:14px;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.pool-category>h3 span{font-size:12px;font-weight:400;color:var(--muted)}
.pool-category-empty{font-size:12px;color:var(--muted);margin:4px 0}
.plan-empty{font-size:14px;color:var(--muted)}
.plan-empty a{color:var(--accent);text-decoration:underline}
.plan-no-dates{padding:24px;border:1px dashed var(--line);border-radius:var(--radius)}
.plan-no-dates h2{font-size:22px}
.plan-no-dates p{font-size:14px;color:var(--muted)}
.plan-disclaimer{margin-top:24px}
@media(max-width:1000px){.planner-layout{grid-template-columns:240px minmax(0,1fr)}
.plan-period{grid-template-columns:1fr;gap:8px}
.period-heading{display:flex;align-items:baseline;gap:8px;padding-top:0}
.period-items{grid-template-columns:1fr}
}
@media(min-width:851px) and (pointer:fine){.calendar-grid button{min-height:28px}
.calendar-month button{min-height:32px}
.calendar-pair{gap:12px}
}
@media(max-width:850px){.planner-settings{grid-template-columns:1fr}
.date-calendar{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}
.planner-layout{grid-template-columns:240px minmax(0,1fr)}
}
@media(max-width:600px){.calendar-toggle{display:inline-flex;align-items:center;gap:8px}.date-calendar.is-collapsed{display:none}.planner-settings{grid-template-columns:1fr;padding:12px}
.plan-note-field textarea{font-size:16px}
.date-calendar{padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}
.calendar-pair{grid-template-columns:repeat(2,minmax(294px,1fr));overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}
.calendar-panel{scroll-snap-align:start}
.calendar-swipe-hint{display:inline}
.period-items .plan-card{max-width:none}
.settings-heading{gap:8px}
.settings-heading h1{font-size:28px}
.trip-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.date-dash{display:none}
.trip-dates input{width:100%;font-size:12px;padding:6px 2px}
.date-form-actions,.trip-dates p{grid-column:1/-1}
.date-form-actions button{flex:1}
.planner-layout{grid-template-columns:1fr}
.plan-view-toolbar{font-size:12px;gap:8px;flex-wrap:wrap}
.plan-toolbar-actions{width:100%;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important;align-items:stretch!important}
.toolbar-divider{display:none}
.plan-view-toolbar button{min-width:0;min-height:44px;height:100%;padding:6px 2px;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.action-label-long{display:none}.action-label-short{display:inline}
.pool-toggle{display:inline-flex}.plan-pool.is-collapsed .plan-help,.plan-pool.is-collapsed #plan-pool-items{display:none}#plan-pool-items{max-height:280px;overflow:auto}.plan-pool{padding:12px 16px}
.day-toggle{gap:8px}
.day-label strong{font-size:14px}
.day-number{padding-right:8px}
.period-items{grid-template-columns:1fr}
}
