.l4l-native-planner{--planner-navy:#163a45;--planner-green:#7ac143;--planner-line:#dbe7e9;color:#25343b}
.l4l-planner-week{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:12px 16px;border:1px solid var(--planner-line);border-radius:13px;background:#fff}
.l4l-planner-week a{color:#347889;font-size:13px;font-weight:800;text-decoration:none}.l4l-planner-week strong{color:var(--planner-navy);font-size:16px;text-align:center}
.l4l-live-status{display:flex;align-items:center;gap:8px;margin:-8px 0 16px;color:#567078;font-size:11px}.l4l-live-status>span{width:9px;height:9px;border-radius:50%;background:#7ac143;box-shadow:0 0 0 4px rgba(122,193,67,.16)}.l4l-live-status small{margin-left:auto}.l4l-live-status.is-updating>span{animation:l4l-live-pulse .7s infinite alternate}.l4l-live-status.is-updated{color:#315d25}@keyframes l4l-live-pulse{to{opacity:.25}}
.l4l-trainer-legend{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 12px}.l4l-trainer-legend span{padding:5px 10px;border:1px solid;border-radius:999px;font-size:11px;font-weight:900}.l4l-trainer-legend .is-alvaro{border-color:#86cfe0;background:#e5f6fa}.l4l-trainer-legend .is-ruben{border-color:#8dc962;background:#edf8e6}.l4l-trainer-legend .is-emilio{border-color:#ebc958;background:#fff6cf}.l4l-trainer-legend .is-daniel{border-color:#eea29d;background:#fde9e7}
.l4l-pending-alert{margin:0 0 16px;border:1px solid #edc75e;border-radius:14px;background:#fff9df;box-shadow:0 8px 24px rgba(103,79,11,.08)}.l4l-pending-alert summary{display:grid;grid-template-columns:auto auto 1fr;gap:9px;align-items:center;padding:14px 16px;color:#684f0b;cursor:pointer;list-style:none}.l4l-pending-alert summary::-webkit-details-marker{display:none}.l4l-pending-alert summary>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#f4d76e}.l4l-pending-alert summary strong{font-size:14px}.l4l-pending-alert summary small{text-align:right}.l4l-pending-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:430px;overflow:auto;padding:0 12px 12px}.l4l-pending-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px;border:1px solid #eadba5;border-radius:10px;background:#fff}.l4l-pending-list article>div{min-width:0}.l4l-pending-list strong,.l4l-pending-list small,.l4l-pending-list span{display:block}.l4l-pending-list small{margin:3px 0;color:#6e797d;font-size:11px}.l4l-pending-list span,.l4l-pending-list span a{overflow:hidden;color:#347889;font-size:11px;text-overflow:ellipsis}.l4l-pending-actions{display:grid;flex:0 0 92px;gap:5px}.l4l-pending-place{padding:7px 9px;border-radius:8px;background:var(--planner-navy);color:#fff!important;font-size:11px;font-weight:900;text-align:center;text-decoration:none}.l4l-incident-entry{position:relative}.l4l-incident-entry>summary{display:block!important;padding:6px 8px!important;border:1px solid #dcc36e;border-radius:8px;color:#684f0b!important;font-size:11px;font-weight:900;text-align:center}.l4l-incident-entry>form{display:grid;gap:7px;margin-top:6px;padding:9px;border:1px solid #eadba5;border-radius:9px;background:#fffdf5}.l4l-incident-entry label{font-size:10px;font-weight:800}.l4l-incident-entry select,.l4l-incident-entry textarea{width:100%;margin-top:3px;border:1px solid #d9d3ba;border-radius:6px}.l4l-incident-entry button{padding:7px;border:0;border-radius:7px;background:#684f0b;color:#fff;font-size:11px;font-weight:900;cursor:pointer}.l4l-pending-complete{margin:0 0 16px;padding:13px 16px;border:1px solid #a9d58e;border-radius:13px;background:#edf8e6;color:#315d25}.l4l-week-incidents{margin:-7px 0 16px;border:1px solid #cfdde0;border-radius:12px;background:#f7fafb}.l4l-week-incidents>summary{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;color:var(--planner-navy);cursor:pointer}.l4l-week-incidents>summary span{color:#6e797d;font-size:11px}.l4l-week-incidents>div{display:grid;gap:6px;padding:0 10px 10px}.l4l-week-incidents article{padding:9px;border-radius:8px;background:#fff}.l4l-week-incidents article strong,.l4l-week-incidents article span,.l4l-week-incidents article small{display:block}.l4l-week-incidents article span{margin:2px 0;color:#3d5961;font-size:12px}.l4l-week-incidents article small{color:#7b898e;font-size:10px}
.l4l-weekly-target-control{display:flex;align-items:center;justify-content:center;gap:4px}.l4l-weekly-target-control button{display:grid;width:22px;height:22px;place-items:center;padding:0;border:0;border-radius:6px;background:var(--planner-navy);color:#fff;font-size:14px;font-weight:900;line-height:1;cursor:pointer}.l4l-weekly-target-control button:disabled{opacity:.3;cursor:not-allowed}.l4l-weekly-target-control output{min-width:18px;color:var(--planner-navy);font-size:13px;font-weight:900;text-align:center}.l4l-optional-actions{display:grid;min-width:92px;gap:5px}
.l4l-optional-sessions{margin:-7px 0 16px;border:1px solid #9fcbd4;border-radius:12px;background:#f0f8fa}.l4l-optional-sessions>summary{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;color:#215c69;cursor:pointer}.l4l-optional-sessions>summary span{color:#567078;font-size:11px}.l4l-optional-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 10px 10px}.l4l-optional-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #c5e0e5;border-radius:9px;background:#fff}.l4l-optional-list strong,.l4l-optional-list small{display:block}.l4l-optional-list small{margin-top:3px;color:#6e797d;font-size:10px}
.l4l-completed-sessions{margin:-7px 0 16px;border:1px solid #bad8a7;border-radius:12px;background:#f4faef}.l4l-completed-sessions>summary{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;color:#315d25;cursor:pointer}.l4l-completed-sessions>summary span{color:#66815b;font-size:11px}.l4l-completed-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto;padding:0 10px 10px}.l4l-completed-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #d4e7c7;border-radius:9px;background:#fff}.l4l-completed-list strong,.l4l-completed-list small{display:block}.l4l-completed-list small{margin-top:3px;color:#6e797d;font-size:10px}
.l4l-planner-scroll{height:82vh;min-height:720px;max-height:980px;overflow:auto;margin-bottom:8px;border:1px solid var(--planner-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(22,58,69,.05)}
.l4l-planner-grid{display:grid;grid-template-columns:68px repeat(6,minmax(220px,1fr));min-width:1388px;background:var(--planner-line);gap:1px}
.l4l-grid-corner,.l4l-grid-head{position:sticky;top:0;z-index:4;min-height:48px;background:var(--planner-navy);color:#fff}
.l4l-grid-corner{left:0;z-index:6;display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:.08em}
.l4l-grid-head{display:flex;align-items:center;justify-content:space-between;padding:0 13px}.l4l-grid-head span{font-size:11px;font-weight:900;letter-spacing:.08em}.l4l-grid-head strong{font-size:14px}
.l4l-grid-time{position:sticky;left:0;z-index:3;display:flex;align-items:flex-start;justify-content:center;min-height:68px;padding-top:8px;background:#f1f6f7;color:var(--planner-navy);font-size:11px;font-weight:900}
.l4l-grid-cell{min-height:68px;padding:4px;background:#fff}.l4l-grid-cell:nth-of-type(14n+9),.l4l-grid-cell:nth-of-type(14n+10),.l4l-grid-cell:nth-of-type(14n+11),.l4l-grid-cell:nth-of-type(14n+12),.l4l-grid-cell:nth-of-type(14n+13),.l4l-grid-cell:nth-of-type(14n+14){background:#fbfdfd}.l4l-grid-cell.has-appointments{background:#f8fbfb}
.l4l-grid-empty{display:block;height:100%;min-height:60px}.l4l-time-row{display:grid;grid-template-columns:1fr;gap:4px;align-items:start}.l4l-time-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.l4l-time-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.l4l-slot{position:relative;padding:7px 27px 7px 8px;border:1px solid;border-radius:9px;background:#fff}.l4l-slot>div{display:flex;justify-content:space-between;gap:4px}.l4l-slot time{font-size:12px;font-weight:900}.l4l-slot>div span,.l4l-slot small{font-size:9px}.l4l-slot strong,.l4l-slot small{display:block;margin-top:2px}.l4l-slot strong{font-size:11px;line-height:1.15}.l4l-slot small{color:#64727c}.l4l-slot>div.l4l-slot-actions{position:absolute;top:4px;right:4px;display:grid;gap:2px}.l4l-slot-actions form{position:static}.l4l-slot-actions form button{width:19px;height:19px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.78);color:#42565d;line-height:19px;cursor:pointer}.l4l-slot-actions form button.l4l-series-remove{font-size:12px;font-weight:900}
.l4l-slot-edit{display:inline-block;margin:4px 7px 0 0}.l4l-slot-edit>summary{color:#315d25;cursor:pointer;font-size:8px;font-weight:900;list-style:none;text-decoration:underline}.l4l-slot-edit>summary::-webkit-details-marker{display:none}.l4l-slot-edit form{display:grid;gap:5px;margin-top:6px}.l4l-slot-edit label{font-size:9px;font-weight:800}.l4l-slot-edit select{width:100%;min-height:28px;margin-top:2px;border:1px solid rgba(22,58,69,.2);border-radius:6px;background:#fff;font-size:10px}.l4l-slot-edit button{padding:6px;border:0;border-radius:6px;background:#163a45;color:#fff;font-size:9px;font-weight:900;cursor:pointer}
.l4l-slot--alvaro{border-color:#86cfe0;background:#e5f6fa}.l4l-slot--ruben{border-color:#8dc962;background:#edf8e6}.l4l-slot--emilio{border-color:#ebc958;background:#fff6cf}.l4l-slot--daniel{border-color:#eea29d;background:#fde9e7}.l4l-slot--neutral{border-color:#cbd6d9;background:#f3f7f8}
.l4l-planner-columns{display:grid;grid-template-columns:minmax(420px,1fr) minmax(320px,.8fr);gap:16px;margin-top:16px}.l4l-planner-columns>.l4l-real-card,.l4l-planner-columns>.l4l-panel{margin:0}
.l4l-native-planner .l4l-real-card{padding:20px;border:1px solid var(--planner-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(22,58,69,.05)}.l4l-native-planner h2{margin-top:0;color:var(--planner-navy)}.l4l-native-planner .l4l-front-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.l4l-native-planner .l4l-front-fields label{font-size:12px;font-weight:800}.l4l-native-planner input,.l4l-native-planner select{width:100%;margin-top:5px;min-height:38px;border:1px solid #cddcde;border-radius:8px}.l4l-native-planner .l4l-front-submit{display:inline-flex;margin-top:15px;padding:11px 16px;border:0;border-radius:9px;background:var(--planner-green);color:var(--planner-navy);font-weight:900;cursor:pointer}.l4l-native-planner .l4l-muted{color:#64727c}
.l4l-availability-list{display:grid;gap:9px}.l4l-availability-list article{padding:11px 12px;border:1px solid var(--planner-line);border-radius:10px;background:#f8fbfb}.l4l-availability-list strong,.l4l-availability-list span,.l4l-availability-list small{display:block}.l4l-availability-list span{margin-top:3px;color:#347889;font-size:13px;font-weight:800}.l4l-availability-list small{margin-top:3px;color:#64727c}
.l4l-proposal-reply{margin-top:8px}.l4l-proposal-reply summary{width:max-content;cursor:pointer;color:#087c45;font-size:12px;font-weight:800}.l4l-proposal-reply form{margin-top:10px}.l4l-proposal-reply .l4l-front-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.l4l-proposal-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.l4l-proposal-actions button{padding:7px 10px;border:1px solid #b9d6ca;border-radius:8px;background:#fff;color:#17543a;font-size:12px;font-weight:800;cursor:pointer}.l4l-proposal-actions button:first-child{background:#dff3e5}
.l4l-client-planner{scroll-margin-top:20px}.l4l-client-options{display:grid;gap:8px;margin:18px 0}.l4l-client-option{display:grid;grid-template-columns:minmax(120px,1fr) repeat(3,minmax(110px,.8fr));gap:10px;align-items:end;padding:12px;border:1px solid var(--planner-line);border-radius:12px;background:#f8fbfb}.l4l-client-option label{font-size:11px;font-weight:800}.l4l-client-option select{width:100%;margin-top:4px}.l4l-option-day{display:flex;align-items:center;gap:8px;padding-bottom:9px}.l4l-option-day strong{font-size:14px;color:var(--planner-navy)}
.l4l-client-appointments{display:flex;gap:10px;overflow:auto;margin:14px 0}.l4l-client-appointments article{min-width:150px;padding:12px;border-left:4px solid var(--planner-green);border-radius:10px;background:#f0f8e9}.l4l-client-appointments span,.l4l-client-appointments strong,.l4l-client-appointments small{display:block}.l4l-client-appointments strong{margin:3px 0;color:var(--planner-navy);font-size:22px}
.l4l-incident-history{margin-top:22px;padding-top:18px;border-top:1px solid #dbe7e9}.l4l-incident-history h3{margin:0 0 4px;color:#163a45}.l4l-incident-history>p{margin:0 0 12px;color:#6e797d;font-size:12px}.l4l-incident-history>div{display:grid;gap:8px;max-height:360px;overflow:auto}.l4l-incident-history article{padding:11px 12px;border:1px solid #dbe7e9;border-left:4px solid #d6a42e;border-radius:9px;background:#fff}.l4l-incident-history article strong,.l4l-incident-history article span,.l4l-incident-history article small{display:block}.l4l-incident-history article span{margin-top:2px;color:#49636b;font-size:11px}.l4l-incident-history article p{margin:7px 0;color:#25343b}.l4l-incident-history article small{color:#7b898e;font-size:10px}
@media(max-width:1000px){.l4l-planner-grid{grid-template-columns:62px repeat(6,210px);min-width:1322px}.l4l-planner-columns{grid-template-columns:1fr}.l4l-pending-list,.l4l-optional-list,.l4l-completed-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.l4l-planner-week{align-items:stretch;flex-direction:column;text-align:center}.l4l-client-option{grid-template-columns:1fr 1fr}.l4l-option-day{grid-column:1/-1}.l4l-planner-columns{display:block}.l4l-planner-columns>*+*{margin-top:14px}.l4l-native-planner .l4l-front-fields{grid-template-columns:1fr}.l4l-pending-alert summary{grid-template-columns:auto 1fr}.l4l-pending-alert summary small{grid-column:1/-1;text-align:left}.l4l-pending-list,.l4l-optional-list,.l4l-completed-list{grid-template-columns:1fr}.l4l-optional-sessions>summary,.l4l-completed-sessions>summary{display:grid}.l4l-live-status{flex-wrap:wrap}.l4l-live-status small{width:100%;margin-left:17px}}
