.calendar-mode .shell { padding: 0 18px 24px; }
.calendar-mode .shell > .topbar, .calendar-mode .identity, .calendar-mode .company-tabs, .calendar-mode .issuer-data-notice { display:none; }
#calendar { padding-top:24px; }
#calendar button, #calendar input, #calendar select { font:inherit; }
#calendar button, #calendar select, #calendar input[type="date"] { color:var(--ink); background:var(--control-bg); border:1px solid var(--line); border-radius:6px; padding:8px 11px; }
#calendar button { cursor:pointer; }
#calendar button:hover { background:var(--control-hover); border-color:var(--line2); }
#calendar :focus-visible { outline:2px solid var(--green);outline-offset:2px; }
#calendar button:disabled { opacity:.4;cursor:default; }
.cal-heading { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px; }
.cal-heading h1 {font-size:26px;letter-spacing:-.025em;margin:5px 0 7px;}
#calendarScope {color:var(--muted);font-size:12px;}
.cal-summary {display:grid;grid-template-columns:1.4fr repeat(4,1fr);padding:22px 20px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(115deg,var(--panel),var(--panel2));margin-bottom:14px;gap:18px;}
.cal-summary>div:not(:first-child) {border-left:1px solid var(--line);padding-left:20px;}
.cal-summary strong {display:block;font-size:23px;font-weight:650;letter-spacing:-.02em;}
.cal-summary span {display:block;color:var(--muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase;margin-top:6px;}
.cal-summary-date {align-self:center;font-size:13px;color:var(--soft);}
.cal-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid var(--line);padding:11px;border-radius:9px;background:var(--panel);margin-bottom:14px;}
.cal-search {display:flex;align-items:center;gap:9px;flex:1;min-width:190px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--input-bg);color:var(--muted);}
#calendarSearch {width:100%;background:transparent;color:var(--ink);border:0;outline:none;min-width:0;}
.cal-segments {display:flex;gap:2px;background:var(--bg);border:1px solid var(--line);padding:3px;border-radius:7px;}
#calendar .cal-segments button {background:transparent;border:0;padding:7px 12px;color:var(--muted);}
#calendar .cal-segments .active {background:var(--active-bg);color:var(--active-ink);}
.cal-navigation {display:flex;gap:4px;align-items:center;}
.cal-layout {display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;}
.cal-filters {align-self:start;padding:18px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel);}
.cal-filter-heading {display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:11px;letter-spacing:.07em;}
#calendar .cal-filter-heading button {border:0;padding:3px;background:transparent;font-size:10px;color:var(--muted);}
.cal-universe {font-size:11px;color:var(--green);margin:14px 0 18px;}
.cal-filters fieldset {border:0;border-top:1px solid var(--line);padding:12px 0;margin:0;}
.cal-filters legend,.cal-sector-label {font-size:10px;color:var(--muted);letter-spacing:.1em;padding-right:8px;}
.cal-filters fieldset label {display:flex;align-items:center;gap:7px;font-size:11px;margin:12px 0;cursor:pointer;}
.cal-filters input {accent-color:var(--green);margin:0;}
.cal-filters small {margin-left:auto;color:var(--muted);}
.cal-category-dot {width:5px;height:5px;border-radius:50%;background:var(--muted);flex:none;}
.cal-category-dot.earnings {background:var(--green);}.cal-category-dot.dividends {background:var(--amber);}.cal-category-dot.meetings {background:#969bc2;}.cal-category-dot.actions {background:var(--red);}
.cal-sector-label {display:block;margin:8px 0;}
#calendarSector, #calendarUniverse {width:100%;font-size:11px!important;}
.cal-select {position:relative;margin-bottom:16px;}
#calendar .cal-select-trigger {display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;padding:10px 12px;text-align:left;font-size:12px;border-radius:8px;background:linear-gradient(135deg,var(--control-bg),var(--panel));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 4%,transparent);transition:border-color .15s,background .15s,box-shadow .15s;}
.cal-select-value {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cal-select-trigger svg,.cal-select-option svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.cal-select-trigger svg {color:var(--muted);transition:transform .15s;}
#calendar .cal-select-trigger[aria-expanded="true"] {border-color:color-mix(in srgb,var(--green) 65%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent);}
.cal-select-trigger[aria-expanded="true"] svg {transform:rotate(180deg);color:var(--green);}
#calendar .cal-select-menu {position:fixed;inset:auto;margin:0;padding:6px;box-sizing:border-box;max-width:calc(100vw - 24px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line2);border-radius:11px;background:var(--drawer-bg);color:var(--ink);box-shadow:0 16px 42px var(--shadow),0 3px 10px var(--shadow);font-family:inherit;}
.cal-select-menu::backdrop {background:transparent;}
.cal-select-option {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:6px;cursor:pointer;transition:background .12s;color:var(--soft);}
.cal-select-option+.cal-select-option {margin-top:3px;}
.cal-option-title {display:block;font-size:12px;line-height:1.5;font-weight:500;}
.cal-select-option small {display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:3px;}
.cal-select-option svg {visibility:hidden;color:var(--green);}
.cal-select-option[aria-selected="true"] {background:color-mix(in srgb,var(--green) 11%,var(--drawer-bg));color:var(--ink);}
.cal-select-option[aria-selected="true"] svg {visibility:visible;}
.cal-select-option.is-active {background:color-mix(in srgb,var(--green) 17%,var(--drawer-bg));color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 18%,transparent);}
@media(prefers-reduced-motion:reduce) {.cal-select-trigger,.cal-select-trigger svg,.cal-select-option {transition:none!important;}}
.cal-confirmed {display:flex;gap:8px;align-items:center;font-size:11px;margin:20px 0;}
.cal-source-note {font-size:11px;line-height:1.65;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;}
.cal-main {min-width:0;}
.cal-period-heading {display:flex;justify-content:space-between;align-items:center;margin:5px 0 12px;gap:12px;}
.cal-period-heading h2 {margin:0;font-size:15px;}.cal-period-heading span {font-size:11px;color:var(--muted);}
.cal-content {border:1px solid var(--line);border-radius:9px;overflow:auto;background:var(--panel);}
.cal-day-columns {display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-height:470px;}
.cal-day-column {border-right:1px solid var(--line);min-width:0;}.cal-day-column:last-child {border:0;}
#calendar .cal-column-heading {width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);padding:15px 12px;text-align:left;display:grid;gap:5px;}
.cal-column-heading>span {text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted);}
.cal-column-heading strong {font-size:24px;}.cal-column-heading strong small {font-size:11px;font-weight:400;}.cal-column-heading>small {font-size:10px;color:var(--muted);}
#calendar .today>.cal-column-heading {background:var(--selected-row);color:var(--green);}
.cal-day-events {padding:8px;display:grid;gap:9px;align-content:start;}
#calendar .cal-event {width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);padding:11px 9px;display:grid;gap:10px;border-radius:7px;min-width:0;}
#calendar .cal-event:hover {border-color:var(--amber);background:var(--control-hover);}
.cal-event-identity {display:flex;gap:8px;align-items:center;min-width:0;}.cal-event-identity>span {min-width:0;}
.cal-event-identity strong {display:block;font-size:12px;}.cal-event-identity small {font-size:8px;font-weight:400;color:var(--muted);}
.cal-logo {height:28px;width:28px;border-radius:5px;object-fit:contain;background:#fff;flex:none;}.cal-logo-empty {display:grid;place-items:center;background:var(--panel3);color:var(--amber);font-size:9px;}
.cal-company-name {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--soft);margin-top:4px;}
.cal-event-type {font-size:10px;line-height:1.4;text-transform:capitalize;color:var(--muted);}.cal-event-type.earnings {color:var(--green);}.cal-event-type.dividends {color:var(--amber);}
.cal-event-footer {display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center;}
.cal-state {font-size:9px;color:var(--muted);text-transform:capitalize;}.cal-state::before {content:'';display:inline-block;width:5px;height:5px;background:var(--muted);border-radius:50%;margin-right:5px;}.cal-state.confirmed::before {background:var(--green);}
.cal-key-detail {font-size:9px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cal-day-empty {font-size:11px;color:var(--muted);padding:22px 4px;text-align:center;}
.cal-day-columns.single {display:block;min-height:320px;}.single .cal-day-events {grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:16px;}.single .cal-event {padding:16px;}
.cal-empty {padding:38px 20px;text-align:center;color:var(--muted);font-size:12px;}.cal-empty strong {color:var(--ink);display:block;margin-bottom:8px;}.cal-empty p {margin-bottom:15px;line-height:1.6;}
.cal-month-grid {display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));}
.cal-weekday {padding:12px;font-size:10px;text-transform:uppercase;text-align:center;color:var(--muted);border-bottom:1px solid var(--line);}
.cal-month-cell {min-height:145px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;}.cal-month-cell.today {background:var(--selected-row);}.outside {opacity:.4;}
#calendar .cal-day-number {display:flex;width:100%;justify-content:space-between;background:transparent;border:0;padding:3px 2px 8px;font-size:12px;}.cal-day-number small {font-size:9px;color:var(--muted);}
#calendar .cal-event-compact {padding:7px;gap:6px;margin-bottom:5px;}.cal-event-compact .cal-logo {height:20px;width:20px;}.cal-event-compact .cal-company-name {font-size:9px;}.cal-event-compact .cal-event-identity strong {font-size:10px;}.cal-event-compact .cal-event-type {font-size:9px;}
#calendar .cal-more {border:0;background:transparent;font-size:10px;padding:5px;color:var(--green);}
#calendar .cal-heat-cell {border-radius:0;min-height:118px;display:grid;text-align:left;align-content:start;gap:8px;border:1px solid var(--line);background:linear-gradient(rgba(109,181,141,var(--density)),rgba(109,181,141,var(--density))),var(--panel);}
.cal-heat-cell strong {font-size:24px;}.cal-heat-cell small {font-size:10px;color:var(--soft);}#calendar .cal-heat-cell.today {outline:2px solid var(--amber);outline-offset:-3px;}
.cal-agenda-day {display:grid;grid-template-columns:130px minmax(0,1fr);border-bottom:1px solid var(--line);}.cal-agenda-day:last-child{border:0;}.cal-agenda-day h3 {padding:18px;margin:0;font-size:13px;background:var(--surface);}.cal-agenda-day h3 small {display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:6px;}
.cal-agenda-row {display:grid;grid-template-columns:240px minmax(0,1fr) 140px;align-items:center;gap:18px;padding:10px 15px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);}.cal-agenda-row:last-child {border:0;}.cal-agenda-title {color:var(--ink);line-height:1.5;}
.cal-freshness {font-size:10px;color:var(--muted);line-height:1.6;margin:15px 0;}
#calendarDetail {position:fixed;inset:0;margin:auto;width:min(580px,calc(100vw - 32px));max-height:85vh;overflow:auto;background:var(--drawer-bg);color:var(--ink);border:1px solid var(--line2);border-radius:12px;padding:30px;box-shadow:0 24px 80px var(--shadow);}
#calendarDetail::backdrop {background:rgba(0,0,0,.65);}#calendarDetailClose {float:right;font-size:20px!important;padding:2px 10px!important;margin-left:12px;}
#calendarDetailTitle {font-size:23px;line-height:1.2;margin:10px 0 15px;}.cal-detail-date {color:var(--muted);margin:10px 0;}
#calendarDetailBody h3 {font-size:14px;margin:24px 0 10px;line-height:1.5;}#calendarDetailBody p {line-height:1.75;font-size:13px;}#calendarDetailBody dl {display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:12px;margin:24px 0;}#calendarDetailBody dt {color:var(--muted);}#calendarDetailBody dd {margin:0;overflow-wrap:anywhere;}
.cal-detail-links {display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}.cal-detail-links a {border:1px solid var(--line);border-radius:5px;padding:9px 12px;font-size:12px;color:var(--green);text-decoration:none;}
.cal-sr {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
@media(max-width:1100px) {.cal-layout{grid-template-columns:160px minmax(0,1fr);}.cal-summary{gap:10px;padding:16px;}.cal-summary>div:not(:first-child){padding-left:12px;}.cal-summary strong{font-size:19px;}.cal-agenda-row{grid-template-columns:210px 1fr;}.cal-agenda-row>span:last-child{display:none;}}
@media(max-width:700px) {.calendar-mode .shell{padding:0 10px 20px;}.cal-heading h1{font-size:23px;}.cal-summary{grid-template-columns:repeat(2,1fr);}.cal-summary-date{grid-column:1/-1;}.cal-summary>div:not(:first-child){border:0;padding:0;}.cal-layout{display:block;}.cal-filters{margin-bottom:12px;}.cal-filters fieldset{display:flex;flex-wrap:wrap;gap:0 15px;}.cal-filters fieldset label{margin:8px 0;}.cal-source-note{display:none;}.cal-segments{width:100%;justify-content:space-between;}.cal-toolbar{gap:9px;}.cal-navigation{flex:1;}.cal-search{min-width:100%;}.cal-agenda-day{display:block;}.cal-agenda-row{grid-template-columns:1fr;padding:10px;gap:8px;}.cal-summary span{font-size:9px;}}

.cal-heading-actions {display:flex;gap:8px;align-items:center;}
#calendarSync {background:var(--active-bg)!important;color:var(--active-ink)!important;font-weight:600!important;}
.cal-sync-bar {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;padding:12px 15px;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:12px;}
.cal-sync-bar>div {min-width:0;flex:1;}
#calendarSyncStatus {display:block;overflow-wrap:anywhere;}
#calendarSyncLast {display:block;margin-top:5px;color:var(--muted);font-size:10px;}
.cal-sync-bar label {font-size:11px;white-space:nowrap;color:var(--soft);}
.cal-sync-bar input {accent-color:var(--green);vertical-align:middle;}
#calendarSyncProgress {width:100%;height:5px;accent-color:var(--green);}
#calendarSyncProgress[hidden] {display:none;}
@media(max-width:700px) {.cal-heading {align-items:flex-start;}.cal-heading-actions {flex-direction:column;}.cal-sync-bar label {white-space:normal;}}

/* Calendar workspace: restrained surfaces and a single aligned control area. */
#calendar {--cal-line:color-mix(in srgb,var(--line) 60%,transparent);padding-top:22px;}
.cal-heading {margin-bottom:12px;}
.cal-heading h1 {font-size:25px;font-weight:650;}
.cal-heading .eyebrow {font-size:10px;letter-spacing:.14em;margin-bottom:8px;}
#calendarScope {font-size:11px;margin-bottom:0;}
.cal-heading-actions {gap:8px;}
#calendar .cal-heading-actions button {font-size:11px;min-height:34px;border-color:var(--cal-line);}
#calendar #calendarSync {background:color-mix(in srgb,var(--green) 9%,var(--panel));border-color:color-mix(in srgb,var(--green) 30%,var(--line));}
#calendar #calendarSync:disabled {opacity:.7;}
.cal-sync-bar {position:relative;border:0;border-radius:0;background:transparent;padding:4px 0 9px;margin:0 0 12px;font-size:10px;color:var(--muted);gap:8px;}
.cal-sync-bar>div {display:flex;align-items:center;gap:14px;}
#calendarSyncStatus {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:65vw;}
#calendarSyncLast {font-size:9px;margin:0;}
.cal-sync-bar label {font-size:10px;}
#calendarSyncProgress {position:absolute;bottom:0;left:0;height:2px;opacity:.65;}
.cal-summary {background:var(--panel);border-color:var(--cal-line);border-radius:10px;padding:17px 20px;margin-bottom:18px;min-height:84px;grid-template-columns:1.35fr repeat(4,1fr);gap:16px;box-sizing:border-box;}
.cal-summary:empty::after {content:'Loading calendar overview…';color:var(--muted);font-size:12px;align-self:center;}
.cal-summary strong {font-size:24px;font-variant-numeric:tabular-nums;font-weight:600;}
.cal-summary strong small {font-size:17px;color:var(--muted);font-weight:400;}
.cal-summary span {font-size:9px;letter-spacing:.09em;}
.cal-summary-date {font-size:12px;line-height:1.6;}
#calendar .cal-summary>button {text-align:left;border:0;border-left:1px solid var(--cal-line);border-radius:0;padding:0 0 0 20px;background:transparent;}
#calendar .cal-summary>button:hover strong {color:var(--green);}
.cal-summary b {font-weight:400;opacity:.5;margin-left:5px;}
.cal-workbench {border:1px solid var(--cal-line);border-radius:11px;background:var(--panel);overflow:clip;}
.cal-toolbar {margin:0;border:0;border-bottom:1px solid var(--cal-line);border-radius:0;padding:12px;gap:10px;background:var(--panel2);}
.cal-search {min-width:180px;flex:1 1 220px;padding:10px 12px;border:1px solid transparent;border-radius:7px;background:var(--bg);}
.cal-search:focus-within {border-color:color-mix(in srgb,var(--green) 50%,var(--line));}
#calendarSearch {font-size:12px;}
.cal-segments {padding:3px;background:color-mix(in srgb,var(--bg) 50%,var(--panel));border-color:var(--cal-line);}
#calendar .cal-segments button {font-size:12px;padding:8px 13px;transition:background .15s;}
#calendar .cal-segments .active {background:color-mix(in srgb,var(--green) 22%,var(--panel));color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 20%,transparent);}
#calendar #calendarExport {font-size:11px;padding:10px 12px;border-color:var(--cal-line);}
.cal-navigation {gap:0;border:1px solid var(--cal-line);border-radius:7px;overflow:hidden;}
#calendar .cal-navigation>button,#calendar #calendarDateTrigger {border:0;background:transparent;border-radius:0;min-height:36px;font-size:12px;}
#calendar .cal-navigation>button {padding:6px 11px;}
#calendar .cal-navigation>button:hover,#calendar #calendarDateTrigger:hover {background:var(--control-hover);}
#calendar #calendarDateTrigger {padding:9px 12px;min-width:172px;font-variant-numeric:tabular-nums;border-left:1px solid var(--cal-line);border-right:1px solid var(--cal-line);}
#calendar #calendarToday {border-left:1px solid var(--cal-line);font-size:11px;}
.cal-layout {grid-template-columns:220px minmax(0,1fr);gap:0;}
.cal-filters {border:0;border-right:1px solid var(--cal-line);border-radius:0;padding:20px 16px;align-self:stretch;background:color-mix(in srgb,var(--panel2) 30%,var(--panel));}
.cal-filter-heading {margin-bottom:18px;letter-spacing:.08em;}
#calendar .cal-filter-heading button {font-size:10px;color:var(--green);}
.cal-filter-group {border-top:1px solid var(--cal-line);padding:15px 0 0;margin:0 0 15px;}
.cal-filter-group summary {display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 13px;}
.cal-filter-group summary::-webkit-details-marker {display:none;}
.cal-filter-group summary::after {content:'';width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-right:3px;}
.cal-filter-group[open] summary::after {transform:rotate(225deg);}
.cal-filter-hint {font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 10px;}
.cal-filters fieldset {padding:0;border:0;}
.cal-filters fieldset label {font-size:12px;min-height:28px;margin:4px -6px;padding:5px 6px;border-radius:5px;gap:9px;}
.cal-filters fieldset label:hover {background:var(--control-hover);}
.cal-filters small {font-variant-numeric:tabular-nums;font-size:11px;}
#calendar input[type=checkbox] {appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:14px;height:14px;flex:none;vertical-align:middle;border:1px solid color-mix(in srgb,var(--muted) 60%,transparent);background:var(--control-bg);border-radius:4px;cursor:pointer;}
#calendar input[type=checkbox]:checked {background:var(--green);border-color:var(--green);}
#calendar input[type=checkbox]:checked::after {content:'';position:absolute;left:4px;top:1px;width:4px;height:7px;border:solid var(--bg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);}
.cal-confirmed {font-size:12px;margin:4px 0 12px;cursor:pointer;}
.cal-select {margin-bottom:10px;}
#calendar .cal-select-trigger {background:var(--control-bg);min-height:37px;padding:9px 10px;font-size:11px;box-shadow:none;border-color:var(--cal-line);}
.cal-option-count {margin-left:auto;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;}
.cal-select-option {gap:9px;}
.cal-select-option>span:first-child {flex:1;}
#calendar .cal-select-menu {max-height:360px;}
.cal-main {padding:0;}
.cal-period-heading {padding:15px 16px;margin:0;border-bottom:1px solid var(--cal-line);min-height:48px;box-sizing:border-box;}
.cal-period-heading h2 {font-size:13px;font-weight:550;}
.cal-content {border:0;border-radius:0;background:var(--panel);}
.cal-day-columns {grid-template-columns:repeat(7,minmax(138px,1fr));min-height:480px;}
.cal-day-column {border-color:var(--cal-line);}
#calendar .cal-column-heading {padding:14px 12px;background:transparent;border-color:var(--cal-line);gap:5px;}
.cal-column-heading strong {font-size:22px;font-weight:500;}
.cal-column-heading>span {font-size:9px;}
.cal-column-heading>small {font-size:10px;}
#calendar .today>.cal-column-heading {background:color-mix(in srgb,var(--green) 10%,var(--panel));box-shadow:inset 0 2px 0 var(--green);}
.cal-day-column.today {background:color-mix(in srgb,var(--green) 4%,var(--panel));}
.cal-day-events {padding:8px;gap:7px;}
#calendar .cal-event {background:color-mix(in srgb,var(--panel2) 40%,var(--panel));border-color:var(--cal-line);border-radius:7px;padding:11px 9px;gap:9px;transition:background .15s,border-color .15s,box-shadow .15s;}
#calendar .cal-event:hover {background:var(--control-hover);border-color:color-mix(in srgb,var(--green) 50%,var(--line));box-shadow:0 3px 10px var(--shadow);}
.cal-event-identity {gap:7px;}
.cal-event-identity strong {font-size:12px;font-weight:650;letter-spacing:.01em;}
.cal-event-identity small {font-size:8px;letter-spacing:0;}
.cal-company-name {font-size:11px;margin-top:4px;line-height:1.4;}
.cal-logo {width:25px;height:25px;border-radius:5px;}
.cal-logo-empty {font-size:10px;font-weight:600;color:var(--soft);background:color-mix(in srgb,var(--green) 12%,var(--panel));border:1px solid var(--cal-line);}
.cal-event-type {display:flex;align-items:baseline;gap:6px;font-size:10px;line-height:1.5;}
.cal-event-type i {align-self:center;}
.cal-state {font-size:9px;}
.cal-key-detail {font-size:9px;max-width:100%;}
.cal-active-filters {display:flex;flex-wrap:wrap;gap:6px;padding:9px 14px;border-bottom:1px solid var(--cal-line);}
.cal-active-filters[hidden] {display:none;}
#calendar .cal-active-filters button {font-size:10px;padding:5px 8px;border-radius:5px;border-color:color-mix(in srgb,var(--green) 25%,var(--line));background:color-mix(in srgb,var(--green) 8%,var(--panel));}
.cal-active-filters button span {margin-left:5px;color:var(--muted);}
.cal-source-note {font-size:10px;border-color:var(--cal-line);}
#calendar .cal-date-menu {position:fixed;inset:auto;margin:0;padding:14px;box-sizing:border-box;max-height:calc(100vh - 24px);overflow:auto;border:1px solid var(--line2);border-radius:12px;background:var(--drawer-bg);color:var(--ink);box-shadow:0 16px 48px var(--shadow);}
.cal-picker-heading {display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.cal-picker-heading strong {font-size:13px;font-weight:550;}
#calendar .cal-picker-heading button {padding:4px 10px;border:0;background:transparent;font-size:20px;}
.cal-picker-weekdays,.cal-picker-grid {display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-picker-weekdays {text-align:center;font-size:10px;color:var(--muted);margin-bottom:10px;}
#calendar .cal-picker-grid button {border:0;background:transparent;border-radius:50%;padding:0;aspect-ratio:1;font-size:12px;font-variant-numeric:tabular-nums;}
#calendar .cal-picker-grid button:hover {background:var(--control-hover);}
#calendar .cal-picker-grid .is-outside {opacity:.3;}
#calendar .cal-picker-grid .is-weekend {color:var(--muted);}
#calendar .cal-picker-grid [aria-current=date] {box-shadow:inset 0 0 0 1px var(--green);color:var(--green);}
#calendar .cal-picker-grid [aria-pressed=true] {background:var(--green);color:var(--bg);font-weight:600;opacity:1;}
.cal-picker-footer {display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:10px;border-top:1px solid var(--cal-line);font-size:10px;color:var(--muted);}
#calendar .cal-picker-footer button {background:transparent;border:0;color:var(--green);font-size:11px;padding:6px;}
@media(max-width:1200px) {.cal-toolbar {gap:8px;}.cal-search {flex-basis:210px;}.cal-layout {grid-template-columns:200px minmax(0,1fr);}#calendarSyncLast {display:none;}}
@media(max-width:700px) {.cal-layout {grid-template-columns:1fr;}.cal-filters {border-right:0;border-bottom:1px solid var(--cal-line);}.cal-filter-group {margin-bottom:8px;}.cal-summary {grid-template-columns:repeat(2,1fr);padding:16px;}.cal-summary-date {grid-column:1/-1;}#calendar .cal-summary>button {padding-left:0;border-left:0;}.cal-summary>div:not(:first-child) {padding-left:0;border-left:0;}.cal-toolbar {position:static;}.cal-search {flex-basis:100%;}.cal-navigation {margin-left:auto;}.cal-sync-bar>div {width:100%;flex-basis:100%;}#calendarSyncStatus {max-width:calc(100vw - 110px);}.cal-heading h1 {font-size:22px;}}
@media(prefers-reduced-motion:reduce) {#calendar .cal-event,#calendar .cal-segments button {transition:none;}}

@media(min-width:701px) {.cal-toolbar {position:sticky;top:0;z-index:5;}.cal-day-columns.cal-quiet-weekend {grid-template-columns:repeat(5,minmax(160px,1fr)) repeat(2,minmax(65px,.35fr));}}
#calendar .cal-event-compact {padding:7px;gap:6px;}
.cal-event-compact .cal-event-identity strong {font-size:10px;}
.cal-event-compact .cal-company-name {font-size:9px;}
.cal-event-compact .cal-event-type {font-size:9px;}
.cal-event-compact .cal-logo {width:20px;height:20px;}
body.calendar-mode {overflow-x:clip;overflow-y:visible;}

/* Event evidence drawer: keep the calendar visible while inspecting a stock. */
#calendarDetail.cal-event-drawer {inset:0 0 0 auto;margin:0;width:min(560px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;box-sizing:border-box;border-radius:0;border-width:0 0 0 1px;padding:0;overscroll-behavior:contain;scrollbar-gutter:stable;}
#calendarDetail.cal-event-drawer::backdrop {background:rgba(0,0,0,.38);}
.cal-event-drawer #calendarDetailClose {position:sticky;top:16px;float:right;z-index:3;margin:14px 18px -48px 0;width:32px;height:32px;line-height:1;background:var(--drawer-bg);}
.cal-detail-top {position:sticky;top:0;z-index:2;min-height:62px;display:flex;align-items:center;padding:0 64px 0 24px;border-bottom:1px solid var(--line);background:var(--drawer-bg);color:var(--muted);font-size:13px;}
.cal-detail-top strong {color:var(--ink);font-weight:600;}.cal-detail-top span span {margin:0 7px;opacity:.5;}
.cal-detail-inner {padding:20px 24px 30px;}
.cal-detail-nav {display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-bottom:24px;font-variant-numeric:tabular-nums;}
#calendar .cal-detail-nav button {width:30px;height:30px;padding:0;font-size:22px;line-height:1;}
.cal-detail-company {display:flex;align-items:center;gap:14px;margin-bottom:24px;min-width:0;}
.cal-detail-company>.cal-logo {width:56px;height:56px;flex:0 0 56px;border-radius:12px;object-fit:contain;}
.cal-detail-company>div {min-width:0;}.cal-detail-company #calendarDetailTitle {font-size:21px;margin:0 0 7px;line-height:1.3;overflow-wrap:anywhere;}
#calendarDetailBody .cal-detail-company p {margin:0 0 7px;color:var(--soft);font-size:11px;line-height:1.6;}.cal-detail-company p span {color:var(--muted);}
.cal-detail-company a {font-size:12px;color:var(--green);text-decoration:none;}.cal-detail-company small {font-size:10px;color:var(--muted);}
.cal-detail-hero {display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:20px 16px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--green) 4%,var(--panel));}
.cal-detail-day {display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid var(--line);padding-right:16px;}
.cal-detail-day strong {font-size:40px;font-weight:550;line-height:1.1;}.cal-detail-day span {font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:7px;}
#calendarDetailBody .cal-detail-kind {margin:0 0 8px;text-transform:capitalize;font-size:12px;color:var(--green);font-weight:600;line-height:1.4;}
.cal-detail-hero>div:not(.cal-detail-day)>strong {font-size:16px;}.cal-detail-badges {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:10px;}.cal-detail-badges>span:first-child {color:var(--soft);}
#calendarDetailBody .cal-detail-context {font-size:10px;line-height:1.5;color:var(--muted);margin:10px 0 0;}
#calendarDetailBody .cal-detail-caution {font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 25px;}
.cal-detail-section-heading {display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;}
#calendarDetailBody .cal-detail-section-heading h3 {font-size:14px;margin:0;}.cal-detail-section-heading>span {font-size:11px;color:var(--muted);}
#calendarDetailBody .cal-detail-range {color:var(--muted);font-size:10px;margin:6px 0 14px;}
.cal-detail-event {border:1px solid var(--line);border-radius:9px;margin-bottom:12px;overflow:hidden;background:var(--panel);}
.cal-detail-event.is-selected {border-color:color-mix(in srgb,var(--green) 50%,var(--line));}
.cal-detail-event>summary {display:flex;align-items:center;gap:10px;padding:15px;cursor:pointer;list-style:none;}
.cal-detail-event>summary::-webkit-details-marker {display:none;}.cal-detail-event>summary:after {content:'›';font-size:20px;color:var(--muted);margin-left:auto;transform:rotate(90deg);}.cal-detail-event[open]>summary:after {transform:rotate(-90deg);}
.cal-detail-event>summary>span:first-child {flex:1;min-width:0;}.cal-detail-event summary strong {display:block;font-size:12px;text-transform:capitalize;line-height:1.5;}.cal-detail-event summary small {display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5;}
.cal-detail-event.is-selected>summary {background:color-mix(in srgb,var(--green) 7%,var(--panel));}
.cal-detail-event-body {border-top:1px solid var(--line);padding:15px;}
#calendarDetailBody .cal-event-facts {display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:0 0 18px;font-size:12px;}
.cal-event-facts>div {padding:12px;min-width:0;}.cal-event-facts>div:nth-child(2) {border-left:1px solid var(--line);}.cal-event-facts .cal-fact-wide {grid-column:1/-1;border-top:1px solid var(--line);}
#calendarDetailBody .cal-event-facts dt {font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}#calendarDetailBody .cal-event-facts dd {line-height:1.6;}
.cal-detail-event-body h4 {font-size:12px;line-height:1.6;margin:0 0 8px;font-weight:600;overflow-wrap:anywhere;}
#calendarDetailBody .cal-record-description {font-size:12px;line-height:1.7;color:var(--soft);white-space:pre-line;overflow-wrap:anywhere;margin:0 0 18px;}
.cal-evidence {margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}.cal-evidence h4 {font-size:11px;}
#calendarDetailBody .cal-evidence-provider {font-size:10px;color:var(--muted);margin:0 0 12px;}
.cal-evidence-link {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--green);background:var(--control-bg);}
.cal-evidence-link:hover {background:var(--control-hover);border-color:var(--green);}.cal-evidence-link strong {display:block;font-size:12px;font-weight:550;}.cal-evidence-link small {display:block;color:var(--muted);font-size:10px;margin-top:5px;overflow-wrap:anywhere;}
#calendarDetailBody .cal-evidence-note,#calendarDetailBody .cal-evidence-missing {font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 0;}
.cal-related-filing {margin-top:14px;border-top:1px dashed var(--line);padding-top:12px;}.cal-related-filing>summary {font-size:10px;color:var(--muted);cursor:pointer;line-height:1.6;}.cal-related-filing[open]>summary {margin-bottom:10px;}
.cal-detail-provenance {margin-top:24px;border-top:1px solid var(--line);padding-top:18px;}.cal-detail-provenance>summary {font-size:11px;cursor:pointer;color:var(--muted);}
#calendarDetailBody .cal-detail-provenance dl {font-size:10px;grid-template-columns:100px minmax(0,1fr);line-height:1.7;margin:16px 0 0;}
#calendar .cal-event.is-selected {border-color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 35%,transparent);}
@media(max-width:600px) {.cal-detail-inner{padding:18px 16px;}.cal-detail-top{padding-left:16px;}.cal-detail-hero{gap:12px;}.cal-detail-company #calendarDetailTitle{font-size:18px;}.cal-detail-company>.cal-logo{width:46px;height:46px;flex-basis:46px;}}
