.compliance-calendar{font-size:1rem}.cal-toolbar,.cal-range,.cal-series-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cal-toolbar{margin:0 0 20px}.cal-views{display:flex;gap:6px;flex-wrap:wrap}.cal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.cal-kpis .panel{padding:20px;text-align:left;color:var(--color-ink);font:inherit;display:flex;flex-direction:column;gap:10px}.cal-kpis button{cursor:pointer}.cal-kpis span{color:var(--color-muted);font-size:.875rem}.cal-kpis strong{font-size:1.75rem}.cal-filters{display:grid;grid-template-columns:1.5fr repeat(4,minmax(110px,1fr)) auto;gap:14px;align-items:end;padding:18px;margin-bottom:20px}.cal-filters label{font-size:.875rem;min-width:0;display:flex;flex-direction:column;gap:8px}.cal-filters input,.cal-filters select{width:100%;min-width:0}.cal-surface{overflow:hidden;margin-bottom:24px}.cal-range{padding:20px 22px 12px}.cal-range h2{font-size:1.125rem;margin:0}.cal-period{color:var(--color-muted);font-size:.875rem;padding:0 22px 18px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--color-border)}.cal-weekday{padding:12px;color:var(--color-muted);font-size:.875rem;text-align:center;background:var(--color-canvas);border-bottom:1px solid var(--color-border)}.cal-day{position:relative;min-height:155px;padding:8px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-width:0}.cal-week .cal-day{min-height:400px}.cal-outside{background:var(--color-canvas);color:var(--color-subtle)}.cal-today{background:var(--color-accent-soft)}.cal-date{display:flex;gap:6px;align-items:center;border:0;background:transparent;color:inherit;cursor:pointer;padding:3px 5px;margin-bottom:8px;font:inherit;font-size:.875rem}.cal-date span{color:var(--color-accent-dark);font-size:.75rem}.cal-date time{font-weight:600}.cal-selected .cal-date time{color:var(--color-accent-dark)}.cal-add{border:0;background:transparent;color:var(--color-muted);position:absolute;right:7px;top:7px;cursor:pointer;font-size:1.1rem;min-width:26px;min-height:26px}.cal-event{width:100%;min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:5px 12px;border:1px solid var(--color-border);background:var(--color-paper);text-align:left;padding:12px;font:inherit;font-size:.875rem;border-radius:5px;color:var(--color-ink);cursor:pointer;white-space:normal}.cal-event:hover{background:var(--color-hover)}.cal-event-name{overflow-wrap:anywhere;min-width:0;line-height:1.5}.cal-event-meta{grid-column:2;color:var(--color-muted);font-size:.75rem;overflow-wrap:anywhere}.cal-event>.cal-state{grid-column:3;grid-row:1/3;align-self:center}.cal-compact{display:block;border:0;border-left:3px solid var(--color-blue);padding:5px 6px;margin-bottom:5px;border-radius:3px;background:var(--color-blue-soft);font-size:.875rem}.cal-compact .cal-event-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-tone-red.cal-compact{border-color:var(--color-red);background:var(--color-red-soft)}.cal-tone-green.cal-compact{border-color:var(--color-green);background:var(--color-green-soft)}.cal-tone-amber.cal-compact{border-color:var(--color-amber);background:var(--color-amber-soft)}.cal-more{border:0;background:transparent;font:inherit;font-size:.75rem;color:var(--color-muted);cursor:pointer;padding:4px}.cal-legend{padding:16px 22px;display:flex;gap:12px;flex-wrap:wrap}.cal-state{display:inline-block;font-size:.75rem;border-radius:4px;padding:4px 7px;white-space:normal}.cal-state-blue{color:var(--color-blue);background:var(--color-blue-soft)}.cal-state-red{color:var(--color-red);background:var(--color-red-soft)}.cal-state-green{color:var(--color-green);background:var(--color-green-soft)}.cal-state-amber{color:var(--color-amber);background:var(--color-amber-soft)}.cal-mobile{display:none}.cal-agenda{padding:16px 20px}.cal-agenda-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:12px}.cal-agenda-row>time{font-size:.875rem;padding-top:12px;color:var(--color-muted)}.cal-series{margin-top:24px}.cal-series-row{padding:16px 22px;border-top:1px solid var(--color-border)}.cal-series-row strong{font-size:1rem}.cal-series-row p{margin:7px 0 0}.cal-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.cal-template{padding:24px;display:flex;align-items:flex-start;flex-direction:column}.cal-template h2{font-size:1.125rem;margin:16px 0 12px}.cal-template p{line-height:1.8;color:var(--color-muted);flex:1;margin:0 0 22px}.cal-collaborators{border:1px solid var(--color-border);padding:12px;display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;min-width:0}.cal-collaborators legend{font-size:.875rem;padding:0 5px}.cal-collaborators label,.cal-checkbox{display:flex;gap:8px;align-items:center;font-size:.875rem}.cal-checkbox{margin:16px 0}.cal-detail dl{display:grid;gap:10px}.cal-detail dt{font-size:.875rem;color:var(--color-muted);margin-top:12px}.cal-detail dd{margin:0;overflow-wrap:anywhere}.cal-pre{white-space:pre-wrap;line-height:1.8}.cal-detail .form-help{margin-top:22px}.cal-event:focus-visible,.cal-date:focus-visible,.cal-add:focus-visible,.cal-more:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:1200px){.cal-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.cal-desktop{display:none}.cal-mobile{display:block}.cal-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cal-kpis .panel{padding:14px}.cal-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.cal-range{padding:16px 14px}.cal-range h2{width:100%;order:-1}.cal-range .button-row{gap:5px}.cal-range .btn{padding:8px 10px}.cal-period{padding:0 14px 12px}.cal-agenda{padding:12px}.cal-event{grid-template-columns:48px minmax(0,1fr);padding:10px;gap:5px 8px}.cal-event>.cal-state{grid-row:auto;grid-column:2;justify-self:start}.cal-event-meta{grid-column:2}.cal-agenda-row{grid-template-columns:42px minmax(0,1fr);gap:6px}.cal-template-grid{grid-template-columns:minmax(0,1fr)}.cal-series-row{padding:14px}.cal-series-row>div{min-width:0;max-width:100%;overflow-wrap:anywhere}.cal-toolbar>.meta{font-size:.75rem}.cal-views .btn{padding:9px 11px}.cal-collaborators{flex-direction:column}}
.cal-compact-kind{display:block;font-size:.75rem;color:var(--color-muted);margin-top:2px}.compliance-calendar .cal-compact .cal-event-name{line-height:1.4}.cal-day{min-height:178px}#cal-series-form .form-field,#cal-occurrence-form .form-field{font-size:.875rem}
/* Calendar event detail drawer */
.cal-interaction-hint{margin:0 22px 16px;padding:10px 12px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-canvas);color:var(--color-muted);font-size:.8125rem}.cal-empty-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 22px 16px;padding:14px 16px;border:1px dashed var(--color-border);border-radius:8px;background:var(--color-canvas);font-size:.875rem}.cal-empty-notice strong{color:var(--color-ink)}.cal-empty-notice span{color:var(--color-muted);flex:1;min-width:200px}.cal-detail-hero{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 25px 0}.cal-detail-source{color:var(--color-muted);font-size:.8125rem}.cal-detail-tabs{display:flex;gap:4px;padding:18px 25px 0;border-bottom:1px solid var(--color-border)}.cal-detail-tab{border:0;border-bottom:2px solid transparent;background:var(--color-transparent);color:var(--color-muted);border-radius:0;padding:10px 12px;min-height:38px}.cal-detail-tab:hover{background:var(--color-hover);color:var(--color-ink)}.cal-detail-tab.is-active{border-bottom-color:var(--color-accent);color:var(--color-accent);font-weight:600}.cal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cal-detail-card{display:flex;flex-direction:column;gap:7px;padding:14px;border:1px solid var(--color-border);border-radius:8px;min-width:0}.cal-detail-card strong{overflow-wrap:anywhere}.cal-detail-card small,.cal-detail-pairs span,.cal-linked-card small{color:var(--color-muted);font-size:.75rem;line-height:1.5}.cal-detail-label{color:var(--color-muted);font-size:.75rem}.cal-detail-section{border-top:1px solid var(--color-border);padding-top:20px;margin-top:22px}.cal-detail-section h3{font-size:1rem;margin:0 0 12px}.cal-detail-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cal-detail-pairs div{display:flex;flex-direction:column;gap:6px}.cal-detail-pairs strong{overflow-wrap:anywhere}.cal-linked-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--color-border);border-radius:8px}.cal-linked-card>div{display:flex;flex-direction:column;gap:5px;min-width:0}.cal-linked-card strong{overflow-wrap:anywhere}.cal-detail-empty{text-align:center;padding-bottom:8px}.cal-detail-empty-icon{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 10px;border-radius:50%;background:var(--color-blue-soft);color:var(--color-blue);font-size:1.1rem}.cal-detail-empty p{color:var(--color-muted);line-height:1.7;margin:0 auto;max-width:42ch}.cal-detail .cal-pre{line-height:1.8;margin:0;white-space:pre-wrap;color:var(--color-muted)}
@media(max-width:600px){.cal-detail-grid,.cal-detail-pairs{grid-template-columns:1fr}.cal-detail-tabs{padding-left:18px;padding-right:18px;overflow-x:auto}.cal-detail-hero{padding-left:18px;padding-right:18px}.cal-linked-card{align-items:flex-start;flex-direction:column}.cal-empty-notice{margin-left:14px;margin-right:14px}.cal-interaction-hint{margin-left:14px;margin-right:14px}}
