@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 400; unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; src: url(fonts/barlow-e9307c20.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 400; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; src: url(fonts/barlow-a8c16fde.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 400; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; src: url(fonts/barlow-43c82566.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 500; unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; src: url(fonts/barlow-ce44b13d.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 500; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; src: url(fonts/barlow-c25c5cc1.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 500; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; src: url(fonts/barlow-72f3b0b7.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 600; unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; src: url(fonts/barlow-a132f249.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 600; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; src: url(fonts/barlow-ad2a1fb5.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 600; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; src: url(fonts/barlow-e6554e15.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 700; unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; src: url(fonts/barlow-ca891996.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 700; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; src: url(fonts/barlow-c691f46a.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 700; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; src: url(fonts/barlow-bb4a7b7e.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 800; unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; src: url(fonts/barlow-b45b9079.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 800; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; src: url(fonts/barlow-b8437d85.woff2) format('woff2'); }
@font-face {font-family: 'Barlow'; font-style: normal; font-weight: 800; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; src: url(fonts/barlow-3cef2e6c.woff2) format('woff2'); }
:root{--ink:#28232b;--muted:#716c75;--pink:#cf2357;--pink-dark:#b91f4e;--line:#e8e3e7;--bg:#f7f5f7;--warm:#fff4de}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}header{background:white;min-height:94px;padding:18px max(5%,calc((100% - 1150px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:30px;font-weight:850;color:var(--pink);letter-spacing:-1.5px;text-decoration:none;line-height:1.1}.brand span{display:block;font-size:10px;letter-spacing:3px;color:var(--muted);margin-top:8px}nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}a{color:var(--pink)}nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}main{max-width:1150px;margin:0 auto;padding:48px 25px 72px;min-height:calc(100vh - 210px)}h1{font-size:38px;line-height:1.15;letter-spacing:-1.2px;margin:12px 0 18px}h2{font-size:23px;line-height:1.3;margin:0 0 20px;letter-spacing:-.5px}h3{font-size:18px}p{margin:10px 0 20px}.muted{color:var(--muted);font-size:14px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--pink)}.card{background:white;padding:30px;border:1px solid var(--line);border-radius:15px;margin:20px 0;box-shadow:0 4px 18px #38253703}.page-title,.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title h2{margin:0}.section-title{margin-bottom:22px}.badge{background:#f1edf0;border-radius:7px;font-size:12px;padding:6px 10px;white-space:nowrap}.warn{background:var(--warm);color:#805209}label{display:block;font-size:13px;font-weight:650;margin:0 0 16px}input,select{display:block;width:100%;margin-top:7px;border:1px solid #d9d2d8;border-radius:8px;font:inherit;font-weight:400;padding:11px 12px;background:white;color:var(--ink);min-height:45px}input:focus,select:focus{outline:2px solid #cf235735;border-color:var(--pink)}button,.button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;border-radius:8px;padding:11px 17px;background:var(--pink);color:white;font:600 14px/1.4 system-ui;text-decoration:none;min-height:44px}button:hover,.button:hover{background:var(--pink-dark)}button:disabled{opacity:.6;cursor:wait}.secondary{background:white;color:var(--ink);border-color:#d9d2d8}.secondary:hover{background:#f5f2f4}.danger{background:#fff0f1;color:#ad2543;border-color:#f0c9d0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;margin-top:24px}.full{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:14px}.check input{width:18px;height:18px;min-height:0;margin:3px 0 0;accent-color:var(--pink);flex-shrink:0}.inline{display:inline;margin:0}details summary{cursor:pointer;font-weight:650;display:flex;justify-content:space-between;gap:15px;align-items:center}details summary::after{content:'+';color:var(--pink);margin-left:auto}details[open]>summary::after{content:'−'}details summary span{font-size:13px;color:var(--muted);font-weight:400}.person{border-top:1px solid var(--line);padding:18px 0}.new-person{margin-top:15px;padding-top:18px;border-top:1px solid var(--line)}.new-person summary{color:var(--pink)}.card>details{padding:20px 0;border-bottom:1px solid var(--line)}.remove-form{margin-top:20px}.notice{padding:17px 22px;border-radius:10px;background:#eaf6ee;color:#245a35;margin:0 0 24px;border:1px solid #c9e5d1}.error{background:#fff0f1;border-color:#efc5ce;color:#9b2440}.back{font-size:14px;text-decoration:none}.login-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:75px;padding:45px 0 65px}.intro h1{font-size:58px;line-height:1.08;margin:22px 0}.intro p{max-width:420px;color:var(--muted);font-size:18px}.intro-note{margin-top:40px;padding-left:20px;border-left:3px solid #f5ae3b;font-size:13px;color:var(--muted)}.login{padding:36px}.login button{width:100%;margin-top:10px}.login p{font-size:14px;color:var(--muted)}.course-row{display:flex;align-items:center;gap:23px;padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.course-row:hover{background:#fcf9fb}.course-name{flex:1}.course-row small{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:4px}.date{font-size:20px;font-weight:700;min-width:65px}.date small{margin:0}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.selection{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;border:1px solid var(--line);border-radius:10px;padding:20px;margin:20px 0}.select-actions{display:flex;gap:10px}.delivery{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:22px 0}.delivery p{margin:4px 0;font-size:13px;color:var(--muted)}.delivery .full{width:100%}footer{border-top:1px solid var(--line);background:white;display:flex;gap:20px;justify-content:space-between;padding:25px 5%;color:var(--muted);font-size:12px}footer div{display:flex;gap:18px}footer a{color:var(--muted)}[hidden]{display:none!important}@media(max-width:760px){header{padding:18px 20px;align-items:flex-start}nav{gap:12px}nav a{font-size:12px}nav button{padding:7px;min-height:34px;font-size:12px}main{padding:30px 16px}.grid,.selection,.login-layout{grid-template-columns:1fr}.login-layout{gap:15px;padding:10px 0}.intro h1{font-size:40px}.intro-note{margin:20px 0}.card{padding:22px}.page-title{align-items:flex-start;flex-wrap:wrap}h1{font-size:30px}.course-row{gap:12px;flex-wrap:wrap}.course-row .badge{margin-left:77px}.course-name{min-width:150px}footer{flex-direction:column}.delivery{align-items:flex-start}details summary{flex-wrap:wrap}}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:12px;border-bottom:1px solid #ddd;text-align:left}.inventory-item{padding:12px 0}.inventory-fields{padding-left:24px}.card form+form{margin-top:20px}

/* CorStart website identity — locally hosted logo and Barlow fonts. */
:root{--ink:#262626;--muted:#626262;--pink:#cf2357;--pink-dark:#b91f4e;--line:#e5e5e5;--bg:#f8f8f8}
body{font-family:Barlow,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
header{border-top:5px solid var(--pink);min-height:116px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:24px;flex-shrink:0;letter-spacing:normal}
.brand img{display:block;width:180px;height:auto}
.brand span{margin:0;padding:12px 0 12px 24px;border-left:1px solid var(--line);font-size:12px;letter-spacing:2px;color:#626262;font-weight:600}
nav{gap:18px;justify-content:flex-end}nav a:hover{color:var(--pink)}
h1,h2,h3{font-weight:600;letter-spacing:-.5px}button,.button{font-family:Barlow,"Segoe UI",sans-serif;font-size:16px;font-weight:600;border-radius:4px}
.card{border-radius:6px;box-shadow:0 5px 24px #00000004}.login{border-top:4px solid var(--pink)}
input,select{border-radius:4px;font-size:16px}input:focus,select:focus{outline:2px solid #cf235740}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cf235780;outline-offset:4px}
.intro h1{font-size:clamp(38px,4.2vw,58px);font-weight:600;line-height:1.1}.intro h1 em{color:var(--pink);font-style:normal}
.intro .service-line{font-size:14px;margin-top:28px;color:#626262}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px}
.course-row{flex-wrap:wrap}.course-row strong{flex:1;min-width:150px}.course-row span{overflow-wrap:anywhere}
footer{background:#2b2b2b;color:#eee;border:0}footer a{color:#fff}footer div{flex-wrap:wrap}
.danger:hover{background:#ad2543;color:white}.brand:hover{opacity:.85}
@media(max-width:950px){header{flex-wrap:wrap}nav{justify-content:flex-start;width:100%}}
@media(max-width:760px){header{padding:16px 20px}.brand{gap:16px}.brand img{width:150px}.brand span{padding-left:16px;font-size:11px;letter-spacing:1px}nav{gap:14px}nav a{font-size:14px}.login-layout{gap:20px}.login{padding:25px}.intro p{font-size:17px}.intro .service-line{font-size:13px;margin-top:20px}footer{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
