:root{color:#202124;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f7f7;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#f7f7f7;min-height:100vh}button{font:inherit}.page-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:64px 40px 72px}.page-header{margin-bottom:40px}.page-header h1{color:#202124;letter-spacing:-.04em;margin:0;font-size:clamp(1.65rem,2.7vw,2.3rem);font-weight:700;line-height:1.3}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.menu-card{color:#202124;letter-spacing:-.03em;cursor:pointer;background:#fff;border:3px solid #252525;border-radius:4px;min-height:142px;padding:24px;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:600;line-height:1.35}.menu-card:hover{background:#f1f1f1}.menu-card:active{background:#e9e9e9}.menu-card:disabled{color:#777;cursor:not-allowed;background:#eee;border-color:#a8a8a8}.menu-card:focus-visible,.page-actions button:focus-visible{outline-offset:4px;outline:4px solid #4d4d4d}.notice-page{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.notice-panel{text-align:center;background:#fff;border:3px solid #252525;border-radius:4px;width:min(680px,100%);padding:56px 40px}.notice-panel p{letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,4vw,2rem);font-weight:650;line-height:1.5}.page-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px;display:flex}.page-actions button{color:#202124;cursor:pointer;background:#fff;border:2px solid #303030;border-radius:4px;min-width:132px;min-height:52px;padding:12px 22px;font-size:1rem;font-weight:600}.page-actions button:hover{background:#ededed}.section-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-header .page-actions{flex:none;margin-top:0}.compact-actions{margin-top:0}.order-page{width:min(1280px,100%)}.page-description{color:#555;margin:10px 0 0;font-size:1.05rem}.upload-panel,.file-list-section,.result-panel,.preview-section,.duplicate-details{background:#fff;border:2px solid #303030;border-radius:4px;margin-top:24px;padding:28px}.upload-panel{margin-top:0}.file-list-section h2,.result-panel h2,.preview-section h2{letter-spacing:-.03em;margin:0 0 20px;font-size:1.35rem}.drop-zone{text-align:center;background:#fafafa;border:2px dashed #777;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:190px;padding:28px;display:flex}.drop-zone p{margin:0;font-size:1.1rem;font-weight:650}.drop-zone small{color:#606060}.drop-zone input[type=file]{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.file-button,.main-actions button,.mapping-editor button,.file-card-head button{color:#202124;cursor:pointer;background:#fff;border:2px solid #303030;border-radius:4px;justify-content:center;align-items:center;min-height:52px;padding:12px 22px;font-weight:650;display:flex}.file-button:hover,.main-actions button:hover:not(:disabled),.mapping-editor button:hover:not(:disabled),.file-card-head button:hover{background:#ededed}.file-button:focus-visible,.main-actions button:focus-visible,.mapping-editor button:focus-visible,.file-card-head button:focus-visible,select:focus-visible{outline-offset:4px;outline:4px solid #4d4d4d}.upload-summary,.file-metadata,.result-summary{gap:12px;margin:20px 0 0;display:grid}.upload-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.upload-summary div,.file-metadata div,.result-summary div{background:#fff;border:1px solid #c8c8c8;justify-content:space-between;gap:14px;padding:13px 15px;display:flex}.upload-summary dt,.file-metadata dt,.result-summary dt{font-weight:650}.upload-summary dd,.file-metadata dd,.result-summary dd{text-align:right;overflow-wrap:anywhere;margin:0}.file-list{gap:18px;display:grid}.file-card{background:#fafafa;border:1px solid #969696;padding:22px}.file-card[data-status=error],.file-card[data-status=duplicate]{background:#fff8f8;border-color:#9f4545}.file-card[data-status=mapping]{background:#fffdf3;border-color:#8a6d1f}.file-card-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.file-card-head h3{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.file-card-head p{color:#5a5a5a;margin:7px 0 0}.file-card-head button{flex:none;min-height:40px;padding:8px 12px;font-size:.9rem}.file-metadata{grid-template-columns:repeat(3,minmax(0,1fr))}.mapping-editor{background:#fff;border:1px solid #9e8a4d;margin-top:20px;padding:20px}.mapping-editor h3{margin:0 0 8px}.mapping-editor>p{margin:0 0 18px;line-height:1.6}.header-sample-table{border:1px solid #c8c8c8;max-height:240px;overflow:auto}.header-sample-row{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);display:grid}.header-sample-row+.header-sample-row{border-top:1px solid #dedede}.header-sample-row span{overflow-wrap:anywhere;min-width:0;padding:10px 12px}.header-sample-head{background:#eee;font-weight:700;position:sticky;top:0}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.mapping-grid label{gap:7px;font-weight:650;display:grid}.mapping-grid select{width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #6c6c6c;padding:8px 10px}.mapping-note{color:#555;margin-top:18px!important}.inline-error{color:#8b1e1e;font-weight:700}.main-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.main-actions .primary-action,.mapping-editor .primary-action{color:#fff;background:#252525}.main-actions .primary-action:hover:not(:disabled),.mapping-editor .primary-action:hover:not(:disabled){background:#000}.main-actions button:disabled{color:#777;cursor:not-allowed;background:#eee;border-color:#b8b8b8}.conversion-message{background:#f7f7f7;border:1px solid #8a8a8a;border-radius:4px;margin-top:28px;padding:24px}.error-message{color:#8b1e1e;background:#fff7f7;border-color:#8b1e1e;font-weight:650}.generic-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.history-note{color:#555;margin-top:18px;line-height:1.6}.preview-scroll{max-width:100%;overflow-x:auto}.preview-scroll table{border-collapse:collapse;width:100%;min-width:900px}.preview-scroll th,.preview-scroll td{text-align:left;vertical-align:top;border-bottom:1px solid #d2d2d2;padding:11px 12px}.preview-scroll th{color:#fff;background:#303030;position:sticky;top:0}.preview-scroll tr[data-status]:not([data-status=new]){background:#fff2f2}.duplicate-details summary{cursor:pointer;font-size:1.05rem;font-weight:700}.duplicate-details ul{overflow-wrap:anywhere;margin:18px 0 0;padding-left:22px}@media (width<=1080px){.upload-summary,.generic-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.page-shell{padding:48px 28px 56px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.section-header{flex-direction:column;align-items:stretch}.section-header .page-actions{justify-content:flex-start}.file-metadata,.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.page-shell{padding:32px 18px 40px}.page-header{margin-bottom:26px}.menu-grid{grid-template-columns:1fr;gap:16px}.menu-card{border-width:2px;min-height:104px}.notice-panel{border-width:2px;padding:42px 20px}.page-actions{flex-direction:column}.page-actions button{width:100%}.file-card-head,.main-actions{flex-direction:column;align-items:stretch}.file-button,.main-actions button,.file-card-head button{width:100%}.upload-panel,.file-list-section,.result-panel,.preview-section,.duplicate-details{padding:20px 16px}.upload-summary,.file-metadata,.mapping-grid,.generic-summary,.header-sample-row{grid-template-columns:1fr}.header-sample-row span+span{color:#555;padding-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.staff-note{color:#4f4f4f;margin:8px 0 0;font-size:.92rem}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:#fff;border:2px solid #303030;width:min(520px,100%);padding:36px}.auth-panel h1,.keyword-editor-panel h2,.keyword-tools h2,.import-preview h2,.keyword-list-section h2,.issue-detail-panel h2{margin:0 0 16px}.auth-panel form,.keyword-form{gap:16px;display:grid}.auth-panel label,.keyword-form label,.issue-card>label{gap:7px;font-weight:650;display:grid}.auth-panel input,.keyword-form input,.keyword-list-section input,.issue-card input{width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #686868;padding:9px 11px}.auth-panel button,.keyword-form button,.keyword-tools button,.import-preview button,.keyword-list-section button,.issue-detail-panel button,.session-table button,.management-menu button{color:#202124;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:2px solid #303030;border-radius:4px;padding:9px 16px;font-weight:650}.auth-panel .primary-action,.keyword-form .primary-action,.import-preview .primary-action,.issue-card .primary-action{color:#fff;background:#252525}.auth-message{margin:18px 0 0;line-height:1.55}.read-only-notice{background:#f3f3f3;border:2px solid #6d6d6d;gap:6px;margin-bottom:24px;padding:18px 20px;display:grid}.management-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.management-menu button{place-content:center;gap:6px;min-height:92px;display:grid}.management-menu strong{font-size:1.12rem}.management-menu span{color:#5b5b5b;font-size:.9rem}.keyword-editor-panel,.keyword-tools,.import-preview,.keyword-list-section,.issue-detail-panel{background:#fff;border:2px solid #303030;border-radius:4px;margin-top:24px;padding:28px}.keyword-editor-panel{margin-top:0}.keyword-form{grid-template-columns:repeat(2,minmax(0,1fr))}.keyword-form .inline-actions{align-self:end}.inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.keyword-tools>p{color:#555}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.import-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.import-summary-six{grid-template-columns:repeat(6,minmax(0,1fr))}.import-help{color:#4f4f4f;margin:18px 0;line-height:1.6}.warning-cell{color:#8b1e1e;background:#fff3f3!important;border-color:#a34a4a!important}.conflict-choice{border:1px solid #b7b7b7;flex-wrap:wrap;gap:18px;margin:20px 0;display:flex}.list-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.list-heading h2{margin:0}.keyword-table td,.keyword-table th,.session-table td,.session-table th{white-space:normal;overflow-wrap:anywhere}.table-actions{gap:6px;display:flex}.summary-card{font:inherit;cursor:pointer;background:#fff;border:1px solid #c8c8c8;justify-content:space-between;gap:14px;padding:13px 15px;display:flex}.summary-card dt{font-weight:650}.summary-card dd{text-align:right;margin:0}.error-card,.download-block-note{color:#8b1e1e;background:#fff3f3;border-color:#a34a4a}.issue-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.download-block-note{border:1px solid;margin:14px 0 0;padding:14px 16px;font-weight:700}.issue-list{gap:16px;display:grid}.issue-card{background:#fff8f8;border:2px solid #a34a4a;padding:20px}.issue-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0 0 18px;display:grid}.issue-card dl div{grid-template-columns:120px minmax(0,1fr);gap:8px;display:grid}.issue-card dt{font-weight:700}.issue-card dd{overflow-wrap:anywhere;margin:0}.issue-card button{margin-top:12px}.preview-scroll tr[data-status=invalid],.preview-scroll tr[data-status=duplicate],.preview-scroll tr[data-status=conflict],.preview-scroll tr[data-status=keyword-unmatched]{background:#fff0f0}.preview-scroll tr[data-status=changed]{background:#fff9e8}.preview-scroll td small{color:#5a5a5a;margin-top:4px;line-height:1.4;display:block}.preview-scroll select{min-width:160px;min-height:40px;font:inherit;background:#fff;border:1px solid #686868;padding:7px 9px}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.pagination button{min-width:88px}.channel-summary-table tfoot th{color:#202124;background:#efefef;border-top:2px solid #303030}.count-link{min-width:44px;border-width:1px!important;min-height:36px!important;padding:5px 10px!important}.error-count{color:#8b1e1e!important;background:#fff3f3!important;border-color:#a34a4a!important}.admin-layout{grid-template-columns:minmax(250px,.7fr) minmax(0,1.5fr);gap:24px;display:grid}.staff-list-panel,.staff-editor-panel,.password-reset-panel{background:#fff;border:2px solid #303030;padding:24px}.staff-list-panel h2,.staff-editor-panel h2,.password-reset-panel h3,.permission-editor h3{margin-top:0}.staff-list{gap:8px;display:grid}.staff-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #9c9c9c;gap:4px;width:100%;padding:14px;display:grid}.staff-list>button.selected{color:#fff;background:#303030;border-color:#222}.staff-list>button span,.staff-list>button small{color:inherit}.staff-form,.staff-fields{gap:16px;display:grid}.staff-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-form label,.password-reset-panel label{gap:7px;font-weight:650;display:grid}.staff-form input,.staff-form select,.password-reset-panel input{width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #6c6c6c;padding:9px 11px}.staff-form .active-choice{align-self:end;align-items:center;gap:9px;min-height:46px;display:flex}.staff-form .active-choice input{width:20px;min-height:20px}.permission-editor{border:1px solid #a4a4a4;margin:6px 0;padding:20px}.permission-table{gap:8px;display:grid}.permission-table label{grid-template-columns:minmax(140px,1fr) minmax(160px,.7fr);align-items:center;gap:14px;display:grid}.password-reset-panel{border-width:1px;margin-top:24px}.staff-editor-panel>.staff-form>.primary-action,.staff-list-panel .primary-action{color:#fff;cursor:pointer;background:#252525;border:2px solid #252525;min-height:46px;font-weight:700}@media (width<=860px){.keyword-form,.issue-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.import-summary-six{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}}@media (width<=560px){.management-menu,.keyword-form,.issue-card dl,.import-summary,.import-summary-six,.issue-summary{grid-template-columns:1fr}.list-heading,.inline-actions,.table-actions{flex-direction:column;align-items:stretch}.issue-card dl div{grid-template-columns:1fr}.keyword-editor-panel,.keyword-tools,.import-preview,.keyword-list-section,.issue-detail-panel{padding:20px 16px}.staff-fields,.permission-table label{grid-template-columns:1fr}.staff-list-panel,.staff-editor-panel,.password-reset-panel{padding:18px 16px}}
