.calendar-source-bar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.calendar-source { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:64px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--panel); }
.calendar-source>i { width:8px; height:34px; border-radius:5px; background:var(--source-color); }
.calendar-source>div { display:grid; min-width:0; }
.calendar-source small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.event-pill { border-left:3px solid var(--event-color); background:color-mix(in srgb,var(--event-color) 15%,var(--panel)); color:color-mix(in srgb,var(--event-color) 78%,var(--text)); }
.event-pill.event-start { border-radius:5px 2px 2px 5px; }
.event-pill.event-middle { border-left-color:color-mix(in srgb,var(--event-color) 38%,transparent);border-radius:2px; }
.event-pill.event-end { border-left-color:color-mix(in srgb,var(--event-color) 38%,transparent);border-radius:2px 5px 5px 2px; }
.calendar-day:has(.event-middle),.calendar-day:has(.event-end) { background-image:linear-gradient(90deg,color-mix(in srgb,var(--accent) 2%,transparent),transparent 35%); }
.calendar-agenda-item { position:relative; padding-left:14px; }
.calendar-agenda-item:before { content:""; position:absolute; inset:14px auto 14px 0; width:4px; border-radius:4px; background:var(--event-color); }
.calendar-agenda-item[data-read-only="true"] .badge { color:var(--event-color); background:color-mix(in srgb,var(--event-color) 13%,var(--panel)); }
.calendar-category-list { display:grid; gap:6px; max-height:260px; overflow:auto; }
.calendar-category-list>button { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:var(--panel); text-align:left; }
.calendar-category-list>button:hover { background:var(--panel2); }
.calendar-category-list i { width:12px; height:12px; border-radius:50%; background:var(--category-color); }
.shopping-delete { color:var(--red); }
.shopping-delete:hover { background:color-mix(in srgb,var(--red) 10%,transparent); }
.settings-theme-panel { margin-top:20px; }
.settings-theme-panel select { min-width:190px; }
.system-security-grid { margin-top:18px; }
.system-error-summary { margin-top:18px; padding:14px; border:1px solid color-mix(in srgb,var(--amber) 30%,var(--line)); border-radius:8px; background:color-mix(in srgb,var(--amber) 8%,var(--panel)); }
.system-error-summary>strong { display:block; margin-bottom:8px; }
.system-error-summary p { display:grid; grid-template-columns:130px minmax(0,1fr); gap:10px; margin:6px 0; color:var(--muted); font-size:.875rem; }
.system-error-summary p span { color:var(--text); font-weight:600; }
@media (max-width:720px) { .calendar-source-bar { grid-template-columns:1fr; } .system-error-summary p { grid-template-columns:1fr; gap:2px; } }
