/* V53 — single professional schedule */
#schedule.v53-schedule-panel{padding:0}
.v53-schedule-shell{background:#fff;border:1px solid #d6e2e9;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(17,65,88,.08)}
.v53-schedule-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;background:linear-gradient(135deg,#123f57,#0f6b73);color:#fff}
.v53-schedule-toolbar h1{margin:0 auto 0 0;font-size:22px;color:#fff}
.v53-schedule-toolbar small{opacity:.85}
.v53-tool-btn{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.11);color:#fff;border-radius:10px;padding:9px 12px;font-weight:900}
.v53-tool-btn.primary{background:#fff;color:#123f57}
.v53-tool-btn.editing{background:#ffefb8;color:#704d00;border-color:#f5d66b}
.v53-schedule-info{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 14px;background:#f5fafc;border-bottom:1px solid #dce8ee;font-size:11px;color:#496775}
.v53-schedule-info .legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.v53-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:900}
.v53-pill.pi{background:#dceeff;color:#145b91}.v53-pill.po{background:#dcf6e8;color:#176c4b}.v53-pill.lock{background:#fff0c9;color:#7a5600}
.v53-table-wrap{overflow:auto;padding:12px;background:#fff}
.v53-week-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:10px;border:1px solid #bfd0db;border-radius:12px;overflow:hidden}
.v53-week-table th,.v53-week-table td{border-left:1px solid #d6e2e8;border-bottom:1px solid #d6e2e8;text-align:center;padding:0;vertical-align:stretch}
.v53-week-table tr:last-child td{border-bottom:0}.v53-week-table th:last-child,.v53-week-table td:last-child{border-left:0}
.v53-week-table thead th{background:#163f5a;color:#fff;height:48px;padding:7px 4px;font-weight:900}
.v53-week-table .day-col{width:105px;background:#edf5f8;color:#153d55;font-size:13px;font-weight:900;padding:8px}
.v53-week-table tbody tr:nth-child(1) .day-col{background:#eaf4ff}.v53-week-table tbody tr:nth-child(2) .day-col{background:#eafaf4}.v53-week-table tbody tr:nth-child(3) .day-col{background:#f2edff}.v53-week-table tbody tr:nth-child(4) .day-col{background:#fff5df}.v53-week-table tbody tr:nth-child(5) .day-col{background:#ffedf2}
.v53-slot{height:93px;position:relative;background:#fbfdff;padding:5px!important}
.v53-slot.unavailable{background:repeating-linear-gradient(135deg,#f4f6f7,#f4f6f7 7px,#eceff1 7px,#eceff1 14px);color:#9aa8b0}
.v53-time-label{display:block;font-size:8px;color:#66818f;font-weight:800;margin:1px 0 4px;direction:ltr}
.v53-session{height:60px;border-radius:11px;padding:5px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid;position:relative;overflow:hidden}
.v53-session.pi{background:linear-gradient(180deg,#f1f8ff,#e3f2ff);border-color:#b8daf2}.v53-session.po{background:linear-gradient(180deg,#f1fcf6,#e3f7ed);border-color:#b7dfca}
.v53-name{font-size:10px;font-weight:900;color:#143e57;line-height:1.2;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v53-session .v53-pill{font-size:8px;padding:2px 7px}
.v53-lockmark{position:absolute;left:4px;top:4px;font-size:10px}
.v53-empty{height:60px;border:1px dashed #d7e3e9;border-radius:11px;display:grid;place-items:center;color:#a4b1b8;font-size:16px}
.v53-edit-on .v53-slot:not(.unavailable){cursor:pointer}.v53-edit-on .v53-slot:not(.unavailable):hover{outline:3px solid rgba(19,111,122,.16);outline-offset:-3px}
.v53-settings-drawer{display:none;padding:14px;background:#f7fbfc;border-bottom:1px solid #d9e7ed}
.v53-settings-drawer.open{display:block}
.v53-settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}
.v53-box{background:#fff;border:1px solid #d9e6ec;border-radius:14px;padding:12px}
.v53-box h3{margin:0 0 9px;color:#123f57;font-size:15px}
.v53-student-tools{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.v53-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:370px;overflow:auto;padding-left:2px}
.v53-student-row{border:1px solid #dbe6eb;border-radius:10px;background:#fbfdfe;padding:7px;display:grid;grid-template-columns:minmax(120px,1fr) 68px 68px 28px;gap:6px;align-items:center}
.v53-student-row input{margin:0!important;padding:7px!important;min-width:0}
.v53-student-row .remove{border:0;background:#ffecec;color:#b02727;border-radius:8px;height:32px}
.v53-count-label{font-size:8px;font-weight:900;text-align:center}.v53-count-label.pi{color:#145b91}.v53-count-label.po{color:#176c4b}
.v53-time-fields textarea,.v53-order-box textarea{min-height:110px;margin-top:5px}
.v53-hint{font-size:9px;line-height:1.6;color:#69808c;margin-top:6px}
.v53-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.v53-actions button{border-radius:9px;padding:8px 11px;font-weight:900;border:1px solid #d4e1e8;background:#fff;color:#123f57}.v53-actions .primary{background:#123f57;color:#fff;border-color:#123f57}
#v53ScheduleMessage{font-size:10px;font-weight:900;margin-right:auto}
.v53-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(6,26,39,.45);display:none;align-items:center;justify-content:center;padding:18px}.v53-modal-backdrop.open{display:flex}
.v53-modal{width:min(460px,100%);background:#fff;border-radius:17px;padding:16px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.v53-modal h3{margin:0 0 12px;color:#123f57}.v53-modal label{margin-bottom:9px}.v53-modal .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v53-modal-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:12px}.v53-modal-actions button{border-radius:9px;padding:8px 12px;border:1px solid #d7e2e8;background:#fff;font-weight:900}.v53-modal-actions .save{background:#123f57;color:#fff}.v53-modal-actions .clear{background:#fff0ef;color:#a52d2d}
@media(max-width:900px){.v53-settings-grid{grid-template-columns:1fr}.v53-student-list{grid-template-columns:1fr}.v53-schedule-toolbar h1{width:100%;margin:0}.v53-table-wrap{padding:6px}}
@media print{
  body{background:#fff!important}.sidebar,.topbar,#v53FocusBar,.v53-schedule-toolbar,.v53-schedule-info,.v53-settings-drawer,.no-print,.v53-modal-backdrop{display:none!important}
  .main{margin:0!important;width:100%!important}.content{padding:0!important}.panel{display:none!important}#schedule.panel{display:block!important}
  .v53-schedule-shell{border:0!important;box-shadow:none!important}.v53-table-wrap{padding:0!important;overflow:visible!important}
  .v53-week-table{min-width:0!important;width:100%!important;font-size:8px!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .v53-week-table thead th{height:34px!important}.v53-slot{height:68px!important}.v53-session,.v53-empty{height:47px!important}.v53-name{font-size:8px!important}.v53-time-label{font-size:7px!important}
  @page{size:A4 landscape;margin:7mm}
}

/* V54 break / duty */
.v54-break-banner{margin:10px 12px 0;padding:10px 13px;border:1px solid #f0cf7a;border-radius:12px;background:linear-gradient(135deg,#fff6d9,#ffedbd);color:#755100;display:flex;align-items:center;justify-content:space-between;gap:12px}.v54-break-banner>div{display:flex;align-items:center;gap:9px}.v54-break-banner b{font-size:13px}.v54-break-banner span{font-weight:900;direction:ltr}.v54-break-banner small{font-size:9px;color:#80641e}.v54-break-settings{margin:9px 0;padding:10px;border:1px solid #f0d58e;border-radius:11px;background:#fffaf0}.v54-break-settings h4{margin:0 0 8px;color:#765300}.v54-break-time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v54-break-settings input[type=time]{direction:ltr}.v54-break-slot{background:linear-gradient(180deg,#fff8e6,#ffefc2)!important;border-color:#efd384!important}.v54-break-cell{height:60px;border:1px solid #edcd70;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7b5600}.v54-break-cell b{font-size:9px}.v54-break-cell small{font-size:7px;margin-top:4px;direction:ltr}.v54-break-edge{display:inline-block;margin:-1px 0 2px;padding:1px 5px;border-radius:99px;background:#fff1bf;color:#8a6000;font-size:6.5px;font-weight:900}.v54-break-edge.after{background:#e9f5ef;color:#23664d}@media(max-width:700px){.v54-break-banner{align-items:flex-start;flex-direction:column}.v54-break-time-row{grid-template-columns:1fr 1fr}}@media print{.v54-break-banner{display:none!important}.v54-break-slot{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
