:root{--hp-blue:#1d2757;--hp-red:#d8272d;--hp-yellow:#f6b11f;--hp-muted:#67718b}button,input,select,textarea{font:inherit}.production-section{max-width:1280px;margin:0 auto;padding:32px 5%;color:var(--hp-blue)}.production-heading{padding:42px 6%;background:linear-gradient(120deg,#f2f4f9,#fff);border-radius:0 0 60px 0;border-bottom:4px solid var(--hp-yellow);color:var(--hp-blue)}.production-heading h1{font-size:clamp(30px,4vw,58px);max-width:1050px;line-height:1.1;margin:12px 0}.production-heading>p{max-width:850px}.production-actions,.production-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.production-actions a,.production-actions button,.production-form button,.production-filters button,.production-programme button,.production-section>button{border:0;background:var(--hp-blue);color:white;padding:11px 17px;border-radius:7px;text-decoration:none;cursor:pointer}.production-actions button:hover,.production-form button:hover,.production-programme button:hover{background:var(--hp-red)}.production-form{max-width:1000px;margin:20px auto;padding:25px;background:white;border:1px solid #e0e5ef;border-radius:22px 8px;box-shadow:0 10px 30px #1d275708}.production-form label,.production-filters label{display:block;line-height:1.5;font-size:14px;margin:14px 0;color:var(--hp-blue)}.production-form input:not([type=checkbox]):not([type=radio]),.production-form select,.production-form textarea,.production-filters input,.production-filters select{display:block;box-sizing:border-box;width:100%;padding:11px;border:1px solid #cdd4e4;border-radius:7px;background:#fff;color:#1d2757}.production-form input:focus,.production-form textarea:focus,.production-form select:focus{outline:3px solid #f6b11f66;border-color:#1d2757}.production-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.production-form small{display:block;font-size:12px;color:var(--hp-muted)}.production-form fieldset{border:1px solid #dce2ee;border-radius:10px;padding:18px;margin:18px 0}.production-form .production-check{display:inline-flex;gap:7px;margin:8px 14px 8px 0}.production-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.production-error{border-left:4px solid var(--hp-red);background:#fff3f3;padding:14px}.production-consent{padding:15px;background:#f5f6fa}.production-letterhead{max-width:360px;width:80%;height:auto;margin-bottom:16px}.production-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.production-people.director{grid-template-columns:minmax(280px,780px);justify-content:center}.production-person{display:flex;gap:16px;border:1px solid #e0e5ee;border-radius:32px 7px 24px 7px;padding:17px;background:white;overflow:hidden;align-items:center;min-width:0;box-shadow:0 7px 20px #1d275706}.production-person>a{flex-shrink:0}.production-person img,.production-initial{width:82px;height:105px;object-fit:cover;object-position:center top;border-radius:25px 5px 20px 5px;background:#f2f4f8}.production-initial{display:grid;place-items:center;font-size:40px;color:#1d2757}.production-person.is-director img{width:135px;height:155px}.production-person h3{font-size:19px;margin:0 0 6px}.production-person p{margin:4px 0 8px;font-size:14px}.production-person a,.production-person small{font-size:13px;overflow-wrap:anywhere}.production-person small{display:block;color:var(--hp-muted)}.production-profile{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:40px}.production-profile aside .production-person{display:block}.production-publication{border-bottom:1px solid #e1e6ee;padding:18px 0}.production-programmes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.production-programme{position:relative;border-radius:28px 7px 25px 7px;border:1px solid #dce2ed;border-top:4px solid #1d2757;padding:20px;background:white}.production-programme:nth-child(3n+2){border-top-color:var(--hp-red)}.production-programme:nth-child(3n+3){border-top-color:var(--hp-yellow)}.production-programme h3{font-size:23px;line-height:1.2;margin:9px 0}.production-programme p{font-size:14px}.production-programme small{font-size:11px;letter-spacing:.06em}.production-dialog{box-sizing:border-box;width:min(900px,94vw);max-height:90vh;border:0;border-top:6px solid #f6b11f;border-radius:30px 8px;padding:32px;color:#1d2757;box-shadow:0 30px 100px #0005}.production-dialog::backdrop{background:#121a36bb;backdrop-filter:blur(5px)}.production-close{float:right;border:0;background:#1d2757;color:white;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}.production-dialog h2{font-size:clamp(26px,4vw,40px);line-height:1.15;margin-right:30px}.production-dialog section{padding:16px 0;border-bottom:1px solid #e1e5ee}.production-dialog li{margin-bottom:9px}.production-registration-dialog{width:min(1100px,97vw);padding:14px}.production-registration-dialog iframe{width:100%;height:78vh;border:0}.production-calendar>header{display:flex;justify-content:space-between;align-items:center;gap:20px}.production-calendar h2{font-size:36px;margin:10px 0}.production-filters{background:#f2f4f8;border-radius:15px;padding:0 20px 14px}.production-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e0e5ef;border:1px solid #e0e5ef;border-radius:15px;overflow:hidden}.production-weekday{background:#1d2757;color:white;padding:14px;text-align:center}.production-day{min-height:120px;background:#fff;padding:10px}.production-day h3{margin:0 0 12px;font:700 14px system-ui;color:#6c7590}.production-day a{display:block;border-left:3px solid var(--hp-blue);padding:8px;background:#f1f3f9;border-radius:3px;margin:5px 0;font-size:12px;line-height:1.4;color:#1d2757;text-decoration:none}.production-day a span{display:block;font-size:9px;text-transform:uppercase;margin-bottom:5px}.production-day a.unit-itta{border-color:#d8272d}.production-day a.unit-eda{border-color:#f6b11f}.production-day.is-empty{background:#f7f8fb}.production-start-day{padding:13px 18px;background:#1d2757;color:white;border-radius:15px 4px;margin:25px 0 0;font-size:18px}.production-course-row{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:18px;border-bottom:1px solid #e1e5ee}.production-course-row h3{font-size:18px;margin:0}.production-course-row p{font-size:13px}.production-course-row>strong{white-space:nowrap}.production-course-row>a{font-size:13px;min-width:120px}.production-empty{padding:25px;background:#f5f6fa;border-radius:12px}.production-course-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.production-booking{padding:25px;border-radius:32px 8px;background:#f3f5fa;border-top:5px solid var(--hp-yellow);align-self:start}.production-booking dt{font-weight:700;margin-top:13px}.production-booking dd{margin:3px 0}.production-dates{display:grid;gap:8px}.production-dates a{display:block;border:1px solid #d0d8e6;padding:10px;border-radius:7px;font-size:14px;background:white}.production-dates [aria-current]{border-color:#1d2757;border-left-width:5px}.production-course-copy{line-height:1.8}.production-paper{max-width:850px;margin:30px auto;background:#fff;padding:35px;border:1px solid #dce1eb;color:#1d2757}.production-paper header{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:3px solid #f6b11f;padding-bottom:18px}.production-paper header img{width:270px;max-width:45%;height:auto}.production-paper header p{font-size:11px}.production-paper table{border-collapse:collapse;width:100%;font-size:14px}.production-paper th,.production-paper td{padding:10px;text-align:left;border:1px solid #e0e5ec}.production-paper th{width:33%;background:#f4f6f9}.production-logo-strip{background:white;padding:18px 5%;overflow:hidden;border-radius:36px 0 36px 0}.production-logo-track{width:100%}.production-logo-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:28px;align-items:center;justify-items:center;width:100%}.production-logo-group img{max-width:140px;max-height:55px;width:auto;height:auto;filter:grayscale(1);opacity:.8;object-fit:contain}.production-logo-group a:hover img{opacity:1}.production-logo-strip.is-scrolling .production-logo-track{display:flex;width:max-content;animation:production-logos 38s linear infinite}.production-logo-strip.is-scrolling .production-logo-group{display:flex;width:auto;gap:55px;padding-right:55px}.production-logo-strip.is-scrolling img{max-width:135px}.production-logo-strip:hover .production-logo-track,.production-logo-strip:focus-within .production-logo-track{animation-play-state:paused}@keyframes production-logos{to{transform:translateX(-50%)}}.production-slides{position:relative;min-height:440px;isolation:isolate;overflow:hidden;border-radius:32px 8px}.production-slide{position:relative;min-height:440px}.production-slide[hidden]{display:none}.production-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 100%;z-index:-1}.production-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#131c3ccc,transparent 85%);z-index:-1}.production-slide>div{padding:230px 25px 25px;color:#fff}.production-slide h2{font-size:clamp(24px,3vw,40px);margin:10px 0;color:#fff}.production-slide p{font-size:15px;line-height:1.5}.production-slide>div>p:first-child{font-size:11px;letter-spacing:.08em;color:#f6b11f}.production-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}.production-table th,.production-table td{padding:13px;text-align:left;border-bottom:1px solid #e1e6ef;vertical-align:top}.production-table th{font-size:11px;letter-spacing:.05em;background:#f3f5fa;text-transform:uppercase}.production-table td small{display:block;color:#67718b}.production-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0}.production-kpi{background:white;border:1px solid #e0e5ee;padding:22px;border-radius:22px 6px;border-top:4px solid #f6b11f}.production-kpi strong{display:block;font-size:32px}.production-kpi span{font-size:13px;color:#6b7590}.production-dashboard{background:#f2f4f9;min-height:100vh;font:15px/1.6 system-ui;color:#1d2757;margin:0}.production-dashboard-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.production-sidebar{background:#1d2757;color:#fff;padding:25px 18px;position:sticky;top:0;height:100vh;box-sizing:border-box;overflow:auto}.production-sidebar img{background:white;padding:10px;box-sizing:border-box;width:100%;height:auto;border-radius:8px}.production-sidebar>p{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#c2c9e0}.production-sidebar nav a{display:block;color:#e3e7f3;text-decoration:none;padding:9px 12px;margin:3px 0;border-radius:8px;font-size:13px}.production-sidebar nav a:hover,.production-sidebar nav a[aria-current]{background:#ffffff1c;color:#fff;border-left:3px solid #f6b11f}.production-sidebar .nav-group{font-size:9px;color:#f6b11f;letter-spacing:.12em;margin:22px 12px 6px;display:block;text-transform:uppercase}.production-workspace{min-width:0;padding:28px 34px}.production-office-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #dce2ed;padding-bottom:20px;margin-bottom:25px}.production-office-top h1{font-size:30px;margin:3px 0}.production-office-top p{font-size:12px;margin:3px 0;color:#69728a}.production-workspace .production-form{margin:20px 0}.production-workspace .hpgsb-panel{background:white;padding:24px;border:1px solid #e0e5ee;border-radius:15px;margin:20px 0}.production-workspace .hpgsb-form{display:block;max-width:1000px;padding:24px;background:white;border-radius:12px}.production-workspace .hpgsb-form label{display:block;margin:14px 0}.production-workspace .hpgsb-form input:not([type=checkbox]),.production-workspace .hpgsb-form textarea,.production-workspace .hpgsb-form select{display:block;width:100%;box-sizing:border-box;padding:11px;border:1px solid #cdd4e4;border-radius:7px;font:inherit}.production-workspace button,.production-workspace .hpgsb-button{cursor:pointer}.production-mobile-menu{display:none}.production-notice{background:#fff7e6;border-left:4px solid #f6b11f;border-radius:7px;padding:16px}.production-secret{background:#fff4d8;border:1px solid #f6b11f;padding:18px;border-radius:12px}.production-secret code{font-size:22px;overflow-wrap:anywhere}.production-dashboard .hpgsb-table{overflow:auto}.production-dashboard :focus-visible{outline:3px solid #f6b11f;outline-offset:3px}@media(max-width:1100px){.production-people{grid-template-columns:repeat(2,minmax(0,1fr))}.production-dashboard-shell{grid-template-columns:210px minmax(0,1fr)}.production-workspace{padding:23px}.production-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.production-month-grid{display:block;border:0;background:transparent}.production-weekday,.production-day.is-empty{display:none}.production-day{min-height:0;border-bottom:1px solid #dde3ed;margin-bottom:8px;border-radius:10px}.production-day:not(:has(a)){display:none}.production-day h3{font-size:18px}.production-day a{font-size:15px}.production-profile,.production-course-layout{grid-template-columns:1fr}.production-programmes,.production-people,.production-form-grid{grid-template-columns:1fr}.production-course-row{align-items:start;flex-direction:column;gap:5px}.production-form{padding:18px}.production-logo-group{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:24px}.production-logo-group img{max-width:100px;max-height:45px}.production-dashboard-shell{display:block}.production-sidebar{height:auto;position:relative;padding:15px}.production-sidebar img{width:230px}.production-sidebar nav{display:none}.production-sidebar.is-open nav{display:block}.production-mobile-menu{display:inline-block;background:#f6b11f;color:#1d2757;border:0;border-radius:6px;padding:8px;margin-left:12px}.production-workspace{padding:20px 15px}.production-office-top{align-items:start}.production-office-top h1{font-size:24px}.production-paper{padding:16px}.production-paper header{display:block}.production-paper header img{max-width:85%}.production-calendar>header{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.production-logo-track{animation:none!important}}@media print{body>*{display:none!important}body>main,body>.production-dashboard-shell{display:block!important}.production-sidebar,.production-office-top,header:not(.production-paper header),footer,.production-heading,.production-actions,.production-filters,.production-form,button,[data-prod-share],.production-logo-strip,.production-slides,.hpgsb-contact-button,#hpgsb-back-to-top,.production-booking{display:none!important}.production-section,.production-workspace{max-width:none;padding:0!important;margin:0!important}.production-dialog[open]{display:block!important;position:static!important;width:100%;max-height:none;border:0;box-shadow:none;padding:0}.production-dialog::backdrop{display:none}.production-paper{display:block!important;break-inside:avoid;border:0;padding:0}.production-paper header{display:flex!important}.production-calendar{display:block!important}.production-month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;font-size:10px}.production-day{display:block!important;min-height:90px!important;break-inside:avoid}.production-weekday{display:block!important}.production-day a{font-size:9px!important}a{color:#1d2757;text-decoration:none}}

/* Role guidance shared by the administration workspace and academic self-service. */
.production-role-summary{margin:18px 0 26px;padding:22px 25px;border:1px solid #dce2ef;border-left:4px solid #f6b11f;border-radius:18px 6px;background:#fff;color:#1d2757}.production-role-summary h2{font-size:20px;line-height:1.3;margin:10px 0 8px}.production-role-summary p{font-size:14px;line-height:1.65;margin:0;max-width:1100px}.production-role-badge{display:inline-block;background:#eef0f8;color:#1d2757;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:700}.production-role-summary .production-role-scope{margin-top:10px;font-size:12px;color:#59647d}.production-role-directory{margin:22px 0 30px;padding:24px;background:#fff;border:1px solid #dce2ef;border-radius:18px}.production-role-directory h2{margin:0 0 10px;font-size:24px}.production-role-directory>p{font-size:14px;line-height:1.6;color:#63708b}.production-role-table{overflow-x:auto}.production-role-table th[scope=row]{background:#f3f5fa;color:#1d2757;width:180px;text-align:left;font-size:14px}.production-role-table td{font-size:14px;line-height:1.6}.production-role-table th,.production-role-table td{white-space:normal;vertical-align:top}@media(max-width:700px){.production-role-summary,.production-role-directory{padding:18px}.production-role-table th[scope=row]{min-width:125px}}
