.team-dialog.calendar-dialog{width:min(1080px,calc(100vw - 24px));max-width:1080px}.cal-toolbar,.cal-actions,.cal-period{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:16px 0}.cal-toolbar{align-items:center;justify-content:space-between}.cal-modes{display:flex;gap:3px;background:#f2eeea;border-radius:12px;padding:4px}.cal-modes button{border:0;background:transparent;padding:9px 14px;border-radius:9px;font-weight:700}.cal-modes button.selected{background:#fff;color:#ca471f;box-shadow:0 1px 4px #241c1810}.cal-period label{flex:0 1 180px;min-width:0;font-size:12px}.cal-period input,.cal-period select{width:100%;min-width:0;margin-top:5px}.cal-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cal-total{padding:18px;border:1px solid #eadfd5;border-radius:16px;background:#fff7ef;display:grid;gap:5px}.cal-total.actual{background:#edf4f1;border-color:#dae8e1}.cal-total span{font-weight:700;font-size:13px}.cal-total strong{font-size:32px;letter-spacing:-1px}.cal-total small{color:#656660;font-size:12px}.cal-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);gap:20px;margin:20px 0}.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cal-weekdays{font-size:12px;text-align:center;color:#777;padding-bottom:8px}.cal-day{position:relative;min-width:0;min-height:88px;background:white;border:1px solid #e7e3df;border-radius:10px;padding:7px 5px;display:flex;flex-direction:column;gap:3px;text-align:left}.cal-day[aria-pressed=true]{border:2px solid #ed602f;padding:6px 4px;background:#fffbf7;box-shadow:0 0 0 2px #ed602f15}.cal-day.issue{background:#fff2ee}.cal-day-number{font-size:13px;font-weight:750;display:flex;justify-content:space-between;gap:2px}.cal-day-number small{font-size:9px;color:#777;overflow:hidden}.cal-chip{font-size:11px;line-height:1.5;background:#fff0de;border-radius:4px;color:#995114;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip.actual{background:#e4f0e9;color:#28604c}.cal-branch-dot{font-size:9px;color:#89867e;line-height:1}.cal-detail{background:#f7f6f3;border-radius:16px;padding:18px;align-self:start}.cal-detail h3{font-size:17px;margin:0 0 20px}.cal-detail h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#777;margin:18px 0 8px}.cal-shift{display:grid;gap:5px;padding:12px;margin:8px 0;background:white;border-radius:10px;border-left:3px solid #ec9d50}.cal-shift.actual{border-color:#548b73}.cal-shift strong{font-size:14px}.cal-shift span{font-size:13px}.cal-shift small{font-size:11px;color:#777}.cal-shift .error{color:#b43e2c}.cal-notice{background:#f6f2e8;color:#796239;border-radius:10px;padding:12px;font-size:13px}.cal-sources{padding:14px 0;border-top:1px solid #eee;font-size:13px}.cal-sources summary{cursor:pointer;font-weight:700}.cal-sources small{color:#777}.cal-link-list{max-height:48vh;overflow:auto;border:1px solid #e6e1dd;border-radius:12px;margin:16px 0}.cal-link{display:flex;align-items:start;gap:12px;padding:12px;border-bottom:1px solid #eee;cursor:pointer}.cal-link[hidden]{display:none}.cal-link input{width:18px;min-width:18px;margin-top:4px;accent-color:#e95b2a}.cal-link span{display:grid;gap:4px;font-size:14px}.cal-link small{font-size:12px;font-weight:400;color:#777}.cal-link .cal-suggestion{color:#a15c21}.cal-link:has(input:checked){background:#fff6ee}.cal-link:has(input:disabled){opacity:.6}.cal-day:focus-visible,.cal-modes button:focus-visible{outline:3px solid #e85a2d;outline-offset:2px}@media(max-width:700px){.cal-layout{grid-template-columns:1fr;gap:14px}.cal-detail{padding:14px}.cal-total{padding:13px}.cal-total strong{font-size:26px}.cal-day{min-height:75px;padding:5px 2px;border-radius:7px}.cal-day[aria-pressed=true]{padding:4px 1px}.cal-chip{font-size:9px;padding:0 2px}.cal-grid,.cal-weekdays{gap:3px}.cal-toolbar{align-items:stretch}.cal-modes{flex:1}.cal-modes button{flex:1;padding:9px 7px}.cal-period label{flex:1 1 100px}.cal-period button{padding:11px 14px}.team-dialog.calendar-dialog{width:calc(100vw - 16px)}.cal-day-number{font-size:12px}.cal-day-number small{display:none}.cal-total small{font-size:11px}}
/* Embedded calendar and stable branch labels, including narrow phones. */
.cal-offset-1{grid-column:span 1}.cal-offset-2{grid-column:span 2}.cal-offset-3{grid-column:span 3}.cal-offset-4{grid-column:span 4}.cal-offset-5{grid-column:span 5}.cal-offset-6{grid-column:span 6}
.cal-day.cal-match,.profile-calendar .cal-day.cal-match[aria-pressed]{border-color:#29814c;box-shadow:inset 0 0 0 1px #29814c}
.cal-day.cal-difference,.cal-day.cal-extra,.cal-day.cal-invalid,.profile-calendar .cal-day.cal-difference[aria-pressed],.profile-calendar .cal-day.cal-extra[aria-pressed],.profile-calendar .cal-day.cal-invalid[aria-pressed]{border-color:#c94c43;box-shadow:inset 0 0 0 1px #c94c43}
.cal-day.cal-pending,.profile-calendar .cal-day.cal-pending[aria-pressed]{border-color:#c94c43;border-style:dashed;box-shadow:none}
.cal-day.cal-match[aria-pressed=true],.cal-day.cal-difference[aria-pressed=true],.cal-day.cal-extra[aria-pressed=true],.cal-day.cal-invalid[aria-pressed=true],.cal-day.cal-pending[aria-pressed=true],.profile-calendar .cal-day[aria-pressed=true]{outline:2px solid #302c29;outline-offset:1px}
.cal-day-hours{font-size:19px;line-height:1.2;letter-spacing:-.4px;color:#292421}
.cal-day-symbol{font-size:12px;font-weight:800;color:#ad493f}
.cal-match .cal-day-symbol{color:#267547}
.cal-day-delta{font-size:10px;color:#a33f36;line-height:1.2;white-space:nowrap}
.cal-status-key{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1.5px solid #c94c43;border-radius:4px;color:#a33f36;font-style:normal;font-weight:700;margin-right:4px}
.cal-status-key.match{border-color:#29814c;color:#267547}.cal-status-key.pending{border-style:dashed}
.cal-hours-legend{flex-wrap:wrap}.cal-hours-legend>span{display:inline-flex;align-items:center}
@media(max-width:500px){.cal-day-hours{font-size:16px}.cal-day-symbol{font-size:10px}.cal-day-delta{font-size:9px}}
.profile-calendar .cal-toolbar{margin:0 0 14px;gap:12px}
.profile-calendar .cal-toolbar h3{font-size:24px;line-height:1.2;margin:5px 0 0}
.profile-calendar .cal-modes button.selected{background:#f9530c;color:#fff}
.profile-calendar .cal-modes button{padding:9px 12px}
.profile-calendar .cal-period{gap:8px;margin:12px 0 16px}
.profile-calendar .cal-period label{flex:1 1 135px;font-size:11px}
.profile-calendar .cal-period input,.profile-calendar .cal-period select{font-size:13px;padding:10px 8px;min-height:42px;background:white}
.profile-calendar .cal-period button{min-height:42px;padding:10px 13px;font-size:12px}
.profile-calendar .cal-period .cal-month-arrow{width:34px;min-width:34px;padding:6px 0;font:24px/1 Arial,sans-serif;border:1px solid #e3dbd1;background:#fff}
.profile-calendar .cal-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #e8ded4;border-radius:13px;background:#fff7ed;overflow:hidden}
.profile-calendar .cal-total{padding:16px 13px;border:0;border-radius:0;gap:5px;background:transparent;min-width:0}
.profile-calendar .cal-total+ .cal-total{border-left:1px solid #e8ded4}
.profile-calendar .cal-total span{font-size:11px;font-weight:500}
.profile-calendar .cal-total strong{font-size:29px;letter-spacing:-.6px;color:#e55015}
.profile-calendar .cal-total.actual strong{color:#46763b}
.profile-calendar .cal-total.count strong{color:#292421}
.profile-calendar .cal-total small{font-size:10px;line-height:1.4}
.profile-calendar .cal-layout{grid-template-columns:minmax(0,1fr);gap:14px;margin:18px 0}
.profile-calendar .cal-day{min-height:86px;border-radius:8px;padding:7px 5px;gap:3px}
.profile-calendar .cal-day[aria-pressed=true]{padding:6px 4px;background:#fff0df;border-color:#f9530c}
.profile-calendar .cal-chip{font-size:11px;font-weight:650;line-height:1.4;max-width:100%}
.cal-day-time{font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4d463e}
.cal-day-branches{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto;min-width:0}
.cal-branch-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;padding:2px 5px;font:700 10px/1.2 Arial,sans-serif;white-space:nowrap;letter-spacing:.01em;min-width:22px;box-sizing:border-box}
.branch-orange{color:#9a3c0b;background:#ffdfbe;border-color:#f4caa2}
.branch-blue{color:#24567b;background:#dceefa;border-color:#bcd9ec}
.branch-violet{color:#694392;background:#ece0fa;border-color:#d5bfec}
.branch-teal{color:#1f6258;background:#d9eee8;border-color:#b5dacf}
.branch-rose{color:#93435a;background:#f7dfe7;border-color:#ebbdcb}
.branch-ochre{color:#705b16;background:#f3ebc7;border-color:#e3d698}
.branch-neutral{color:#555;background:#e8e8e8;border-color:#d2d2d2}
.cal-branch-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}
.cal-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#696056}
.cal-hours-legend{display:flex;align-items:center;gap:5px;font-size:11px;color:#82776b;margin:10px 0 0}
.cal-hours-legend .cal-chip{padding:1px 5px}
.cal-hours-legend .cal-chip.actual{margin-left:9px}
.profile-calendar .cal-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:15px;background:#f7f1e9}
.profile-calendar .cal-detail>h3{grid-column:1/-1;font-size:17px;margin:0}
.profile-calendar .cal-detail h4{font-size:10px;letter-spacing:.06em;margin:8px 0}
.profile-calendar .cal-shift{margin:0 0 8px;padding:10px}
.profile-calendar .cal-shift small{font-size:10px}
.profile-calendar .cal-shift strong{font-size:13px}
.profile-calendar .cal-actions{gap:8px;margin:12px 0}
.profile-calendar .cal-actions button{font-size:11px;padding:10px 12px;min-height:40px}
.profile-calendar .cal-notice{font-size:12px;line-height:1.5;margin:12px 0}
@media(max-width:500px){
 .profile-calendar .cal-toolbar{gap:9px}
 .profile-calendar .cal-toolbar>div:first-child{width:100%}
 .profile-calendar .cal-toolbar h3{font-size:22px;margin-top:3px}
 .profile-calendar .cal-modes{width:100%}
 .profile-calendar .cal-modes button{padding:9px 6px;font-size:12px}
 .profile-calendar .cal-period{gap:6px}
 .profile-calendar .cal-period label{flex:1 1 115px}
 .profile-calendar .cal-period #cal-month-label{flex:1 1 calc(100% - 100px)}
 .profile-calendar .cal-period input,.profile-calendar .cal-period select{font-size:14px}
 .profile-calendar .cal-period #cal-start-label,.profile-calendar .cal-period #cal-end-label{flex-basis:115px}
 .profile-calendar .cal-total{padding:12px 7px}
 .profile-calendar .cal-total span{font-size:10px;line-height:1.3}
 .profile-calendar .cal-total strong{font-size:23px}
 .profile-calendar .cal-total small{display:none}
 .profile-calendar .cal-grid,.profile-calendar .cal-weekdays{gap:3px}
 .profile-calendar .cal-day{min-height:84px;padding:5px 2px;gap:3px;border-radius:6px}
 .profile-calendar .cal-day[aria-pressed=true]{padding:4px 1px}
 .profile-calendar .cal-day-time{display:none}
 .profile-calendar .cal-chip{font-size:9px;padding:1px 2px;letter-spacing:-.1px}
 .profile-calendar .cal-day-number{font-size:12px}
 .cal-day-branches{gap:2px}
 .cal-day-branches .cal-branch-badge{font-size:10px;padding:2px 3px;min-width:24px}
 .cal-branch-legend{gap:7px 12px}
 .cal-legend-item{font-size:10px}
 .profile-calendar .cal-detail{padding:12px;gap:8px}
 .profile-calendar .cal-detail>h3{font-size:16px}
 .profile-calendar .cal-shift{padding:8px}
 .profile-calendar .cal-actions button{flex:1;white-space:normal}
}
