.dashboard-memo-modal[hidden] { display:none !important; }
.dashboard-service-code { color:#fff; text-shadow:0 1px 1px rgba(15,23,42,.24); }
.dashboard-memo-modal { position:fixed; inset:0; z-index:1210; display:grid; align-items:start; overflow:auto; padding:96px 1rem 1rem; }
.dashboard-memo-modal__backdrop { position:fixed; inset:0; background:rgba(31,42,36,.42); backdrop-filter:blur(5px); }
.dashboard-memo-modal__panel { position:relative; width:min(960px, 100%); max-height:calc(100dvh - 112px); margin:0 auto; border:1px solid var(--bm-border, #D8D2C4); border-radius:1.25rem; background:var(--bm-linen, #F7F3EA); box-shadow:0 28px 72px rgba(31,42,36,.28); display:grid; grid-template-rows:auto minmax(0, 1fr); overflow:hidden; }
.dashboard-memo-modal__head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.15rem 1.2rem 1rem; color:var(--bm-linen, #F7F3EA); background:linear-gradient(135deg, var(--bm-green, #2F3D34), #1F2A24); border-bottom:1px solid rgba(255,255,255,.12); }
.dashboard-memo-modal__title { margin:0; font-size:1.2rem; font-weight:800; color:inherit; letter-spacing:-.015em; }
.dashboard-memo-modal__subtitle { margin:.25rem 0 0; color:rgba(247,243,234,.76); font-size:.9rem; }
.dashboard-memo-modal__head .btn { --bs-btn-color:var(--bm-linen, #F7F3EA); --bs-btn-border-color:rgba(247,243,234,.42); --bs-btn-hover-bg:rgba(247,243,234,.14); --bs-btn-hover-border-color:var(--bm-linen, #F7F3EA); --bs-btn-hover-color:var(--bm-linen, #F7F3EA); border-radius:.75rem; }
.dashboard-memo-modal__body { padding:1.15rem; overflow:auto; background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(231,226,214,.42)); }
.dashboard-memo-layout { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr); gap:1rem; }
.dashboard-memo-list-shell { display:grid; gap:.75rem; align-content:start; }
.dashboard-memo-list { display:grid; gap:.75rem; }
.dashboard-memo-card { width:100%; border:1px solid var(--bm-border, #D8D2C4); border-left:8px solid var(--memo-color, #FDE68A); border-radius:.9rem; background:rgba(255,255,255,.88); padding:.9rem 1rem; text-align:left; display:grid; gap:.4rem; transition:transform .16s ease, box-shadow .16s ease; }
.dashboard-memo-card:hover { transform:translateY(-1px); box-shadow:0 10px 20px rgba(31,42,36,.09); }
.dashboard-memo-card.is-active { border-color:var(--bm-green, #2F3D34); box-shadow:0 0 0 2px rgba(47,61,52,.15); }
.dashboard-memo-card__meta { display:flex; align-items:center; gap:.55rem; color:var(--bm-muted, #6F766F); font-size:.82rem; }
.dashboard-memo-card__swatch { width:.8rem; height:.8rem; border-radius:999px; background:var(--memo-color, #FDE68A); border:1px solid rgba(15,23,42,.08); }
.dashboard-memo-card__text { margin:0; color:var(--bm-ink, #1F2A24); white-space:pre-wrap; }
.dashboard-memo-form { display:grid; gap:1rem; }
.dashboard-memo-form__grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.85rem; }
.dashboard-memo-form__actions { display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.dashboard-memo-color-palette { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.dashboard-memo-color { width:2rem; height:2rem; border-radius:999px; border:2px solid transparent; background:var(--memo-color, #FDE68A); box-shadow:0 0 0 1px rgba(15,23,42,.08) inset; }
.dashboard-memo-color.is-selected { border-color:var(--bm-green, #2F3D34); box-shadow:0 0 0 1px var(--bm-green, #2F3D34) inset; }
.dashboard-memo-summary-card { width:100%; border-left:10px solid var(--memo-color, #FDE68A) !important; background:#fff; color:var(--bm-ink, #1F2A24); text-align:left; cursor:pointer; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.dashboard-memo-summary-card:hover { transform:translateY(-1px); border-color:var(--bm-sage, #7D877E) !important; box-shadow:0 10px 20px rgba(31,42,36,.09); }
.dashboard-memo-summary-card:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(47,61,52,.22); }
.dashboard-memo-modal .timeline-field-label { display:block; margin-bottom:.42rem; color:var(--bm-ink, #1F2A24); font-size:.86rem; font-weight:800; }
.dashboard-memo-modal .timeline-field-input,
.dashboard-memo-modal .timeline-textarea-card__input { width:100%; border:1px solid #d1d5db; border-radius:.9rem; background:#fff; padding:.78rem .9rem; font:inherit; color:#111827; }
.dashboard-memo-modal .timeline-textarea-card__input { min-height:140px; resize:vertical; }

@media (max-width: 900px) {
  .dashboard-memo-modal { padding:calc(var(--app-header-mobile-h, 58px) + .85rem) .75rem .75rem; }
  .dashboard-memo-modal__panel { max-height:calc(100dvh - var(--app-header-mobile-h, 58px) - 1.6rem); }
  .dashboard-memo-layout { grid-template-columns:1fr; }
  .dashboard-memo-form__grid { grid-template-columns:1fr; }
}
