:root{color:#182331;font-synthesis:none;--navy:#123a67;--navy-dark:#0b2a4b;--blue-soft:#edf4fb;--gold:#b89556;--line:#dce3ea;--muted:#6b7786;background:#f2f5f8;font-family:Pretendard,Noto Sans KR,Malgun Gothic,Arial,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;max-width:100%}body{min-width:320px;min-height:100vh;margin:0}img{max-width:100%}button,input,select,textarea{font:inherit}.app-shell{width:100%;max-width:100%;min-height:100vh}.topbar{height:82px;color:var(--navy-dark);background:#fff;border-bottom:1px solid #d9e1ea;align-items:center;gap:14px;padding:0 max(24px,50vw - 640px);display:flex;box-shadow:0 2px 10px #13283d0a}.brand-logo{object-fit:contain;flex:0 176px;width:176px;max-width:100%;height:auto}.topbar h1{color:var(--navy-dark);letter-spacing:-.4px;margin:0;font-size:20px}.topbar p{color:var(--muted);margin:2px 0 0;font-size:12px}.admin-label{color:#dfeaf4;border:1px solid #ffffff32;border-radius:4px;margin-left:auto;padding:7px 12px;font-size:12px}.logout-button{min-height:36px;box-shadow:none;color:var(--navy);background:#fff;border:1px solid #cbd6e0;gap:0;margin-left:auto;padding:0 14px;font-size:12px;font-weight:600}.logout-button:hover{background:var(--blue-soft);transform:none}.admin-nav{border-bottom:1px solid var(--line);background:#fff;width:100%}.admin-nav>div{gap:4px;width:min(1280px,100% - 48px);margin:0 auto;display:flex}.admin-nav button{min-height:48px;box-shadow:none;color:#657382;background:0 0;border-bottom:3px solid #0000;border-radius:0;padding:0 18px;font-size:13px}.admin-nav button:hover{color:var(--navy);background:#f7f9fb;transform:none}.admin-nav button.active{border-bottom-color:var(--navy);color:var(--navy)}main{width:min(1280px,100% - 48px);margin:0 auto;padding:42px 0 64px}.intro-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.eyebrow{color:var(--gold);letter-spacing:2px;margin:0 0 5px;font-size:10px;font-weight:700}.intro-row h2{letter-spacing:-1px;margin:0;font-size:29px}.intro-row>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:14px}.date-chip{border:1px solid var(--line);background:#fff;border-radius:5px;align-items:baseline;gap:8px;padding:12px 18px;display:flex}.date-chip span,.date-chip small{color:var(--muted);font-size:12px}.date-chip strong{color:var(--navy);font-size:15px}.panel{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;max-width:100%;box-shadow:0 4px 18px #13283d0a}.form-panel{padding:34px 38px 0}.section-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.heading-number{background:var(--navy);color:#fff;border-radius:3px;flex:0 0 31px;place-items:center;width:31px;height:31px;font-size:11px;font-weight:700;display:grid}.section-heading h3,.panel-title h3{color:#172434;margin:0;font-size:18px}.section-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.form-grid{grid-template-columns:1.25fr 1.25fr 1fr;gap:18px;display:grid}.form-grid.two-col{grid-template-columns:1fr 1fr}label{color:#3d4855;gap:8px;min-width:0;font-size:13px;font-weight:600;display:grid}label em{color:#c04747;font-style:normal}input,select,textarea{color:#1c2733;background:#fff;border:1px solid #ccd5df;border-radius:4px;outline:none;width:100%;min-width:0;max-width:100%;transition:border-color .16s,box-shadow .16s}input,select{min-height:44px;padding:0 13px}textarea{resize:vertical;padding:12px 13px;line-height:1.55}input::placeholder,textarea::placeholder{color:#a1abb6}input:focus,select:focus,textarea:focus{border-color:#3d6f9e;box-shadow:0 0 0 3px #2f669c17}.full-width{grid-column:1/-1}.divider{background:#e6ebf0;height:1px;margin:31px 0}.submit-area{background:#f8fafc;border-top:1px solid #e5eaf0;border-radius:0 0 6px 6px;justify-content:space-between;align-items:center;gap:20px;margin:34px -38px 0;padding:20px 38px;display:flex}.helper-text,.success-message,.warning-message,.error-message{margin:0;font-size:12px}.helper-text{color:var(--muted)}.success-message{color:#14704a;font-weight:600}.warning-message{color:#8a651f;font-weight:600}.error-message{color:#a63e3e;font-weight:600}button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:4px;align-items:center;gap:25px;min-height:48px;padding:0 24px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 4px 10px #123a6726}button:hover{background:#174b82;transform:translateY(-1px)}button:disabled{opacity:.65;cursor:wait;transform:none}button span{font-size:18px;font-weight:400}.dashboard-grid{gap:22px;min-width:0;margin-top:26px;display:grid}.data-panel{overflow:hidden}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:17px 22px;display:flex}.panel-title h3{font-size:17px}.count{background:var(--blue-soft);color:var(--navy);border-radius:3px;padding:5px 9px;font-size:11px;font-weight:700}.table-wrap{overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{border-bottom:1px solid var(--line);color:#707d8c;text-align:left;background:#f8fafc;padding:12px 20px;font-size:11px;font-weight:600}td{color:#55616e;border-bottom:1px solid #edf0f3;padding:15px 20px;font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfd}.time-cell{color:var(--navy);font-weight:700}.student-cell{color:#1b2837;font-weight:700}.status{text-align:center;border-radius:3px;min-width:58px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-block}.status-면담예정{color:#236198;background:#e9f2fb}.status-면담완료{color:#28704c;background:#e8f5ee}.status-등록{color:#4c5d6e;background:#edf1f5}.status-미등록{color:#926b2d;background:#f7f0e4}.empty-row{color:#87929f;text-align:center;height:78px}.error-row{color:#a63e3e}.clickable-row{cursor:pointer;outline:none}.clickable-row:hover,.clickable-row:focus{background:#f3f7fb}.search-form{border-bottom:1px solid var(--line);grid-template-columns:1.5fr 1.3fr .75fr auto;align-items:end;gap:16px;padding:22px;display:grid}.search-date-range{grid-template-columns:1fr auto 1fr;align-items:end;gap:9px;display:grid}.range-separator{color:#8894a0;place-items:center;min-height:44px;display:grid}.search-actions{gap:8px;display:flex}.search-button{justify-content:center;min-height:44px;padding:0 24px}.csv-button{border:1px solid var(--navy);min-height:44px;box-shadow:none;color:var(--navy);white-space:nowrap;background:#fff;justify-content:center;padding:0 18px}.csv-button:hover{background:var(--blue-soft);transform:none}.csv-button:disabled{cursor:not-allowed}.search-guide{border-bottom:1px solid var(--line);color:var(--muted);background:#fbfcfd;margin:0;padding:11px 22px;font-size:11px}.csv-feedback{border-bottom:1px solid var(--line);color:#14704a;background:#f3faf6;margin:0;padding:11px 22px;font-size:11px;font-weight:600}.mobile-card-list{display:none}.consultation-card{border-bottom:1px solid var(--line);overflow-wrap:anywhere;background:#fff;min-width:0;padding:17px 42px 17px 17px;position:relative}.consultation-card:last-child{border-bottom:0}.consultation-card-clickable{cursor:pointer}.consultation-card-clickable:focus{outline-offset:-2px;background:#f7fafc;outline:2px solid #3d6f9e}.consultation-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.consultation-card-heading strong{color:#1b2837;overflow-wrap:anywhere;min-width:0;font-size:16px}.consultation-card-school{color:#536171;margin:7px 0 11px;font-size:13px}.consultation-card-meta{gap:5px;margin:0;display:grid}.consultation-card-meta div{grid-template-columns:48px 1fr;gap:5px;min-width:0;font-size:12px;display:grid}.consultation-card-meta dt{color:#8994a0}.consultation-card-meta dd{color:#3f4d5c;overflow-wrap:anywhere;min-width:0;margin:0}.consultation-card-content{color:#687583;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:11px 0 0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.consultation-card-arrow{color:#8b98a5;font-size:25px;position:absolute;top:50%;right:17px;transform:translateY(-50%)}.mobile-empty{color:#87929f;text-align:center;place-items:center;min-height:78px;margin:0;padding:24px 16px;font-size:13px;display:grid}.admin-page{gap:22px;display:grid}.admin-page-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-page-heading h2{color:#172434;letter-spacing:-1px;margin:0;font-size:29px}.admin-page-heading p{color:var(--muted);margin:7px 0 0;font-size:14px}.admin-page-heading button{justify-content:center}.admin-list-panel{overflow:hidden}.admin-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;min-height:76px;padding:15px 22px;display:flex}.admin-toolbar label{width:220px}.admin-feedback{border-bottom:1px solid var(--line);padding:13px 22px}.wrap-cell{white-space:normal;max-width:420px;overflow-wrap:anywhere-word}.category-badge,.pin-label,.question-status{white-space:nowrap;border-radius:3px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-block}.category-badge{background:var(--blue-soft);color:var(--navy)}.pin-label{color:#926b2d;background:#f7f0e4;margin-left:6px}.question-status-답변대기{color:#a14d20;background:#fff0e6}.question-status-답변완료{color:#28704c;background:#e8f5ee}.pending-row{background:#fffaf6}.row-actions{gap:6px;display:flex}.table-button{min-height:34px;box-shadow:none;gap:0;padding:0 11px;font-size:11px}.danger-button{color:#a63e3e;background:#fff;border:1px solid #e2bcbc}.danger-button:hover{color:#8e2d2d;background:#fff2f2}.secondary-button{box-shadow:none;color:#536171;background:#fff;border:1px solid #cad5df}.secondary-button:hover{color:#344454;background:#f4f7f9}.board-mobile-card{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:17px}.board-mobile-card:last-child{border-bottom:0}.board-mobile-card h3{color:#1b2837;margin:10px 0 7px;font-size:15px;line-height:1.45}.board-mobile-card p{color:var(--muted);margin:0 0 13px;font-size:12px}.board-mobile-card-clickable{cursor:pointer}.pending-card{background:#fffaf6;border-left:4px solid #cf7039}.board-editor-form{gap:18px;display:grid}.board-editor-form textarea,.answer-form textarea{white-space:pre-wrap}.board-editor-form small,.answer-form small{color:var(--muted);text-align:right;font-size:11px}.check-row{flex-wrap:wrap;gap:18px;display:flex}.check-label{grid-template-columns:auto 1fr;align-items:center;gap:8px;width:auto;display:flex}.check-label input{width:18px;min-height:18px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-actions button{justify-content:center}.answer-form{gap:14px;margin-top:20px;display:grid}.answer-form button{justify-content:center;justify-self:end}.attachment-fieldset{border:1px solid var(--line);border-radius:5px;min-width:0;margin:0;padding:16px}.attachment-fieldset legend{color:#3d4855;padding:0 6px;font-size:13px;font-weight:700}.attachment-fieldset legend small{color:var(--muted);margin-left:6px;font-weight:400}.file-picker{width:fit-content;display:block}.file-picker>span{border:1px solid var(--navy);min-height:42px;color:var(--navy);cursor:pointer;border-radius:4px;align-items:center;padding:0 15px;display:inline-flex}.file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.attachment-empty{color:var(--muted);margin:13px 0 0;font-size:12px}.attachment-list{border-top:1px solid var(--line);margin:13px 0 0;padding:0;list-style:none;display:grid}.attachment-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 0;display:flex}.attachment-list li>span{gap:3px;min-width:0;display:grid}.attachment-list strong{color:#273545;overflow-wrap:anywhere;font-size:12px}.attachment-list small{color:var(--muted);font-size:11px}.attachment-list button{min-height:34px;box-shadow:none;color:#a63e3e;background:#fff;border:1px solid #e2bcbc;flex:none;padding:0 10px;font-size:11px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#07192bb8;place-items:center;padding:30px 18px;display:grid;position:fixed;inset:0}.detail-modal{background:#fff;border-radius:7px;flex-direction:column;width:min(760px,100%);max-height:calc(100vh - 60px);display:flex;overflow:hidden;box-shadow:0 25px 80px #00000040}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 25px;display:flex}.modal-header h2{color:#172434;margin:0;font-size:20px}.modal-close{width:38px;min-height:38px;box-shadow:none;color:#4f5e6d;background:#f1f4f7;place-items:center;padding:0;font-size:25px;font-weight:400;display:grid}.modal-close:hover{background:#e5eaf0;transform:none}.modal-scroll{padding:24px 25px 27px;overflow-y:auto}.detail-grid{background:var(--line);border:1px solid var(--line);border-radius:5px;grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid;overflow:hidden}.detail-item{background:#fff;min-width:0;padding:14px 16px}.detail-item-wide{grid-column:1/-1}.detail-item dt{color:#788594;margin-bottom:6px;font-size:11px;font-weight:600}.detail-item dd{color:#253343;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.65}.status-editor{border:1px solid var(--line);background:#f7f9fb;border-radius:5px;grid-template-columns:1fr auto;align-items:end;gap:14px;margin-top:20px;padding:17px;display:grid}.status-editor button{min-height:44px}.modal-feedback{text-align:right;margin:13px 0 0}footer{color:#84909d;letter-spacing:1.2px;text-align:center;border-top:1px solid #dce3ea;padding:25px;font-size:10px}.login-page{background:linear-gradient(145deg,#f3f6f9 0%,#e8eef4 100%);place-items:center;width:100%;min-height:100vh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.login-page:before{content:"";background:var(--navy-dark);height:7px;position:absolute;inset:0 0 auto}.login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:7px;width:min(430px,100%);padding:45px 42px 35px;box-shadow:0 18px 55px #102b451c}.login-logo{width:min(260px,80vw);max-width:100%;height:auto;margin:0 auto 24px;display:block}.login-eyebrow{color:var(--gold);letter-spacing:2px;margin:0 0 6px;font-size:9px;font-weight:700}.login-card h1{color:#172434;letter-spacing:-.8px;margin:0;font-size:25px}.login-subtitle{color:var(--muted);margin:7px 0 31px;font-size:13px}.login-form{text-align:left;gap:18px;display:grid}.login-form input{min-height:48px}.login-button{justify-content:center;width:100%;min-height:50px;margin-top:5px;position:relative}.login-button span{position:absolute;right:20px}.login-error{color:#a63e3e;background:#fff2f2;border:1px solid #f2d1d1;border-radius:4px;margin:-5px 0 0;padding:10px 12px;font-size:12px;line-height:1.5}.login-security{color:#87929f;border-top:1px solid #e9edf1;margin:25px 0 0;padding-top:21px;font-size:11px}.connection-notice{color:#74592b;text-align:left;background:#faf6ee;border:1px solid #eadbbc;border-radius:5px;gap:7px;margin-top:29px;padding:18px;display:grid}.connection-notice strong{font-size:13px}.connection-notice span{color:#8b7651;font-size:11px;line-height:1.5}.auth-loading{color:var(--muted);text-align:center;gap:15px;font-size:13px;display:grid}.auth-loading p{margin:0}@media (width<=768px){html,body,#root,.app-shell,main,form,section,.panel,.form-panel,.form-grid,.form-grid>*,.dashboard-grid,.data-panel,.search-form,.search-form>*,.search-date-range,.search-date-range>*,.search-actions,.submit-area,.mobile-card-list,.consultation-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.topbar{gap:10px;width:100%;min-width:0;max-width:100%;height:auto;min-height:70px;padding:14px 16px}.brand-logo{flex:0 120px;width:120px;min-width:0;max-width:32vw;height:auto}.topbar>div{flex:auto;min-width:0}.topbar h1{white-space:nowrap;font-size:15px}.topbar p{display:none}.logout-button{flex:none;width:auto;min-width:58px;max-width:72px;min-height:44px;padding:0 9px}main{width:100%;min-width:0;max-width:100%;padding:27px 16px 45px}.admin-nav>div{width:100%;padding:0 8px}.admin-nav button{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;padding:0 10px;font-size:12px}.intro-row{align-items:flex-start;margin-bottom:17px}.intro-row h2{font-size:24px}.intro-row>div>p:last-child{font-size:12px}.date-chip{display:none}.form-panel{width:100%;min-width:0;max-width:100%;padding:25px 16px 16px}.section-heading{margin-bottom:18px}.section-heading p{line-height:1.5}.form-grid,.form-grid.two-col{grid-template-columns:1fr;gap:16px}.full-width{grid-column:auto}.divider{margin:27px 0}.submit-area{flex-direction:column-reverse;align-items:stretch;width:100%;min-width:0;max-width:100%;margin:28px 0 0;padding:18px 0 0}.submit-area button{justify-content:center}.helper-text,.success-message,.warning-message,.error-message{text-align:center}.panel-title{padding:15px 16px}th,td{padding-left:16px;padding-right:16px}input,select,textarea,form button{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px;display:block}input[type=date],input[type=time]{appearance:none;width:100%;min-width:0;max-width:100%}.search-form{grid-template-columns:1fr;padding:18px 16px}.search-date-range{grid-template-columns:1fr;gap:14px}.range-separator{display:none}.search-keyword{grid-row:auto}.search-actions{grid-template-columns:1fr 1fr;display:grid}.search-button,.csv-button{width:100%}.desktop-list{display:none}.mobile-card-list{display:block}.board-mobile-card .row-actions{grid-template-columns:1fr 1fr;display:grid}.board-mobile-card .table-button{width:100%;min-height:44px}.board-post-editor-actions{grid-template-columns:1fr 1fr;display:grid}.board-post-editor-actions .danger-button{grid-column:1/-1;margin-left:0}.checkbox-label,.checkbox-label input{width:auto}.question-answer-form button{justify-self:stretch;width:100%}.modal-backdrop{padding:0;display:block}.detail-modal{border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh}.modal-header{padding:18px}.modal-scroll{padding:18px 16px max(18px, env(safe-area-inset-bottom))}.detail-grid{grid-template-columns:1fr}.detail-item-wide{grid-column:auto}.status-editor{bottom:calc(-1 * max(18px, env(safe-area-inset-bottom)));padding-bottom:max(17px, env(safe-area-inset-bottom));grid-template-columns:1fr;position:sticky;box-shadow:0 -8px 18px #17243412}.status-editor button{justify-content:center;width:100%}.admin-nav{width:100%;overflow-x:auto}.admin-nav>div{width:100%;min-width:0;padding:0 8px}.admin-nav button{flex:1 0 auto;width:auto;min-width:max-content;padding:0 12px}.admin-page-heading{flex-direction:column;align-items:stretch}.admin-page-heading h2{font-size:24px}.admin-page-heading button{width:100%}.admin-toolbar{padding:15px 16px}.admin-toolbar label{width:min(220px,75%)}.row-actions button{width:auto;min-width:64px}.modal-actions{grid-template-columns:1fr 1fr;display:grid}.check-label{width:auto}.check-label input{width:18px}.answer-form button{justify-self:stretch;width:100%}.file-picker input{opacity:0;width:1px;min-width:0;max-width:1px;height:1px;position:absolute}.attachment-fieldset{width:100%;max-width:100%;padding:14px}.file-picker{width:100%}.file-picker>span{justify-content:center;width:100%}.attachment-list button{width:auto;min-width:58px}.modal-feedback{text-align:center}.login-page{width:100%;min-width:0;max-width:100%;padding:22px 14px}.login-card{width:100%;min-width:0;max-width:430px;padding:37px 23px 28px}.login-logo{width:min(240px,80vw);max-width:100%;height:auto}}@media (width<=420px){.topbar{gap:8px;padding:12px}.brand-logo{flex-basis:105px;width:105px;max-width:29vw}.topbar h1{font-size:14px}.search-actions{grid-template-columns:1fr}}@media (width>=769px) and (width<=1200px){main{width:calc(100% - 40px)}.search-form{grid-template-columns:1fr 1fr}.search-actions{justify-content:flex-end}}
