@charset "UTF-8";:root{--orange: #ff7900;--orange-hover: #f16e00;--black: #000;--white: #fff;--gray-900: #141414;--gray-700: #666;--gray-500: #999;--gray-300: #ccc;--gray-200: #eee;--gray-100: #f6f6f6;--danger: #cd3c14;--success: #228722;--warning: #fc0;--info: #4170d8;--purple: #9373bd;--ods-green-200: #84d5af;--ods-green-100: #b8ebd6;--ods-blue-200: #80ceef;--ods-green-600: #0a6e31;--ods-fire-100: #ff4d4d;--ods-fire-200: #cd3c14;--ods-sun-100: #fc0;--ods-sun-200: #8f7200;--ods-purple-100: #d9c2f0;--ods-purple-400: #9373bd;--ods-purple-600: #492191;--surface: #f6f6f6}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--gray-900);background:var(--surface);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}a{color:inherit}button{min-height:44px;padding:10px 14px;border:2px solid var(--black);border-radius:0;background:var(--white);color:var(--black);cursor:pointer;font-weight:700}button:hover:not(:disabled){background:var(--black);color:var(--white)}button:disabled{cursor:not-allowed;opacity:.45}button.loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}button.loading:before{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;content:"";animation:spin .7s linear infinite}.btn-primary{border-color:var(--orange);background:var(--orange);color:var(--black)}.btn-primary:hover:not(:disabled){border-color:var(--orange-hover);background:var(--orange-hover);color:var(--black)}.text-button{min-height:auto;padding:0;border:0;background:transparent;color:var(--orange-hover);text-decoration:underline;text-underline-offset:3px}.text-button:hover:not(:disabled){background:transparent;color:var(--black)}.btn-danger{border-color:var(--danger);background:var(--white);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--white)}.page-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0}.page-shell:has(.admin-shell){width:min(100% - 24px,1920px)}.page-shell.narrow{width:min(520px,100% - 32px)}.page-shell:has(.invite-loading){display:grid;min-height:calc(100vh - 64px);align-content:center}.hero-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:112px;margin-bottom:20px;padding:18px;background:var(--black);color:var(--white)}.brand-mark{display:block;overflow:hidden;width:72px;height:72px;background:var(--orange)}.brand-mark img{display:block;width:194px;height:194px;max-width:none;transform:translate(-61px,-61px)}.header-actions{display:flex;align-items:center;gap:10px}.header-actions button,.admin-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:2px solid var(--white);color:var(--white);background:transparent;font-weight:700;text-decoration:none}.header-actions button:hover,.admin-link:hover{background:var(--white);color:var(--black)}h1,h2,p{margin:0}h1{margin-top:4px;font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:0}h2{font-size:1.25rem;line-height:1.2;letter-spacing:0}.eyebrow{color:var(--orange);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:18px;padding:14px 16px;border:2px solid currentColor;background:var(--white);font-weight:700}.alert p{margin:0}.alert-icon{display:grid;place-items:center;width:24px;height:24px;border:2px solid currentColor;border-radius:50%;font-size:.9rem;line-height:1}.alert-icon:before{content:"!"}.alert-close{display:grid;place-items:center;width:32px;min-height:32px;padding:0;border:0;background:transparent;color:currentColor;font-size:1.35rem;line-height:1}.alert-close:hover:not(:disabled){background:#00000014;color:currentColor}.alert-success{color:var(--success)}.alert-success .alert-icon:before{content:"\2713"}.alert-danger{color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.student-layout,.admin-layout{display:grid;align-items:start;gap:18px}.student-layout{grid-template-columns:minmax(0,1fr)}.access-state{display:grid;align-content:center;justify-items:center;gap:10px;padding:clamp(22px,5vw,36px) 18px;text-align:center}.access-state img{width:clamp(180px,42vw,320px);max-width:100%;height:auto;display:block;margin:0}.access-state div{display:grid;justify-items:center;gap:6px;max-width:520px}.access-state h1{margin:0 0 4px;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.1;overflow-wrap:anywhere}.access-state p{margin:0;color:var(--gray-700);font-weight:700;line-height:1.45;overflow-wrap:anywhere}.invite-loading{display:inline-flex;align-items:center;gap:12px;width:min(440px,100%);margin:0 auto;padding:18px 20px;border:1px solid var(--gray-300);border-radius:8px;background:var(--white);box-shadow:0 10px 28px #00000014}.invite-loading .spinner{flex:0 0 auto;width:18px;height:18px;border:2px solid var(--black);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.invite-loading strong,.invite-loading p{margin:0}.invite-loading p{color:var(--gray-700);font-size:.92rem}.admin-layout{grid-template-columns:minmax(230px,.45fr) minmax(330px,.7fr) minmax(0,1.2fr)}.panel{display:grid;gap:18px;padding:22px;border:2px solid var(--black);background:var(--white)}.booking-surface{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);min-height:680px;overflow:hidden;border:1px solid var(--gray-300);border-radius:8px;background:var(--white);box-shadow:0 18px 44px #0000001f}.booking-surface.scheduled{grid-template-columns:1fr}.booking-surface.access-state{min-height:min(680px,100svh - 72px)}.event-summary{display:grid;align-content:start;gap:26px;padding:28px;border-right:1px solid var(--gray-300);background:var(--white)}.back-button{display:grid;place-items:center;width:44px;min-height:44px;padding:0;border-color:var(--gray-300);border-radius:50%;color:var(--orange-hover);font-size:2rem;line-height:1}.back-button:hover:not(:disabled){border-color:var(--orange);background:var(--orange);color:var(--white)}.event-copy{display:grid;gap:12px}.event-copy h1{margin:0;color:var(--black);font-size:clamp(2rem,3vw,3.2rem);line-height:.98}.event-copy p:not(.eyebrow){color:var(--gray-700);font-size:1rem;font-weight:700;line-height:1.55}.event-meta{display:grid;gap:18px;margin:0}.event-meta div{display:grid;gap:4px}.event-meta dt{color:var(--gray-700);font-size:.82rem;font-weight:800;text-transform:uppercase}.event-meta dd{margin:0;color:var(--gray-900);font-weight:800;line-height:1.4}.booking-workspace{display:grid;align-content:start;gap:22px;padding:28px;min-width:0}.booking-view{animation:booking-view-in .18s ease-out}@keyframes booking-view-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.booking-details{display:grid;gap:16px;width:min(520px,100%);padding:16px 0 0;border-top:0}.booking-step-prompt,.selected-slot-summary{padding:16px;border:1px solid var(--gray-300);background:var(--gray-100)}.booking-step-prompt{display:grid;gap:6px;margin-top:2px}.booking-step-prompt strong{color:var(--black);font-size:1.05rem}.booking-step-prompt span{color:var(--gray-700);font-weight:700}.selected-slot-summary{border-left:6px solid var(--orange);color:var(--gray-900);font-weight:800}.booking-submit-row{display:flex;align-items:center;justify-content:start;gap:14px}.refusal-actions{display:grid;gap:12px;padding:16px;border:1px solid var(--gray-300);border-radius:8px;background:var(--gray-100)}.refusal-actions strong,.refusal-actions span{display:block}.refusal-actions strong{color:var(--gray-900);font-size:.98rem}.refusal-actions span{margin-top:4px;color:var(--gray-700);font-size:.9rem;line-height:1.4}.refusal-action-buttons{display:flex;flex-wrap:wrap;gap:10px}.refusal-action-buttons button{min-height:40px;border-color:var(--gray-500);background:var(--white);color:var(--gray-900)}.refusal-action-buttons button:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.scheduled-view{display:grid;place-items:center;align-content:center;gap:28px;min-height:680px;padding:44px 24px;text-align:center}.scheduled-heading{display:grid;justify-items:center;gap:12px}.scheduled-heading h1{color:var(--gray-900);font-size:1.6rem}.scheduled-heading p{color:var(--gray-700);font-weight:700}.success-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--success);color:var(--white);font-weight:900}.scheduled-card{display:grid;gap:16px;width:min(520px,100%);padding:24px;border:1px solid var(--gray-300);border-radius:6px;background:var(--white);color:var(--gray-900);text-align:left}.scheduled-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,460px));justify-content:center;gap:18px;width:100%;max-width:1160px}.scheduled-card-grid .scheduled-card{width:100%}.scheduled-card-grid.single{grid-template-columns:minmax(0,520px)}.scheduled-card-grid.single .scheduled-card{max-width:520px;justify-self:center}.scheduled-card h2{font-size:1.35rem}.scheduled-meta{display:grid;gap:12px;margin:0}.scheduled-meta div{display:grid;gap:3px}.scheduled-meta dt{color:var(--gray-700);font-size:.78rem;font-weight:800;text-transform:uppercase}.scheduled-meta dd{margin:0;color:var(--gray-900);font-weight:800}.panel-head{display:grid;gap:4px}label,fieldset{display:grid;gap:8px;min-width:0;color:var(--gray-900);font-size:.92rem;font-weight:800}fieldset{margin:0;padding:0;border:0}legend{margin-bottom:8px}input,select{width:100%;min-height:44px;padding:10px 12px;border:2px solid var(--black);border-radius:0;background:var(--white);color:var(--black)}input:focus,select:focus,button:focus,a:focus{outline:1.5px solid #9373bd;outline-offset:2px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.choice{min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px 12px;border:2px solid var(--black);background:var(--white);cursor:pointer}.choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.choice.selected{background:var(--orange);color:var(--black)}.choice.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.booked-fields-note{display:grid;gap:8px;margin-top:14px;padding:12px 14px;border:1px solid var(--gray-300);background:var(--gray-100);color:var(--gray-900)}.booked-fields-note strong{font-size:.84rem}.booked-fields-note ul{margin:0;padding-left:18px}.booked-fields-note li{font-size:.88rem;font-weight:700}.booked-fields-note li span{font-weight:500;color:var(--gray-700)}.booked-fields-note>span{color:var(--gray-700);font-size:.82rem;line-height:1.4}.checkbox-control{display:flex;grid-template-columns:none;align-items:center;gap:10px}.checkbox-control input{width:22px;min-height:22px;accent-color:var(--orange)}.inline-form,.form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hint{color:var(--gray-700);font-size:.9rem}.required-marker,.field-error{color:var(--danger)}.field-error{margin-top:-12px;font-size:.9rem;font-weight:700}input[aria-invalid=true]{border-color:var(--danger)}.filter-panel{display:grid;gap:12px;padding:14px;border:2px solid var(--gray-300);background:var(--gray-100)}.calendar-picker{display:grid;gap:12px;min-height:0}.scheduler-card{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,.7fr);gap:24px;max-height:min(72vh,620px);overflow:hidden;border:0;background:var(--white)}.month-panel,.times-panel{display:grid;align-content:start;gap:14px;min-height:0}.times-panel{grid-template-rows:auto minmax(0,1fr);padding-left:24px;border-left:1px solid var(--gray-300)}.month-toolbar,.selected-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-toolbar button{display:grid;place-items:center;width:40px;min-height:40px;padding:0;border-color:var(--gray-300);border-radius:50%;color:var(--orange);font-size:1.4rem}.weekday-grid,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:8px}.weekday-grid span{color:var(--gray-700);font-size:.75rem;font-weight:700;text-align:center}.date-cell{display:grid;place-items:center;aspect-ratio:1;min-height:42px;padding:0;border-color:transparent;border-radius:50%;background:transparent;color:var(--gray-700)}.date-cell:hover:not(:disabled):not(.selected),.date-cell.available{border-color:var(--gray-200);background:#fff3e6;color:var(--black)}.date-cell.available{font-weight:800}.date-cell.selected,.date-cell.selected:hover:not(:disabled){border-color:var(--orange);background:var(--orange);color:var(--black);box-shadow:0 0 0 3px #fff3e6}.date-cell.muted{opacity:.45}.date-cell:disabled{opacity:.35;cursor:default}.date-cell.blocked:not(.selected){border-color:#f2c7c2;background:#fdecea;color:#9b4d44;opacity:1;cursor:not-allowed;font-weight:800}.selected-day-heading span{color:var(--gray-700);font-size:.9rem;font-weight:700}.time-list{display:grid;gap:10px;max-height:430px;min-height:0;padding-right:4px;overflow-y:auto}.day-booking-summary{display:grid;align-content:start;gap:14px}.day-booking-summary .time-next{width:100%}.time-slot{min-height:50px;border-radius:4px;text-align:center}.time-slot.selected{border-color:var(--gray-700);background:var(--gray-700);color:var(--white)}.time-slot-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.72fr);gap:8px}.time-next{min-height:50px;border-color:var(--orange);border-radius:4px;background:var(--orange);color:var(--white)}.time-next:hover:not(:disabled){border-color:var(--orange-hover);background:var(--orange-hover);color:var(--white)}.time-next.loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}.time-next.loading:before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:var(--white);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.filter-actions,.pagination-bar,.pagination-actions{display:flex;align-items:end;gap:10px}.filter-actions{flex-wrap:wrap}.filter-actions label{width:120px}.pagination-bar{align-items:center;justify-content:center;flex-wrap:nowrap;padding-top:4px;color:var(--gray-700);font-weight:700;text-align:center}.pagination-actions{align-items:center;flex-wrap:nowrap;justify-content:center}.pagination-bar>span,.pagination-actions strong{white-space:nowrap}.pagination-actions label{display:inline-flex;grid-template-columns:none;align-items:center;gap:8px;width:auto;white-space:nowrap}.pagination-actions select{width:auto;min-width:76px}.booking-card,.empty-state,.slot-row,.booking-line{border:2px solid var(--gray-300);background:var(--gray-100)}.booking-card,.empty-state{display:grid;gap:12px;padding:16px}.booking-card div,.empty-state,.slot-row div,.booking-line div{display:grid;gap:4px}.booking-card span,.empty-state span,.slot-row span,.booking-line span{color:var(--gray-700);font-size:.9rem}.slot-list,.booking-list{display:grid;gap:10px}body.calendar-modal-open,body.add-candidate-drawer-open,body.candidate-details-drawer-open,body.interview-details-drawer-open{overflow:hidden}.confirm-modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#14141466}.confirm-modal{width:min(440px,100%);padding:28px;border:1px solid var(--gray-300);border-radius:20px;background:var(--white);box-shadow:0 18px 42px #14141447;color:var(--gray-900)}.confirm-modal h2{margin:0 0 12px;font-size:1.35rem;font-weight:700}.confirm-modal p{margin:0;color:var(--gray-700);line-height:1.5}.confirm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:28px}@media (max-width: 880px){.hero-band{grid-template-columns:auto minmax(0,1fr)}.admin-link,.header-actions{grid-column:span 2;justify-self:start}.student-layout,.admin-layout,.schedule-panel,.bookings-panel,.booking-surface,.scheduler-card{grid-template-columns:1fr;grid-column:auto}.booking-surface{min-height:auto}.booking-workspace,.event-summary{padding:22px}.booking-details{width:100%;padding-top:0}.scheduler-card{max-height:none;overflow:visible}.scheduled-view{min-height:auto}.booking-surface.access-state{min-height:min(560px,100svh - 48px)}.scheduled-card-grid{grid-template-columns:repeat(2,minmax(0,360px))}.event-summary{border-right:0;border-bottom:1px solid var(--gray-300)}.times-panel{padding-left:0;border-left:0}}@media (max-width: 560px){.page-shell{width:min(100% - 20px,1180px);padding:18px 0}.hero-band{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:14px}.hero-band .brand-mark{width:42px;height:42px}.hero-band h2{font-size:1.25rem;line-height:1.15}.panel{padding:16px}.booking-surface{border-radius:6px}.event-summary,.booking-workspace{padding:18px}.event-summary{gap:18px}.event-copy{gap:8px}.event-copy h1{font-size:clamp(1.8rem,10vw,2.35rem);line-height:1}.event-copy p:not(.eyebrow){font-size:.94rem;line-height:1.45}.booking-workspace{gap:18px}.booking-details{gap:14px}.choice-grid{grid-template-columns:1fr}.refusal-actions{padding:14px}.refusal-action-buttons{display:grid;grid-template-columns:1fr}.scheduler-card{gap:18px}.month-panel,.times-panel{gap:12px}.month-toolbar{gap:8px}.month-toolbar strong{min-width:0;text-align:center}.month-toolbar button{width:36px;min-height:36px}.weekday-grid,.date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.date-cell{min-height:34px;font-size:.9rem}.selected-day-heading{align-items:start;flex-direction:column;gap:4px}.day-booking-summary .empty-state{padding:14px}.scheduled-view{gap:20px;padding:28px 16px}.scheduled-heading{gap:8px}.scheduled-card{gap:14px;padding:18px}.scheduled-card h2{font-size:1.15rem}.scheduled-meta dd{overflow-wrap:anywhere}.booking-surface.access-state{min-height:calc(100svh - 36px);padding:20px 14px}.access-state{gap:8px}.access-state img{width:min(72vw,230px)}.access-state div{gap:4px}.access-state h1{font-size:clamp(1.4rem,8vw,1.85rem)}.access-state p{max-width:28ch;font-size:.96rem}.inline-form,.form-row,.booking-submit-row,.candidate-filter-panel,.admin-sidebar,.filter-actions,.pagination-bar,.pagination-actions,.slot-row,.booking-line{grid-template-columns:1fr}.booking-submit-row{align-items:stretch;flex-direction:column;gap:10px}.booking-submit-row button{width:100%}.filter-actions,.pagination-bar,.pagination-actions{align-items:stretch;flex-direction:column}.filter-actions label{width:100%}.scheduled-card-grid{grid-template-columns:1fr}h1{font-size:2.2rem}}
