.planner-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:28px;border-radius:22px;background:linear-gradient(135deg,#101f36,#203c63);color:#fff;margin-bottom:20px}.planner-hero h2{font-size:30px;margin:4px 0 8px}.planner-hero p{max-width:760px;margin:0;color:#d8e3f0}.planner-hero small{letter-spacing:.12em;font-weight:700;color:#a9bed8}.planner-nav{display:flex;gap:8px;flex-wrap:wrap}.planner-hero .button{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}
.planner-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}.planner-kpis>div{background:#fff;border:1px solid #dfe7f0;border-radius:18px;padding:18px}.planner-kpis span{display:block;color:#66758a;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.planner-kpis strong{display:block;font-size:28px;margin-top:4px;color:#10213a}
.work-week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start;margin-bottom:22px}.work-day-column{min-width:0;background:#f8fafc;border:1px solid #dfe7f0;border-radius:18px;min-height:320px;overflow:hidden}.work-day-column.today{border:2px solid #244d7e}.work-day-column>header{padding:14px 15px;border-bottom:1px solid #dfe7f0;background:#fff;display:grid;grid-template-columns:1fr auto;gap:2px 10px}.work-day-column>header small{font-weight:800;letter-spacing:.08em;color:#55708f}.work-day-column>header b{grid-column:1;font-size:17px;color:#10213a}.work-day-column>header span{grid-row:1/3;grid-column:2;align-self:center;color:#78889b;font-size:12px}
.calendar-task{min-width:0;overflow-wrap:anywhere;margin:10px;padding:12px;border-radius:14px;background:#fff;border:1px solid #dfe7f0;border-left:4px solid #8595a8}.calendar-task.priority-high{border-left-color:#a15c18}.calendar-task.priority-critical{border-left-color:#a52a2a}.calendar-task.priority-low{border-left-color:#6d8d7b}.calendar-task h3{overflow-wrap:anywhere;font-size:14px;line-height:1.35;margin:5px 0;color:#132640}.calendar-task p{font-size:12px;line-height:1.45;color:#68778a;margin:5px 0 10px}.task-time{font-size:11px;color:#5f7186;font-weight:700}.task-meta{min-width:0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.task-meta>span:not(.status-pill){font-size:10px;background:#eef3f8;border-radius:999px;padding:4px 7px;color:#53677e}.calendar-empty,.calendar-exception{margin:12px;padding:16px;border-radius:12px;text-align:center;font-size:12px;color:#6b7889}.calendar-exception{background:#fff4e8;color:#7b511e}
.planner-control-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:18px}.capacity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.capacity-card{background:#fff;border:1px solid #dfe7f0;border-radius:16px;padding:15px;display:grid;gap:5px}.capacity-card div{display:flex;flex-direction:column}.capacity-card span,.capacity-card small{font-size:11px;color:#718096}.capacity-card strong{font-size:20px;color:#17304f}.settings-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.policy-card{border:1px solid #dfe7f0;border-radius:16px;padding:16px;display:grid;gap:10px;background:#fbfcfe}.policy-card>b{font-size:16px}.policy-card>span{font-size:12px;color:#6a7a8e}.policy-card label{font-size:12px;color:#50637a}.policy-card input[type=number]{margin-top:5px}
@media(max-width:1150px){.work-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-control-grid{grid-template-columns:1fr}}
@media(max-width:720px){.planner-hero{align-items:flex-start;flex-direction:column;padding:20px}.planner-hero h2{font-size:24px}.planner-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.work-week-grid,.settings-policy-grid,.capacity-grid{grid-template-columns:1fr}.planner-nav{width:100%}.planner-nav .button{flex:1;text-align:center}.calendar-task{margin:8px}.work-day-column{min-height:auto}}


/* Trinidad and Tobago public-holiday calendar */
.work-day-column.nonworking{background:#fbfaf5}
.calendar-exception.public-holiday{display:grid;gap:4px;border:1px solid #ead9a8;background:#fffaf0;text-align:left}
.calendar-exception.public-holiday b{font-size:9px;letter-spacing:.11em;color:#7b6218}
.calendar-exception.public-holiday span{font-size:12px;font-weight:800;line-height:1.35;color:#263253}

.calendar-task .task-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
.calendar-task .task-meta>span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
