.ca-view{max-width:1250px;margin:auto}
.ca-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}
.ca-month{display:flex;align-items:center;gap:12px}.ca-month strong{min-width:145px;text-align:center;text-transform:capitalize;font-size:15px}
.ca-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ca-card{min-width:0;padding:20px;background:#2d2335;border:1px solid #b69ac052;border-radius:13px;box-shadow:0 8px 25px #0002}
.ca-profile{display:flex;align-items:center;gap:20px;min-width:0}
.ca-photo{appearance:none;padding:0;flex:0 0 128px;width:128px;height:128px;border:1px solid #c0a1d166;border-radius:10px;overflow:hidden;cursor:pointer;background:#39313f}
.ca-photo img{width:100%;height:100%;display:block;object-fit:cover}
.ca-photo:hover,.ca-photo:focus-visible{outline:2px solid #c89fe5;outline-offset:3px}
.ca-identity{min-width:0}.team-view .ca-identity h2{font-size:23px;line-height:1.15;margin:0 0 13px;color:#e4c2f4;overflow-wrap:anywhere}
.ca-rating{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:0 0 8px;font-size:12px;color:#c6b4d0}
.ca-rating>span:first-child{color:#ebcf90;font-size:18px}.ca-rating strong{font-size:23px;color:#fff0d6;font-variant-numeric:tabular-nums}
.ca-google{font-size:12px;margin:0 0 7px;color:#bdb5ca}.ca-google strong{color:#a4c8e9;font-size:15px}
.ca-period-note{font-size:10px;color:#b5a4bf}
.ca-qr-link{display:block;background:none;border:0;padding:6px 0 0;color:#d6b4e7;font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ca-qr-dialog>p{font-size:13px;color:#c6b4d0}.ca-qr{width:min(100%,288px);aspect-ratio:1;padding:16px;background:white;box-sizing:border-box;margin:20px auto}.ca-qr img,.ca-qr canvas{max-width:100%;height:auto}.ca-qr-actions{display:flex;flex-wrap:wrap;gap:10px}.ca-qr-actions .button{font-size:12px}
.ca-contact{display:flex;align-items:center;gap:12px;white-space:nowrap;min-width:0;margin:17px 0;padding-bottom:15px;border-bottom:1px solid #bda5c72a;font-size:12px}
.ca-contact a{display:flex;align-items:center;gap:5px;min-width:0;color:#d2c0df;text-decoration:none}.ca-contact a:first-child{flex:1}.ca-contact a:last-child{flex:0 0 auto}
.ca-contact a>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.ca-contact svg{width:14px;height:14px;flex:none;color:#a88cbd}.ca-no-phone{font-size:10px;color:#a99aaf;flex:none}
.ca-monthly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ca-monthly>div{display:flex;flex-direction:column;gap:6px;min-width:0;padding:11px 10px;border-radius:7px;background:#342b3b}
.ca-monthly span{font-size:10px;color:#c3b4cc;white-space:nowrap}.ca-monthly strong{font-size:20px;color:#d6c0e9;font-variant-numeric:tabular-nums}
.ca-monthly>div:first-child strong{color:#a5e1be}.ca-monthly>div:nth-child(2) strong{color:#d6c0e9}
.ca-utilization{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:11px;color:#bfaec9;margin:13px 0 16px}.ca-utilization strong{margin-left:auto;color:#ddc2f0;font-size:13px}
.ca-utilization progress{appearance:none;display:block;width:100%;height:5px;flex-basis:100%;border:0;border-radius:4px;overflow:hidden;background:#4c3d56;accent-color:#b389cf}
.ca-utilization progress::-webkit-progress-bar{background:#4c3d56}.ca-utilization progress::-webkit-progress-value{background:#b389cf;border-radius:4px}.ca-utilization progress::-moz-progress-bar{background:#b389cf;border-radius:4px}
.ca-actions{display:flex;justify-content:space-between;gap:8px}.ca-actions .button{font-size:11px;white-space:nowrap;padding:8px 10px}.ca-actions .button svg{width:15px;height:15px}
.ca-comment-count{color:#bcaac7;font-size:12px}.ca-comment{padding:15px 0;border-top:1px solid #aa90ba40}.ca-comment>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.ca-comment strong{font-size:13px;color:#dac0e9}.ca-comment time{font-size:11px;color:#bdaeca}
.ca-comment p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:12px 0}.ca-comment a,.ca-comment small{font-size:11px;color:#bdb0cb;overflow-wrap:anywhere}.ca-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin-top:15px}
/* Calendar controls and totals sit beside the month; only one save/refresh action. */
.team-view .availability-modal{width:min(900px,calc(100% - 24px));padding:26px;max-height:94vh}
.team-view .availability-modal h2{font-size:21px;padding-right:24px;margin:0}
.team-view .agenda-toolbar{margin:15px 0 12px}.team-view .agenda-month{gap:9px}.team-view .agenda-month .button{min-width:32px;min-height:30px;padding:5px 9px}
.team-view .agenda-compact{display:grid;grid-template-columns:minmax(0,1fr) 125px;align-items:start;gap:14px}
.team-view .agenda-compact .agenda-statistics{margin:0;padding-top:27px}.team-view .agenda-compact .agenda-metrics{grid-template-columns:1fr;gap:10px}
.team-view .agenda-compact .agenda-metrics>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 10px}
.team-view .agenda-compact .agenda-metrics strong{font-size:23px}.team-view .agenda-compact .agenda-metrics span{font-size:11px;min-height:0}
.team-view .agenda-compact .agenda-date-cell{padding:6px 4px}.team-view .agenda-compact .agenda-cell-date{margin-bottom:6px}.team-view .agenda-compact .agenda-cell-date strong{font-size:14px}
.team-view .agenda-compact .agenda-cell-periods{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.team-view .agenda-compact .agenda-choice>span{min-height:27px;font-size:10px}
.team-view .agenda-compact .agenda-date-cell.is-today{border-width:1px;outline:1px solid #d8b0f2;outline-offset:0}
.team-view .agenda-footer{margin-top:14px;padding-top:12px}.team-view .agenda-footer>.button{width:100%;justify-content:center;padding:12px;font-size:14px}
.team-view .agenda-status:empty{display:none}.team-view .agenda-status{font-size:11px}.team-view .agenda-error{font-size:12px;line-height:1.5}
@media(max-width:1000px){.ca-cards{grid-template-columns:1fr}.ca-profile{gap:20px}.ca-photo{flex-basis:130px;width:130px;height:130px}}
@media(max-width:650px){
 .ca-toolbar{flex-wrap:wrap;gap:12px}.ca-toolbar>.button{font-size:12px;padding:9px 11px}.ca-month{gap:8px}.ca-month strong{font-size:14px;min-width:135px}
 .ca-card{padding:14px;border-radius:10px}.ca-profile{gap:13px}.ca-photo{flex-basis:104px;width:104px;height:104px}.team-view .ca-identity h2{font-size:19px;margin-bottom:8px}.ca-rating{gap:4px;font-size:10px}.ca-rating strong{font-size:20px}.ca-google{font-size:10px;line-height:1.5}.ca-google strong{font-size:13px}.ca-period-note{font-size:9px}
 .ca-contact{gap:7px;font-size:10px;margin:13px 0;padding-bottom:12px}.ca-contact svg{width:11px;height:11px}.ca-no-phone{font-size:9px}
 .ca-monthly{gap:5px}.ca-monthly>div{padding:9px 6px;gap:5px}.ca-monthly span{font-size:9px;white-space:normal;min-height:22px}.ca-monthly strong{font-size:17px}.ca-utilization{font-size:10px}.ca-actions{gap:5px}.ca-actions .button{font-size:10px;padding:8px 6px}.ca-actions .button svg{width:12px;height:12px}
 .team-view .availability-modal{padding:28px 10px 15px}.team-view .availability-modal h2{font-size:19px}
 .team-view .agenda-compact{grid-template-columns:minmax(0,1fr) 72px;gap:7px}.team-view .agenda-compact .agenda-statistics{padding-top:23px}.team-view .agenda-compact .agenda-metrics>div{padding:9px 5px;gap:6px}.team-view .agenda-compact .agenda-metrics span{font-size:9px;overflow-wrap:anywhere}.team-view .agenda-compact .agenda-metrics strong{font-size:14px}
 .team-view .agenda-compact .agenda-cell-periods{grid-template-columns:1fr;gap:3px}.team-view .agenda-compact .agenda-choice>span{min-height:25px;font-size:10px}.team-view .agenda-compact .agenda-date-cell{padding:5px 2px}.team-view .agenda-month-grid{gap:3px}.team-view .agenda-weekday{font-size:8px}.team-view .agenda-compact .agenda-cell-date strong{font-size:12px}
}

/* V53: the month shares the title line; one compact total beside the action. */
.team-view .ca-identity h2{display:flex;align-items:flex-start;gap:8px}.ca-identity h2>span{min-width:0}.ca-identity h2>.ui-icon{width:21px;height:24px;flex:none;color:#cfa5df}
.team-view .availability-modal{padding:20px;max-height:94svh}
.team-view .availability-modal>.close-modal{top:20px;right:20px;width:30px;height:30px}
.team-view .agenda-heading{display:flex;align-items:center;gap:16px;margin:0 0 18px;min-height:30px}
.team-view .availability-modal .agenda-heading{padding-right:40px}
.team-view .agenda-heading h2{display:flex;align-items:center;gap:8px;min-width:0;flex:1;font-size:20px;margin:0;padding:0}
.team-view .agenda-heading h2>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-view .agenda-heading h2>.ui-icon{flex:none;width:22px;height:22px;color:#cfa5df}
.team-view .agenda-heading .agenda-month{margin-left:auto;gap:9px;flex:none;white-space:nowrap}.team-view .agenda-month strong{min-width:0;font-size:14px}.agenda-month-short{display:none}
.team-view .agenda-compact{display:block}.team-view .agenda-compact .agenda-date-cell{padding:7px 5px}
.team-view .availability-calendar .agenda-choice input+span{background:#09080b;border-color:#6b607577;color:#aea4ba;box-shadow:none}
.team-view .availability-calendar .agenda-choice input+span:after{content:none}
.team-view .availability-calendar .agenda-choice input:checked+span{background:#163527;border-color:#8ddbb0;color:#c0eed2}
.team-view .availability-calendar .agenda-choice input:checked+span:after{content:'✓';color:#8eecb8;top:0;right:3px;font-size:9px}
.team-view .availability-calendar .agenda-choice.is-partial input+span{border-color:#897749;background:#09080b}
.team-view .agenda-period-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 10px;font-size:11px;color:#c5b8cc}
.agenda-period-legend>span{display:flex;align-items:baseline;gap:7px;min-width:0}.agenda-period-legend b{color:#e4d1f1}.agenda-period-legend small{display:block;font-size:11px;color:#ab9bb8;white-space:nowrap}
.team-view .agenda-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;margin-top:0}
.team-view .agenda-footer .agenda-statistics{margin:0;flex:none;padding:0}.team-view .agenda-footer .agenda-metrics{display:block}
.team-view .agenda-footer .agenda-metrics>div{display:flex;align-items:center;gap:12px;padding:8px 12px}
.team-view .agenda-footer .agenda-metrics span{font-size:12px;min-height:0}.team-view .agenda-footer .agenda-metrics strong{font-size:19px}
.team-view .agenda-footer>.button{width:auto;flex:none;min-height:36px;padding:8px 12px;font-size:12px}
.team-view .agenda-footer .agenda-status{flex-basis:100%;margin:0}
@media(max-width:650px){
 .team-view .availability-modal{padding:12px}.team-view .availability-modal>.close-modal{top:12px;right:12px;width:26px;height:30px}
 .team-view .agenda-heading{gap:7px;margin-bottom:13px}.team-view .availability-modal .agenda-heading{padding-right:32px}
 .team-view .agenda-heading h2{font-size:13px;gap:4px}.team-view .agenda-heading h2>.ui-icon{width:15px;height:18px}
 .team-view .agenda-heading .agenda-month{gap:5px}.team-view .agenda-month strong{font-size:11px}.team-view .agenda-month .button{min-width:26px;min-height:30px;padding:4px 6px}
 .agenda-month-long{display:none}.agenda-month-short{display:inline}
 .team-view .agenda-compact .agenda-date-cell{padding:5px 3px}.team-view .agenda-compact .agenda-cell-periods{grid-template-columns:1fr}
 .team-view .agenda-period-legend{gap:7px;font-size:10px;margin-top:12px}.agenda-period-legend>span{gap:4px}.agenda-period-legend small{font-size:9px;margin-top:3px}
 .team-view .agenda-footer{gap:7px}.team-view .agenda-footer .agenda-metrics>div{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px}.team-view .agenda-footer .agenda-metrics span{font-size:10px}.team-view .agenda-footer .agenda-metrics strong{font-size:17px}
 .team-view .agenda-footer>.button{font-size:11px;padding:8px;gap:5px}.team-view .agenda-footer>.button .ui-icon{width:14px;height:14px}
 .team-view .ca-identity h2{gap:5px}.ca-identity h2>.ui-icon{width:17px;height:21px}
}

/* Shared Planning colours for D/F/S, including the calendar legend. */
.team-view .availability-calendar .agenda-choice input+span,.team-view .availability-calendar .agenda-choice input:checked+span,.team-view .availability-calendar .agenda-choice.is-partial input+span{background:var(--period-bg);border:1px solid var(--period-color);color:var(--period-color);border-radius:4px;font-weight:700;box-shadow:none}
.team-view .agenda-period-legend b{display:inline-grid;place-items:center;width:20px;height:20px;flex:none;border:1px solid var(--period-color);border-radius:4px;background:var(--period-bg);color:var(--period-color);font-size:10px}
.team-view .agenda-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.team-view .agenda-footer .agenda-statistics{grid-column:1;grid-row:1}.team-view .agenda-footer .agenda-status{grid-column:2;grid-row:1;margin:0;text-align:right;font-size:11px;line-height:1.3;min-width:0}
.team-view .agenda-footer>[data-action=agenda-save]{grid-column:3;grid-row:1}
@media(max-width:650px){.team-view .agenda-footer{gap:6px}.team-view .agenda-footer .agenda-status{font-size:9px}.team-view .agenda-footer>[data-action=agenda-save]{font-size:10px;padding:8px 6px;max-width:145px}.team-view .agenda-footer .agenda-metrics>div{padding:6px}.team-view .agenda-footer .agenda-metrics span{font-size:9px}}
@media(max-width:360px){.team-view .agenda-footer>[data-action=agenda-save] .ui-icon{display:none}}

/* Compact cards and private portrait editor. */
.ca-contact a,.ca-contact a svg{color:#8dc7f5}.ca-contact a:hover,.ca-contact a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.ca-card{display:flex;flex-direction:column}.ca-actions{margin-top:auto;justify-content:flex-end;align-items:center}.ca-actions .ca-settings{margin-right:auto;flex:none;padding:8px;width:34px;height:34px;justify-content:center}.ca-settings .ui-icon{width:18px;height:18px}
.team-view .aw-profile-modal{width:min(640px,calc(100vw - 24px));max-height:92svh}.aw-profile-modal h2{padding-right:24px}
.aw-profile-photo{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:18px;margin:18px 0;padding:16px;border:1px solid #ac8fc34d;border-radius:12px;background:#2c2235}
.aw-profile-photo .aw-photo-preview{display:block;width:128px;height:128px;aspect-ratio:1;border-radius:9px;object-fit:cover;background:#39313f}
.aw-photo-controls{min-width:0}.aw-photo-controls h3{margin:0 0 12px;font-size:16px;color:#e3c7f0}.aw-photo-buttons{display:flex;flex-wrap:wrap;gap:8px}.aw-photo-buttons .button{font-size:11px;padding:8px 10px}
.aw-photo-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;overflow:hidden;clip-path:inset(50%);padding:0!important}.aw-photo-label{cursor:pointer}.aw-photo-label:focus-within{outline:2px solid #9ecff3;outline-offset:3px}
.aw-photo-help,.aw-photo-status{font-size:11px;color:#c5b5cf;line-height:1.5;margin:10px 0 0}.aw-photo-status:empty{display:none}.aw-photo-status.error{color:#f0a9aa}
.aw-address-field small{font-size:11px;color:#b6a6c3;line-height:1.5}.aw-address-field textarea{min-height:82px;resize:vertical}.aw-my-profile{margin-bottom:20px}
@media(max-width:540px){.aw-profile-photo{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px}.aw-profile-photo .aw-photo-preview{width:92px;height:92px}.aw-photo-controls h3{font-size:14px}.aw-photo-buttons{gap:6px}.aw-photo-buttons .button{font-size:10px;padding:7px 8px}.aw-photo-help{font-size:10px}.ca-actions .ca-settings{width:30px;height:32px;padding:6px}.ca-actions .ca-settings .ui-icon{width:16px;height:16px}}

/* Availability provenance is shared by full calendars and miniatures. */
.team-view .availability-calendar .agenda-choice input+span{background:#09080b}
.team-view .availability-calendar .agenda-choice input:checked+span{background:#214b36}
.team-view .availability-calendar .agenda-choice[data-source=admin] input+span{background:#122c49}
.team-view .availability-calendar .agenda-choice[data-source=admin] input:checked+span{background:#285f91}
.team-view .availability-calendar .agenda-choice[data-source=admin] input:checked+span:after{color:#cbe8ff}
.agenda-source-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin:2px 0 12px;color:#c9bdd1;font-size:10px}.agenda-source-legend>span{display:flex;align-items:center;gap:5px}.agenda-source-legend i{width:10px;height:10px;border-radius:2px;border:1px solid #ffffff38}.as-actor{background:#214b36}.as-admin{background:#285f91}.as-admin-off{background:#122c49}
.ca-card{display:grid;grid-template-columns:minmax(0,1fr) 188px;gap:16px;padding:18px}.ca-card-main{display:flex;flex-direction:column;min-width:0}.ca-card-main .ca-profile{gap:12px}.ca-card-main .ca-photo{flex-basis:96px;width:96px;height:96px}.team-view .ca-card-main .ca-identity h2{font-size:19px}.ca-card-main .ca-rating strong{font-size:21px}
.ca-rating{appearance:none;background:none;border:0;padding:0;text-align:left;font-family:inherit;cursor:pointer;border-radius:3px}.ca-rating:hover strong,.ca-rating:focus-visible strong{text-decoration:underline;text-underline-offset:4px}.ca-rating:focus-visible{outline:2px solid #bce0fd;outline-offset:4px}
.ca-card-main .ca-contact{gap:7px;font-size:11px}.ca-card-main .ca-monthly span{font-size:9px;white-space:normal}.ca-card-main .ca-monthly strong{font-size:19px}.ca-mini-panel{min-width:0;border-left:1px solid #b89ccc38;padding-left:15px;display:flex;flex-direction:column;gap:9px;align-self:start}.ca-mini-month{font-size:12px;text-align:center;text-transform:capitalize;color:#d5bbE6}
.ca-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.ca-mini-weekday{text-align:center;color:#b7a5c3;font-size:8px}.ca-mini-day{display:flex;flex-direction:column;min-width:0;padding:3px 1px;background:#231b2a;border:1px solid #a68ab52b;border-radius:3px;gap:4px}.ca-mini-day>b{position:relative;display:block;font-size:9px;font-weight:600;text-align:center;line-height:1}.ca-mini-day.is-today{outline:1px solid #d0a7df;outline-offset:0}.ca-mini-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.ca-mini-periods i{height:7px;border-radius:1px;background:#09080b;border:1px solid #ffffff18}.ca-mini-periods i[data-state=full]{background:#43865d}.ca-mini-periods i[data-state=partial]{background:linear-gradient(90deg,#43865d 50%,#09080b 50%)}.ca-mini-periods i[data-source=admin]{background:#122c49}.ca-mini-periods i[data-source=admin][data-state=full]{background:#4289c3}.ca-mini-periods i[data-source=admin][data-state=partial]{background:linear-gradient(90deg,#4289c3 50%,#122c49 50%)}
.ca-mini-work{display:inline-block;width:4px;height:4px;border-radius:50%;background:#d7aaf0}.ca-mini-day .ca-mini-work{position:absolute;right:0;top:-1px}.ca-mini-legend{display:flex;justify-content:space-between;gap:5px;color:#b7a5c3;font-size:9px}.ca-mini-legend>span:last-child{display:flex;align-items:center;gap:4px}.ca-mini-panel>.button{font-size:10px;justify-content:center;padding:8px 4px;white-space:nowrap}.ca-mini-panel>.button .ui-icon{width:13px;height:13px}
.ca-qr{width:min(100%,264px);height:auto;aspect-ratio:1;padding:0}.ca-qr canvas{display:block;width:100%;height:auto;image-rendering:pixelated}
@media(max-width:1150px){.ca-cards{grid-template-columns:1fr}.ca-card{grid-template-columns:minmax(0,1fr) 210px}.ca-card-main .ca-photo{flex-basis:120px;width:120px;height:120px}.team-view .ca-card-main .ca-identity h2{font-size:23px}}
@media(max-width:560px){.ca-card{grid-template-columns:1fr;gap:12px;padding:14px}.ca-card-main .ca-photo{flex-basis:104px;width:104px;height:104px}.team-view .ca-card-main .ca-identity h2{font-size:19px}.ca-mini-panel{border-left:0;border-top:1px solid #b89ccc38;padding:12px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}.ca-mini-month{grid-column:1;grid-row:1;text-align:left;font-size:11px}.ca-mini-grid{grid-column:1;grid-row:2/4}.ca-mini-legend{grid-column:2;grid-row:2;flex-direction:column;font-size:8px;align-self:end}.ca-mini-panel>.button{grid-column:1;grid-row:4;font-size:10px;max-width:none;align-self:end;white-space:normal;padding:7px 5px}.ca-mini-day{padding:3px 1px;gap:3px}.ca-mini-day>b{font-size:9px}.ca-mini-periods i{height:6px}.ca-card-main .ca-contact{font-size:10px}.ca-mini-panel>.button .ui-icon{display:none}}

/* Version 58: compact narrator headings and fully clickable mini calendars. */
.team-view .ca-card-main .ca-identity h2{align-items:center}
.ca-identity h2>.ca-settings{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:5px;margin:0;border:1px solid #bda6d24d;border-radius:5px;color:#d8bee7}
.ca-identity h2>.ca-settings .ui-icon{width:16px;height:16px;flex:none}
.ca-mini-panel{appearance:none;width:100%;margin:0;padding:0 0 0 15px;border:0;border-left:1px solid #b89ccc38;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.ca-mini-panel:hover{background:#c89fe508}.ca-mini-panel:focus-visible{outline:2px solid #c89fe5;outline-offset:4px;border-radius:4px}
.ca-mini-panel:disabled{cursor:wait}
.ca-mini-periods{gap:2px}
.ca-mini-periods i{border:0;box-shadow:none;outline:0;background:#000}
.ca-mini-periods i[data-state=none]{background:#000}
.ca-mini-periods i[data-source=admin][data-state=none]{background:#000}
.ca-mini-periods i[data-state=full]{background:#43865d}
.ca-mini-periods i[data-state=partial]{background:linear-gradient(90deg,#43865d 50%,#000 50%)}
.ca-mini-periods i[data-source=admin][data-state=full]{background:#4289c3}
.ca-mini-periods i[data-source=admin][data-state=partial]{background:linear-gradient(90deg,#4289c3 50%,#000 50%)}
@media(max-width:560px){
 .ca-mini-panel{display:flex;flex-direction:column;gap:8px;border-left:0;border-top:1px solid #b89ccc38;padding:12px 0 0;align-items:stretch}
 .ca-mini-panel>.ca-mini-month{text-align:center}
 .ca-mini-panel>.ca-mini-open{align-self:stretch}
}

/* Profile coordinates form one column to the right of the portrait. */
.aw-profile-top{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;margin:18px 0;align-items:start}
.aw-profile-top .aw-profile-photo{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:14px;min-width:0}
.aw-profile-top .aw-photo-preview{width:128px;height:128px;align-self:center}
.aw-profile-contact{display:grid;gap:14px;min-width:0}.aw-profile-contact .field{margin:0;min-width:0}
.aw-profile-contact input{width:100%;min-width:0}
.aw-hours-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.aw-hours-fields .field{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;margin:0}.aw-hours-fields input{min-width:0;width:100%}
.aw-hours-fields .field-caption{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px;line-height:1.5}.aw-hours-fields .field-caption .ui-icon{flex:none}
.team-view .actor-unavailable,.team-view .at-actor-unavailable>span{color:#ff777e!important;animation:actor-unavailable-pulse 1.4s ease-in-out infinite}
.team-view .actor-conflict-note{color:#ff9da3}
@keyframes actor-unavailable-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.team-view .actor-unavailable,.team-view .at-actor-unavailable>span{animation:none;text-decoration:underline dotted}}
@media(max-width:540px){.aw-profile-top{grid-template-columns:110px minmax(0,1fr);gap:12px}.aw-profile-top .aw-profile-photo{padding:8px}.aw-profile-top .aw-photo-preview{width:90px;height:90px}.aw-profile-contact{gap:12px}.aw-profile-contact input{padding:10px 8px}.aw-profile-top .aw-photo-controls h3{font-size:12px}.aw-hours-fields{gap:10px}.aw-hours-fields .field{font-size:12px}}

/* Percentage score and scrollable vote ledger. */
.ca-rating{align-items:baseline;gap:7px}
.ca-rating strong{color:#fff0d6}
.ca-rating>span:first-child{color:#c6b4d0;font-size:12px}
#modal:has(.ca-comments){width:min(870px,calc(100vw - 28px))}
.ca-comments{width:100%;max-width:820px;max-height:82svh;overflow:auto;padding-right:5px}
.ca-comments>h2{margin-bottom:16px}
.ca-review-summary{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;margin-bottom:18px}
.ca-review-score,.ca-review-completion,.ca-review-metric{border:1px solid #aa91b84a;border-radius:10px;background:#2d2434;padding:13px}
.ca-review-score{grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ca-review-score strong{font-size:31px;color:#f0ddbc;font-variant-numeric:tabular-nums}.ca-review-score span{font-size:12px;color:#c9b9d2;margin-top:5px}
.ca-review-distribution{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ca-review-metric{display:flex;flex-direction:column;gap:5px;min-width:0;padding:10px 11px}
.ca-review-metric span{font-size:11px;line-height:1.3}.ca-review-metric strong{font-size:20px;font-variant-numeric:tabular-nums}.ca-review-metric small{font-size:9px;opacity:.8}
.ca-review-metric--exceptional{background:#233c2b;border-color:#5c936b}.ca-review-metric--cool{background:#34492e;border-color:#83ad76}.ca-review-metric--negative{background:#352743;border-color:#906caf}
.ca-review-completion{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;padding:11px 13px}.ca-review-completion span{font-size:11px;color:#cbbbd4}.ca-review-completion strong{grid-row:1/3;grid-column:2;font-size:23px;color:#d8b9e8;font-variant-numeric:tabular-nums}.ca-review-completion small{font-size:9px;color:#a99bb1}
.ca-review-list{display:grid;gap:8px}
.ca-review-row{border:1px solid transparent;border-radius:9px;padding:12px 14px}
.ca-review-row--exceptional{background:#213b29;border-color:#568463}.ca-review-row--cool{background:#354a30;border-color:#719566}.ca-review-row--negative{background:#332540;border-color:#8662a2}.ca-review-row--legacy{background:#38373c;border-color:#77727e;color:#c7c4ca}
.ca-review-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ca-review-row-head strong{font-size:12px}.ca-review-row-head time{font-size:10px;color:#c7bacd;white-space:nowrap}
.ca-review-links{display:block;margin-top:5px;color:#d8c6df;font-size:9px}
.ca-review-comment{min-height:20px;margin:9px 0 0;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.ca-review-row>a{display:inline-block;margin-top:5px;color:#d5c4de;font-size:10px}
@media(max-width:650px){
 .ca-comments{width:min(94vw,820px);max-height:84svh}.ca-review-summary{grid-template-columns:1fr}.ca-review-score{grid-row:auto;padding:10px}.ca-review-score strong{font-size:27px}
 .ca-review-distribution{grid-template-columns:1fr}.ca-review-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.ca-review-metric strong{grid-row:1/3;grid-column:2}.ca-review-metric small{grid-column:1}
 .ca-review-row-head{align-items:flex-start;flex-direction:column;gap:4px}.ca-review-row-head time{white-space:normal}
}
