/* Shared rhythm for the daily record and reminder composer. */
.plans-footer {display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 38px;padding:0 12px 4px 18px;}
.plans-footer .plans-view-all {margin:0;min-height:32px;font-size:13px;}
.plans-pager {display:flex;align-items:center;gap:2px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;}
.plans-pager button {display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer;}
.plans-pager button:hover:not(:disabled) {background:var(--accent-soft);color:var(--accent);}
.plans-pager button:disabled {opacity:.3;cursor:default;}
.plans-pager svg {width:16px;height:16px;}
.plans-pager span {min-width:34px;text-align:center;}
.upcoming-plans-list {gap:18px;padding:10px 18px 4px;scroll-snap-type:x mandatory;scrollbar-width:none;}
.upcoming-plans-list::-webkit-scrollbar {display:none;}
.upcoming-plan {flex-basis:100%;padding:0;border:0;scroll-snap-stop:always;}
.plan-complete {position:relative;margin-top:2px;flex-basis:24px;width:24px;height:24px;min-height:24px;}
.plan-complete::before {content:"";position:absolute;inset:-8px -5px;}
.plan-content {gap:2px;min-height:44px;}
.plan-when,.plan-meta {font-size:12px;line-height:1.5;}
.plan-title {font-size:14px;font-weight:550;line-height:1.5;}
.plans-empty {font-size:14px;line-height:1.5;}
.calendar-layout .record-note {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;}
.record-dialog .composer-tabs {margin-bottom:24px;}
.record-dialog .field {margin-bottom:20px;gap:5px;}
.record-dialog .field>span {color:var(--muted);font-size:13px;font-weight:500;}
.record-dialog .field input,.record-dialog .field select,.record-dialog .field textarea {font-size:16px;min-height:44px;}
.record-dialog .duration-fields {margin-bottom:10px;}
.duration-presets {display:flex;align-items:center;gap:8px;margin:0 0 20px;}
.duration-presets button {flex:1;min-height:38px;padding:6px 8px;border:0;border-radius:8px;background:var(--surface-soft);color:var(--ink-soft);font:inherit;font-size:13px;cursor:pointer;}
.duration-presets button:hover {background:var(--accent-soft);color:var(--accent-hover);}
.record-dialog .record-details,.reminder-details {margin:0;padding:0;border:0;border-top:1px solid var(--line);}
.record-dialog .record-details>summary,.reminder-details>summary {display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 0;list-style:none;font-size:13px;font-weight:500;line-height:1.5;color:var(--ink-soft);cursor:pointer;}
.record-dialog .record-details>summary::-webkit-details-marker,.reminder-details>summary::-webkit-details-marker {display:none;}
.record-dialog .record-details>summary::after {content:"";width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);margin-left:auto;margin-right:5px;}
.record-dialog .record-details[open]>summary::after {transform:rotate(225deg);}
.record-dialog .record-details[open]>summary {margin-bottom:8px;}
.reminder-details>summary>svg {flex:0 0 16px;width:16px;height:16px;color:var(--muted);transition:transform 160ms;}
.reminder-details[open]>summary>svg {transform:rotate(180deg);}
#reminderDetailsSummary {flex:1;text-align:right;font-size:12px;color:var(--muted);overflow-wrap:anywhere;}
.reminder-details[open] {padding-bottom:4px;}
.reminder-details[open]>.reminder-date-row {margin-top:8px;}
.reminder-panel .reminder-switch-row {min-height:48px;}
.reminder-switch-row strong {font-size:14px;font-weight:500;}
.reminder-switch-row small {margin-top:2px;font-size:12px;}
.reminder-panel .notification-permission {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;font-size:12px;}
.notification-permission-copy {max-width:100%;}
.reminder-panel .notification-permission .quiet-button {margin:0;min-height:36px;flex-shrink:0;}
.reminder-completed-row {border-top:1px solid var(--line)!important;}
.reminder-library {margin-top:8px;}
.reminder-library>summary {min-height:48px;color:var(--ink-soft);}
.reminder-library-toolbar {margin:0 0 8px;}
.reminder-library-toolbar button {min-height:40px;}
.reminder-library[open] {position:relative;}
.reminder-library[open]>summary {width:max-content;max-width:50%;justify-content:flex-start;gap:6px;padding-right:8px;font-size:13px;}
.reminder-library[open]>summary svg {order:-1;transform:rotate(90deg);}
.reminder-library[open]>.reminder-library-toolbar {position:absolute;right:0;top:4px;margin:0;max-width:50%;}
.reminder-filters {display:flex;gap:4px;padding:3px;margin:0 0 12px;border-radius:9px;background:var(--surface-soft);}
.reminder-filters button {flex:1;border:0;border-radius:7px;background:transparent;min-height:38px;padding:6px 8px;font:inherit;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;}
.reminder-filters button[aria-pressed="true"] {background:var(--surface,#fff);color:var(--ink);box-shadow:0 1px 4px #213a3310;}
.reminder-library-item {gap:12px;padding:14px 2px;}
.reminder-library-item:first-child {border-top:0;}
.reminder-library-item .plan-content {gap:4px;}
#reminderLibraryList .plans-empty {padding:28px 0;text-align:center;}
.record-dialog.is-browsing-reminders .composer-tabs {margin-bottom:14px;}
.record-dialog.is-browsing-reminders #reminderLibraryList {max-height:min(420px,calc(100dvh - 350px));min-height:72px;}
.record-dialog .dialog-actions {margin-top:16px;}
.record-dialog button:focus-visible,.plans-footer button:focus-visible,.plan-content:focus-visible,.plan-complete:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
@media(max-width:960px) {
 .upcoming-plans {min-height:208px;}
 .upcoming-plans-list {flex:0 0 auto;min-height:106px;}
 .plans-footer {min-height:44px;}
 .plans-pager button {width:40px;height:40px;}
 .plans-footer .plans-view-all {min-height:40px;}
 .upcoming-plan {flex-basis:100%;}
}
@media(max-width:540px) {
 .record-dialog .composer-tabs {margin-bottom:20px;}
 .record-dialog .field {margin-bottom:18px;}
 .reminder-date-row {gap:20px;}
 .reminder-options-row .field {flex-direction:column;align-items:stretch;gap:2px;border:0;}
 .reminder-options-row .field select {width:100%;flex:auto;text-align:left;border-bottom:1px solid var(--line-strong);}
 .reminder-options-row .field:focus-within {box-shadow:none;}
 .duration-presets button,.reminder-filters button {min-height:40px;}
 .reminder-panel .notification-permission {align-items:flex-start;flex-wrap:wrap;gap:0 12px;}
 .reminder-panel .notification-permission .quiet-button {min-height:36px;}
}
@media(prefers-reduced-motion:reduce) {.reminder-details>summary>svg {transition:none;}}
