:root{--font-main: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--bg: #eef3f9;--surface: #ffffff;--surface-soft: #f7faff;--border: #d7e1ec;--text: #1f2732;--muted: #576376;--brand: #a6192e;--brand-dark: #841425;--link: #0b63b3;--focus: #2c84d4;--shadow: 0 8px 28px rgba(18, 35, 56, .08);--radius: 12px}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:var(--font-main);font-size:15px;background:radial-gradient(900px 260px at -20% -10%,rgba(166,25,46,.1),transparent 65%),radial-gradient(900px 280px at 115% -20%,rgba(11,99,179,.12),transparent 70%),var(--bg);line-height:1.45}a{color:var(--link)}a:hover{color:var(--brand-dark)}.topbar{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#f9fcffe6;border-bottom:1px solid var(--border)}.topline{height:4px;background:linear-gradient(90deg,#a6192e,#be2a43 40%,#0b63b3)}.topbar-inner{max-width:1120px;margin:0 auto;padding:.72rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-wrap{display:flex;align-items:center;gap:.7rem;min-width:0}.brand-icon{width:32px;height:32px;border-radius:8px;box-shadow:0 3px 10px #141e2d33;flex:0 0 auto}.brand{text-decoration:none;font-weight:700;color:#1f2b3a;letter-spacing:.2px}.brand-sub{color:var(--muted);font-size:.74rem;margin-top:.06rem;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:.5rem}.auth-link{text-decoration:none;border:1px solid #d0d9e5;border-radius:10px;padding:.35rem .6rem;font-size:.8rem;color:#2f3d50;background:#fff;cursor:pointer}.auth-link,.nav a,.thread-item,.btn,button,input[type=submit]{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.auth-link:hover{background:#f3f7fb;border-color:#bccbdd;box-shadow:0 6px 16px #14223614;transform:translateY(-1px)}.hamburger{display:none;width:40px;height:34px;border:1px solid #d0d9e5;border-radius:10px;background:#fff;padding:0 8px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.hamburger:hover{background:#f3f7fb;border-color:#bccbdd;box-shadow:0 6px 16px #14223614;transform:translateY(-1px)}.hamburger span{display:block;height:2px;background:#2f3d50;margin:5px 0}.nav-wrap{border-top:1px solid var(--border);background:#fafcffeb}.nav{max-width:1120px;margin:0 auto;padding:.55rem 1rem .72rem;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem}.nav a{text-decoration:none;color:#26384d;border:1px solid #d8e1ec;background:linear-gradient(180deg,#fff,#f6f9fd);border-radius:10px;min-height:42px;display:flex;align-items:center;justify-content:center;line-height:1.1;text-align:center;font-size:.77rem;font-weight:600;padding:.2rem .35rem}.nav a.active{border-color:#b8c8dd;background:#edf3fb}.nav a:hover{background:#f3f7fb;border-color:#bccbdd;box-shadow:0 6px 16px #14223614;transform:translateY(-1px)}.nav-line{display:block;width:100%;white-space:normal;line-height:1.15;overflow-wrap:anywhere;text-wrap:balance}.container{max-width:1120px;margin:1.25rem auto 2.25rem;padding:0 1rem}.card{background:var(--surface);border:1px solid var(--border);border-left:5px solid rgba(166,25,46,.75);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem;margin-bottom:1rem}.container>.card:nth-of-type(2n){border-left-color:#0b63b3b8}.card.stripe-red{border-left-color:#a6192ebf}.card.stripe-blue{border-left-color:#0b63b3b8}.container>.card:nth-of-type(odd){border-left-color:#a6192ebf!important}.container>.card:nth-of-type(2n){border-left-color:#0b63b3b8!important}h1,h2,h3{margin:0 0 .6rem;line-height:1.18;color:#1f2b3a;letter-spacing:-.15px}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:.3rem 0 .7rem;color:#2d3a4d;font-size:.94rem}.muted{color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.action-nomargintop{margin-top:0}.actions+.msg{margin-top:.65rem}.review-actions{width:100%;flex-direction:column;align-items:stretch}.review-actions button{width:100%}.deadline-panel-actions{margin-top:0;margin-bottom:.2rem}.manager-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.manager-action-box{border:1px solid #d7e1ec;border-radius:10px;background:#fff;padding:.75rem}.manager-action-box h3{margin:0 0 .6rem;font-size:.98rem}.manager-actions-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.manager-actions-header h2{margin:0}.manager-search-input{width:min(360px,100%);border:1px solid #c7d3e2;border-radius:10px;padding:.5rem .62rem;font-size:.95rem;background:#fff}.section-change-filters{display:flex;align-items:center;gap:.7rem}.section-change-filter-checkbox{display:inline-flex;align-items:center;gap:.35rem;margin:0;white-space:nowrap;color:#2d3a4d}.section-change-filter-checkbox input{margin:0}.export-actions{margin-top:1rem}.internships-manager-table th:last-child,.internships-manager-table td:last-child{width:1%;white-space:nowrap}.internships-my-submissions-table th:last-child,.internships-my-submissions-table td:last-child{width:1%}.internship-actions-cell .actions{display:inline-flex}.internship-actions-cell .locked-hint{display:inline-block;max-width:220px;white-space:normal}.deadline-panel-divider{height:1px;background:#e2e9f2;margin:.55rem 0 .8rem}.week-switcher{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.8rem;padding:0 .25rem;width:100%}.week-pill{flex:1;min-width:0;border:1px solid #ccd6e2;background:#fff;border-radius:10px;padding:.42rem .85rem;font-size:.88rem;font-weight:600;color:#2d3c51;text-align:center}.week-arrow{flex:0 0 auto;min-width:40px;padding:.42rem .55rem;font-weight:700}.btn,button,input[type=submit]{background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:10px;padding:.42rem .85rem;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.btn:hover,button:hover,input[type=submit]:hover{background:#6f1020;border-color:#6f1020;box-shadow:0 8px 18px #6f102040;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#2d3c51;border-color:#ccd6e2}.btn-secondary:hover{background:#f3f7fb;border-color:#bccbdd;box-shadow:0 6px 16px #14223614;transform:translateY(-1px)}.form-stack p{margin:0 0 .8rem}.form-stack label{display:block;margin-bottom:.25rem;font-weight:600;color:#2a3545}.form-stack input,.form-stack textarea,.form-stack select{width:100%;border:1px solid #c7d3e2;border-radius:10px;padding:.5rem .62rem;font-size:.95rem;background:#fff}.form-stack textarea{min-height:120px}.table-wrap{width:100%;overflow-x:auto;border:1px solid #dde6f1;border-radius:10px}.section-change-incoming-table-wrap{max-height:70vh;overflow-y:auto}table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}th,td{border-bottom:1px solid #edf2f8;text-align:left;padding:.6rem;vertical-align:top;font-size:.88rem}th{background:#f8fbff;color:#2f445f;font-weight:700}.badge{display:inline-block;padding:.2rem .45rem;border-radius:999px;font-size:.78rem;background:#f8eaed;color:#8f1a2a;border:1px solid #efc8d0}.badge-pending{background:#e9f2ff;color:#1d4f86;border-color:#b9d5f3}.badge-approved{background:#eaf7ef;color:#20663b;border-color:#bfe4cb}.badge-canceled{background:#fdecec;color:#8f1a2a;border-color:#f3c2c2}.badge-note{background:#fff;color:#2f3d50;border-color:#ccd6e2}.instructor-status-box{border:1px solid #d7e1ec;border-radius:10px;background:#fff;padding:.45rem .5rem}.msg{padding:.65rem .8rem;border-radius:10px;margin-bottom:.7rem;border:1px solid;font-size:.94rem}.msg.success{background:#e9f8ef;border-color:#b8e4c7}.msg.error{background:#fdecec;border-color:#f3c2c2}.msg.info{background:#eef5ff;border-color:#c6d9f2;color:#274a73}.msg-line{display:block}.internship-export-error{margin-top:.6rem}.superuser-panel{border:1px solid #d9e3ee;border-left:4px solid #2c84d4;border-radius:10px;background:#f7fbff;padding:.7rem .8rem;margin-bottom:.7rem}.superuser-panel h3{margin:0 0 .45rem;font-size:.92rem}.form-error-box{margin-bottom:.9rem}.form-error-box ul{margin:.45rem 0 0;padding-left:1.1rem}.form-error-box li{margin:.2rem 0}.field-error{border-color:#d25555!important;background:#fff9f9!important}.field-help-error{display:block;margin-top:.28rem;color:#b3283a;font-size:.78rem;font-weight:600}.hero{background:linear-gradient(180deg,#fff,#f2f7ff);border:1px solid #dde4ef;border-left:5px solid var(--brand);border-radius:14px;padding:1.25rem 1.3rem;margin-bottom:1rem}.hero h1{font-size:clamp(1.25rem,2.2vw,1.75rem);margin-bottom:.35rem;font-weight:750;letter-spacing:-.3px}.hero p{max-width:820px;margin:0;color:#3a4a5d;font-size:.93rem}.quick-list{margin:0;padding:0;list-style:none}.quick-list li{display:grid;grid-template-columns:280px 1fr;gap:.8rem;align-items:start;border-bottom:1px solid #eaf0f7;padding:.56rem 0;font-size:.9rem}.quick-list li:last-child{border-bottom:0}.form-name{font-weight:700;color:#213247}.form-name-link{color:#1d4f86;text-decoration:underline;cursor:pointer}.form-name-link:hover{color:#14395f}.form-desc{color:#445569}.grid-2{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.grid-2>*{min-width:0}.section-change-form-grid{margin-bottom:0;row-gap:0}.small{font-size:.82rem}.mt-6{margin-top:.35rem}.mt-8{margin-top:.6rem}.ml-8{margin-left:.5rem}.reservation-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.btn-compact{padding:.24rem .58rem;font-size:.82rem;border-radius:999px}.slot-card{display:inline-flex;flex-direction:column;align-items:flex-start;width:auto;max-width:100%;border:1px solid #d9e3ee;border-radius:8px;padding:.45rem;margin-bottom:.45rem;background:#fff}.slot-card:not(:last-child){margin-right:.45rem}.slot-card-clickable{cursor:pointer}.slot-card-clickable:hover{background:#f8fbff;border-color:#bccbdd}.slot-card-clickable:focus-visible{outline:2px solid #0b63b3;outline-offset:1px}.my-reservations-search-wrap{max-width:420px}.my-reservations-scroll{max-height:420px;overflow-y:auto;padding-right:.25rem}.slot-link-text{display:inline-block;max-width:26ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom}.excuse-text{white-space:pre-wrap;word-break:break-word;max-width:32ch}.table-row-clickable:hover{background:#f8fbff}.table-row-clickable{cursor:pointer}.table-cell-truncate{display:inline-block;max-width:25ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.thread-list{display:flex;flex-direction:column;gap:.45rem}.thread-item{text-align:left;border:1px solid #d7e1ec;background:#fff;border-radius:10px;padding:.55rem .6rem;cursor:pointer}.thread-item.active{border-color:#b8c8dd;background:#eef4fc}.thread-item.thread-item-awaiting-me{border-color:#d25555;background:#fff7f8}.thread-item.thread-item-awaiting-me.active{border-color:#b73a49;background:#fceef0}.thread-item.thread-item-awaiting-me:hover{border-color:#c74758;background:#fff3f5}.thread-item:hover{background:#f3f7fb;border-color:#bccbdd;box-shadow:0 6px 16px #14223614;transform:translateY(-1px)}.thread-item-top{display:flex;align-items:flex-start;gap:.2rem;min-width:0}.thread-id{color:#1f2b3a;font-size:.9rem;flex:0 0 auto}.thread-separator{color:#8a99ab;font-weight:700}.thread-topic{color:#2a3a50;font-weight:700;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item-date{display:block;margin-top:.15rem;color:#6e7e91;font-size:.8rem}.thread-messages-topic{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.thread-item-meta{margin-top:.3rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.thread-status-badge{display:inline-block;padding:.12rem .45rem;border-radius:999px;border:1px solid #cfd9e6;background:#f6f9fd;color:#32465f;font-size:.74rem;font-weight:700;flex:0 0 auto}.messages{display:flex;flex-direction:column;gap:.5rem;max-height:460px;overflow-y:auto;padding-right:.2rem}.load-more-wrap{position:sticky;top:0;z-index:2;display:flex;justify-content:center;padding:.2rem 0 .35rem;background:linear-gradient(180deg,#fffffff2,#ffffffb3 60%,#fff0)}.message-item{max-width:76%;border:1px solid #e0e9f3;border-radius:12px;background:#fff;padding:.5rem .65rem;box-shadow:0 3px 12px #1422360f}.message-item p{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-word}.message-item.mine{align-self:flex-end;background:#eaf7ff;border-color:#bcdff6}.message-item.theirs{align-self:flex-start;background:#fff}.message-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.message-time{color:#6e7e91;font-size:.74rem;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.message-attachments{margin-top:.42rem;display:flex;flex-wrap:wrap;gap:.35rem}.message-attachment-link{display:inline-block;max-width:100%;text-decoration:none;border:1px solid #c9d8ea;border-radius:999px;padding:.16rem .52rem;font-size:.78rem;color:#22496f;background:#f4f9ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-attachment-link:hover{background:#e8f2ff;border-color:#aac7e2}.attachment-help{display:flex;align-items:center;gap:.4rem;margin:.2rem 0 .35rem;color:#445569;font-size:.8rem}.attachment-help-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.22rem}.attachment-help-line{display:inline-flex;align-items:center;gap:.4rem}.attachment-help-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid #b7c7da;border-radius:999px;background:#f4f8fd;color:#2d4868;font-size:.68rem;font-weight:700;flex:0 0 auto}.attachment-meta{display:block;margin-top:.28rem;color:#576376;font-size:.78rem}.file-picker{margin-top:.1rem}.file-picker-trigger{display:inline-flex!important;align-items:center;gap:.34rem;width:auto!important;margin-bottom:0!important}.file-picker-trigger.has-error{border-color:#d25555!important;background:#fff6f6!important;color:#9a2131!important}.file-picker-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid #b7c7da;border-radius:999px;background:#f4f8fd;color:#2d4868;font-size:.72rem;line-height:1}.file-picker-trigger.has-error .file-picker-upload-icon{border-color:#d89aa3;background:#fdeff1;color:#9a2131}.attachment-help-line.has-error{color:#9a2131}.attachment-help-line.has-error .attachment-help-icon{border-color:#d89aa3;background:#fdeff1;color:#9a2131}.selected-file-list{display:flex;flex-wrap:wrap;gap:.28rem;margin-top:.45rem}.selected-file-item{display:inline-flex;align-items:center;gap:.38rem;max-width:100%;width:fit-content;border:1px solid #c9d8ea;border-radius:999px;padding:.16rem .46rem;background:#f4f9ff}.selected-file-item-removed{background:#fff7f8;border-color:#dfb2b9}.selected-file-item-removed .selected-file-name{color:#9a2131}.selected-file-name{display:inline-block;max-width:36ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#22496f;font-size:.78rem}.selected-file-remove{border:1px solid #b9cbe0;border-radius:999px;min-width:18px;height:18px;padding:0;line-height:1;font-size:.72rem;font-weight:700;background:#fff;color:#2d4868}.selected-file-remove:hover{background:#edf4fd;border-color:#a8c0da}.clean-list{margin:0;padding-left:1.1rem}.preference-row{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;margin-bottom:.5rem}.checkbox-wrap{display:flex;align-items:center;gap:.35rem;font-size:.85rem}.classic-select{width:100%;max-width:320px;border:1px solid #c7d3e2;border-radius:10px;background:#fff;color:#1f2732;font-size:.95rem;font-weight:400;padding:.5rem .62rem}.busy-semester-field{margin:0;width:100%;max-width:320px}.busy-semester-field label{display:block;margin-bottom:.45rem;font-weight:600;color:#2a3545}.deadline-window-summary{border:1px solid #d7e1ec;border-radius:10px;background:#f8fbff;padding:.62rem .7rem;display:flex;flex-direction:column;gap:.32rem;margin-top:1rem;width:100%;max-width:100%}.busy-legend{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;margin:.2rem 0 .55rem}.busy-legend-item{display:inline-flex;align-items:center;gap:.45rem;color:#3b4a5f;font-size:.86rem;font-weight:600}.busy-legend-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(31,39,50,.18)}.busy-legend-dot.busy{background:#a6192e}.busy-legend-dot.free{background:#2f8b42}.busy-switch-cell{text-align:left;vertical-align:middle}.busy-cell-clickable{cursor:pointer}.busy-cell-clickable:hover{background:#f8fbff}.busy-reason-input{display:block;margin-top:.42rem;width:14ch;min-width:0;max-width:100%;border:1px solid #c7d3e2;border-radius:8px;padding:.32rem .45rem;font-size:.8rem;background:#fff}.busy-hours-table{table-layout:fixed}.busy-hours-table th:first-child,.busy-hours-table td:first-child{width:180px}.busy-hours-table td:first-child,.busy-hours-table th:first-child{text-align:left;white-space:nowrap}.busy-switch{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;transform:none!important;line-height:1}.busy-switch:hover{background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}.busy-switch-error .busy-switch-track{box-shadow:0 0 0 2px #d25555 inset,0 0 0 1px #d2555533}.busy-switch-track{position:relative;display:inline-flex;width:44px;height:24px;border-radius:999px;transition:background-color .2s ease;border:1px solid rgba(20,34,54,.12)}.busy-switch-thumb{position:absolute;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #121d2c4d;transition:left .2s ease,right .2s ease}.busy-switch.busy .busy-switch-track{background:linear-gradient(180deg,#c42a41,#a6192e)}.busy-switch.busy .busy-switch-thumb{right:2px}.busy-switch.free .busy-switch-track{background:linear-gradient(180deg,#4ca762,#2f8b42)}.busy-switch.free .busy-switch-thumb{left:2px}.login-wrap{max-width:520px;margin:4rem auto}.login-card{border-left-color:#a6192ebf}button:disabled{opacity:.7;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;background:#141e2d59;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-card{width:min(580px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border:1px solid #d7e1ec;border-radius:12px;box-shadow:0 14px 36px #101d2d3d;padding:1rem}.modal-wrap-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.modal-wrap-text-link{overflow-wrap:anywhere;word-break:break-word}.global-loading-overlay{position:fixed;inset:0;z-index:1400;background:#121d2c42;display:flex;align-items:center;justify-content:center;padding:1rem}.global-loading-box{min-width:280px;max-width:92vw;border:1px solid #d7e1ec;border-left:5px solid rgba(166,25,46,.78);border-radius:12px;box-shadow:0 16px 40px #111e3038;background:#fff;padding:.95rem 1rem}.global-loading-bars{width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,#a6192e,#0b63b3,#a6192e);background-size:200% 100%;animation:apiLoadingMove 1s linear infinite}.global-loading-text{margin-top:.55rem;color:#2f3d50;font-weight:600;font-size:.88rem;text-align:center}@keyframes apiLoadingMove{0%{background-position:0% 50%}to{background-position:200% 50%}}@media(max-width:1000px){.brand-sub{display:none}.hamburger{display:block}.nav-wrap{display:none}.nav-wrap.open{display:block}.nav{grid-template-columns:1fr}.nav a{justify-content:flex-start;text-align:left;padding:.5rem .65rem;min-height:40px}.grid-2{grid-template-columns:1fr}.section-change-form-grid.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.section-change-form-grid{margin-bottom:0}.quick-list li{grid-template-columns:1fr;gap:.25rem}.week-switcher{gap:.45rem;padding:0 .35rem}.week-pill{min-width:0;flex:1}.thread-item-meta{flex-direction:column;align-items:flex-start}.message-item{max-width:92%}.manager-actions-grid{grid-template-columns:1fr}.manager-actions-header{flex-direction:column;align-items:stretch}.manager-search-input{width:100%}.section-change-filters{flex-direction:column;align-items:stretch}}@media(max-width:760px){.section-change-form-grid.grid-2{grid-template-columns:1fr}}
