@charset "UTF-8";
/* 관리자 전용 서체와 색상 토큰입니다. 폰트는 프로젝트 안의 파일을 사용합니다. */
@font-face{font-family:OrangeAdmin;src:url('/font/NotoSansKR-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:OrangeAdmin;src:url('/font/NotoSansKR-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:OrangeAdmin;src:url('/font/NotoSansKR-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
.admin-app,.admin-login-page{--admin-ink:#202b3a;--admin-muted:#657183;--admin-line:#e3e8ef;--admin-bg:#f4f6f9;--admin-orange:#c2530c;--admin-soft:#fff2e8;font-family:OrangeAdmin,'Malgun Gothic',sans-serif;color:var(--admin-ink);font-size:14px;line-height:1.65;margin:0;background:var(--admin-bg);-webkit-font-smoothing:antialiased}
.admin-app *,.admin-login-page *{box-sizing:border-box}
.admin-app a,.admin-login-page a{color:inherit;text-decoration:none}
.admin-app button,.admin-app input,.admin-app select,.admin-login-page button,.admin-login-page input{font:inherit}
.admin-app button,.admin-login-page button{cursor:pointer}
.admin-app :focus-visible,.admin-login-page :focus-visible{outline:3px solid #efa66d;outline-offset:4px}
.admin-app [hidden],.admin-login-page [hidden]{display:none!important}
/* 하나의 짙은 브랜드 배경 안에 인증 폼을 중앙 배치합니다. */
.admin-login-page{background:#202d3d;color:#f4f6f9}
.login-shell{position:relative;isolation:isolate;min-height:100svh;display:grid;place-items:center;padding:130px 28px 110px;background:#202d3d;overflow:hidden}
.login-brand{position:absolute;top:48px;left:64px;z-index:2}
.login-brand-logo{display:block;width:147px}.login-brand-logo img{display:block;width:100%;height:auto}
.connection-art{width:650px;max-width:none;position:absolute;right:-110px;bottom:-160px;color:#f18230;opacity:.42;pointer-events:none;z-index:-1}
/* 인증 영역은 흰색 카드로 유지해 짙은 브랜드 배경과 구분합니다. */
.login-form-panel{position:relative;width:100%;max-width:466px;padding:48px;background:#fff;border-radius:16px;color:var(--admin-ink);box-shadow:0 20px 60px #10192326;z-index:1}
.login-home{position:absolute;top:48px;right:64px;font-size:13px;color:#c1cbd7!important;display:flex;gap:15px;align-items:center;z-index:2}
.login-home:hover{color:#fff!important}
.login-form-content{width:100%}.login-form-content h2{font-size:30px;letter-spacing:-1.2px;margin:0 0 42px;font-weight:700;line-height:1.4;text-align:center;color:var(--admin-ink)}
.form-field{margin-bottom:24px}.form-field label{display:block;font-size:13px;font-weight:500;margin-bottom:9px;color:var(--admin-ink)}
.form-field input{height:54px;width:100%;border:1px solid #dce1e8;border-radius:8px;background:#fff;padding:0 15px;color:var(--admin-ink);transition:border-color .15s,box-shadow .15s}
.form-field input::placeholder{color:#8792a1;font-size:14px}.form-field input:focus{border-color:var(--admin-orange);outline:none;box-shadow:0 0 0 3px #e86c1812}
.password-field{position:relative}.password-field input{padding-right:70px}.password-field button{position:absolute;right:12px;top:11px;height:32px;border:0;background:transparent;color:var(--admin-muted);font-size:12px;padding:0 8px}
.primary-button{background:var(--admin-orange);border:1px solid var(--admin-orange);border-radius:8px;color:#fff;font-weight:500;height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.primary-button:hover{background:#bd5109;border-color:#bd5109}.primary-button:disabled{opacity:.6;cursor:wait}.login-submit{width:100%;height:54px;justify-content:center;margin-top:8px}
.login-error{border:1px solid #db9e89;background:#fff4ef;color:#a83e20;border-radius:7px;padding:10px 12px;font-size:12px;margin:0 0 16px}
.login-copyright{position:absolute;bottom:30px;left:24px;right:24px;text-align:center;font-size:11px;color:#aab6c5;margin:0}
/* 관리자 공통 프레임과 메뉴입니다. */
.admin-app .admin-wrapper{background:none;padding:0;min-height:100svh;height:auto;width:100%}
.admin-skip-link{position:fixed;top:-100px;left:260px;z-index:1000;background:#fff;padding:12px}.admin-skip-link:focus{top:10px}
.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:236px;background:#fff;border-right:1px solid var(--admin-line);z-index:20;padding:34px 22px 24px;display:flex;flex-direction:column}
/* 로고 링크는 이미지 크기만 차지하고 주변 간격은 클릭되지 않는 바깥 여백으로 둡니다. */
.sidebar-brand{display:block;align-self:flex-start;justify-self:start;width:fit-content;padding:0;margin:0 14px 40px}.sidebar-brand img{display:block;width:123px;height:auto}
.sidebar-label{display:block;margin:10px 14px 12px;color:#7d8999;font-size:11px}
.admin-nav-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:8px;color:#657082!important;font-weight:500;font-size:14px}
.admin-nav-link svg,.sidebar-logout svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.admin-nav-link.is-active{background:var(--admin-soft);color:#b84f08!important}.nav-arrow{margin-left:auto;font-size:20px;font-weight:400}.sidebar-bottom{margin-top:auto}
.sidebar-site{display:flex;justify-content:space-between;color:var(--admin-muted)!important;font-size:12px;padding:15px 14px;border-bottom:1px solid var(--admin-line);margin-bottom:20px}
.sidebar-account{display:flex;gap:11px;align-items:center;padding:0 10px}.account-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef1f5;color:#7b8795}.account-avatar svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.5}
.sidebar-account strong{display:block;font-weight:500;font-size:13px;overflow-wrap:anywhere}.sidebar-account div>span{display:block;color:#7d8999;font-size:11px;margin-top:1px}
.sidebar-logout{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#758090;font-size:12px;padding:17px 13px 0;width:100%;text-align:left}
.workspace-topbar{height:74px;width:calc(100% - 236px);margin-left:236px;background:#fff;border-bottom:1px solid var(--admin-line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;color:#7c8796;font-size:12px}
.breadcrumb-divider{color:#adb7c5;margin:0 14px}.topbar-account{display:flex;align-items:center;gap:8px;color:#657082}.account-dot{width:6px;height:6px;border-radius:50%;background:#7b9c80}
.admin-app .admin-workspace{margin-left:236px;padding:43px 44px 60px;min-width:0}
.detail-message{white-space:pre-wrap}.inquiry-row{cursor:pointer}.admin-app .inquiry-table td:nth-child(2){min-width:180px}.admin-app .inquiry-table td:nth-child(2) a{display:inline-block;padding:4px 0}
/* 연락처와 담당자는 줄 중간에서 끊지 않고 표 내부 스크롤로 읽을 수 있게 합니다. */
.admin-app .inquiry-table{min-width:1000px}.admin-app .inquiry-table td:nth-child(n+3){white-space:nowrap}
.admin-app .page{width:100%;max-width:1440px;margin:0 auto;min-height:0;background:none;padding:0;border-radius:0}
.admin-app .title_box,.admin-page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 30px;line-height:normal;text-align:left;width:100%}
.admin-app .title_box .title,.admin-page-heading h1{font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1.45;margin:0;color:var(--admin-ink)}
.admin-page-description{font-size:13px;color:var(--admin-muted);line-height:1.8;margin:8px 0 0}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:0 14px;border:1px solid #dce2e9;border-radius:7px;color:#556173!important;background:#fff;font-size:12px;white-space:nowrap}
.secondary-button:hover{border-color:#b7c0cc;background:#fafbfd}.secondary-button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* 검색과 실제 조회 건수, 표, 빈 상태를 같은 조회 영역 안에 배치합니다. */
.inquiry-panel{background:#fff;border:1px solid var(--admin-line);border-radius:12px;overflow:hidden}
.inquiry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 25px;border-bottom:1px solid var(--admin-line)}
.result-summary{font-weight:500;font-size:14px;white-space:nowrap}.result-summary strong{font-size:14px;color:var(--admin-orange);margin:0 4px 0 8px;font-weight:700;font-variant-numeric:tabular-nums}
.inquiry-search{display:flex;align-items:center;gap:8px;margin:0}.inquiry-search select{width:105px;height:39px;border:1px solid var(--admin-line);border-radius:7px;color:#657082;background:#fff;padding:0 12px;appearance:auto}
.search-input-wrap{display:flex;align-items:center;height:39px;border:1px solid var(--admin-line);border-radius:7px;padding:0 11px;gap:9px;background:#fff}.search-input-wrap svg{width:16px;height:16px;stroke:#909cab;stroke-width:1.7;flex-shrink:0}.search-input-wrap input{height:35px;width:205px;border:0!important;box-shadow:none;padding:0!important;background:transparent;font-size:12px;color:var(--admin-ink);outline-offset:0}.search-input-wrap input::placeholder{color:#8390a0}
.inquiry-search .primary-button{height:39px;font-size:12px;border-radius:7px;padding:0 18px}.inquiry-table-scroll{overflow-x:auto}
.admin-app .inquiry-table{border-collapse:collapse;border:0;width:100%;table-layout:auto;margin:0;min-width:1000px}
.admin-app .inquiry-table th{font-size:11px;font-weight:500;color:#718093;text-align:left;background:#fafbfd;height:46px;padding:12px 20px;border:0;border-bottom:1px solid var(--admin-line);white-space:nowrap}
.admin-app .inquiry-table td{height:71px;padding:16px 20px;border:0;border-bottom:1px solid #eff2f6;font-size:13px;line-height:1.6;color:#5e6a7b;text-align:left}
.admin-app .inquiry-table th:first-child,.admin-app .inquiry-table td:first-child{padding-left:26px;width:75px;color:#7c899a;font-size:12px}
.admin-app .inquiry-table th:last-child,.admin-app .inquiry-table td:last-child{padding-right:26px;white-space:nowrap;font-size:12px;color:#7c899a;font-variant-numeric:tabular-nums}
.admin-app .inquiry-table tbody tr:hover{background:#fcfdfe}.admin-app .inquiry-table a{font-weight:500;color:#28374b}.admin-app .inquiry-table a:hover{color:var(--admin-orange);text-decoration:underline;text-underline-offset:4px}
.admin-app .inquiry-table .empty-cell{height:330px;padding:50px 20px;text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state svg{width:42px;height:42px;stroke:#8a9aad;stroke-width:1.2;margin-bottom:21px}.empty-state strong{font-size:15px;color:#4e5b6e;font-weight:500}.empty-state p{font-size:12px;color:#7b899a;margin:8px 0 0;line-height:1.8}
.inquiry-panel-footer{display:flex;align-items:center;justify-content:space-between;min-height:67px;padding:15px 25px;font-size:11px;color:#7b899b;gap:15px}
.admin-app .common_paging{margin:0;padding:0;text-align:center}.admin-app .common_paging ul{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;padding:0;list-style:none}.admin-app .common_paging a,.admin-app .common_paging strong{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;margin:0;border:0;border-radius:6px;font-size:12px;font-weight:400;color:#718296;background:transparent;padding:0 8px}.admin-app .common_paging strong{background:var(--admin-soft);color:#b84f08;font-weight:700}.admin-app .common_paging a:hover{background:#f1f4f8}.admin-app .common_paging img{width:auto;max-height:10px}
.list-message{color:#a83e20;background:#fff4ef;padding:12px 25px;font-size:13px;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* 문의 상세 및 기존 공지 화면에 공통 표와 입력 스타일을 적용합니다. */
.admin-app .content_box{width:100%;margin:0;background:#fff;border:1px solid var(--admin-line);border-radius:12px;padding:26px;overflow-x:auto}
.admin-app .content_box table{width:100%;border-collapse:collapse}.admin-app .content_box table th,.admin-app .content_box table td{border:0;border-bottom:1px solid var(--admin-line);padding:18px 20px;font-size:13px;color:#596577;text-align:left;line-height:1.8}.admin-app .content_box table th{background:#fafbfd;color:#718093;font-weight:400}.admin-app .content_box input[type=text],.admin-app .content_box textarea{border:1px solid var(--admin-line);border-radius:7px;padding:10px;color:var(--admin-ink)}
.admin-app .btn-group{display:flex;gap:9px;justify-content:flex-end;margin-top:23px}.admin-app .btn-group .btn{border:1px solid var(--admin-line);background:#fff;color:#596577;padding:10px 20px;border-radius:7px;font-size:13px;height:auto;line-height:1.6;cursor:pointer}.admin-app .btn-group .btn:not(.btn-delete){background:var(--admin-orange);border-color:var(--admin-orange);color:#fff}
.detail-card{background:#fff;border:1px solid var(--admin-line);border-radius:12px;padding:30px}.detail-section-label{font-size:12px;font-weight:500;color:#718093;margin:0 0 19px}.detail-company{font-size:21px;font-weight:500;letter-spacing:-.6px;margin:0 0 25px}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding-bottom:28px;gap:25px;border-bottom:1px solid var(--admin-line)}.detail-meta dt{font-size:11px;color:#718093;margin-bottom:7px}.detail-meta dd{font-size:13px;color:#4b596c;margin:0;overflow-wrap:anywhere}.detail-body{padding:27px 0;min-height:180px;font-size:14px;color:#4e5b6e;line-height:1.95;overflow-wrap:anywhere}.detail-body p{margin:0 0 12px}.detail-attachments{border-top:1px solid var(--admin-line);padding-top:20px;font-size:12px;color:#718093}.detail-attachments a{display:block;color:#526177;margin-top:8px;text-decoration:underline;text-underline-offset:3px}.detail-footer{display:flex;justify-content:space-between;align-items:center;margin-top:22px;color:#718093;font-size:12px;gap:16px}
/* 좁은 화면에서는 메뉴를 상단으로 옮기고 표 영역만 가로 스크롤합니다. */
@media(min-width:1700px){.admin-app .admin-workspace{padding-top:50px}}
@media(max-width:1100px){.inquiry-toolbar{align-items:flex-start;flex-direction:column}.inquiry-search{width:100%}.search-input-wrap{flex:1}.search-input-wrap input{width:100%}.admin-app .admin-workspace{padding:30px 26px}.workspace-topbar{padding:0 26px}}
@media(max-width:760px){.login-shell{padding:120px 28px 100px}.login-brand{top:30px;left:28px}.login-brand-logo{width:110px}.login-home{top:33px;right:28px;font-size:11px;gap:7px}.login-form-content h2{font-size:28px}.connection-art{width:450px;right:-230px;bottom:-150px;opacity:.24}.admin-sidebar{position:relative;width:100%;padding:18px 20px 0;border-right:0;border-bottom:1px solid var(--admin-line);display:grid;grid-template-columns:1fr auto;gap:8px 15px}.sidebar-brand{margin:0;padding:0}.sidebar-brand img{width:110px}.sidebar-brand>span{font-size:10px}.sidebar-navigation{grid-row:2;grid-column:1/-1}.sidebar-label,.sidebar-site,.sidebar-account,.workspace-topbar{display:none}.sidebar-bottom{grid-column:2;grid-row:1;margin:0}.sidebar-logout{padding:8px 0;font-size:11px}.sidebar-logout svg{width:16px}.admin-nav-link{width:max-content;min-height:42px;padding:0 12px;border-radius:7px 7px 0 0;font-size:12px}.nav-arrow{display:none}.admin-app .admin-workspace{margin:0;padding:27px 18px 40px}.admin-page-heading{margin-bottom:22px;gap:12px}.admin-page-heading h1,.admin-app .title_box .title{font-size:24px}.admin-page-description{font-size:12px;max-width:240px}.secondary-button{font-size:11px;padding:0 11px}.inquiry-toolbar{padding:20px 17px;gap:16px}.inquiry-search{flex-wrap:wrap;gap:7px}.inquiry-search select{width:90px;font-size:12px}.search-input-wrap{min-width:120px}.inquiry-search .primary-button{padding:0 13px}.inquiry-panel-footer{padding:14px 17px;flex-wrap:wrap}.result-summary{font-size:13px}.admin-app .inquiry-table .empty-cell{height:300px}.detail-card{padding:23px 20px}.detail-meta{grid-template-columns:1fr;gap:18px}.detail-footer{align-items:flex-start;flex-direction:column}.admin-app .content_box{padding:15px}.admin-skip-link{left:15px}.login-copyright{font-size:10px}}
@media(prefers-reduced-motion:reduce){.admin-app *,.admin-login-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* 빈 목록은 모바일에서 불필요한 표 스크롤 없이 안내 전체를 보여줍니다. */
@media(max-width:760px){.admin-app .inquiry-table:has(.empty-cell){min-width:0}.inquiry-table:has(.empty-cell) thead{display:none}.empty-state strong{font-size:14px}}
/* 기존 공통 select 최소 너비를 해제해 모바일 검색을 한 줄로 배치합니다. */
@media(max-width:760px){.login-shell{padding-left:20px;padding-right:20px}.login-form-panel{padding:36px 26px;border-radius:12px}}
.admin-app .inquiry-search select{min-width:0}
@media(max-width:760px){.inquiry-search{display:grid;grid-template-columns:80px minmax(0,1fr) 54px}.admin-app .inquiry-search select{width:80px}.inquiry-search .search-input-wrap{min-width:0;width:100%;padding:0 8px;gap:5px}.search-input-wrap input{min-width:0}.inquiry-search .primary-button{padding:0}}
