/* Day planner (modules/day-plan.js) — reuses the messenger header (.mx-head), .suggest cards, .btn / .ghost */

/* ---------- the planning card on Home ---------- */
.dp-card{align-self:stretch;max-width:none;gap:10px}
.dp-q{font-weight:500;font-size:1rem;line-height:1.45}
.dp-opts{display:flex;flex-direction:column;gap:6px}
.dp-opt{appearance:none;display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 12px;border-radius:12px;
  border:1px solid var(--line);background:var(--panel-2);color:var(--fg);text-align:left;cursor:pointer;touch-action:manipulation}
.dp-opt:active,.dp-opt:focus-visible{border-color:var(--gold)}
.dp-num{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.9rem;color:var(--gold);border:1px solid #3d3216;background:rgba(255,199,102,.08)}
.dp-opt-l{flex:1;min-width:0;overflow-wrap:anywhere}
.dp-small{font-size:.88rem;padding:8px 12px}
.dp-row{gap:8px;flex-wrap:wrap;align-items:center}
.dp-in{display:block;width:100%;box-sizing:border-box;min-height:46px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);
  background:var(--panel-2,#11162a);color:var(--fg);font:inherit;min-width:0}
.dp-row .dp-in{flex:1;width:auto}
.dp-num-in{max-width:110px}
.dp-time{max-width:150px;-webkit-appearance:none;appearance:none;text-align:left}
.dp-maps{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:46px}
.dp-steps{margin:0;padding-left:1.3em;line-height:1.6}
.dp-cancel{align-self:flex-start;font-size:.85rem;color:var(--muted)}
.dp-wait{height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);background-size:200% 100%;animation:dp-wait 1.2s linear infinite}
@keyframes dp-wait{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.dp-wait{animation:none;background:var(--gold);opacity:.4}}

/* summary */
.dp-sum{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.dp-sum-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.dp-sum-item:last-child{border-bottom:0}
.dp-sum-time{flex:none;width:92px;color:var(--cyan);font-variant-numeric:tabular-nums;font-size:.9rem;padding-top:1px}
.dp-sum-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dp-sum-title{overflow-wrap:anywhere}
.dp-sum-meta{color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.dp-tag{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;border:1px solid #3d3216;color:var(--gold);font-size:.72rem;line-height:1.6;vertical-align:1px;white-space:nowrap}
.dp-warn{color:#ffb35c;font-size:.84rem}
.dp-late .dp-sum-time{color:#ffb35c}
.dp-note{line-height:1.5}
/* the voice Home has little room: keep the card compact there */
body.vh-on .dp-card{max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch}

/* ---------- calendar page ---------- */
.dp-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 8px}
.dp-month{font-weight:500;font-size:1.05rem}
.dp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.dp-wide{grid-column:1/-1}
.dp-wd{text-align:center;color:var(--muted);font-size:.8rem;padding:4px 0}
.dp-day{appearance:none;position:relative;aspect-ratio:1/1;min-height:40px;border-radius:12px;border:1px solid transparent;background:var(--panel);
  color:var(--fg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:0;font:inherit;touch-action:manipulation}
.dp-past{color:var(--muted)}
.dp-today{border-color:var(--cyan)}
.dp-sel{background:rgba(255,199,102,.14);border-color:var(--gold);color:var(--fg)}
.dp-dnum{font-variant-numeric:tabular-nums;font-size:.95rem}
.dp-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.dp-has .dp-dnum{font-weight:600}
.dp-daybox{margin-top:16px}
.dp-dayt{font-size:1rem;font-weight:500;margin:0 0 8px}
.dp-list{list-style:none;margin:0;padding:0}
.dp-item{display:flex;align-items:flex-start;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}
.dp-check{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--ok)}
.dp-item-main{flex:1;min-width:0}
.dp-item-time{color:var(--cyan);font-size:.85rem;font-variant-numeric:tabular-nums}
.dp-item-title{overflow-wrap:anywhere}
.dp-item-meta{color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.dp-done .dp-item-title{color:var(--muted);text-decoration:line-through}
.dp-ib{appearance:none;flex:none;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0}
.dp-acts{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.dp-edit{display:flex;flex-direction:column;gap:8px;width:100%;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.dp-edit label{display:flex;flex-direction:column;gap:4px;min-width:0}
.dp-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.dp-edit-grid .dp-in{max-width:none}
.dp-add{margin-top:12px}
.dp-foot{margin-top:22px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.dp-link{align-self:flex-start}

/* ---------- saved places ---------- */
.dp-places{display:flex;flex-direction:column}
.dp-place{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}
.dp-pin{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--gold);background:rgba(255,199,102,.08);border:1px solid #3d3216}
.dp-place-main{flex:1;min-width:0}
.dp-place-name{overflow-wrap:anywhere}
