@import url('./legal-calendar-team-colors.css');
.legal-firm-calendar{max-width:1520px;margin:0 auto;color:#253e31;min-width:0}.legal-firm-calendar *{box-sizing:border-box}.legal-firm-calendar :is(h1,h2,h3,p,span,small,strong,dd){overflow-wrap:anywhere}.legal-firm-calendar h1{font-size:30px;line-height:1.2;margin:0 0 10px}.legal-firm-calendar h2{font-size:21px;margin:0 0 10px}.legal-firm-calendar h3{font-size:14px;margin:0 0 9px}.fc-muted{font-size:12px;color:#62746a;line-height:1.65;margin:7px 0 14px}.fc-eyebrow{font-size:10px;font-weight:750;letter-spacing:.08em;color:#52725d;margin:0 0 10px}.fc-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.fc-heading .fc-muted{max-width:600px;margin-bottom:0}.fc-heading-actions{display:flex;gap:10px;flex-wrap:wrap}.fc-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #c2d4c8;border-radius:6px;background:#fff;color:#285e40;padding:9px 13px;font:600 12px/1.4 Arial,sans-serif;text-decoration:none;text-align:center;cursor:pointer}.fc-button:hover{background:#eff6f1}.fc-button.primary{background:#087b49;border-color:#087b49;color:white}.fc-button.primary:hover{background:#08613b}.fc-link{color:#23673f;font-size:12px;font-weight:600;text-underline-offset:3px;min-height:34px;display:inline-flex;align-items:center}.fc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.fc-stats>div{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #d5e1d9;border-radius:8px;padding:18px 20px;background:#fff}.fc-stats span{font-size:12px;color:#5a7062}.fc-stats strong{font-size:27px;color:#255a3b}.fc-stats .requested strong{color:#966f2e}.fc-filters{display:grid;grid-template-columns:1fr 1.3fr 1fr 1.2fr;gap:14px;margin-bottom:22px}.legal-firm-calendar .fc-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:11px;font-weight:650;color:#4b6454;margin:0}.fc-field select{width:100%;min-width:0;max-width:100%;min-height:42px;padding:9px 10px;border:1px solid #bdd0c3;border-radius:6px;background:#fff;font:400 12px Arial,sans-serif;color:#2b4835}.fc-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,310px);gap:22px;align-items:start}.fc-calendar-card{border:1px solid #d3e0d7;border-radius:10px;background:#fff;min-width:0;overflow:hidden}.fc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid #dce6df;flex-wrap:wrap}.fc-month-navigation{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.fc-month-navigation .fc-button{min-width:34px;min-height:34px;padding:6px 10px}.fc-month-navigation h2{font-size:17px;margin:0 10px 0 4px;line-height:1.5}.fc-month-navigation .fc-button:first-child,.fc-month-navigation .fc-button:nth-child(2){font-size:22px;line-height:1}.fc-view-switch{display:flex;border:1px solid #cbdcd1;border-radius:6px;padding:3px;background:#f5f8f5;gap:2px}.fc-view-switch .fc-button{border:0;min-height:31px;padding:6px 10px;background:transparent}.fc-view-switch .fc-button[aria-pressed=true]{background:#246344;color:#fff}.fc-grid-scroll{overflow-x:auto}.fc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:580px}.fc-weekday{font-size:10px;color:#607668;font-weight:700;padding:12px;text-align:center;background:#f8faf8;border-bottom:1px solid #e1e9e3}.fc-day{min-width:0;min-height:124px;padding:7px 5px 8px;border-right:1px solid #e2eae4;border-bottom:1px solid #e2eae4;background:white}.fc-day:nth-child(7n){border-right:0}.fc-day.outside{background:#f8faf8}.fc-day.selected{background:#eff7f1;box-shadow:inset 0 0 0 1px #5d9571}.fc-day-number{display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;font:600 11px Arial,sans-serif;background:transparent;border:0;border-radius:50%;color:#2c5039;cursor:pointer;margin:0 0 5px auto;padding:4px}.fc-day.outside .fc-day-number{color:#839287}.fc-day.today .fc-day-number{background:#216644;color:white}.fc-event{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0;margin:4px 0;padding:6px;border:1px solid #c0d8c8;border-left:3px solid #3f865b;border-radius:4px;background:#eaf4ed;text-align:left;font:10px/1.4 Arial,sans-serif;color:#285e3d;cursor:pointer}.fc-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fc-event strong{font-size:10px}.fc-event small{font-size:8px}.fc-event.requested{border-color:#dfcea7;border-left-color:#bc9651;background:#fcf4e3;color:#7a5a27}.fc-event.cancelled{border-color:#dce2dd;border-left-color:#869189;background:#f0f2f0;color:#6c776f}.fc-event:hover{filter:brightness(.97)}.fc-more{border:0;background:transparent;padding:5px;color:#386948;font:600 10px Arial,sans-serif;cursor:pointer;min-height:27px}.fc-grid.week .fc-day{min-height:390px}.fc-grid.week .fc-event{padding:10px 7px;font-size:11px;gap:5px}.fc-day-empty{display:block;color:#819085;font-size:10px;line-height:1.5;padding:16px 5px;text-align:center}.fc-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:13px 17px;color:#708176;font-size:10px}.fc-legend .confirmed{color:#32724b}.fc-legend .requested{color:#876227}.fc-detail{border:1px solid #d3e0d7;background:#fff;border-radius:10px;padding:21px;min-width:0}.fc-detail>h2{font-size:22px;margin-top:8px}.fc-detail>.fc-button{width:100%;margin-top:14px}.fc-back{display:block;min-height:30px;margin-bottom:12px;border:0;background:transparent;padding:0;color:#476d52;font:600 11px Arial,sans-serif;cursor:pointer}.fc-badge{display:inline-flex;align-items:center;min-height:23px;background:#eaf4ed;color:#306742;font-size:9px;font-weight:650;line-height:1.4;border-radius:20px;padding:4px 8px}.fc-badge.requested{background:#faf0dc;color:#8a6327}.fc-badge.cancelled{background:#edf0ed;color:#737c74}.fc-countdown{padding:12px 14px;border-radius:6px;background:#edf5ef;color:#2b6140;font-size:13px;font-weight:650;line-height:1.5;margin:18px 0}.fc-facts{margin:0}.fc-facts>div{border-bottom:1px solid #e7ede8;padding:10px 0;display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px}.fc-facts dt{font-size:10px;color:#728377}.fc-facts dd{font-size:11px;font-weight:550;line-height:1.5;margin:0}.fc-detail-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:9px 0 3px}.fc-video-pending{background:#fbf5e9;border:1px solid #e7d8b9;padding:12px;border-radius:6px;margin-top:16px}.fc-video-pending strong{font-size:12px;color:#84602a}.fc-video-pending .fc-muted{font-size:11px;margin-bottom:0}.fc-reminders,.fc-availability{border-top:1px solid #e0e8e2;padding-top:18px;margin-top:18px}.fc-reminders .fc-muted,.fc-availability .fc-muted{font-size:11px}.fc-reminders ol{list-style:none;padding:0;margin:0}.fc-reminders li{border-left:2px solid #c9dbcf;padding:0 0 1px 12px;margin:16px 0}.fc-reminders li>*{display:block;font-size:11px;line-height:1.6}.fc-reminders li>span{color:#4c6556}.fc-reminders li>small{font-size:9px;color:#7b887f}.fc-empty-day{font-size:12px;color:#738278;background:#f5f8f5;border-radius:7px;line-height:1.65;padding:17px;margin:18px 0}.fc-day-card{display:flex;flex-direction:column;gap:7px;border:1px solid #cbdccf;border-radius:7px;background:#f6faf7;padding:14px;text-align:left;font:12px/1.45 Arial,sans-serif;color:#355541;cursor:pointer;width:100%;margin:12px 0}.fc-day-card.requested{background:#fffaf1;border-color:#e6d9bd}.fc-day-card.cancelled{background:#f6f7f6;border-color:#dce3de}.fc-day-card .fc-badge{align-self:flex-start}.fc-day-card>small{font-size:10px;color:#64796b}.fc-day-card:hover{box-shadow:0 0 0 1px #92b59d}.fc-availability-row{margin:12px 0}.fc-availability-row>*{display:block;font-size:11px;line-height:1.6}.fc-availability-row>span{font-size:10px;color:#708175}.fc-availability .fc-button{width:100%;margin-top:9px}.fc-agenda{padding:22px}.fc-agenda-day{margin-bottom:25px}.fc-agenda-day>h3{font-size:12px;color:#59745f;padding-bottom:12px;border-bottom:1px solid #e0e9e2}.fc-agenda-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;padding:15px 12px;text-align:left;background:#fff;border:0;border-bottom:1px solid #e5ebe7;cursor:pointer;color:#35563f;font:12px/1.6 Arial,sans-serif}.fc-agenda-row:hover{background:#f4f8f4}.fc-agenda-row>span:nth-child(2)>*{display:block}.fc-agenda-row small{color:#78897c;font-size:10px}.fc-agenda-time{font-size:11px;font-weight:650}.fc-email-queue{margin-top:24px;padding:23px;border:1px solid #d4e2d8;border-radius:10px;background:#fff}.fc-email-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.fc-email-heading h2{font-size:20px}.fc-email-heading .fc-muted{margin-bottom:0}.fc-email-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.fc-email-list>article{border:1px solid #dfe7e1;border-radius:7px;padding:17px}.fc-email-list h3{margin-top:12px}.fc-email-list p:not(.fc-muted){font-size:12px;line-height:1.65;white-space:pre-wrap}.fc-error{padding:15px;border:1px solid #e0bfad;background:#fff3ea;border-radius:6px;color:#8b4b2d;font-size:13px}.legal-firm-calendar :is(button,a,input,select):focus-visible{outline:2px solid #176db0;outline-offset:3px}.legal-firm-calendar [hidden]{display:none!important}
@media(max-width:1250px){.fc-workspace{grid-template-columns:minmax(0,1fr)}.fc-detail{max-width:none}.fc-detail:has(.fc-day-card){display:block}.fc-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.fc-reminders ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fc-detail>.fc-button{width:auto}.fc-detail-links{justify-content:flex-start}.fc-email-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-grid{min-width:560px}}
@media(max-width:720px){.fc-heading{display:block}.fc-heading-actions{margin-top:18px}.fc-heading-actions>a{flex:1}.fc-stats{gap:8px}.fc-stats>div{padding:13px;display:block}.fc-stats span{display:block;font-size:10px;min-height:30px}.fc-stats strong{display:block;font-size:25px;margin-top:6px}.fc-filters{grid-template-columns:1fr 1fr;gap:12px}.fc-field select{font-size:16px;min-height:44px}.fc-toolbar{padding:14px;gap:13px}.fc-month-navigation{flex:1}.fc-month-navigation h2{font-size:16px;margin-right:0}.fc-view-switch{width:100%}.fc-view-switch .fc-button{flex:1}.fc-grid-scroll{overscroll-behavior-x:contain}.fc-day{min-height:114px}.fc-legend{font-size:9px;gap:10px}.fc-detail{padding:18px}.fc-reminders ol{grid-template-columns:1fr;gap:0}.fc-facts{grid-template-columns:1fr}.fc-email-queue{padding:18px}.fc-email-heading{display:block}.fc-email-heading .fc-link{margin-top:10px}.fc-email-list{grid-template-columns:1fr}.fc-agenda{padding:16px}.fc-agenda-row{grid-template-columns:1fr;gap:5px;padding:14px 7px}.fc-agenda-row .fc-badge{justify-self:start}.fc-day-number{min-height:32px;min-width:32px}}
.fc-connections{display:flex;gap:10px 22px;flex-wrap:wrap;margin:-2px 0 21px;font-size:10px;color:#647b6b}.fc-connections>span{display:inline-flex;align-items:center;gap:7px}.fc-connections>span::before{content:'';width:6px;height:6px;background:#acbcb1;border-radius:50%;flex:none}.fc-day.drop-target{background:#e3f2e7;box-shadow:inset 0 0 0 2px #40865a}.fc-event[draggable=true]{cursor:grab}.fc-event[draggable=true]:active{cursor:grabbing}.fc-detail .fc-field{margin:17px 0}.fc-field input{width:100%;min-width:0;min-height:42px;padding:9px 10px;border:1px solid #bdd0c3;border-radius:6px;background:#fff;font:400 12px Arial,sans-serif;color:#2b4835}.fc-current-time{font-size:12px;line-height:1.6;padding:12px;background:#f2f7f3;border-radius:6px}.fc-move-notice{font-size:11px;line-height:1.65;border-left:3px solid #c6a66c;background:#fcf6e9;padding:12px;color:#795c2c}.fc-button:disabled{opacity:.55;cursor:default}@media(max-width:720px){.fc-field input{font-size:16px;min-height:44px}.fc-connections{font-size:9px;gap:8px 15px}}
.fc-mobile-grid-hint{display:none}@media(max-width:720px){.fc-mobile-grid-hint{display:block;font-size:10px;line-height:1.5;color:#69806f;margin:0;padding:10px 14px;border-bottom:1px solid #e2eae4}}

/* Additive ten-person fictional work schedule. */
.fc-filters.with-staff{grid-template-columns:1.5fr 1.2fr 1fr 1.2fr 1fr}.fc-event.planned{background:#edf2fb;border-color:#cbd6ec;border-left-color:#6186b3;color:#355777}.fc-event.time_off{background:#f1edf6;border-color:#ded3ea;border-left-color:#9678b1;color:#675579}.fc-event.court_deadline{background:#fff0e7;border-color:#ead2bb;border-left-color:#b47b47;color:#8d592c}.fc-badge.time_off{background:#eee7f4;color:#675579}.fc-badge.court_deadline{background:#fff0e7;color:#8d592c}.fc-badge.planned{background:#edf2fb;color:#355777}@media(max-width:1000px){.fc-filters.with-staff{grid-template-columns:1fr 1fr}}@media(max-width:400px){.fc-filters.with-staff{grid-template-columns:1fr}.fc-facts>div{grid-template-columns:60px minmax(0,1fr)}}

/* Assignment colors are stable by person, separate from work/status colors. */
.fc-member-jordan{background:#47715a}.fc-member-maya{background:#806193}.fc-member-alex{background:#497b9b}.fc-member-sam{background:#448b84}.fc-member-nora{background:#ab7752}.fc-member-leah{background:#996c85}.fc-member-eli{background:#9b882e}.fc-member-priya{background:#b96770}.fc-member-owen{background:#657784}.fc-member-avery{background:#7a894c}.fc-member-unassigned{background:#819087}
.fc-has-assignment{position:relative}.fc-assignment-stripe{position:absolute;left:4px;top:6px;bottom:6px;width:3px;display:flex;flex-direction:column;gap:2px;overflow:hidden;border-radius:2px;pointer-events:none}.fc-assignment-stripe>i{display:block;flex:1;min-height:1px;width:100%}.fc-event.fc-has-assignment{padding-left:12px;border-left-width:1px}.fc-event .fc-assigned-name{font-size:9px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%;color:#43564b}.fc-agenda-row.fc-has-assignment{padding-left:21px}.fc-day-card.fc-has-assignment{padding-left:23px}.fc-agenda-row>.fc-assignment-stripe,.fc-day-card>.fc-assignment-stripe{top:12px;bottom:12px;left:7px}
.fc-assignment-key{border:1px solid #d5e1d9;border-radius:8px;background:#f8faf7;margin:-6px 0 20px;color:#526859;font-size:11px}.fc-assignment-key summary{cursor:pointer;padding:12px 15px;font-weight:650;min-height:40px}.fc-assignment-key summary:focus-visible{outline:2px solid #176db0;outline-offset:3px}.fc-assignment-key-items{display:flex;gap:11px 22px;flex-wrap:wrap;padding:3px 15px 8px}.fc-assignment-key-item{display:inline-flex;align-items:center;gap:8px;min-width:104px}.fc-assignment-key-item>i{display:block;width:3px;height:17px;flex:none;border-radius:2px}.fc-assignment-key .fc-muted{font-size:10px;margin:3px 15px 12px}
@media(max-width:720px){.fc-assignment-key-items{display:grid;grid-template-columns:1fr 1fr;gap:11px}.fc-assignment-key-item{min-width:0}.fc-agenda-row.fc-has-assignment{padding-left:19px}}
@media(forced-colors:active){.fc-assignment-stripe>i,.fc-assignment-key-item>i{background:CanvasText}}
/* Every calendar entry has two visible text lines; full details remain accessible. */
.fc-entry-line,.fc-entry-context{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.fc-entry-line{font-weight:650}.fc-entry-context{font-size:10px;color:#526859}.fc-event .fc-entry-context{font-size:9px}.fc-event{gap:2px}.fc-grid.week .fc-event{gap:2px;padding-top:7px;padding-bottom:7px}.fc-agenda-row{display:flex;flex-direction:column;align-items:stretch;gap:3px;line-height:1.55}.fc-day-card{gap:3px}.fc-agenda-row .fc-entry-line{font-size:12px}.fc-event.fc-has-assignment .fc-assignment-stripe{display:flex}

.fc-team-preview{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px;margin:0 0 20px;border:1px solid #d5e1d9;border-radius:8px;background:#f8faf7}.fc-team-preview .fc-field{flex:0 1 190px}.fc-team-preview .fc-muted{flex:1 1 230px;margin:0}.fc-assignment-key-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));align-items:start;gap:13px 18px}.fc-assignment-key-item{min-width:0;max-width:100%;align-items:flex-start;line-height:1.5}.fc-assignment-key-item>span{min-width:0;overflow-wrap:anywhere}.fc-assignment-key-item>i{margin-top:1px}.legal-firm-calendar .fc-assignment-search{max-width:340px;padding:0 15px;margin:3px 0 14px}.fc-assignment-search input{min-height:40px}.fc-assignment-key-item[hidden]{display:none!important}@media(max-width:720px){.fc-assignment-key-items{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.fc-team-preview{align-items:stretch;gap:10px}.fc-team-preview .fc-field,.fc-team-preview .fc-muted{flex-basis:100%}.fc-assignment-search input{font-size:16px}.legal-firm-calendar .fc-assignment-search{max-width:none}}
.fc-assignment-stripe.compact{gap:0}.fc-assignment-stripe.compact>i{min-height:0}

/* Keep the three calendar actions together without squeezing the heading. */
.fc-heading{flex-wrap:wrap}.fc-heading-actions{align-items:stretch}
@media(max-width:720px){.fc-heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.fc-heading-actions>a:last-child{grid-column:1/-1}}
