:root{color-scheme:light;font-family:Plus Jakarta Sans,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f3f6f5;color:#1e2925;--ink: #1e2925;--muted: #62726b;--line: #e2e8e5;--paper: #fbfdfc;--panel: #ffffff;--accent: #0d9488;--accent-hover: #0f766e;--accent-light: rgba(13, 148, 136, .08);--alert: #e11d48;--alert-light: rgba(225, 29, 72, .08);--warn: #d97706;--warn-light: rgba(217, 119, 6, .08);--topbar-height: 96px;--filters-height: 112px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 8px 10px -6px rgba(0, 0, 0, .05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}*{box-sizing:border-box;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}body{margin:0;min-width:1200px;background-color:#f3f6f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.shell{min-height:100vh;padding:24px 32px;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.topbar{position:sticky;top:0;z-index:10;background:#f3f6f5d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:16px;padding-top:16px}.topbar-right{display:flex;align-items:center;gap:20px}.admin-badge{font-size:11px;font-weight:700;color:var(--accent);background:#0d94881a;padding:2px 8px;border-radius:99px;margin-left:10px;vertical-align:middle;display:inline-block}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.1em;margin:0 0 6px;text-transform:uppercase}h1,h2,h3{font-weight:700;letter-spacing:-.02em;margin:0}h1{font-size:32px;line-height:1.1;background:linear-gradient(135deg,#1e2925 30%,#0d9488 90%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}h2{font-size:20px;color:#1e2925}h3{border-top:1px solid var(--line);font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:24px;padding-top:16px}.status-grid{display:grid;gap:12px;grid-template-columns:repeat(4,125px)}.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.metric:after{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:transparent}.metric span{color:var(--muted);display:block;font-size:11px;font-weight:600}.metric strong{display:block;font-size:22px;font-weight:700;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric.good:after{background:var(--accent)}.metric.good strong{color:var(--accent)}.metric.warn:after{background:var(--warn)}.metric.warn strong{color:var(--warn)}.metric.bad:after{background:var(--alert)}.metric.bad strong{color:var(--alert)}.filters{position:sticky;top:var(--topbar-height);z-index:9;background:#f3f6f5d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);align-items:flex-end;display:grid;gap:12px;grid-template-columns:repeat(11,minmax(90px,1fr)) 120px;padding:16px 0;border-bottom:1px solid var(--line)}label span{color:var(--muted);display:block;font-size:11px;font-weight:600;margin-bottom:6px;white-space:nowrap}input,select,textarea{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);outline:none;padding:0 12px;width:100%;box-shadow:var(--shadow-sm)}input,select{height:36px}textarea{min-height:90px;padding:10px 12px;resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d948826;background-color:#fff}.export,button{align-items:center;background:var(--ink);border:0;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;height:36px;font-size:13px;font-weight:600;justify-content:center;padding:0 16px;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-sm)}.export:hover,button:hover:not(:disabled){background:#2b3934;transform:translateY(-1px)}.export:active,button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.45;transform:none!important}.secondary-button,.ghost-button{background:var(--panel);border:1px solid var(--line);color:var(--ink)}.secondary-button:hover,.ghost-button:hover:not(:disabled){background:#f7faf9;border-color:#cbd5e1;color:var(--ink)}.ghost-button{background:transparent;border-color:transparent}.ghost-button:hover:not(:disabled){background:#0000000a;border-color:transparent}.modal-backdrop{align-items:center;background:#0f172a4d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:28px;position:fixed;z-index:30}.export-dialog{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:min(720px,calc(100vh - 56px));overflow:auto;padding:28px;width:min(720px,calc(100vw - 56px));animation:fadeInUp .3s cubic-bezier(.16,1,.3,1) both}.export-dialog-head,.export-dialog-foot,.export-actions{align-items:center;display:flex;gap:12px}.export-dialog-head,.export-dialog-foot{justify-content:space-between}.export-actions{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:20px 0;padding:14px 0}.export-actions span{color:var(--muted);font-size:13px;margin-left:auto;font-weight:500}.export-field-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.export-field{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:10px;min-height:42px;padding:0 12px}.export-field:hover{background:#fff;border-color:var(--accent)}.export-field input{accent-color:var(--accent);flex:0 0 auto;height:16px;padding:0;width:16px;box-shadow:none}.export-field span{color:var(--ink);display:block;font-size:13px;font-weight:500;margin:0}.export-dialog-foot{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.export-dialog-foot button:last-child{background:var(--accent)}.export-dialog-foot button:last-child:hover{background:var(--accent-hover)}.support-button{grid-column:12;background:var(--accent)}.support-button:hover{background:var(--accent-hover)}.support-dialog{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:min(720px,calc(100vh - 56px));overflow:auto;padding:24px;width:380px;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1) both;display:flex;flex-direction:column;gap:16px}.support-dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.support-dialog-head h2{font-size:18px;margin:0}.support-dialog-head .close-btn{height:32px;width:32px;padding:0;font-size:16px}.support-dialog-body{display:flex;justify-content:center;align-items:center;padding:8px 0}.support-dialog-body img{max-width:100%;height:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.workspace{display:grid;gap:20px;margin-top:12px}.admin-workspace{grid-template-columns:minmax(0,1fr) 400px}.public-workspace{grid-template-columns:minmax(0,1fr)}.admin-user-control{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:4px 12px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-user-info{display:flex;align-items:center;gap:8px}.admin-user-info .avatar{font-size:14px;background:#eef8f6;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(13,148,136,.15)}.admin-user-info .user-text{display:flex;flex-direction:column}.admin-user-info .role-label{font-size:9px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1;margin-bottom:2px}.admin-user-info .username{font-size:13px;font-weight:600;color:var(--ink);line-height:1.1}.logout-button{background:#fff1f2;border:1px solid #ffe4e6;color:#e11d48;font-size:11px;font-weight:600;height:28px;padding:0 10px;border-radius:var(--radius-sm);transition:all .2s ease;align-items:center;display:inline-flex;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm)}.logout-button:hover{background:#ffe4e6;border-color:#fecdd3;color:#be123c;transform:translateY(-1px)}.logout-button:active{transform:translateY(0)}.ai-config-collapsed-bar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 16px;margin-bottom:16px;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s ease}.ai-config-collapsed-bar:hover{background:#f8fafc;border-color:#cbd5e1}.collapsed-info{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}.config-icon{font-size:14px}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;position:relative}.status-dot.good{background:#10b981}.status-dot.good:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:#10b981;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(2.5);opacity:0}}.text-link-button{background:transparent;border:none;color:var(--accent);font-size:12px;font-weight:600;padding:0;box-shadow:none;height:auto;cursor:pointer;display:inline-flex;align-items:center}.text-link-button:hover{color:var(--accent-hover);background:transparent;text-decoration:underline;transform:none}.ai-config-panel.expanded{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:16px;padding:20px;box-shadow:var(--shadow-sm);animation:slideDown .3s cubic-bezier(.16,1,.3,1) both}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ai-config-head{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;padding-bottom:16px}.ai-config-head h2{font-size:16px}.ai-config-head p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.5;margin:6px 0 0}.ai-config-head-actions{display:flex;gap:8px;align-items:center}.preset-button{background:#f0fdf4;border:1px solid #dcfce7;color:#166534;flex:0 0 auto;font-weight:600;height:38px;padding:0 16px}.preset-button:hover{background:#dcfce7}.close-config-btn{height:38px}.ai-config-grid-new{display:flex;flex-direction:column;gap:16px;padding-top:16px}.ai-config-inputs{display:grid;gap:16px;grid-template-columns:2fr 3fr 2fr}.ai-config-field{display:flex;flex-direction:column}.ai-config-field input{border-radius:var(--radius-sm);height:38px;padding:0 12px}.key-field input{letter-spacing:1px}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-input-wrapper input{padding-right:60px}.toggle-password-btn{position:absolute;right:4px;height:30px;background:transparent;border:none;color:var(--muted);font-size:11px;font-weight:600;padding:0 8px;box-shadow:none;cursor:pointer}.toggle-password-btn:hover{background:#0000000d;color:var(--ink);transform:none}.ai-config-actions-row{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--line);padding-top:14px}.ai-config-status{flex:1}.ai-config-status .connection-test{margin:0;display:inline-block;padding:6px 12px}.ai-config-buttons{display:flex;gap:8px;margin-left:auto}.ai-config-buttons button{height:38px}.danger-button{background:#ef4444;color:#fff}.danger-button:hover{background:#dc2626}.connection-test{border-radius:var(--radius-sm);font-size:13px;font-weight:500;padding:10px 14px;border:1px solid transparent}.connection-test.good{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.connection-test.warn{background:#fffbeb;border-color:#fde68a;color:#b45309}.connection-test.bad{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.table-wrap,.detail{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.table-wrap{height:clamp(450px,calc(100vh - var(--topbar-height) - var(--filters-height) - 72px),700px);min-height:450px;overflow:auto}.table-wrap::-webkit-scrollbar,.detail::-webkit-scrollbar,pre::-webkit-scrollbar{width:6px;height:6px}.table-wrap::-webkit-scrollbar-track,.detail::-webkit-scrollbar-track,pre::-webkit-scrollbar-track{background:transparent}.table-wrap::-webkit-scrollbar-thumb,.detail::-webkit-scrollbar-thumb,pre::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.table-wrap::-webkit-scrollbar-thumb:hover,.detail::-webkit-scrollbar-thumb:hover,pre::-webkit-scrollbar-thumb:hover{background:#94a3b8}table{border-collapse:separate;border-spacing:0;font-size:13px;min-width:1100px;width:100%}.admin-workspace table{min-width:1180px}th,td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:middle}th{background:#f8faf9;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbfb}tbody tr.selected{background:#eef8f7}tbody tr.selected td{color:#0f766e}tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.price{color:var(--accent);font-weight:700;font-size:14px}.time-cell{color:var(--muted);font-size:12px;white-space:nowrap}.pill{background:#e2e8f0;border-radius:99px;color:#475569;display:inline-flex;font-size:11px;font-weight:600;padding:3px 8px}.pill.parsed{background:#dcfce7;color:#15803d}.pill.failed{background:#fee2e2;color:#b91c1c}.type-tag{border-radius:var(--radius-sm);display:inline-flex;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}.type-tag.supply{background:#10b9811a;color:#059669}.type-tag.purchase{background:#3b82f61a;color:#2563eb}.type-tag.service{background:#f59e0b1a;color:#d97706}.type-tag.other{background:#f1f5f9;color:#64748b}.condition-tag{border-radius:var(--radius-sm);display:inline-flex;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}.condition-tag.new{background:#10b98126;color:#059669}.condition-tag.used{background:#d9770626;color:#d97706}.condition-tag.unknown{background:#f1f5f9;color:#64748b}.empty{color:var(--muted);height:220px;text-align:center;font-size:14px}.detail{position:sticky;top:calc(var(--topbar-height) + var(--filters-height) + 16px);align-self:start;max-height:calc(100vh - var(--topbar-height) - var(--filters-height) - 72px);min-height:450px;overflow-y:auto;padding:22px;display:flex;flex-direction:column}.detail-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.detail-head h2{font-size:18px;line-height:1.3}.detail-actions,.edit-actions{align-items:center;display:flex;gap:8px}.detail-actions button:last-child{background:var(--accent)}.detail-actions button:last-child:hover{background:var(--accent-hover)}.manual-badge{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-sm);color:#b45309;font-size:12px;font-weight:500;margin:12px 0 0;padding:8px 12px}.edit-form{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:16px}.ai-correction-form{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:12px;margin-top:16px;padding:16px}.ai-correction-form textarea{min-height:100px}.edit-field.full,.edit-actions{grid-column:1 / -1}.edit-actions{border-top:1px solid var(--line);justify-content:flex-end;padding-top:14px;margin-top:4px}.edit-actions button:last-child{background:var(--accent)}.edit-actions button:last-child:hover{background:var(--accent-hover)}.kv{display:grid;gap:10px 14px;grid-template-columns:80px 1fr;margin:16px 0 0;font-size:13px}dt{color:var(--muted);font-weight:500}dd{margin:0;min-width:0;font-weight:600;color:#1e2925;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.chips span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:99px;color:#475569;font-size:11px;font-weight:500;padding:4px 10px}.notes{color:#334155;font-size:13px;line-height:1.6;background:#f8fafc;padding:12px;border-radius:var(--radius-sm);margin-top:10px;border:1px solid var(--line)}.muted{color:var(--muted)}pre{background:#0f172a;border-radius:var(--radius-sm);color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;flex-shrink:0;padding:12px 14px;white-space:pre-wrap;margin-top:10px}.error{background:#fef2f2;border:1px solid #fee2e2;border-radius:var(--radius-sm);color:#b91c1c;padding:10px 12px;font-size:12px;font-weight:500;margin-top:10px}.login-shell{align-items:center;background:#f3f6f5;display:flex;min-height:100vh;padding:28px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:grid;gap:16px;margin:0 auto;padding:32px;width:380px;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.login-panel button{width:100%;background:var(--accent)}.login-panel button:hover{background:var(--accent-hover)}.raw-content-dialog{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:min(800px,calc(100vh - 56px));overflow:hidden;padding:24px;width:min(650px,calc(100vw - 56px));animation:fadeInUp .3s cubic-bezier(.16,1,.3,1) both;display:flex;flex-direction:column;gap:16px}.raw-content-dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.raw-content-dialog-head h2{font-size:18px;margin:0}.raw-content-dialog-head .close-btn{height:32px;width:32px;padding:0;font-size:16px;border-radius:50%}.raw-content-dialog-body{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.modal-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:#f8faf9;padding:14px;border-radius:var(--radius-md);border:1px solid var(--line)}.modal-info-item{display:flex;flex-direction:column;gap:4px}.modal-info-item .label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase}.modal-info-item .value{font-size:13px;font-weight:500;color:var(--ink)}.modal-info-item .value.price{color:var(--accent);font-weight:700}.modal-contact-section{background:#fbfdfc;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px}.modal-contact-section h3{border:none!important;margin:0 0 10px!important;padding:0!important;font-size:12px!important;color:var(--muted)!important;font-weight:700!important;text-transform:uppercase!important}.modal-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.modal-contact-item{display:flex;flex-direction:column;gap:4px}.modal-contact-item .label{font-size:11px;color:var(--muted)}.modal-contact-item .value{font-size:13px;font-weight:600;color:var(--ink)}.raw-message-pre{background:#0f172a;border-radius:var(--radius-md);color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.6;padding:14px;white-space:pre-wrap;word-break:break-all;max-height:240px;overflow-y:auto;margin:0;border:1px solid #1e293b}.raw-content-dialog-foot{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:auto}.raw-content-dialog-foot .primary-button{background:var(--accent);color:#fff}.raw-content-dialog-foot .primary-button:hover{background:var(--accent-hover)}
