*,*:before,*:after{box-sizing:border-box}:root{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#f5f5f5;color:#222}#root{width:100%;height:100%;overflow:hidden}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;font-size:14px;margin:0;background:#f5f5f5;color:#222}.app{height:100vh;overflow:hidden;display:flex;flex-direction:column}.app-header{background:#1e3a5f;color:#fff;padding:.6rem 1rem}.app-header h1{margin:0;font-size:1.1rem}.app-main{flex:1;padding:.75rem;width:100%;overflow:hidden;min-height:0}.layout{display:flex;gap:1rem;align-items:flex-start;height:100%}.left-pane{width:35%;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;height:100%;overflow-y:auto}.right-pane{flex:1;min-width:0;height:100%;overflow:auto}.editor-section{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.75rem;min-width:0}.editor-section h3{margin:0 0 .5rem;font-size:.95rem;color:#1e3a5f;border-bottom:1px solid #eee;padding-bottom:.3rem}.editor-section h4{margin:.5rem 0 .3rem;font-size:.85rem}.field-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.field-row label{min-width:80px;font-size:.85rem;color:#555}.field-row input,.field-row select{flex:1;padding:.2rem .4rem;border:1px solid #ccc;border-radius:3px;font-size:.85rem}.tab-row{display:flex;gap:.3rem;margin-bottom:.5rem}.tab{padding:.2rem .6rem;border:1px solid #ccc;border-radius:3px;background:#f0f0f0;color:#222;cursor:pointer;font-size:.85rem}.tab.active{background:#1e3a5f;color:#fff;border-color:#1e3a5f}button{padding:.25rem .6rem;border:1px solid #999;border-radius:3px;background:#f8f8f8;color:#222;cursor:pointer;font-size:.85rem}button:hover{background:#e8e8e8}.add-btn{margin-top:.4rem;color:#1e3a5f;border-color:#1e3a5f}.import-export-row{display:flex;gap:.4rem;margin-bottom:.5rem}.preview-action{margin-bottom:.6rem}.preview-btn{width:100%;padding:.5rem;background:#1e3a5f;color:#fff;border:none;border-radius:4px;font-size:.95rem;cursor:pointer}.preview-btn:hover{background:#2a5080}.field-def-table,.preview-table,.manual-table{width:100%;border-collapse:collapse;font-size:.83rem}.field-def-table th,.field-def-table td,.preview-table th,.preview-table td,.manual-table th,.manual-table td{border:1px solid #ddd;padding:.2rem .4rem;text-align:left}.field-def-table{table-layout:fixed}.field-def-table th:nth-child(1),.field-def-table td:nth-child(1){width:30%}.field-def-table th:nth-child(2),.field-def-table td:nth-child(2){width:22%}.field-def-table th:nth-child(3),.field-def-table td:nth-child(3){width:10%}.field-def-table th:nth-child(4),.field-def-table td:nth-child(4){width:10%;text-align:center}.field-def-table th:nth-child(5),.field-def-table td:nth-child(5){width:18%}.field-def-table th:nth-child(6),.field-def-table td:nth-child(6){width:10%;text-align:center}.required-mark{color:#c00;font-weight:700;margin-right:.1em}.input-error{border-color:#c00!important;background:#fff5f5}.row-incomplete td{background:#fff8f8}.field-error{color:#c00;font-size:.82rem;margin:.3rem 0 0}.field-def-table input,.field-def-table select{width:100%;padding:.15rem .3rem;border:1px solid #ccc;border-radius:2px;font-size:.82rem;min-width:0}.field-def-table th,.preview-table th,.manual-table th{background:#f0f4fa;font-weight:600}.detail-table th{width:140px;background:#f0f4fa}.table-wrapper{overflow-x:auto}.manual-editor input{width:100%;padding:.15rem .3rem;border:1px solid #ccc;border-radius:2px;font-size:.83rem}.warning-list{background:#fffbe6;border:1px solid #f0c040;border-radius:3px;padding:.4rem .6rem;margin-bottom:.5rem}.warning-list h4{margin:0 0 .3rem;font-size:.85rem;color:#7a5800}.warning-list ul{margin:0;padding-left:1.2rem}.warning-item{font-size:.82rem;color:#7a5800}.warning-item.warning-error{color:#a00}.cell-warn{background:#fff8e1;cursor:help}.inline-warn{color:#7a5800;font-size:.82rem;margin:.2rem 0}.error-banner{background:#fdecea;border:1px solid #f5a0a0;border-radius:4px;padding:.5rem;margin-bottom:.5rem}.error-item{display:flex;align-items:flex-start;gap:.5rem}.error-item pre{margin:0;font-size:.82rem;white-space:pre-wrap;flex:1;color:#a00}.warn-banner{background:#fffbe6;border:1px solid #f0c040;border-radius:4px;padding:.4rem .6rem;margin-bottom:.5rem}.warn-banner p{margin:0;font-size:.82rem;color:#7a5800}.data-summary{font-size:.8rem;color:#555;margin:.3rem 0 0}.no-data{color:#999;font-style:italic}.right-pane{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.75rem}.right-pane h3{margin:0 0 .5rem;font-size:.95rem;color:#1e3a5f}.conv-note{font-size:.82rem;color:#555;margin:0 0 .5rem;line-height:1.5}.conv-sample{background:#f7f9fc;border:1px solid #d0daea;border-radius:3px;padding:.4rem .6rem;margin-bottom:.5rem}.conv-sample-label{font-size:.8rem;font-weight:600;color:#1e3a5f}.conv-sample-pre{margin:.3rem 0;font-size:.78rem;line-height:1.5;color:#333;white-space:pre;font-family:Consolas,Menlo,monospace}.conv-sample-hint{margin:0;font-size:.78rem;color:#666}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.preview-header h3{margin:0}.value-toggle{display:flex;gap:.3rem;flex-shrink:0}.screen-type-badge{margin-left:.5rem;font-size:.75rem;background:#e0e8f5;color:#1e3a5f;padding:.1rem .4rem;border-radius:3px;font-weight:400;vertical-align:middle}
