/* Scoped date-axis module; surrounding institution workspace is unchanged. */
.ca-panel{--ca-rail:#cfc4e8;--ca-muted:#68647a;--ca-purple:#6745c0}
.ca-panel .ca-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.ca-panel .ca-heading h2{margin-bottom:0}.ca-heading>span{font-size:14px;color:var(--ca-muted);font-variant-numeric:tabular-nums}.ca-panel .ca-intro{font-size:14px;margin:12px 0 20px}.ca-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ca-controls label{font-size:13px;color:var(--ca-muted);margin:0;display:flex;flex-direction:column;gap:7px}.ca-controls select{font-size:14px;min-width:145px;min-height:44px;margin:0;padding:8px 12px}.ca-controls button{font-size:14px;min-height:44px;white-space:nowrap}.ca-count{font-size:13px;color:var(--ca-muted);padding:12px 0;margin-left:auto}.ca-panel .ca-privacy{font-size:13px;line-height:1.8;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:0}.ca-notice{font-size:14px;background:#fff5e6;color:#81551d;padding:12px 16px;margin-top:16px}.ca-direction{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:12px;color:var(--ca-muted)}
.ca-day{display:grid;grid-template-columns:108px minmax(0,1fr);gap:30px}.ca-date{padding-top:19px;text-align:right}.ca-date strong{display:block;font-size:19px;font-variant-numeric:tabular-nums;color:var(--ink)}.ca-date>span{font-size:13px;color:var(--ca-muted)}.ca-events{position:relative;border-left:2px solid var(--ca-rail);padding:8px 0 22px 28px;min-width:0}.ca-events::before{content:"";position:absolute;left:-7px;top:28px;width:12px;height:12px;border-radius:50%;border:3px solid var(--ca-purple);background:white}.ca-time-group{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;padding:13px 0;border-bottom:1px solid #eeeaf5}.ca-time-group:last-child{border-bottom:0}.ca-time-group::before{content:"";position:absolute;left:-33px;top:24px;width:7px;height:7px;background:white;border:1px solid #9d8dbb;border-radius:50%}.ca-time-group time{padding-top:3px;font-size:14px;color:var(--ca-muted);font-variant-numeric:tabular-nums}.ca-event{padding:3px 0 10px;overflow-wrap:anywhere}.ca-event+.ca-event{padding-top:14px;border-top:1px solid #f1eef6}.ca-panel .ca-event h3{font-size:16px;line-height:1.7;margin:6px 0 0;font-weight:600}.ca-tag{font-size:12px;line-height:1.5;display:inline-block;background:#eee7fc;color:#5934a0;padding:3px 8px;border-radius:4px}.ca-tag[data-kind=alert]{background:#fff0dd;color:#875018}.ca-tag[data-kind=reading]{background:#e5f2f7;color:#24617b}.ca-tag[data-kind=reminder_done]{background:#e6f2e9;color:#286043}.ca-tag[data-kind=voice_call],.ca-tag[data-kind=chat_day]{background:#eeeef3;color:#585570}.ca-event details{font-size:13px;color:var(--ca-muted);line-height:1.8;margin-top:6px}.ca-event summary{cursor:pointer;color:var(--ca-purple);width:fit-content;padding:3px 0}.ca-event details p{font-size:14px;margin:6px 0 0;white-space:pre-line}.ca-panel .ca-same-minute{font-size:12px;line-height:1.7;margin:0 0 10px}.ca-untimed{padding-top:17px}.ca-panel .ca-precision{font-size:13px;margin-bottom:12px;color:var(--ink)}.ca-precision>span{display:block;color:var(--ca-muted);font-size:12px;line-height:1.7;margin-top:3px}.ca-panel .ca-empty{font-size:14px;line-height:1.8;margin:10px 0;padding:4px 0;color:var(--ca-muted)}.ca-panel .ca-pagination{margin-top:24px}.ca-pagination:empty{display:none}.ca-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:12px;color:var(--ca-muted);line-height:1.8}.ca-panel summary:focus-visible{outline:3px solid var(--ca-purple);outline-offset:3px}
@media(max-width:700px){.ca-panel .ca-heading{display:block}.ca-heading>span{display:block;margin-top:12px;font-size:13px}.ca-controls{gap:10px}.ca-controls label{flex:1 1 42%}.ca-controls select{width:100%;min-width:0;font-size:13px}.ca-count{font-size:12px}.ca-direction{font-size:12px;gap:15px}.ca-day{grid-template-columns:minmax(0,1fr);gap:0}.ca-date{text-align:left;padding:20px 0 10px;display:flex;gap:10px;align-items:center}.ca-date strong{font-size:17px}.ca-date>span{font-size:12px}.ca-events{margin-left:5px;padding-left:20px}.ca-time-group{grid-template-columns:50px minmax(0,1fr);gap:8px}.ca-time-group::before{left:-25px}.ca-time-group time{font-size:13px}.ca-panel .ca-event h3{font-size:15px}.ca-footer{display:block}.ca-footer span{display:block;margin-top:4px}}

.ca-panel{background:#fff;border:1px solid #e6e1f2;border-radius:16px;padding:24px;--line:#e6e1f2;--ink:#302b4e;color:var(--ink);font-family:inherit}
.ca-panel *{box-sizing:border-box}.ca-panel .ca-controls select,.ca-panel button{font-family:inherit;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:white;padding:8px 12px;cursor:pointer}.ca-panel button{min-height:44px}.ca-panel button:disabled{opacity:.55;cursor:wait}.ca-panel button:hover{background:#f5f1fc}.ca-panel :focus-visible{outline:3px solid var(--ca-purple);outline-offset:3px}.ca-panel .ca-heading h2{font-size:23px;line-height:1.5}.ca-panel p{color:var(--ca-muted)}.ca-panel .ca-severity{display:inline-block;margin-left:8px;font-size:12px;padding:3px 8px;background:#fff0dd;color:#875018;border-radius:4px}.ca-panel .ca-severity[data-severity=urgent]{background:#fbe7e3;color:#a32a20}.ca-resolved{display:inline-block;font-size:12px;color:#286043;margin-left:10px}.ca-resolve{margin-left:10px;font-size:13px}.ca-summary-pending{font-size:13px;line-height:1.8}.ca-pagination{display:flex;gap:10px;flex-wrap:wrap}.ca-panel[data-role=family]{--ca-purple:#b54623;--ca-rail:#e1cdbb;--ca-muted:#6e665c;--line:#ecdfd3;--ink:#382e28;border-color:var(--line);background:#fffdf9}.ca-panel[data-role=family] button:hover{background:#fff1e8}.ca-panel[data-role=family] .ca-tag{background:#f6e9dc;color:#785032}.ca-panel[data-role=family] .ca-tag[data-kind=reading]{background:#e5f2f7;color:#24617b}.ca-panel[data-role=family] .ca-tag[data-kind=reminder_done]{background:#e6f2e9;color:#286043}
#familyPage .ct-panel:has(.ca-panel),#orgPage .ct-panel:has(.ca-panel){padding:0;border:0;background:transparent}
@media(max-width:700px){.ca-panel{padding:18px 14px}.ca-panel .ca-heading h2{font-size:21px}}
