:root{--navy:#071d34;--blue:#234b73;--ink:#172536;--muted:#66798d;--line:#cbd5df;--silver:#edf1f5;--paper:#fff}
*{box-sizing:border-box}
html,body{margin:0;background:#e3e8ed;color:var(--ink);font-family:"Pretendard",Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.progress-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;border-bottom:1px solid #c0cbd5;background:rgba(255,255,255,.95);backdrop-filter:blur(14px)}
.progress-brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none}.progress-brand img{width:42px;height:42px;border:1px solid #bcc8d2;border-radius:12px}.progress-brand span{display:grid;gap:2px}.progress-brand small{font:800 8px "Lexend",sans-serif;letter-spacing:1.2px}.progress-brand b{font-size:14px}.toolbar-actions{display:flex;gap:8px}.toolbar-actions a,.toolbar-actions button{display:grid;place-items:center;min-height:40px;padding:0 16px;border:1px solid #afbdc9;border-radius:999px;background:#fff;color:var(--navy);font:800 12px "Pretendard",sans-serif;text-decoration:none;cursor:pointer}.toolbar-actions button{border-color:var(--navy);background:var(--navy);color:#fff}.print-notice{width:210mm;margin:18px auto 0;padding:11px 14px;border:1px solid #bac6d0;border-radius:12px;background:#f8fafb;color:#5b7084;font-size:12px}.progress-stack{display:grid;gap:18px;padding:18px 0 55px}.progress-page{position:relative;width:210mm;height:297mm;margin:auto;overflow:hidden;background:var(--paper);box-shadow:0 20px 50px -30px rgba(7,29,52,.58)}.page-strip{height:10mm;padding:0 17mm;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#b6c3cf;font:800 7px "Lexend",sans-serif;letter-spacing:.3px}.page-content{padding:12mm 17mm 21mm}.page-head{display:grid;grid-template-columns:1fr auto;gap:8mm;align-items:end;margin-bottom:5mm}.page-head small{color:#72869a;font:800 8px "Lexend",sans-serif;letter-spacing:1px}.page-head h1{margin:2mm 0 0;color:var(--navy);font-size:22pt;line-height:1}.page-head p{margin:0;color:#5f7488;font-size:9pt}.student-fields{display:grid;grid-template-columns:12mm 46mm 14mm 35mm 16mm 1fr;height:10mm;margin-bottom:5mm;border:1px solid var(--line)}.student-fields span{display:flex;align-items:center;padding:0 5px;border-right:1px solid var(--line);font-size:8pt}.student-fields .label{background:var(--silver);color:#687d91;font-weight:800}.phase-banner{display:grid;grid-template-columns:12mm 1fr 28mm;align-items:center;height:9mm;margin-top:3mm;background:var(--silver);border:1px solid var(--line);color:var(--navy)}.phase-banner b{display:grid;place-items:center;height:100%;background:var(--blue);color:#fff;font:800 8px "Lexend",sans-serif}.phase-banner span{padding:0 4mm;font-size:8.5pt;font-weight:900}.phase-banner small{text-align:center;color:#6c8195;font:800 7px "Lexend",sans-serif}.progress-table{border:1px solid var(--line);border-top:0}.progress-row{display:grid;grid-template-columns:12mm 1fr 16mm 16mm 23mm;min-height:8mm;border-bottom:1px solid var(--line)}.progress-row:last-child{border-bottom:0}.progress-row>*{display:flex;align-items:center;border-right:1px solid var(--line);font-size:7.8pt}.progress-row>*:last-child{border-right:0}.step-no{justify-content:center;background:#f7f9fb;color:#5f7488;font:800 7px "Lexend",sans-serif}.step-title{padding:0 3mm;font-weight:750}.check{justify-content:center;color:#536a7f;font-size:7.3pt}.evidence{justify-content:center;color:#536a7f;font-size:7pt}.table-head{min-height:8mm;background:var(--navy);color:#fff}.table-head>*{justify-content:center;font-size:7pt;font-weight:800}.milestones{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5mm;border:1px solid var(--line)}.milestone{min-height:21mm;padding:4mm;border-right:1px solid var(--line)}.milestone:last-child{border-right:0}.milestone b{display:block;color:var(--navy);font-size:8.5pt}.milestone p{margin:2mm 0 0;color:#62778a;font-size:7.5pt;line-height:1.4}.notes{display:grid;grid-template-columns:27mm 1fr;min-height:27mm;margin-top:5mm;border:1px solid var(--line)}.notes b{display:grid;place-items:center;background:var(--silver);color:var(--navy);font-size:8.5pt}.note-lines{background:repeating-linear-gradient(to bottom,transparent 0,transparent 8mm,var(--line) 8mm,var(--line) calc(8mm + .4px))}.page-footer{position:absolute;left:17mm;right:17mm;bottom:9mm;display:flex;align-items:center;justify-content:space-between;padding-top:3mm;border-top:1px solid var(--line);color:#718397;font-size:7pt}.page-footer span:first-child{display:flex;align-items:center;gap:3mm}.page-footer img{width:8mm;height:8mm}
@page{size:A4 portrait;margin:0}
@media print{html,body{background:#fff}.progress-toolbar,.print-notice{display:none!important}.progress-stack{display:block;padding:0}.progress-page{margin:0;box-shadow:none;break-after:page;page-break-after:always}.progress-page:last-child{break-after:auto;page-break-after:auto}}
@media(max-width:850px){.print-notice{width:calc(100% - 20px)}.progress-page{width:calc(100vw - 20px);height:auto;min-height:calc((100vw - 20px) * 1.414)}.page-content{padding:6vw}.page-strip{padding:0 6vw}.page-footer{left:6vw;right:6vw}.progress-toolbar{padding:9px 12px}.progress-brand small,.progress-brand b,.toolbar-actions a{display:none}.student-fields{grid-template-columns:12% 22% 13% 18% 15% 20%}.progress-row{grid-template-columns:10% 1fr 15% 15% 20%}.step-title{font-size:2.2vw}.check,.evidence{font-size:1.9vw}}
