.tgcp-wrap,.tgcp-portal,.tgcp-staff{max-width:1100px}.tgcp-panel,.tgcp-box,.tgcp-staff{background:#fff;border:1px solid #d9e0ed;border-radius:12px;padding:20px;margin:16px 0;box-shadow:0 2px 8px #101d3610}.tgcp-panel form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.tgcp-panel form label,.tgcp-box form label{display:flex;flex-direction:column;gap:6px;font-weight:600;min-width:170px;flex:1}.tgcp-panel input,.tgcp-panel select,.tgcp-panel textarea,.tgcp-box input{max-width:100%;padding:8px;border:1px solid #b8c4d8;border-radius:6px}.tgcp-panel textarea{min-width:300px;width:100%}.tgcp-checks{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 18px}.tgcp-checks label{flex:0 1 200px!important;font-weight:400!important;display:block!important;min-width:0!important}.tgcp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.tgcp-stats>div{background:#112b4f;color:white;padding:18px;border-radius:10px;min-height:65px}.tgcp-stats strong{font-size:24px;display:block;overflow-wrap:anywhere}.tgcp-stats small{display:block;opacity:.85;margin-top:4px}.tgcp-portal{font-family:inherit}.tgcp-portal .tgcp-box{background:#fff;color:#16233b}.tgcp-portal details summary{cursor:pointer}.tgcp-box form{display:grid;gap:12px}.tgcp-box button{background:#112b4f;color:white;border:0;border-radius:8px;padding:12px 18px;cursor:pointer}.tgcp-rota-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;border-top:1px solid #dae1eb;padding:12px 0}@media(max-width:650px){.tgcp-stats{grid-template-columns:1fr}.tgcp-rota-row{grid-template-columns:1fr 1fr}.tgcp-rota-row strong{grid-column:1/-1}}

.tgcp-pattern-days{border:1px solid #d9e0ed;border-radius:8px;padding:12px;width:100%;display:flex;flex-wrap:wrap;gap:12px}.tgcp-pattern-days label{flex:0 1 130px!important;min-width:110px!important;display:flex!important;flex-direction:row!important;align-items:center;gap:6px}.tgcp-pattern-days input{margin:0}

.tgcp-student-comment-form{border-top:1px solid #e1e6ef;padding-top:14px;margin-top:16px;display:grid;gap:10px}.tgcp-student-comment-form label{display:grid;gap:8px}.tgcp-student-comment-form textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;border:1px solid #aebbd0;border-radius:7px;padding:10px;font:inherit}.tgcp-download{display:inline-block;color:#123b73;font-weight:600;text-decoration:underline}.tgcp-export-all{margin-top:24px;border-top:1px solid #e1e6ef;padding-top:18px}

.tgcp-learning-new,.tgcp-learning-pending{width:100%;border:1px solid #d9e0ed;border-radius:8px;padding:12px;box-sizing:border-box;background:#f8fafc}.tgcp-learning-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.tgcp-learning-entry{margin-top:12px}.tgcp-learning-pending label{display:block!important;font-weight:normal!important;margin:8px 0}.tgcp-learning-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #e1e6ef}.tgcp-learning-row form{flex:0 0 auto}@media(max-width:650px){.tgcp-learning-row{display:block}.tgcp-learning-row form{margin-top:10px}}

/* Version 0.2.4: ensure all editable report fields remain visible on mobile. */
.tgcp-build-version{font-size:12px;color:#52647d;margin:4px 0 18px}
.tgcp-panel form label.tgcp-report-field{display:block!important;width:100%!important;flex:0 0 100%!important;min-width:0!important;margin:14px 0 0!important;font-weight:600}
.tgcp-panel label.tgcp-report-field textarea{display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box;min-height:125px;margin-top:8px;font-size:16px;font-weight:400;line-height:1.45}
.tgcp-panel form .tgcp-learning-new,.tgcp-panel form .tgcp-learning-pending{flex:0 0 100%;width:100%}
.tgcp-panel .tgcp-learning-toggle input{flex:none}
.tgcp-panel button.button-primary{min-height:42px}
.tgcp-wrap table.widefat{display:block;overflow-x:auto}

/* 0.2.5: placement rota calendar, management and student portal */
.tgcp-calendar-panel{background:#fff;border:1px solid #d9e0ed;border-radius:12px;padding:18px;margin:18px 0;color:#172841;box-shadow:0 2px 8px #101d3610}
.tgcp-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tgcp-calendar-head h3{margin:0 0 5px}.tgcp-calendar-head p{margin:0 0 12px;color:#52647d;font-size:14px}
.tgcp-month-nav{display:flex;align-items:center;gap:12px}.tgcp-month-nav strong{min-width:130px;text-align:center}.tgcp-month-nav a{border:1px solid #d1dae7;border-radius:8px;text-decoration:none;padding:7px 13px;font-weight:bold;color:#123c77;background:#f7f9fd}
.tgcp-calendar-key{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:13px;color:#425471}.tgcp-calendar-key span{display:flex;align-items:center;gap:5px}.tgcp-dot{display:inline-block;width:10px;height:10px;border-radius:100%}.tgcp-dot-scheduled{background:#426bd5}.tgcp-dot-signed{background:#229577}.tgcp-dot-away{background:#c38a4d}
.tgcp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #d9e0ed;border-left:1px solid #d9e0ed}
.tgcp-calendar-weekday{font-size:12px;text-align:center;font-weight:700;padding:10px 3px;background:#f0f4fa;border-right:1px solid #d9e0ed;border-bottom:1px solid #d9e0ed}
.tgcp-calendar-cell{box-sizing:border-box;min-height:86px;padding:5px;min-width:0;border-right:1px solid #d9e0ed;border-bottom:1px solid #d9e0ed;background:white}.tgcp-calendar-blank{background:#f8fafc}.tgcp-calendar-today{background:#edf4ff}
.tgcp-calendar-date{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.tgcp-calendar-shift{display:block;font-size:11px;line-height:1.3;padding:5px 3px;border-radius:5px;margin-top:4px;overflow-wrap:anywhere}.tgcp-calendar-scheduled{background:#e4ebff;color:#173c93}.tgcp-calendar-signed{background:#daf5e9;color:#116345}.tgcp-calendar-away{background:#fff0dd;color:#88520b}.tgcp-calendar-link{text-decoration:none;display:block}
.tgcp-rota-table-wrap{overflow-x:auto}.tgcp-rota-table{border-collapse:collapse;width:100%;font-size:14px}.tgcp-rota-table th,.tgcp-rota-table td{padding:10px 8px;border-bottom:1px solid #d9e0ed;text-align:left}.tgcp-rota-table th{background:#f0f4fa}.tgcp-full-rota{margin-top:18px}.tgcp-attention{color:#934810}
@media(max-width:600px){.tgcp-calendar-panel{padding:10px}.tgcp-calendar-cell{min-height:65px;padding:3px}.tgcp-calendar-date{font-size:11px}.tgcp-calendar-shift{font-size:9px;padding:3px 2px}.tgcp-calendar-weekday{font-size:10px;padding:7px 1px}.tgcp-month-nav{width:100%;justify-content:space-between}.tgcp-calendar-key{font-size:11px;gap:8px}}
