:root{font-family:IBM Plex Sans KR,sans-serif;color:#14213d;background:radial-gradient(circle at top left,rgba(244,162,97,.35),transparent 28%),radial-gradient(circle at top right,rgba(42,157,143,.22),transparent 24%),linear-gradient(180deg,#f8f3e8,#f4efe5);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}code{margin:0 .15rem;padding:.1rem .35rem;border-radius:.35rem;background:#14213d14}#root{min-height:100vh}.app-shell{max-width:1360px;margin:0 auto;padding:32px 20px 56px}.hero-card,.panel{border:1px solid rgba(20,33,61,.08);border-radius:24px;background:#ffffffd1;box-shadow:0 20px 60px #14213d14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{padding:32px;margin-bottom:24px}.eyebrow{margin:0 0 10px;color:#d97706;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;max-width:14ch;font-size:clamp(2rem,5vw,3.8rem);line-height:.95}.hero-copy{max-width:56ch;margin:18px 0 0;color:#4b5563}.inline-actions,.panel-actions{display:flex;flex-wrap:wrap;gap:10px}.primary,.secondary,.ghost,.chip-button,.icon-button{border-radius:999px;padding:.85rem 1.15rem;transition:transform .15s ease,background .15s ease,color .15s ease}.primary{background:#14213d;color:#fffdf8}.secondary{background:#f4a261;color:#1f2937}.ghost,.chip-button,.icon-button{background:#14213d0f;color:#14213d}.primary:hover,.secondary:hover,.ghost:hover,.chip-button:hover,.icon-button:hover{transform:translateY(-1px)}.panel{padding:24px;margin-bottom:24px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);gap:24px;align-items:start}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.panel-title{margin:0;font-size:1.15rem;font-weight:700}.panel-subtitle{margin:6px 0 0;color:#6b7280;font-size:.96rem}.drag-handle{color:#9ca3af;font-weight:700;letter-spacing:.08em}.stretch{flex:1}.format-controls input,.format-controls select{width:100%;border:1px solid rgba(20,33,61,.12);border-radius:14px;background:#fff;padding:.78rem .9rem}.preview-box{margin-top:18px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#14213d,#1f3b73);color:#f8fafc}.preview-label,.preview-meta{display:block}.preview-label{margin-bottom:8px;color:#f8fafcb8;font-size:.82rem}.preview-box strong{display:block;font-size:1.4rem}.preview-meta{margin-top:8px;color:#f8fafcb8;font-size:.85rem}.mini-badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2a9d8f1f;color:#0f766e;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.table-panel{overflow:hidden;padding-bottom:14px;margin-bottom:0}.builder-panel{margin-bottom:0;display:flex;flex-direction:column;padding:12px}.builder-header{margin-top:10px;margin-bottom:6px}.builder-actions{margin-bottom:9px}.builder-panel .panel-header{gap:9px;margin-bottom:9px}.builder-panel .panel-subtitle{margin-top:3px}.builder-panel .format-dropzone{display:grid;gap:6px}.builder-panel .format-item{padding:8px;border:1px dashed rgba(20,33,61,.18);border-radius:18px;background:#fffdf9}.builder-panel .format-topline{display:flex;align-items:center;gap:5px;margin-bottom:6px}.builder-panel .format-topline .icon-button{margin-left:auto}.builder-panel .format-controls{display:flex;flex-wrap:wrap;gap:6px}.builder-panel .format-controls label{display:grid;gap:3px;color:#4b5563;font-size:.92rem}.builder-panel .format-controls input,.builder-panel .format-controls select{padding:.39rem .45rem}.builder-panel .sheet-summary{padding:7px 8px}.builder-panel .sheet-summary-label{margin-bottom:3px}.builder-panel .preview-box{margin-top:9px;padding:9px 10px}.builder-panel .preview-label{margin-bottom:4px}.builder-panel .preview-meta{margin-top:4px}.builder-panel .inline-actions{gap:5px}.action-stack{display:grid;gap:10px;margin-bottom:18px}.bottom-actions{margin-top:auto;padding-top:20px}.action-stack .primary,.action-stack .secondary,.action-stack .ghost{width:100%;justify-content:center}.table-wrap{overflow-x:auto;border:1px solid #aeb6bf;border-radius:18px;background:#dcd8d8;box-shadow:inset 0 1px #ffffffa6,0 18px 44px #14213d14}.spreadsheet-wrap{padding:10px}.contact-spreadsheet.Spreadsheet{--background-color: #e7e2e2;--text-color: #1f2937;--readonly-text-color: #5b6470;--outline-color: #73a4ff;--outline-background-color: rgba(115, 164, 255, .16);--border-color: #b7bdc4;--header-background-color: #d7d3d3;--elevation: 0 12px 24px rgba(20, 33, 61, .16);display:inline-block;min-width:100%;font-size:1rem;-webkit-user-select:none;user-select:none}.contact-spreadsheet .Spreadsheet__table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;table-layout:fixed}.contact-spreadsheet .Spreadsheet__table tr>:nth-child(1){width:29px;min-width:29px;max-width:29px}.contact-spreadsheet .Spreadsheet__table tr>:nth-child(2){width:95px;min-width:95px}.contact-spreadsheet .Spreadsheet__table tr>:nth-child(3){width:75px;min-width:75px}.contact-spreadsheet .Spreadsheet__table tr>:nth-child(4){width:115px;min-width:115px}.contact-spreadsheet .Spreadsheet__table tr>:nth-child(5){width:90px;min-width:90px}.contact-spreadsheet .Spreadsheet__table tr>:nth-child(6){width:160px;min-width:160px}.contact-spreadsheet .Spreadsheet__cell,.contact-spreadsheet .Spreadsheet__header{height:28px;max-height:28px;border:1px solid #b7bdc4;background:#ece8e8;font-size:1rem;-webkit-user-select:none;user-select:none}.contact-spreadsheet .Spreadsheet__header{background:linear-gradient(180deg,#f4f2f2,#d6d2d2);color:#1f2937;font-weight:700;text-align:center}.contact-spreadsheet .Spreadsheet__header--selected{background:linear-gradient(180deg,#75808f,#5f6977);color:#fff}.contact-spreadsheet .Spreadsheet__cell--readonly,.contact-spreadsheet .final-composition-cell{background:#e3e7ee;color:#425268}.contact-spreadsheet .Spreadsheet__data-viewer{display:flex;align-items:center;height:100%;padding:0 7px;white-space:nowrap;-webkit-user-select:none;user-select:none}.contact-spreadsheet .Spreadsheet__data-editor{height:100%}.contact-spreadsheet .Spreadsheet__data-editor input{width:100%;height:100%;padding:0 7px;border:0;border-radius:0;background:#fbfdff;color:#1f2937;-webkit-user-select:text;user-select:text}.contact-spreadsheet .Spreadsheet__active-cell--edit{background:#fbfdff}.sheet-summary{margin-top:0;padding:14px 16px;border-radius:14px;background:#14213d0d;color:#14213d}.sheet-summary-label{display:block;margin-bottom:6px;color:#6b7280;font-size:.84rem}.sheet-tip{margin:14px 4px 0;color:#6b7280;font-size:.9rem}.toast{position:fixed;right:20px;bottom:20px;padding:14px 18px;border-radius:14px;background:#14213d;color:#fff;box-shadow:0 16px 40px #14213d38}@media (max-width: 980px){.hero-card,.panel-header{grid-template-columns:1fr;display:grid}.workspace-grid{grid-template-columns:1fr}h1{max-width:100%}}@media (max-width: 640px){.app-shell{padding:18px 14px 36px}.hero-card,.panel{padding:18px;border-radius:20px}.panel-actions,.inline-actions{width:100%}.primary,.secondary,.ghost,.chip-button{width:100%;justify-content:center}.contact-spreadsheet .Spreadsheet__table{min-width:560px}}
