:root{--bg-page: #f3f2f1;--accent-blue: #0078d4;--excel-green: #217346;--card-bg: #ffffff;--card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--text-primary: #323130;--text-secondary: #605e5c;--border-color: #edebe9;--error-red: #d13438}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-page);color:var(--text-primary);line-height:1.5;overflow:hidden;height:100vh}#root{height:100vh;overflow:hidden}.landing-page{height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:10px 28px;background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:var(--card-shadow);z-index:100;flex-shrink:0}.header-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--accent-blue)}.header-logo svg{width:28px;height:28px}.main-content{display:flex;flex:1;gap:0;overflow:hidden}.left-panel{flex:0 0 48%;padding:24px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.left-panel h1{font-size:26px;font-weight:700;color:var(--text-primary);margin-bottom:4px;line-height:1.2}.left-panel .subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.section{margin-bottom:18px}.section h2{font-size:16px;font-weight:600;margin-bottom:10px;color:var(--text-primary)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.step-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:14px;box-shadow:var(--card-shadow)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent-blue);color:#fff;font-weight:700;font-size:13px;margin-bottom:8px}.step-card h3{font-size:13px;font-weight:600;margin-bottom:3px}.step-card p{font-size:11px;color:var(--text-secondary);line-height:1.4}.example-commands{display:flex;flex-direction:column;gap:6px}.example-command{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;font-size:12px;display:flex;align-items:center;gap:8px}.example-command .arrow{color:var(--accent-blue);font-weight:700;flex-shrink:0}.advantages-row{display:flex;gap:10px;flex-wrap:wrap}.advantage-tag{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.advantage-tag strong{color:var(--text-primary)}.right-panel{flex:1;display:flex;flex-direction:column;border-left:1px solid var(--border-color);background:var(--card-bg);overflow:hidden}.chat-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.chat-input-bar{display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--border-color);flex-shrink:0}.chat-input-bar input{flex:1;padding:10px 16px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.chat-input-bar input:focus{border-color:var(--accent-blue)}.chat-input-bar button{padding:10px 20px;background:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.chat-input-bar button:hover{background:#006cbd}.chat-input-bar button:disabled{background:#c8c6c4;cursor:not-allowed}.chat-message{display:flex;gap:10px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message.bot{align-self:flex-start}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.bot .message-avatar{background:var(--excel-green);color:#fff}.user .message-avatar{background:var(--accent-blue);color:#fff}.message-bubble{max-width:320px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;white-space:pre-wrap}.bot .message-bubble{background:#f3f2f1;border-bottom-left-radius:4px}.user .message-bubble{background:var(--accent-blue);color:#fff;border-bottom-right-radius:4px}.file-upload-zone{--angle: 0deg;border:2px solid transparent;border-radius:12px;padding:28px 16px;text-align:center;cursor:pointer;transition:all .2s;background:linear-gradient(var(--bg-page),var(--bg-page)) padding-box,conic-gradient(from var(--angle),#0078d4,#217346,#0078d4,#217346,#0078d4) border-box;animation:rotate-border 3s linear infinite;position:relative;flex-shrink:0}@keyframes rotate-border{to{--angle: 360deg}}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.file-upload-zone:hover,.file-upload-zone.dragover{background:linear-gradient(#eff6fc,#eff6fc) padding-box,conic-gradient(from var(--angle),#0078d4,#217346,#0078d4,#217346,#0078d4) border-box}.file-upload-zone .icon{font-size:32px;margin-bottom:6px}.file-upload-zone p{font-size:13px;color:var(--text-secondary)}.file-upload-zone .hint{font-size:11px;color:var(--text-secondary);margin-top:2px}.provider-select{display:flex;gap:6px}.provider-btn{padding:5px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--card-bg);font-size:11px;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.provider-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.provider-btn:hover:not(.active){border-color:var(--accent-blue);color:var(--accent-blue)}.table-preview{margin:12px 0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;max-height:200px;overflow-y:auto}.table-preview table{width:100%;border-collapse:collapse;font-size:12px}.table-preview th{background:#f3f2f1;padding:6px 8px;text-align:left;font-weight:600;border-bottom:1px solid var(--border-color);position:sticky;top:0}.table-preview td{padding:5px 8px;border-bottom:1px solid var(--border-color);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-buttons{display:flex;gap:8px;margin-top:8px}.confirm-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.confirm-btn.yes{background:var(--excel-green);color:#fff}.confirm-btn.no{background:var(--border-color);color:var(--text-secondary)}.download-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:8px 16px;background:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.download-btn:hover{background:#006cbd}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:var(--error-red);font-size:13px;margin-top:4px}.footer{display:flex;align-items:center;justify-content:center;padding:10px 28px;background:var(--card-bg);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);gap:8px;flex-shrink:0}.footer a{color:var(--accent-blue);text-decoration:none}.footer a:hover{text-decoration:underline}.header-center{display:flex;align-items:center}.header-tabs{display:flex;gap:2px;background:var(--bg-page);border-radius:6px;padding:2px}.header-tab{padding:6px 14px;border:none;border-radius:4px;background:transparent;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.header-tab.active{background:var(--card-bg);color:var(--accent-blue);box-shadow:0 1px 3px #00000014}.header-tab:hover:not(.active){color:var(--text-primary)}.nom-main{overflow-y:auto}.nomenclature-panel{width:100%;max-width:900px;margin:0 auto;padding:24px 32px}.nom-header h2{font-size:22px;font-weight:700;margin-bottom:4px}.nom-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:20px}.nom-rules-section{margin-bottom:20px}.nom-rules-section h3{font-size:14px;font-weight:600;margin-bottom:10px}.nom-rules-list{display:flex;flex-direction:column;gap:6px}.nom-rule-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:border-color .2s}.nom-rule-item:hover{border-color:var(--accent-blue)}.nom-rule-item input[type=checkbox]{margin-top:2px;accent-color:var(--accent-blue)}.nom-rule-info{display:flex;flex-direction:column;gap:2px;flex:1}.nom-rule-name{font-size:13px;font-weight:600}.nom-rule-desc{font-size:11px;color:var(--text-secondary)}.nom-rule-type{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;width:fit-content}.nom-rule-type--regex,.nom-rule-type--regex_upper,.nom-rule-type--regex_multi{background:#e8f4fd;color:#0078d4}.nom-rule-type--llm{background:#e6f4ea;color:#217346}.nom-rule-type--llm_protection{background:#fef4e8;color:#d4790a}.nom-upload-section{display:flex;align-items:center;gap:12px;margin-bottom:16px}.nom-upload{flex:1;padding:20px 16px!important}.nom-file-info{flex:1;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px}.nom-file-name{font-size:13px;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nom-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;text-decoration:none}.nom-btn--primary{background:var(--accent-blue);color:#fff}.nom-btn--primary:hover{background:#006cbd}.nom-btn--primary:disabled{background:#c8c6c4;cursor:not-allowed}.nom-btn--secondary{background:var(--bg-page);color:var(--text-secondary);border:1px solid var(--border-color)}.nom-btn--secondary:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.nom-error{padding:10px 14px;background:#fde7e9;color:var(--error-red);border-radius:6px;font-size:13px;margin-bottom:16px}.nom-result{margin-top:16px}.nom-stats{display:flex;gap:12px;margin-bottom:16px}.nom-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px}.nom-stat-value{font-size:24px;font-weight:700}.nom-stat-label{font-size:11px;color:var(--text-secondary)}.nom-stat--changed .nom-stat-value{color:var(--excel-green)}.nom-stat--unchanged .nom-stat-value{color:var(--text-secondary)}.nom-stat--skipped .nom-stat-value{color:#d4790a}.nom-downloads{display:flex;gap:8px;margin-bottom:16px}.nom-tabs{display:flex;gap:2px;background:var(--bg-page);border-radius:6px;padding:2px;margin-bottom:12px}.nom-tab{flex:1;padding:8px 12px;border:none;border-radius:4px;background:transparent;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.nom-tab.active{background:var(--card-bg);color:var(--accent-blue);box-shadow:0 1px 3px #00000014}.nom-table-wrap{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px}.nom-table{width:100%;border-collapse:collapse;font-size:12px}.nom-table th{background:#f3f2f1;padding:8px 10px;text-align:left;font-weight:600;border-bottom:1px solid var(--border-color);position:sticky;top:0}.nom-table td{padding:6px 10px;border-bottom:1px solid var(--border-color);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nom-old{color:var(--error-red);text-decoration:line-through}.nom-new{color:var(--excel-green)}@media(max-width:900px){body{overflow:auto;height:auto}#root{height:auto;overflow:auto}.landing-page{height:auto;min-height:100vh}.main-content{flex-direction:column;overflow:visible}.left-panel{flex:none;padding:20px 16px;overflow-y:visible}.right-panel{flex:none;border-left:none;border-top:1px solid var(--border-color);min-height:50vh}.steps-grid{grid-template-columns:1fr}.header{padding:10px 16px}.provider-select{display:none}}
