@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Noto+Sans+KR:wght@400;500;700;900&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3fff9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#56b09533,#0000 26%),radial-gradient(circle at 100% 100%,#eda64a24,#0000 28%),linear-gradient(#051014 0%,#071519 52%,#041012 100%);font-family:Noto Sans KR,Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.academy-app{color:#d9f1eb;min-height:100vh;padding:28px}.academy-app--print-only{place-items:center;padding:24px;display:grid}.print-only-note{color:#d9f1ebb3;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.9rem}.hero{background:radial-gradient(circle at 100% 0,#5ac59f40,#0000 30%),radial-gradient(circle at 0 100%,#f4b55c2e,#0000 28%),linear-gradient(135deg,#08181cfa,#0b252bf5);border:1px solid #d7f5ec24;border-radius:28px;padding:28px;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000052}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000a6,#0000 95%);mask-image:linear-gradient(#000000a6,#0000 95%)}.hero__badge,.hero__toast{z-index:1;position:relative}.hero__badge{color:#baf0dd;background:#7ad5b41f;border:1px solid #7ad5b433;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.92rem;font-weight:700;display:inline-flex}.hero__content{z-index:1;grid-template-columns:minmax(0,1.7fr) minmax(270px,.9fr);align-items:start;gap:24px;margin-top:18px;display:grid;position:relative}.hero__copy h1{color:#f3fff8;letter-spacing:-.04em;max-width:12ch;margin:10px 0 14px;font-size:clamp(2.4rem,4vw,4.6rem);line-height:.96}.eyebrow,.section-label{color:#8fd1bf;text-transform:uppercase;letter-spacing:.18em;font-size:.86rem}.hero__description{color:#dcf2ebd1;max-width:58ch;line-height:1.72}.hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-grid--secondary{margin-bottom:16px}.stat-card{color:#effff8;background:#ebfcf514;border:1px solid #beecdb26;border-radius:20px;padding:18px}.stat-card span{color:#e7f7f0b8;font-size:.92rem;display:block}.stat-card strong{letter-spacing:-.03em;margin-top:8px;font-size:1.7rem;display:block}.stat-card--soft{background:#0a191dad}.hero__toast{color:#effdf6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff12;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;display:inline-flex}.hero__toast--accent{background:#89efcb1a;border-color:#89efcb24}.tabbar{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.tab,.mini-tab{color:#d8f2ea;background:#09171bbd;border:1px solid #96dbc41f;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-weight:700;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.tab:hover,.mini-tab:hover,.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.tab--active,.mini-tab--active{color:#f5fff9;background:linear-gradient(135deg,#82d9b838,#238d7942);border-color:#94edcc57}.layout{gap:20px;display:grid}.panel{background:#09171beb;border:1px solid #98d6c41a;border-radius:28px;padding:24px;box-shadow:0 24px 60px #0003}.admin-hero{background:radial-gradient(circle at 100% 0,#7bdfbd1f,#0000 28%),#081417eb;border:1px solid #96dbc41f;border-radius:26px;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:22px 24px;display:flex}.admin-hero h2{color:#f4fff9;margin:6px 0 8px;font-size:clamp(1.6rem,2vw,2.1rem)}.admin-hero p{color:#d9f1ebb8;margin:0}.admin-hero__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:min(100%,360px);display:grid}.report-panel{background:#081417eb;border:1px solid #96dbc41f;border-radius:26px;margin-top:20px;padding:22px 24px}.report-panel--print{margin-top:6px;padding:8px 10px}.firebase-log-summary{color:#d9f1ebb8;margin-top:4px;font-size:.85rem}.firebase-check{background:#040e11b8;border:1px solid #96dbc41f;border-radius:18px;padding:14px 16px}.firebase-stack{gap:12px;display:grid}.firebase-check strong{color:#f4fff9;margin-bottom:4px;display:block}.firebase-check p{color:#d9f1ebb8;margin:0}.firebase-status-card{background:#040e11b8;border:1px solid #96dbc41f;border-radius:18px;padding:14px 16px}.firebase-status-card strong{color:#f4fff9}.firebase-log-card{background:#040e11b8;border:1px solid #96dbc41f;border-radius:18px;padding:14px 16px}.firebase-log-card ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.firebase-log-card li{color:#e7f7f0d6;font-size:.9rem;line-height:1.5}.firebase-log-card p{color:#d9f1ebb8;margin:0}.firebase-log-table-wrap{border:1px solid #96dbc41a;border-radius:14px;margin-top:10px;overflow:auto}.firebase-log-table{border-collapse:collapse;background:#020b0e73;width:100%;font-size:.88rem}.firebase-log-table th,.firebase-log-table td{text-align:left;vertical-align:top;border-bottom:1px solid #96dbc41a;padding:10px 12px}.firebase-log-table th{color:#dff8ee;letter-spacing:.08em;text-transform:uppercase;background:#081417f2;font-size:.78rem;position:sticky;top:0}.firebase-log-table td{color:#e7f7f0e0;line-height:1.45}.firebase-log-table tbody tr:last-child td{border-bottom:0}.firebase-button{margin-top:10px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.report-card{background:#040e11b8;border:1px solid #96dbc41f;border-radius:20px;padding:18px}.report-card h3{color:#f4fff9;margin-bottom:12px}.report-card ul{gap:10px;list-style:none;display:grid}.report-card li{color:#e7f7f0e0;justify-content:space-between;gap:12px;display:flex}.report-card strong{color:#a9f0cf}.firebase-checklist{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.firebase-summary-chips{flex-wrap:wrap;gap:8px;display:flex}.report-actions{justify-content:flex-end;margin-top:14px;display:flex}@media print{@page{size:A4 portrait;margin:4mm}body{color:#111827!important;background:#fff!important}.academy-app{padding:0;color:#111827!important}.hero,.tabbar,.admin-hero,.admin-panel,.records-toolbar,.records-grid,.panel__footer,.footer-actions,.report-actions,.firebase-check button,.ghost-button,.primary-button,.report-card,.firebase-check,.firebase-status-card{box-shadow:none!important}.hero,.tabbar,.admin-hero,.admin-panel,.records-toolbar,.records-grid,.panel__footer,.footer-actions,.report-actions,.ghost-button,.primary-button{display:none!important}.report-panel{break-after:page;border:0;margin:0;padding:0;font-size:6pt;line-height:1.1;background:#fff!important}.firebase-stack,.firebase-checklist,.report-grid{break-inside:avoid}.report-grid,.firebase-checklist,.report-actions,.firebase-check button,.firebase-log-card .detail-field,.firebase-summary-chips{display:none!important}.report-card,.firebase-check,.firebase-status-card,.firebase-log-card{color:#111827!important;background:#fff!important;border-color:#d1d5db!important}.firebase-stack{grid-template-columns:1fr;gap:4px;display:grid}.firebase-check,.firebase-status-card,.firebase-log-card{padding:3px 5px}.firebase-log-card{page-break-inside:avoid;grid-column:1/-1}.section-label,.report-card span,.firebase-check p,.firebase-status-card p,.firebase-log-card p,.firebase-pill{color:#374151!important}.report-card strong,.firebase-status-card strong,.firebase-check strong,.firebase-log-card li{color:#111827!important}.report-card h3{margin-bottom:6px}.firebase-log-table-wrap{border-color:#d1d5db!important}.firebase-log-table{font-size:5.8pt}.firebase-log-table th,.firebase-log-table td{padding:1px 3px;border-bottom-color:#e5e7eb!important}.firebase-log-table th{color:#111827!important;background:#fff!important}.firebase-log-table td{color:#111827!important}.firebase-log-table tbody tr:nth-child(n+3){display:none}}.firebase-pill{border-radius:999px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.firebase-pill--ok{color:#a6f2cd;background:#86ecc229}.firebase-pill--missing{color:#ffb9ad;background:#ff8f8129}.panel__header{justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px;display:flex}.panel__header--stack{flex-direction:column}.panel__header h2{color:#f4fff9;letter-spacing:-.03em;margin:6px 0 8px;font-size:clamp(1.7rem,2vw,2.3rem)}.panel__header p{color:#d9f1ebb8;line-height:1.6}.stepper{background:#ffffff0d;border-radius:999px;flex-wrap:wrap;gap:8px;padding:8px;display:inline-flex}.step{color:#e7f7f0a6;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;min-width:58px;min-height:34px;padding:0 10px;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.step--active{color:#06211b;background:linear-gradient(135deg,#8be0c0,#53b39b)}.step--done{color:#bff2de;background:#7edcba2e}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.review-grid,.schema-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.review-card,.schema-card,.record-card{background:#ffffff0a;border:1px solid #a3dcc91f;border-radius:22px;padding:18px}.record-card--selected{border-color:#8fe0c066;box-shadow:0 0 0 1px #8fe0c033,0 16px 34px #0000002e}.review-card h3,.schema-card h3,.record-card h3{color:#f2fff8;margin-bottom:14px;font-size:1.08rem}.review-card ul{gap:12px;list-style:none;display:grid}.review-card li{color:#e1f5edd1;justify-content:space-between;gap:18px;display:flex}.review-card span{color:#b1dacdbf}.review-card--consent{grid-column:1/-1}.review-note{color:#9ddfc8;margin-top:14px;line-height:1.6}.consent-stack{gap:10px;display:grid}.intro-card,.survey-stack{background:#ffffff0a;border:1px solid #a3dcc91f;border-radius:24px;gap:14px;padding:22px;display:grid}.intro-card h3{color:#f2fff8;margin:0;font-size:1.18rem}.intro-card p{color:#d9f1ebd1;line-height:1.7}.survey-note{color:#d9f1ebc7;margin:0;line-height:1.65}.scale-question{background:#0510138f;border:1px solid #96dbc414;border-radius:18px;padding:14px}.field{gap:8px;display:grid}.field__label{color:#e7f7f0db;gap:6px;font-size:.94rem;font-weight:700;display:inline-flex}.field__label em{color:#8ce0c1;font-style:normal}.input,.textarea{color:#f2fff8;background:#040e11b8;border:1px solid #96dbc424;border-radius:16px;outline:none;width:100%;padding:14px 15px;transition:border-color .16s,box-shadow .16s,transform .16s}.input::placeholder,.textarea::placeholder{color:#c5e1d76b}.input:focus,.textarea:focus{border-color:#8fe0c080;box-shadow:0 0 0 4px #8fe0c014}.textarea{resize:vertical;min-height:114px}.check-row{color:#e7f7f0db;align-items:center;gap:10px;display:flex}.panel__footer{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.footer-actions{align-items:center;gap:10px;display:flex}.footer-hint{color:#beecdbdb;align-items:center;gap:8px;display:inline-flex}.ghost-button,.primary-button{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-weight:800;display:inline-flex}.ghost-button{color:#eafaf3;background:#ffffff0a;border-color:#96dbc41f}.ghost-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.ghost-button--danger{color:#ffd7cf;border-color:#ff9a882e}.primary-button{color:#04211b;background:linear-gradient(135deg,#93ebc8,#4ea88f)}.records-toolbar{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.admin-panel{background:#09171bb8;border:1px solid #96dbc41f;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;margin:18px 0;padding:18px;display:flex}.admin-panel--featured{background:radial-gradient(circle at 100% 0,#7ad5b424,#0000 28%),linear-gradient(135deg,#09171beb,#061216f5);box-shadow:0 18px 40px #00000029}.admin-panel__content{gap:8px;display:grid}.admin-panel__eyebrow{letter-spacing:.14em;text-transform:uppercase;background:#86ecc21f;border:1px solid #86ecc229;border-radius:999px;align-items:center;width:fit-content;padding:5px 10px;font-size:.76rem;display:inline-flex;color:#a6f2cd!important}.admin-status-row{flex-wrap:wrap;gap:8px;display:flex}.admin-status-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.admin-status-badge--ok{color:#a6f2cd;background:#86ecc229;border:1px solid #86ecc22e}.admin-status-badge--locked{color:#ffb9ad;background:#ff8f8129;border:1px solid #ff8f812e}.admin-status-badge--soft{color:#d9f1eb;background:#ffffff0d;border:1px solid #96dbc41f}.admin-panel strong{color:#f4fff9;margin:6px 0;display:block}.admin-panel p{margin:0}.admin-panel__hint{color:#d9f1ebad;font-size:.9rem;line-height:1.5;margin-top:6px!important}.admin-panel__actions{align-items:center;gap:10px;min-width:min(100%,420px);display:flex}.admin-panel__actions--card{flex-direction:column;align-items:stretch}.admin-panel__field{width:100%}.admin-panel__button-row{flex-wrap:wrap;gap:10px;display:flex}.admin-auth-log{background:#ffffff0a;border:1px solid #96dbc41a;border-radius:16px;margin-top:6px;padding:12px}.admin-auth-log__header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.admin-auth-log__label{letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:#8fd1bf!important;margin:0!important}.admin-auth-log__open{padding:8px 12px;font-size:.8rem}.admin-auth-log ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-auth-log li{gap:6px;display:grid}.admin-auth-log__preview{margin:0;padding:0}.admin-auth-log__preview--compact{gap:6px}.admin-auth-log__entry{color:#d9f1eb;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:10px;width:100%;padding:0;font-size:.88rem;display:flex}.admin-auth-log__entry:hover{color:#f4fff9}.admin-auth-log__entry span{color:#d9f1ebb3;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-auth-log__entry strong{color:#f4fff9;text-align:right;margin:0;font-size:.88rem;font-weight:600}.admin-auth-log__preview--compact li{background:#ffffff0a;border:1px solid #96dbc414;border-radius:12px;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.admin-auth-log__modal-list{gap:10px;max-height:min(70vh,720px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.admin-auth-log__summary{font-size:.86rem;color:#d9f1ebb3!important;margin:0 0 12px!important}.modal-overlay{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#01080ab8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:linear-gradient(#0a1a1efa,#061013fa);border:1px solid #96dbc424;border-radius:24px;width:min(100%,760px);padding:20px;box-shadow:0 28px 70px #0000006b}.modal-card--wide{width:min(100%,860px)}.modal-card--full{flex-direction:column;width:min(100vw,1400px);height:min(100vh,1000px);min-height:min(100vh,1000px);display:flex}.modal-card__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.modal-card__header h3{margin:6px 0 0}.modal-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-auth-log__empty{margin:0;font-size:.88rem;color:#d9f1eb9e!important}.records-tabs{flex-wrap:wrap;gap:10px;display:flex}.mini-tab{padding:9px 14px}.search-box{background:#040e11b8;border:1px solid #96dbc424;border-radius:16px;align-items:center;gap:10px;min-width:min(100%,320px);padding:0 14px;display:flex}.search-box input{color:#f2fff8;background:0 0;border:0;outline:none;width:100%;padding:13px 0}.records-grid{gap:14px;display:grid}.records-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);align-items:start;gap:14px;display:grid}.details-panel{background:#ffffff0a;border:1px solid #a3dcc91f;border-radius:22px;padding:18px;position:sticky;top:18px}.details-panel h3{margin:6px 0 14px}.details-stack{gap:14px;display:grid}.details-stack section{background:#040e11b8;border:1px solid #96dbc414;border-radius:16px;padding:14px}.details-stack strong{color:#a9f0cf;margin-bottom:8px;display:block}.details-stack p{color:#e7f7f0e0;margin:0 0 6px}.details-empty{color:#d9f1ebb8}.detail-field{gap:6px;margin-bottom:10px;display:grid}.detail-field span{color:#aed6c9bd;font-size:.82rem}.counseling-list{gap:10px;margin-top:12px;display:grid}.counseling-item{background:#040e11b8;border:1px solid #96dbc414;border-radius:14px;padding:12px}.counseling-item strong{color:#a9f0cf;margin-bottom:6px;display:block}.counseling-item p{color:#e7f7f0e0;margin:0 0 6px}.counseling-item span{color:#aed6c9bd;font-size:.82rem}.counseling-item:last-child{margin-bottom:0}.record-card__top{justify-content:space-between;align-items:start;gap:16px;margin-bottom:14px;display:flex}.record-id{color:#8fe1c4;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;font-size:.82rem}.record-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.record-meta dt{color:#aed6c9bd;font-size:.82rem}.record-meta dd{color:#effff8;margin-top:4px;font-weight:700}.record-actions{gap:10px;margin-top:16px;display:flex}.status-pill{border-radius:999px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.status-pill--pending{color:#ffd4a0;background:#ffc77e29}.status-pill--approved{color:#a6f2cd;background:#86ecc229}.status-pill--rejected{color:#ffb9ad;background:#ff8f8129}.empty-state{text-align:center;color:#e1f5edb3;background:#ffffff08;border:1px dashed #96dbc429;border-radius:18px;padding:24px}.schema-list{color:#e8f8f2d6;gap:10px;list-style:none;display:grid}.schema-list code{color:#a7f1d0}.code-block{color:#dff8ee;background:#040e11d1;border:1px solid #96dbc41f;border-radius:22px;margin-top:14px;padding:20px;line-height:1.7;overflow:auto}@media (width<=1024px){.hero__content,.review-grid,.schema-grid,.stat-grid,.form-grid{grid-template-columns:1fr}.panel__header,.panel__footer,.admin-hero,.admin-panel{flex-direction:column;align-items:stretch}.admin-panel__actions{flex-direction:column;align-items:stretch;min-width:0}.admin-panel__button-row{flex-direction:column}.report-grid{grid-template-columns:1fr}.records-toolbar{align-items:stretch}.records-layout{grid-template-columns:1fr}.details-panel{position:static}}@media (width<=720px){.academy-app{padding:16px}.hero,.panel{border-radius:22px;padding:18px}.panel__footer,.footer-actions,.record-actions{flex-direction:column}.record-meta{grid-template-columns:1fr}.hero__copy h1{max-width:none}.modal-overlay{padding:10px}.modal-card{border-radius:20px;padding:16px}.modal-card__header{flex-direction:column;align-items:stretch}.modal-card__actions{justify-content:flex-start}}
