/* Student tools */
.syp-tool{max-width:900px;margin:0 auto 2rem}
.syp-tool__title{color:#102A43;margin:0 0 .5rem}
.syp-tool__intro{color:#5A6A7A;margin:0 0 1.25rem}
.syp-tool__panel{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 1px 3px rgba(16,42,67,.06)}
.syp-tool__panel--split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:700px){.syp-tool__panel--split{grid-template-columns:1fr}}
.syp-tool-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}
.syp-tool-table th,.syp-tool-table td{padding:.5rem .4rem;border-bottom:1px solid #E2E8F0;text-align:left;vertical-align:middle}
.syp-tool-table input[type=text],.syp-tool-table input[type=number],.syp-tool-table select{width:100%;max-width:140px;padding:.4rem .5rem;border:1px solid #E2E8F0;border-radius:6px}
.syp-tool-table input.syp-input-wide{max-width:200px}
.syp-tool-options{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;font-size:.9rem}
.syp-tool-options label{display:flex;align-items:center;gap:.4rem}
.syp-tool-result{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end;margin-top:1.25rem;padding:1.25rem;background:#F4F7FB;border-radius:10px}
.syp-tool-result__label{display:block;font-size:.8rem;color:#5A6A7A;margin-bottom:.25rem}
.syp-tool-result__value{font-size:2rem;font-weight:700;color:#1677FF;line-height:1}
.syp-tool-result__value--sm{font-size:1.35rem}
.syp-tool-result__value.is-negative{color:#DC2626}
.syp-tool-result__value.is-positive{color:#059669}
.syp-tool__note{font-size:.8rem;color:#5A6A7A;margin-top:1rem}
.syp-budget-list .syp-budget-row{display:flex;gap:.5rem;margin-bottom:.5rem}
.syp-budget-list input{flex:1;padding:.45rem .6rem;border:1px solid #E2E8F0;border-radius:6px}
.syp-budget-list input[type=number]{max-width:110px}
.syp-timetable-wrap{overflow-x:auto}
.syp-timetable{width:100%;border-collapse:collapse;font-size:.75rem;min-width:640px}
.syp-timetable th,.syp-timetable td{border:1px solid #E2E8F0;padding:.25rem;text-align:center}
.syp-timetable th{background:#F4F7FB;color:#102A43}
.syp-timetable td.syp-slot{cursor:pointer;min-height:28px;height:32px;background:#fff}
.syp-timetable td.syp-slot:hover{background:#eff6ff}
.syp-timetable td.syp-slot.has-item{background:#dbeafe;font-weight:600;color:#1e40af}
.syp-tool-inline-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.syp-tool-inline-form input,.syp-tool-inline-form select{padding:.5rem .65rem;border:1px solid #E2E8F0;border-radius:6px}
.syp-assign-list{list-style:none;padding:0;margin:0}
.syp-assign-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #E2E8F0;border-radius:8px;margin-bottom:.5rem;background:#fff}
.syp-assign-list li.is-done{opacity:.65;text-decoration:line-through}
.syp-assign-list .syp-priority-high{color:#DC2626;font-weight:600;font-size:.75rem}
.syp-assign-list .syp-priority-low{color:#5A6A7A;font-size:.75rem}
.syp-countdown{text-align:center;padding:1.5rem;background:linear-gradient(135deg,#102A43,#1a3a5c);color:#fff;border-radius:12px;margin-top:1rem}
.syp-countdown__name{font-size:1.1rem;margin-bottom:1rem;opacity:.95}
.syp-countdown__grid{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.syp-countdown__grid div{background:rgba(255,255,255,.12);border-radius:10px;padding:.75rem 1rem;min-width:72px}
.syp-countdown__grid span{display:block;font-size:1.75rem;font-weight:700}
.syp-countdown__grid small{font-size:.7rem;opacity:.8;text-transform:uppercase}
.syp-countdown__status{margin-top:1rem;font-size:.9rem;opacity:.9}
.syp-btn-icon{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:1.1rem;padding:.2rem}
.syp-btn-icon:hover{color:#DC2626}

.syp-aps-subject{max-width:220px!important;width:100%}
.syp-tool-table select.syp-aps-subject{max-width:240px}

