:root{--navy:#071d34;--blue:#234b73;--ink:#172536;--muted:#667b8f;--line:#cbd5de;--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}
.orientation-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)}
.orientation-brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none}
.orientation-brand img{width:42px;height:42px;border:1px solid #bcc8d2;border-radius:12px}
.orientation-brand span{display:grid;gap:2px}
.orientation-brand small{font:800 8px "Lexend",sans-serif;letter-spacing:1.2px}
.orientation-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 15px;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}
.orientation-stack{display:grid;gap:18px;padding:18px 0 55px}
.orientation-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-kicker{color:#718599;font:800 8px "Lexend",sans-serif;letter-spacing:1.1px}
.page-title{margin:3mm 0 2mm;color:var(--navy);font-size:25pt;line-height:1.05;letter-spacing:-1.2px}
.page-lead{margin:0 0 7mm;color:#536a7e;font-size:9.5pt;line-height:1.55}
.student-fields{display:grid;grid-template-columns:12mm 43mm 17mm 1fr;height:10mm;margin-bottom:6mm;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-road{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}
.phase-card{min-height:42mm;padding:5mm 4mm;border-right:1px solid var(--line)}
.phase-card:last-child{border-right:0}
.phase-card b{display:grid;place-items:center;width:8mm;height:8mm;background:var(--navy);color:#fff;font:800 7px "Lexend",sans-serif}
.phase-card h3{margin:4mm 0 2mm;color:var(--navy);font-size:9pt}
.phase-card p{margin:0;color:#63788b;font-size:7.5pt;line-height:1.45}
.section-title{display:flex;align-items:center;gap:3mm;margin:7mm 0 3mm;color:var(--navy);font-size:13pt}
.section-title span{display:grid;place-items:center;width:8mm;height:8mm;background:var(--navy);color:#fff;font:800 7px "Lexend",sans-serif}
.class-loop{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}
.loop-card{min-height:31mm;padding:5mm 4mm;border-right:1px solid var(--line);text-align:center}
.loop-card:last-child{border-right:0}
.loop-card b{display:block;color:var(--navy);font-size:9pt}
.loop-card p{margin:2mm 0 0;color:#64798c;font-size:7.5pt;line-height:1.4}
.rules{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.rule{min-height:26mm;padding:5mm;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.rule:nth-child(even){border-right:0}
.rule:nth-last-child(-n+2){border-bottom:0}
.rule b{color:var(--navy);font-size:9pt}
.rule p{margin:2mm 0 0;color:#5f7488;font-size:8pt;line-height:1.45}
.setup-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.setup-summary div{min-height:29mm;padding:5mm;border-right:1px solid var(--line)}
.setup-summary div:last-child{border-right:0}
.setup-summary b{display:block;color:var(--navy);font-size:9pt}
.setup-summary p{margin:2mm 0 0;color:#63788b;font-size:8pt;line-height:1.45}
.check-table{border:1px solid var(--line)}
.check-row{display:grid;grid-template-columns:13mm 44mm 1fr 20mm;min-height:14mm;border-bottom:1px solid var(--line)}
.check-row:last-child{border-bottom:0}
.check-row>*{display:flex;align-items:center;padding:3mm;border-right:1px solid var(--line);font-size:8pt}
.check-row>*:last-child{border-right:0}
.check-row .num{justify-content:center;background:var(--navy);color:#fff;font:800 7px "Lexend",sans-serif}
.check-row b{background:var(--silver);color:var(--navy)}
.check-row .status{justify-content:center;color:#61768a}
.folder-tree{display:grid;grid-template-columns:34mm 1fr;margin-top:5mm;border:1px solid var(--line)}
.folder-tree b{display:grid;place-items:center;background:var(--navy);color:#fff;font-size:9pt}
.folder-tree pre{margin:0;padding:5mm;background:#f8fafb;color:#40586e;font:8.5pt/1.65 "Lexend",monospace}
.parent-points{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.parent-card{min-height:42mm;padding:6mm;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.parent-card:nth-child(even){border-right:0}
.parent-card:nth-last-child(-n+2){border-bottom:0}
.parent-card small{color:#708599;font:800 7px "Lexend",sans-serif}
.parent-card h3{margin:2mm 0;color:var(--navy);font-size:11pt}
.parent-card p{margin:0;color:#5f7488;font-size:8.5pt;line-height:1.55}
.conversation{display:grid;grid-template-columns:33mm 1fr;min-height:35mm;border:1px solid var(--line)}
.conversation b{display:grid;place-items:center;background:var(--navy);color:#fff;font-size:9pt;text-align:center}
.conversation div{padding:5mm}
.conversation p{margin:0 0 2mm;color:#4f667a;font-size:8.5pt}
.contact-box{display:grid;grid-template-columns:1fr 1fr;margin-top:6mm;border:1px solid var(--line)}
.contact-box div{min-height:28mm;padding:5mm;border-right:1px solid var(--line)}
.contact-box div:last-child{border-right:0}
.contact-box b{display:block;color:var(--navy);font-size:9pt}
.contact-box p{margin:2mm 0 0;color:#607589;font-size:8pt;line-height:1.45}
.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}
.orientation-toolbar,.print-notice{display:none!important}
.orientation-stack{display:block;padding:0}
.orientation-page{margin:0;box-shadow:none;break-after:page;page-break-after:always}
.orientation-page:last-child{break-after:auto;page-break-after:auto}
}

@media(max-width:850px){.print-notice{width:calc(100% - 20px)}
.orientation-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}
.orientation-toolbar{padding:9px 12px}
.orientation-brand small,.orientation-brand b,.toolbar-actions a{display:none}
.phase-road,.class-loop{grid-template-columns:1fr}
.phase-card,.loop-card{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
.page-title{font-size:8vw}
}
