:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:14px;color:#222;background:#fff;font-weight:400;--label:125px;--gap:20px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:#365e82;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button{padding:5px 10px;border:1px solid #bbb;border-radius:3px;background:#f7f7f7;color:#222;cursor:pointer;line-height:1.3}button:hover{background:#eee}button:disabled{opacity:.5;cursor:wait}button.text{border:0;background:none;padding:0;color:#555;font-size:12px}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;min-width:0;border:1px solid #bbb;background:#fff;border-radius:3px;padding:5px 7px;line-height:1.4;color:#222}input::placeholder,textarea::placeholder{color:#999}textarea{min-height:100px;resize:vertical}input[type=file]{padding:3px!important;border:0!important;background:transparent!important;font-size:12px}input[type=checkbox],input[type=radio]{accent-color:#555}input:focus,select:focus,textarea:focus{outline:1px solid #67849d;outline-offset:1px}:focus-visible{outline:2px solid #67849d;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-size:25px;margin:0;line-height:1.2}h2{font-size:21px;margin:0 0 22px calc(var(--label) + var(--gap))}h3{font-size:16px;margin:0 0 18px}p{line-height:1.5;margin-bottom:16px}small,.hint{font-size:12px;color:#777;line-height:1.45}small{display:block;margin-top:3px}.muted{color:#777}.required{color:#888;font-size:11px}
header{width:600px;max-width:calc(100% - 36px);margin:40px auto 28px;display:grid;grid-template-columns:var(--label) minmax(0,1fr);gap:8px var(--gap);align-items:center}.brand{display:flex;flex-direction:column;align-items:flex-end;border-right:1px solid #ccc;padding-right:15px;height:40px;justify-content:center}.brand img{width:100px;height:auto}.brand span{font-size:10px;letter-spacing:2px;margin-top:4px;color:#333}nav{grid-column:2;display:flex;flex-wrap:wrap;gap:14px}nav:empty{display:none}main{width:600px;max-width:calc(100% - 36px);margin:0 auto 50px;flex:1;min-width:0}main.wide{width:960px;padding-top:8px}footer{text-align:center;background:#fafafa;color:#aaa;font-size:11px;line-height:1.5;padding:15px 18px}footer a{font-size:10px;color:#aaa}
.offset{margin-left:calc(var(--label) + var(--gap))}.field{display:grid;grid-template-columns:var(--label) minmax(0,1fr);gap:var(--gap);margin-bottom:14px;align-items:start}.field>label,.field>span{padding-top:6px;text-align:right;line-height:1.3}.control{position:relative;min-width:0}.form-section{position:relative;background:#f6f6f6;border-radius:4px;padding:20px;margin:20px -20px}.form-section h3{font-size:20px;margin-left:calc(var(--label) + var(--gap));position:relative}.section-number{position:absolute;left:14px;top:6px;font-size:70px;font-weight:650;line-height:1;color:#e9e9e9;pointer-events:none}.section-label{margin:8px 0 14px calc(var(--label) + var(--gap));font-size:12px;color:#777;display:flex;justify-content:space-between;gap:10px}.degree+.degree,.reference+.reference{border-top:1px solid #e1e1e1;margin-top:18px;padding-top:12px}.degree:last-child{margin-bottom:12px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px;margin-bottom:12px}.actions small{margin:0}.check{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;margin-top:24px}.check input{margin:2px 0 0}.file{display:block;margin-bottom:5px;font-size:12px;overflow-wrap:anywhere}.upload-area{border:1px dashed #bbb;border-radius:3px;padding:16px 12px;width:100%;text-align:center}.upload-area .import-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:12px auto 5px;padding:11px 24px;border:0;background:#e2e2e2;font-size:13px}.upload-area .import-control:hover{background:#d6d6d6}.upload-area small{margin-top:0;overflow-wrap:anywhere}.upload-selection{font-size:12px;overflow-wrap:anywhere}.upload-selection:not(:empty){margin-bottom:10px}.upload-selection .file{margin:0}.icon{width:16px;height:16px;vertical-align:-3px;flex-shrink:0}.actions button .icon{margin-right:3px}.add-degree{display:flex;align-items:center;gap:10px;padding-top:14px;padding-bottom:8px}.upload-area.drag{border-color:#555;background:#eee}.error{color:#9a3328;line-height:1.5}.success,.info{font-size:13px;line-height:1.5}.save-state{color:#888;font-size:11px}.loading{margin-left:calc(var(--label) + var(--gap));color:#888}.dev-inbox{margin:25px 0 0 calc(var(--label) + var(--gap));font-size:12px;color:#777}.dev-inbox p{margin:12px 0}.dev-inbox summary{cursor:pointer}.dev-inbox button{font-size:11px}
.combo-results{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:1px solid #aaa;border-radius:2px;overflow:hidden;font-size:13px}.combo-list{max-height:195px;overflow-y:auto}.combo-results button{display:block;width:100%;padding:7px 9px;border:0;border-radius:0;text-align:left;font-weight:400;background:#fff;overflow-wrap:anywhere;font-size:13px}.combo-results button:hover,.combo-results button[aria-selected=true]{background:#eee}.combo-results .custom{border-top:1px solid #ccc;background:#f5f5f5;font-size:12px}.combo-message{padding:9px;margin:0}.combo-results small{margin:0}
.toolbar{display:flex;gap:10px;margin-bottom:18px}.toolbar input{flex:1}.toolbar select{max-width:155px}.flush{margin-left:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th,td{padding:10px 8px;border-bottom:1px solid #ddd;vertical-align:top}th{font-weight:400;color:#777}td small{font-size:11px}tbody tr:hover{background:#fafafa}tbody tr{cursor:pointer}.detail-title{margin-bottom:24px}.detail-title h2{margin-bottom:8px}.detail-title p{font-size:13px;margin-bottom:5px;color:#666}.status{font-size:12px;color:#666}.back-link{display:inline-block;font-size:12px;margin-bottom:20px}.details-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}.details-grid>*{min-width:0}.card{margin-bottom:24px;border-bottom:1px solid #ddd;padding-bottom:20px}.card-body{padding:0}.card-body>h3{margin-bottom:12px}.subsection{border-top:1px solid #e4e4e4;margin-top:18px;padding-top:16px}.subsection:first-child{border-top:0;margin-top:0;padding-top:0}.detail-pair{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:6px 0;font-size:13px;overflow-wrap:anywhere}.detail-pair>span:first-child{color:#777}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:13px}.summary-section{margin-top:14px;font-size:13px}.summary-section h3{font-size:14px;margin-bottom:5px}.summary-section p{margin-bottom:5px}.ref-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eee;font-size:12px}.ref-row>div{min-width:0;overflow-wrap:anywhere}.ref-row strong{font-weight:500}.ref-row>span{flex-shrink:0;color:#666}.offset>h3{margin-top:25px}.inline-form{display:flex;gap:8px;margin-top:14px}.inline-form input{min-width:0}.review-form{display:grid;gap:10px}.choice{display:flex;gap:18px;margin-bottom:10px}.choice label{font-size:13px}.review-line{display:flex;gap:8px;align-items:center}.review-line>span{font-size:12px;color:#888}.review-form>.field{display:block;margin:10px 0 0}.review-block{padding:15px 0;font-size:13px;border-bottom:1px solid #eee}.review-block ul{padding-left:20px;line-height:1.5}.note{padding:10px 0;border-bottom:1px solid #eee;font-size:12px}.note p{white-space:pre-wrap;margin:5px 0}.stack{display:grid;gap:10px}.details-grid .field{grid-template-columns:110px minmax(0,1fr);gap:12px}.optional,.small{font-size:12px}.divider{margin:16px 0}.btn-row{display:flex;gap:8px;flex-wrap:wrap}
#notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:8px 12px;font-size:12px;max-width:90vw;z-index:100;display:none}#notice.show{display:block}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:10px;z-index:1000}.skip:focus{top:10px}[hidden]{display:none!important}
@media(max-width:650px){:root{--label:110px;--gap:14px}header{margin-top:28px}h1{font-size:23px}.form-section{margin-left:-8px;margin-right:-8px;padding:16px 8px}.section-number{left:5px;font-size:60px}.details-grid{grid-template-columns:minmax(0,1fr);gap:0}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.toolbar select{flex:1;max-width:none;width:40%}}
@media(max-width:420px){:root{--label:95px;--gap:12px}header,main{max-width:calc(100% - 28px)}header{margin-bottom:24px}.brand{padding-right:10px}.brand img{width:80px}h1{font-size:21px}nav{gap:12px}nav button.text{font-size:11px}.field>label,.field>span{font-size:12px}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px;padding:5px}.form-section h3{font-size:19px}.section-number{font-size:54px}.offset .detail-pair{grid-template-columns:1fr;gap:2px}.offset .ref-row{flex-direction:column;gap:5px}.check{font-size:11px}.actions button{font-size:12px}small,.hint{font-size:11px}.details-grid .field{grid-template-columns:95px minmax(0,1fr);gap:10px}}
.stage-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 25px;gap:0;margin-top:-8px;margin-bottom:22px}
.stage-link{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;color:#777;font-size:11px;text-decoration:none}
.stage-link:not(:last-child)::after{content:"";position:absolute;top:12px;left:12px;width:100%;height:1px;background:#ccc;z-index:0}
.stage-number{position:relative;z-index:1;display:grid;place-items:center;width:25px;height:25px;border:1px solid #aaa;border-radius:50%;background:#fff;color:#777;font-size:12px}
.stage-label{line-height:1.4;position:relative;left:12px;transform:translateX(-50%)}
.stage-link[aria-current=page]{color:#222}
.stage-link[aria-current=page] .stage-number{outline:2px solid #777;outline-offset:2px;color:#222}
.stage-link:hover{text-decoration:none;color:#222}
.stage-link:hover .stage-number{border-color:#333}
@media(max-width:650px){.stage-progress{margin-left:12px;margin-right:16px}.stage-link{font-size:10px}}
.control input.compact{width:7rem;max-width:100%}
.position-options{border:0;padding:0;min-width:0}
.position-options label{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.position-options label:last-child{margin-bottom:0}
.position-options input{margin:0}
fieldset.degree{border:0;padding:0;margin:0 0 16px;min-width:0}
fieldset.degree+fieldset.degree{border-top:1px solid #e1e1e1;padding-top:16px}
.degree>legend{font-size:14px;color:#444;padding:0;float:left;width:calc(100% - var(--label) - var(--gap))}
.degree>legend+.field{clear:both}
.form-section>.offset+.field{margin-top:14px}

.grade-pair{display:flex;align-items:center;gap:10px}.grade-pair label{font-size:12px;color:#555;line-height:1.3}.grade-pair input.compact{box-sizing:content-box;width:4ch;flex:0 0 auto;min-width:0}
@media(max-width:420px){.grade-pair{gap:6px}.grade-pair label{font-size:11px}}

.degree-note{clear:both;margin-top:-4px;margin-bottom:14px}

.position-options .central-options{margin-top:26px}.position-options label{align-items:flex-start}.position-options input{margin-top:3px;flex-shrink:0}.program-note{margin:-3px 0 16px 22px}

.stage-link:first-child .stage-label{left:0;transform:none}
.stage-link[data-status=complete] .stage-number{background:#dcefdc;border-color:#7eaa7f;color:#315c32}
.stage-link[data-status=started] .stage-number{background:#fff4cf;border-color:#d9c991;color:#78672d}
.or-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#888;font-size:12px}
.or-divider::before,.or-divider::after{content:"";flex:1;border-top:1px dotted #bbb}
.statement-import{margin-bottom:20px}
.application-summary h4{display:flex;justify-content:space-between;gap:16px;font-size:14px;font-weight:500;margin:24px 0 12px}
.application-summary h4:first-child{margin-top:0}.application-summary h4 a{font-size:12px;font-weight:400}
.application-summary p{font-size:13px;overflow-wrap:anywhere}.application-summary .detail-pair{grid-template-columns:110px minmax(0,1fr)}
@media(max-width:420px){.stage-link{font-size:9px}.application-summary .detail-pair{grid-template-columns:1fr}}

.textarea-field textarea{line-height:1.3}
@media(max-width:420px){.textarea-field>label{padding-top:8px}}
