.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;animation:slideInRight .3s ease,fadeOut .3s ease 3.7s forwards;pointer-events:auto;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-left:4px solid}.toast:hover{transform:translate(-4px);box-shadow:0 12px 32px #0003}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(100px)}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.toast-message{flex:1;font-size:14px;font-weight:500;line-height:1.5;color:#1e293b;word-wrap:break-word}.toast-close{width:24px;height:24px;border:none;background:#0000000d;border-radius:50%;cursor:pointer;font-size:20px;font-weight:700;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background:#0000001a;color:#1e293b}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{background:#fee2e2;color:#ef4444}.toast-success{border-left-color:#10b981}.toast-success .toast-icon{background:#d1fae5;color:#10b981}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{background:#dbeafe;color:#3b82f6}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{background:#fef3c7;color:#f59e0b}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:unset;width:100%}}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:#f8f9fa;font-family:Roboto,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px}.login-card{background:#fff;border:1px solid var(--google-light-gray);border-radius:8px;width:100%;max-width:450px;min-height:500px;display:flex;flex-direction:column;box-sizing:border-box}.login-content{padding:48px 40px 36px;flex-grow:1;display:flex;flex-direction:column}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:24px;font-weight:400;margin:0;color:#202124}.login-header .subtitle{font-size:16px;color:#202124;margin:8px 0 0}.login-body{flex-grow:1}.login-footer{display:flex;justify-content:space-between;align-items:center;margin-top:40px}@media (max-width: 480px){.login-card{border:none;min-height:100vh;max-width:none;border-radius:0}.login-content{padding:48px 24px 36px}}:root{--google-blue: #1a73e8;--google-blue-hover: #1557b0;--google-gray: #5f6368;--google-light-gray: #dadce0;--google-error: #d93025;--google-error-bg: #fce8e6}.register-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:#f8f9fa;font-family:Roboto,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px}.register-card{background:#fff;border:1px solid var(--google-light-gray);border-radius:8px;width:100%;max-width:450px;min-height:550px;display:flex;flex-direction:column;box-sizing:border-box}.register-content{padding:48px 40px 36px;flex-grow:1;display:flex;flex-direction:column}.register-header{text-align:center;margin-bottom:32px}.register-header h1{font-size:24px;font-weight:400;margin:0;color:#202124}.register-header .subtitle{font-size:16px;color:#202124;margin:8px 0 0}.register-body{flex-grow:1}.success-message-text{text-align:center;color:#202124;font-size:16px;margin-bottom:24px}.error-message{background-color:var(--google-error-bg);color:var(--google-error);padding:8px 12px;border-radius:4px;margin-bottom:16px;font-size:14px;display:flex;align-items:center;gap:8px}.password-field{display:flex;align-items:center}.visibility-toggle{position:absolute;right:8px;background:none;border:none;padding:8px;cursor:pointer;color:var(--google-gray);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.visibility-toggle:hover{background-color:#5f63681a}.register-footer{display:flex;justify-content:space-between;align-items:center;margin-top:40px}@media (max-width: 480px){.register-card{border:none;min-height:100vh;max-width:none;border-radius:0}.register-content{padding:48px 24px 36px}}.chatbot-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.chatbot-page.maximized{padding:0}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;opacity:0;visibility:hidden;transition:all .3s ease;z-index:9}.sidebar-overlay.active{opacity:1;visibility:visible}.container{display:flex;width:100%;max-width:1400px;height:85vh;max-height:900px;position:relative;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden;transition:all .3s ease}.container.maximized{max-width:100%;width:100vw;height:100vh;max-height:100vh;border-radius:0}.chat-main{flex:1;display:flex;flex-direction:column;background:#fff}.chat-header{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:12px 32px;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease;flex-wrap:wrap;gap:12px}.chat-header.collapsed{padding:6px 32px}.chat-header.collapsed h1{font-size:14px}.chat-header.collapsed .header-actions button{padding:6px 16px;font-size:12px}.chat-header h1{font-size:18px;font-weight:600;color:#fff}.header-actions{display:flex;gap:12px;align-items:center}.history-toggle,.maximize-btn{padding:10px 24px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.history-toggle:hover,.maximize-btn:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.chat-messages{flex:1;overflow-y:auto;padding:32px;display:flex;flex-direction:column;gap:20px;background:#f8fafc}.message{display:flex;gap:16px;padding:20px 24px;border-radius:16px;animation:slideIn .3s ease;min-width:0;max-width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{background:#fff;margin-left:48px;border:2px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.message.assistant{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bfdbfe;box-shadow:0 2px 8px #3b82f61a}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.message.user .message-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.message.assistant .message-avatar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.message-content{flex:1;line-height:1.7;color:#1e293b;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;min-width:0;max-width:100%;overflow-x:auto}.message-content>div{max-width:100%;overflow-x:auto}.message-content img{max-width:100%;height:auto;display:block}.message-content pre{max-width:100%;overflow-x:auto}.message-content table{display:block;max-width:100%;overflow-x:auto}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin-top:16px;margin-bottom:8px;font-weight:600;color:#0f172a;max-width:100%;overflow-wrap:break-word}.message-content *,.message-reasoning *{max-width:100%;word-break:break-word;overflow-wrap:break-word;box-sizing:border-box}.message-reasoning{background:#6496ff1a;border:1px solid rgba(100,150,255,.3);border-radius:8px;padding:12px;margin-bottom:12px;font-size:.9em;color:#555;overflow-x:auto;max-width:100%;min-width:0}.message-content h1{font-size:1.8em;border-bottom:2px solid #e2e8f0;padding-bottom:8px}.message-content h2{font-size:1.5em;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.message-content h3{font-size:1.3em}.message-content h4{font-size:1.1em}.message-content ul,.message-content ol{margin-left:24px;margin-bottom:12px}.message-content li{margin-bottom:6px}.message-content a{color:#3b82f6;text-decoration:underline}.message-content a:hover{color:#2563eb}.message-content blockquote{border-left:4px solid #3b82f6;padding-left:16px;margin:12px 0;color:#64748b;font-style:italic}.message-content table{border-collapse:collapse;width:100%;max-width:100%;margin:12px 0;overflow-x:auto;display:block}.message-content th,.message-content td{border:1px solid #e2e8f0;padding:8px 12px;text-align:left}.message-content img{max-width:100%;height:auto;border-radius:8px;margin:12px 0;display:block}.message-content p{margin-bottom:12px}.message-content pre{background:#334155;color:#e2e8f0;padding:16px;border-radius:12px;overflow-x:auto;max-width:100%;margin:12px 0}.message-content code{background:transparent;color:#b9d3fd;padding:3px 8px;border-radius:6px;font-family:Monaco,Courier New,monospace;font-size:14px;font-weight:600}.chat-input-area{padding:24px 32px;background:#fff;border-top:1px solid #e2e8f0}.input-wrapper{display:flex;gap:12px;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:50px;padding:8px 20px;transition:all .3s ease}.input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chat-input{flex:1;border:none;outline:none;font-size:15px;font-family:inherit;resize:none;max-height:200px;color:#334155;line-height:1.5;padding:4px 0;min-height:24px}.chat-input::placeholder{color:#94a3b8}.send-button{padding:12px 28px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:50px;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 14px #3b82f666}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680}.send-button:active{transform:translateY(0)}.send-button:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none}.history-sidebar{width:360px;background:#f8fafc;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease;position:absolute;right:0;top:0;height:100%;z-index:10;box-shadow:-4px 0 20px #0000001a}.history-sidebar.active{transform:translate(0)}.history-header{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:12px 24px;display:flex;justify-content:space-between;align-items:center}.history-header h2{font-size:16px;font-weight:600;color:#fff}.clear-all-btn{padding:8px 16px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease}.clear-all-btn:hover{background:#ffffff4d;transform:scale(1.05)}.history-list{flex:1;overflow-y:auto;padding:16px}.history-item{background:#fff;padding:16px;margin-bottom:12px;border-radius:12px;cursor:pointer;transition:all .3s ease;border:2px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.history-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.history-item-content{flex:1;min-width:0}.history-item-title{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-date{font-size:13px;color:#64748b}.history-item-actions{display:flex;gap:4px}.history-item-btn{width:28px;height:28px;background:#f1f5f9;border:none;border-radius:50%;cursor:pointer;font-size:18px;font-weight:600;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.history-item-btn:hover{background:#fee2e2;transform:scale(1.1)}.history-item-btn.delete{color:#ef4444}.empty-state{text-align:center;padding:64px 24px;color:#64748b}.empty-state svg{width:80px;height:80px;margin:0 auto 24px;opacity:.4;color:#3b82f6}.empty-state p{font-size:16px;font-weight:500}@media (max-width: 768px){.chatbot-page{padding:0}.container{border-radius:0;height:100vh;max-height:none}.chat-messages{padding:20px}.message.user{margin-left:0}.history-sidebar{width:100%}}.message-content table{border-collapse:collapse;width:100%;max-width:100%;margin:12px 0;background:transparent;border-radius:8px;overflow:hidden;box-shadow:0 0 #0000001a;display:block;overflow-x:auto}.message-content thead{background:linear-gradient(135deg,#3b82f6,#2563eb)}.message-content th{padding:12px 16px;text-align:left;font-weight:600;color:#fff;border-bottom:2px solid rgba(255,255,255,.3)}.message-content td{padding:10px 16px;border-bottom:1px solid #e5e7eb;color:#374151}.message-content tr:last-child td{border-bottom:none}.message-content tbody tr:hover{background:#f9fafb}.message-content tbody tr:nth-child(2n){background:#f3f4f6}.message-content tbody tr:nth-child(2n):hover{background:#e5e7eb}.console-app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.console-container{flex:1;display:flex;overflow:hidden;background-color:#f0f2f5}.console-sidebar{width:max-content;min-width:200px;background:#fff;border-right:1px solid #e8e8e8;display:flex;flex-direction:column;overflow:hidden;transition:width .3s cubic-bezier(.2,0,0,1),min-width .3s cubic-bezier(.2,0,0,1)}.console-sidebar.minimized{width:64px;min-width:64px}.sidebar-toggle-container{display:flex;justify-content:flex-end;padding:8px 12px;border-bottom:1px solid #f0f0f0}.console-sidebar.minimized .sidebar-toggle-container{justify-content:center;padding:8px 0}.collapse-btn{background:transparent;border:none;color:#8c8c8c;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.collapse-btn:hover{background:#f0f0f0;color:#333}.console-nav{flex:1;padding:16px 0;display:flex;flex-direction:column;gap:4px}.console-nav-item{display:flex;align-items:center;padding:12px 24px;color:#595959;text-decoration:none;transition:all .3s;gap:12px;font-size:14px;font-weight:500;white-space:nowrap}.console-sidebar.minimized .console-nav-item{padding:12px 0;justify-content:center;gap:0}.nav-text{opacity:1;transition:opacity .2s}.console-sidebar.minimized .nav-text{opacity:0;width:0;overflow:hidden;margin:0}.console-nav-item:hover{background:#f5f5f5;color:#1890ff}.console-nav-item.active{background:#e6f7ff;color:#1890ff;border-right:3px solid #1890ff}.nav-icon{font-size:1.2rem}.console-content{flex:1;overflow-y:auto;position:relative;padding:0}.console-content>div{min-height:100%}.console-content .settings-container-wrapper{background:transparent!important;padding:24px!important}.console-content .settings-card{box-shadow:0 1px 2px #00000008,0 1px 6px -1px #00000005,0 2px 4px #00000005!important}.loading-cell,.empty-cell{text-align:center;padding:40px!important;color:#8c8c8c;font-style:italic}.voucher-table .table-input{width:100%;border:1px solid transparent;background:transparent;padding:4px 8px;border-radius:4px;transition:all .2s}.voucher-table .table-input:focus{border-color:#2563eb;background:#fff;outline:none;box-shadow:0 0 0 2px #2563eb1a}.autocomplete-cell{position:relative}.autocomplete-cell .table-input{padding-right:36px!important}.lookup-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:0 6px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;color:#4b5563;z-index:5;transition:all .2s}.lookup-btn:hover{background:#e5e7eb;color:#111827}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:4px;box-shadow:0 4px 12px #0000001a;z-index:1000;max-height:200px;overflow-y:auto}.dropdown-item{padding:8px 12px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f3f4f6}.dropdown-item:hover{background:#f3f4f6}.dropdown-item small{color:#6b7280;margin-left:8px}.total-row td{font-weight:700;background:#f9fafb!important}.icon-btn.delete{color:#ef4444;background:transparent;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px}.icon-btn.delete:hover{background:#fee2e2}.amount-text{font-family:Courier New,Courier,monospace;font-weight:700;color:#2563eb;font-size:1.1em}.console-panel{padding:24px;background:#fff;min-height:100%}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.panel-header h2{margin:0;font-size:20px;color:#1f2937;font-weight:600}.compact-panel-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:12px;padding-bottom:4px;margin-bottom:8px;border-bottom:1px solid #f0f0f0}.compact-panel-header h2{margin:0;font-size:18px;color:#1f2937;font-weight:600}.filter-row{display:flex;flex-direction:row!important;align-items:center;gap:4px;margin-bottom:0}.filter-row input{padding:2px 4px;font-size:13px;border:1px solid #d1d5db;border-radius:4px}.filter-row button{padding:2px 8px;font-size:13px}.filter-bar{display:flex;gap:16px;margin-bottom:20px;background:#f9fafb;padding:16px;border-radius:8px;align-items:flex-end;flex-wrap:wrap}.filter-item{display:flex;flex-direction:column;gap:8px}.filter-item label{font-size:13px;color:#6b7280;font-weight:500}.filter-item input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s;background:#fff}.filter-item input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.search-box{flex:1;min-width:200px;flex-direction:row;align-items:flex-end}.search-box input{flex:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content{background:#fff;padding:24px;border-radius:12px;width:90%;max-width:400px;box-shadow:0 10px 25px #0003;animation:modal-appear .2s ease-out}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header h3{margin:0 0 16px;font-size:1.25rem;color:#111827}.modal-body p{margin:0 0 24px;color:#4b5563;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:12px}.modal-footer button{padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#f3f4f6;border:1px solid #e5e7eb;color:#4b5563}.btn-cancel:hover{background:#e5e7eb}.btn-confirm{background:#2563eb;border:1px solid #2563eb;color:#fff}.btn-confirm:hover{background:#1d4ed8}.data-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.data-table.compact-table{font-size:13px}.data-table th{background:#f8fafc;padding:12px 16px;font-weight:600;color:#4b5563;border-bottom:1px solid #e5e7eb;white-space:nowrap}.data-table.compact-table th{padding:6px 8px}.data-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;color:#374151;vertical-align:middle}.data-table.compact-table td{padding:4px 8px}.data-table tr:hover{background:#f8fafc}.data-table tr:last-child td{border-bottom:none}.amount-col{text-align:right;font-family:JetBrains Mono,Courier New,monospace;font-weight:500}.status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.status-badge.completed{background:#ecfdf5;color:#059669;border:1px solid #10b98133}.status-badge.failed{background:#fef2f2;color:#dc2626;border:1px solid #ef444433}.primary-btn{background:#3b82f6;color:#fff;padding:8px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.primary-btn:hover{background:#2563eb}.secondary-btn{background:#fff;color:#374151;padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.secondary-btn:hover{background:#f9fafb;border-color:#9ca3af}.text-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-weight:500;padding:4px 8px;border-radius:4px}.text-btn:hover{background:#eff6ff;text-decoration:underline}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px;border-top:1px solid #f0f0f0}.pagination button{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:4px;cursor:pointer;font-size:14px}.pagination button:disabled{opacity:.5;cursor:not-allowed;background:#f3f4f6}.pagination button:not(:disabled):hover{border-color:#3b82f6;color:#3b82f6}.pagination span{font-size:14px;color:#6b7280}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px;background:#f9fafb;padding:20px;border-radius:8px;border:1px solid #e5e7eb}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.info-item p{margin:0;font-size:16px;color:#111827;font-weight:500}.info-item .amount-text{font-size:18px;color:#2563eb}.navigation-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.navigation-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden;width:100%;max-width:900px}.navigation-header{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:24px 32px;display:flex;justify-content:space-between;align-items:center}.navigation-header h1{font-size:22px;font-weight:600}.user-section{display:flex;align-items:center;gap:16px}.user-name{font-size:15px;font-weight:500}.logout-btn{padding:8px 20px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.logout-btn:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.navigation-content{padding:48px 40px;background:#f8fafc}.welcome-title{color:#1e293b;font-size:32px;font-weight:700;text-align:center;margin-bottom:12px}.welcome-subtitle{color:#64748b;font-size:16px;text-align:center;margin-bottom:48px}.navigation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.nav-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:32px 24px;cursor:pointer;transition:all .3s ease;text-align:center}.nav-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626;transform:translateY(-4px)}.nav-card-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px #3b82f666}.nav-card:hover .nav-card-icon{box-shadow:0 6px 20px #3b82f680;transform:scale(1.05)}.nav-card-title{font-size:20px;font-weight:600;color:#1e293b;margin-bottom:12px}.nav-card-description{font-size:14px;color:#64748b;line-height:1.6}@media (max-width: 768px){.navigation-content{padding:36px 28px}.welcome-title{font-size:28px}.navigation-grid{grid-template-columns:1fr}.navigation-header{flex-direction:column;gap:12px;text-align:center}.user-section{flex-direction:column;gap:8px}}:root{--google-blue: #1a73e8;--google-blue-hover: #1557b0;--google-gray: #5f6368;--google-light-gray: #dadce0;--google-error: #d93025;--google-error-bg: #fce8e6;--alipay-blue: #1677ff;--wechat-green: #07c160}.yizhifu-pay-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:#f8f9fa;font-family:Roboto,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px}.yizhifu-pay-card{background:#fff;border:1px solid var(--google-light-gray);border-radius:8px;width:100%;max-width:450px;min-height:500px;display:flex;flex-direction:column;box-sizing:border-box}.yizhifu-pay-content{padding:48px 40px 36px;flex-grow:1;display:flex;flex-direction:column}.yizhifu-header{text-align:center;margin-bottom:32px}.logo-placeholder{margin-bottom:12px;display:flex;justify-content:center;align-items:center}.logo-text{font-size:24px;font-weight:500;letter-spacing:-.5px;color:var(--google-blue)}.yizhifu-header h1{font-size:24px;font-weight:400;margin:0;color:#202124}.yizhifu-header .subtitle{font-size:16px;color:#202124;margin:8px 0 0}.yizhifu-body{flex-grow:1}.amount-options{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.amount-option{padding:12px 20px;border:1px solid var(--google-light-gray);border-radius:4px;background:#fff;cursor:pointer;font-size:14px;color:var(--google-gray);transition:all .2s}.amount-option:hover{border-color:var(--google-blue);color:var(--google-blue)}.amount-option.selected{border-color:var(--google-blue);background:#e8f0fe;color:var(--google-blue)}.input-group{margin-bottom:24px}.input-field{position:relative;height:56px;width:100%}.input-field input{width:100%;height:100%;padding:13px 15px;font-size:16px;border:1px solid var(--google-light-gray);border-radius:4px;background:transparent;outline:none;box-sizing:border-box;transition:border-color .2s;color:#202124}.input-field label{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:#fff;padding:0 4px;color:var(--google-gray);font-size:16px;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.input-field input:focus{border:2px solid var(--google-blue)}.input-field input:focus+label,.input-field input.has-value+label{top:0;font-size:12px;color:var(--google-blue)}.input-field input:not(:focus).has-value+label{color:var(--google-gray)}.input-field input:disabled{background:#f5f5f5;cursor:not-allowed}.pay-type-selector{display:flex;gap:12px;margin-bottom:32px}.pay-type-btn{flex:1;padding:16px;border:1px solid var(--google-light-gray);border-radius:4px;background:#fff;cursor:pointer;transition:all .2s;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--google-gray)}.pay-type-btn:hover:not(:disabled){border-color:var(--google-blue)}.pay-type-btn:disabled{cursor:not-allowed;opacity:.6}.pay-type-btn.active{border:2px solid var(--google-blue);background:#e8f0fe;color:var(--google-blue)}.pay-type-btn.active.alipay{border-color:var(--alipay-blue);background:#e6f4ff;color:var(--alipay-blue)}.pay-type-btn.active.wxpay{border-color:var(--wechat-green);background:#f0f9eb;color:var(--wechat-green)}.pay-icon{font-size:18px}.yizhifu-footer{display:flex;justify-content:space-between;align-items:center;margin-top:32px}.primary-button{background-color:var(--google-blue);color:#fff;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:background-color .2s,box-shadow .2s}.primary-button:hover:not(:disabled){background-color:var(--google-blue-hover);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.primary-button:disabled{background-color:#ccc;cursor:not-allowed}.secondary-button{background:none;border:none;color:var(--google-blue);font-size:14px;font-weight:500;cursor:pointer;padding:8px 0;transition:color .2s}.secondary-button:hover{color:var(--google-blue-hover)}.qr-code-section,.qrcode-section{text-align:center}.qr-code-section h3,.qrcode-section h3{font-size:20px;font-weight:400;color:#202124;margin-bottom:24px}.qrcode-container{display:inline-block;padding:16px;background:#fff;border:1px solid var(--google-light-gray);border-radius:8px;margin-bottom:20px}.qrcode-image{width:250px;height:250px;display:block}.qrcode-placeholder{width:250px;height:250px;display:flex;align-items:center;justify-content:center;color:var(--google-gray);font-size:14px}.qrcode-tip{color:var(--google-blue);font-size:16px;font-weight:500;margin:16px 0}.qrcode-footer{display:flex;justify-content:center;margin-top:24px}.order-info{background:#f8f9fa;padding:16px;border-radius:4px;margin-bottom:20px}.order-info p{margin:8px 0;font-size:14px;color:var(--google-gray)}.order-info .label{color:#202124;font-weight:500}.status-indicator{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--google-blue);margin-bottom:20px}.spinner{width:20px;height:20px;border:2px solid var(--google-blue);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.result-section{text-align:center}.result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 24px}.result-section.success .result-icon{background:#e6f4ea;color:#1e8e3e;border:2px solid #81c995}.result-section.failed .result-icon{background:var(--google-error-bg);color:var(--google-error);border:2px solid #f28b82}.result-section h3{font-size:24px;font-weight:400;margin-bottom:16px;color:#202124}.result-amount{font-size:32px;font-weight:500;color:#202124;margin-bottom:8px}.result-desc{color:var(--google-gray);margin-bottom:24px}.result-tip{color:var(--google-gray);font-size:14px;margin-bottom:24px}.new-order-btn,.retry-btn{padding:10px 24px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.new-order-btn{background:#1e8e3e;color:#fff;border:none}.new-order-btn:hover{background:#188038;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.retry-btn{background:var(--google-blue);color:#fff;border:none}.retry-btn:hover{background:var(--google-blue-hover);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.cancel-btn{background:none;border:1px solid var(--google-light-gray);color:var(--google-gray);padding:10px 24px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn:hover{border-color:var(--google-blue);color:var(--google-blue)}.redirecting-section{text-align:center;padding:20px 0}.redirecting-section h3{font-size:20px;font-weight:400;color:#202124;margin:24px 0 16px}.redirecting-section .spinner{margin:0 auto}.redirect-tip{color:var(--google-gray);font-size:14px;margin:16px 0}.checking-section{text-align:center;padding:60px 20px}.checking-section h3{font-size:20px;font-weight:400;color:#202124;margin:24px 0 16px}.checking-section .spinner{margin:0 auto}.checking-section .tip{color:var(--google-gray);font-size:14px}.result-section.checking{text-align:center;padding:40px 0}.result-section.checking .spinner{margin:0 auto 24px}.result-section.checking h3{font-size:20px;font-weight:400;color:#202124;margin-bottom:16px}.success-tip{color:#1e8e3e;font-size:14px;margin:16px 0 24px;padding:12px;background:#e6f4ea;border-radius:4px}@media (max-width: 480px){.yizhifu-pay-card{border:none;min-height:100vh;max-width:none;border-radius:0}.yizhifu-pay-content{padding:48px 24px 36px}.amount-options{gap:6px}.amount-option{padding:10px 16px;font-size:13px}}.google-surface{background:#fff;border-radius:28px;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;border:none;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.google-surface.loading{transform:translateY(-4px);box-shadow:0 8px 16px #3c404326,0 4px 12px 4px #3c40431a}.google-progress-container{width:100%;height:4px;background:#e9eef6;border-radius:2px;overflow:hidden;position:relative}.google-progress-bar{height:100%;background:#0b57d0;transition:width .4s cubic-bezier(.4,0,.2,1)}.google-progress-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ai-pulse-dot{width:8px;height:8px;background:#0b57d0;border-radius:50%;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.loading-text-stage{font-size:14px;font-weight:500;color:#444746;animation:fadeInOut 2s infinite ease-in-out}@keyframes fadeInOut{0%,to{opacity:.7}50%{opacity:1}}.google-input{border:1px solid #747775;border-radius:12px;background-color:#fff;transition:all .2s ease;color:#444746;padding:8px}.google-input:focus{border-color:#0b57d0;border-width:2px;outline:none}.google-btn-primary{background-color:#0b57d0;color:#fff;border-radius:100px;font-weight:500;padding:12px 24px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer}.google-btn-primary:hover{background-color:#0842a0;box-shadow:0 1px 3px #0000004d}.google-btn-primary:disabled{background-color:#e0e0e0;color:#9e9e9e;cursor:not-allowed;box-shadow:none}.google-btn-secondary{background-color:transparent;color:#444746;border-radius:100px;font-weight:500;padding:10px 24px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer}.google-btn-secondary:hover{background-color:#44474614}body:has(.nr-builder-container){overflow:hidden!important}.nr-builder-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f0f4f9;color:#1f1f1f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;display:flex;flex-direction:column;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-16{padding:4rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-16{padding-left:4rem;padding-right:4rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-1\.5{padding-right:.375rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.m-1{margin:.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-auto{margin-top:auto}.ml-1{margin-left:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.w-2{width:.5rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-32{width:8rem}.w-64{width:16rem}.w-72{width:18rem}.w-px{width:1px}.w-full{width:100%}.max-w-3xl{max-width:48rem}.h-2{height:.5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-64{height:16rem}.h-full{height:100%}.min-h-0{min-height:0}.min-w-0{min-width:0}.aspect-video{aspect-ratio:16 / 9}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.bg-white{background-color:#fff}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-white\/80{background-color:#fffc}.bg-blue-50\/50{background-color:#eff6ff80}.bg-blue-100{background-color:#dbeafe}.bg-blue-600{background-color:#0b57d0}.bg-green-100{background-color:#dcfce7}.bg-green-500{background-color:#22c55e}.bg-red-100{background-color:#fee2e2}.bg-red-500{background-color:#ef4444}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-gray-200\/50{background-color:#e5e7eb80}.bg-gray-300{background-color:#d1d5db}.bg-gray-300\/20{background-color:#d1d5db33}.bg-slate-900{background-color:#0f172a}.bg-vibrant-gradient{background:linear-gradient(135deg,#fb923c,#ec4899)}.bg-black\/80{background-color:#000c}.bg-transparent{background-color:transparent}.bg-\[\#f0f4f9\]{background-color:#f0f4f9}.bg-\[\#f0f4f9\]\/80{background-color:#f0f4f9cc}.bg-\[\#e9eef6\]{background-color:#e9eef6}.bg-\[\#f8fafd\]{background-color:#f8fafd}.border{border:1px solid #e5e7eb}.border-b{border-bottom:1px solid #e5e7eb}.border-b-2{border-bottom:2px solid #e5e7eb}.border-r{border-right:1px solid #e5e7eb}.border-l{border-left:1px solid #e5e7eb}.border-t{border-top:1px solid #e5e7eb}.border-gray-50{border-color:#f9fafb}.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-200\/30{border-color:#e5e7eb4d}.border-gray-200\/50{border-color:#e5e7eb80}.border-blue-100\/50{border-color:#dbeafe80}.border-blue-300{border-color:#93c5fd}.border-blue-600{border-color:#0b57d0}.border-transparent{border-color:transparent}.text-xs{font-size:.75rem}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-7xl{font-size:4.5rem}.font-medium{font-weight:500}.font-bold{font-weight:700}.font-black{font-weight:900}.text-white{color:#fff}.text-blue-400{color:#60a5fa}.text-blue-600{color:#0b57d0}.text-green-600{color:#16a34a}.text-green-700{color:#15803d}.text-red-600{color:#dc2626}.text-gray-400{color:#9ca3af}.text-gray-600{color:#4b5563}.text-\[\#1f1f1f\]{color:#1f1f1f}.text-\[\#444746\]{color:#444746}.text-\[\#444746\]\/60{color:#44474699}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.leading-none{leading:1}.leading-relaxed{leading:1.625}.leading-\[1\.1\]{leading:1.1}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shadow-blue-200{box-shadow:0 10px 15px -3px #bfdbfe80}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.opacity-100{opacity:1}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.top-8{top:2rem}.left-8{left:2rem}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.cursor-default{cursor:default}.cursor-crosshair{cursor:crosshair}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transition,.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-card{background:#fff;border-radius:20px;border:1px solid transparent}.page-card:hover{background:#f8fafd;box-shadow:0 4px 6px -1px #0000001a}.page-card.active{background:#e7f0ff;border-color:#0b57d0}.page-card .hover-btn{opacity:0;transition:all .2s}.page-card:hover .hover-btn,.page-card .hover-btn.visible{opacity:1}.sortable-ghost{opacity:.3;background:#e7f0ff!important;border:2px dashed #0b57d0!important}.sortable-chosen{background:#f8fafd;box-shadow:0 10px 15px -3px #0000001a}.tooltip{position:relative}.tooltip .tooltip-text{visibility:hidden;background-color:#444746;color:#fff;text-align:center;border-radius:6px;padding:4px 8px;position:absolute;z-index:100;bottom:125%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;font-size:11px;font-weight:400;white-space:nowrap}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}.annotation-group:hover .resize-handle{opacity:1}.resize-handle{opacity:0;transition:opacity .2s;cursor:nwse-resize;fill:#0b57d0;stroke:#fff;stroke-width:1}.stamp-item{position:absolute;border:2px solid transparent}.stamp-item:hover{border-color:#0b57d0}.stamp-item.active{border-color:#0b57d0;box-shadow:0 10px 15px -3px #0000001a;z-index:30}.white-space-pre{white-space:pre}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#f0f2f5;color:#333}.app{height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #00000026}.app-header h1{font-size:20px;font-weight:600}.header-actions{display:flex;align-items:center;gap:16px}.user-info{font-size:14px}.app-content{flex:1;display:flex;overflow:hidden}.loading-screen{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px}.spinner{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:#1890ff;border-radius:50%;animation:spin 1s linear infinite}.sidebar{width:360px;background:#fff;border-right:1px solid #e8e8e8;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:20px;border-bottom:1px solid #e8e8e8}.sidebar-header h2{font-size:18px;margin-bottom:16px;color:#262626}.btn-upload{width:50%;padding:10px 16px;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .3s}.btn-upload:hover{background:#40a9ff}.btn-upload:active{background:#096dd9}.search-box{padding:16px 20px;border-bottom:1px solid #e8e8e8;display:flex;gap:8px;flex:0}.search-input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:border-color .3s}.my-auto{margin:0 auto}.search-input:focus{border-color:#1890ff}.btn-refresh{padding:8px 12px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;transition:all .3s}.btn-refresh:hover{border-color:#1890ff;color:#1890ff}.document-list{flex:1;overflow-y:auto;padding:8px}.document-item{display:flex;align-items:flex-start;padding:12px;margin-bottom:8px;border-radius:6px;cursor:pointer;transition:background .2s;border:1px solid transparent}.document-item:hover{background:#f5f5f5}.document-item.selected{background:#e6f7ff;border-color:#1890ff}.doc-icon{font-size:32px;margin-right:12px}.doc-info{flex:1;min-width:0}.doc-name{font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#262626}.doc-meta{font-size:12px;color:#8c8c8c;margin-bottom:4px;display:flex;gap:12px}.doc-status{margin-top:4px}.processing-duration{font-size:11px;font-weight:500;white-space:nowrap;animation:pulse 2s ease-in-out infinite}.processing-duration.timeout{color:#f5222d!important;animation:pulse-warning 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.doc-status .status-processing{position:relative;padding-left:18px}.doc-status .status-processing:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:10px;height:10px;border:2px solid #faad14;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.sidebar-footer{padding:12px 20px;border-top:1px solid #e8e8e8;font-size:12px;color:#8c8c8c}.doc-count{text-align:center;margin-bottom:12px}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:12px}.pagination-btn{padding:4px 8px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;color:#262626;transition:all .3s;min-width:28px;height:28px}.pagination-btn:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;color:#bfbfbf}.page-numbers{display:flex;gap:4px;align-items:center}.page-number{padding:4px 8px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;font-size:12px;color:#262626;transition:all .3s;min-width:28px;height:28px}.page-number:hover{border-color:#1890ff;color:#1890ff}.page-number.active{background:#1890ff;border-color:#1890ff;color:#fff;font-weight:500}.page-ellipsis{padding:4px;color:#8c8c8c;font-size:12px}.empty-state{padding:60px 20px;text-align:center;color:#8c8c8c}.document-preview{flex:1;background:#fff;display:flex;flex-direction:column;overflow:hidden}.document-preview.empty{justify-content:center;align-items:center}.empty-preview{text-align:center;color:#8c8c8c}.empty-preview h3{font-size:20px;margin-bottom:8px;color:#595959}.preview-header{padding:20px 24px;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;align-items:center}.preview-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.preview-icon{font-size:32px}.preview-title h3{font-size:18px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-actions{display:flex;gap:8px}.btn-action{padding:8px 16px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.btn-action:hover{border-color:#1890ff;color:#1890ff}.btn-action.btn-danger:hover{border-color:#ff4d4f;color:#ff4d4f}.btn-action:disabled{opacity:.5;cursor:not-allowed}.preview-content{flex:1;overflow-y:auto;padding:24px}.document-info-card{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:20px;margin-bottom:24px}.document-info-card h4{font-size:16px;margin-bottom:16px;color:#262626}.info-table{width:100%;border-collapse:collapse}.info-table td{padding:8px 0;font-size:14px}.info-table td.label{width:100px;color:#8c8c8c;font-weight:500}.processing-indicator,.error-indicator{text-align:center;padding:40px;background:#fafafa;border-radius:8px;margin-bottom:24px}.processing-indicator .spinner{margin:0 auto 16px}.error-indicator{background:#fff1f0;border:1px solid #ffa39e}.error-message{margin-top:8px;color:#cf1322;font-size:13px}.pdf-preview-container{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:40px;text-align:center;margin-bottom:24px}.pdf-notice p{margin-bottom:8px;color:#595959}.document-content{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:20px}.document-content h4{font-size:16px;margin-bottom:12px;color:#262626}.content-text{font-size:14px;line-height:1.8;color:#595959;white-space:pre-wrap;font-family:Courier New,monospace}.modal{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:90%;max-height:90%;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:16px 24px;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid #e8e8e8;display:flex;justify-content:flex-end;gap:12px}.btn-primary{background-color:#1890ff;color:#fff;border:1px solid #1890ff;border-radius:4px;padding:6px 16px;cursor:pointer}.btn-primary:hover{background-color:#40a9ff;border-color:#40a9ff}.btn-secondary{background-color:#fff;color:#000000a6;border:1px solid #d9d9d9;border-radius:4px;padding:6px 16px;cursor:pointer}.btn-secondary:hover{background-color:#f5f5f5;border-color:#40a9ff;color:#40a9ff}.permissions-table{width:100%;border-collapse:collapse}.permissions-table th,.permissions-table td{padding:12px 8px;text-align:left;border-bottom:1px solid #e8e8e8}.permissions-table th{background-color:#fafafa;font-weight:500}.permissions-table td:first-child{font-weight:500}.permissions-table input[type=checkbox]{margin:0;vertical-align:middle}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#1890ff;border-radius:50%;width:32px;height:32px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8c8c8c}@media (max-width: 768px){.sidebar{width:100%;max-width:300px}.app-header h1{font-size:16px}.modal-content{width:95%;max-height:90vh}}.role-manager{padding:20px}.role-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.role-manager-header h2{margin:0}.role-manager-actions button{margin-left:10px;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;background-color:#007bff;color:#fff}.role-manager-actions button:hover{background-color:#0056b3}.role-manager-content{display:flex;gap:20px;height:calc(100vh - 150px)}.role-tree-container{flex:1;border:1px solid #ddd;border-radius:4px;overflow:hidden}.role-details-container{flex:2;border:1px solid #ddd;border-radius:4px;padding:20px;overflow-y:auto}.role-tree{height:100%;display:flex;flex-direction:column}.tree-header{padding:10px;border-bottom:1px solid #eee;background-color:#f8f9fa}.tree-content{flex:1;overflow-y:auto}.tree-level{list-style:none;padding:0;margin:0}.tree-node{border-bottom:1px solid #eee}.tree-node:last-child{border-bottom:none}.tree-node-content{padding:10px;cursor:pointer;display:flex;align-items:center}.tree-node-content:hover{background-color:#f8f9fa}.tree-node.selected .tree-node-content{background-color:#007bff;color:#fff}.tree-toggle{margin-right:5px;width:20px;text-align:center;cursor:pointer}.tree-toggle-placeholder{display:inline-block;width:20px}.tree-node-name{flex:1}.sys-role-tag{background-color:#ffc107;color:#212529;padding:2px 6px;border-radius:4px;font-size:.8em;margin-left:10px}.role-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.role-status{padding:4px 8px;border-radius:4px;font-weight:700}.role-status.active{background-color:#28a745;color:#fff}.role-status.abolished{background-color:#dc3545;color:#fff}.role-property{display:flex;margin-bottom:15px}.role-property label{font-weight:700;width:120px;margin-right:10px}.role-permissions,.role-users{margin-top:30px}.role-permissions h4,.role-users h4{margin-top:0;border-bottom:1px solid #eee;padding-bottom:5px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:4px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#aaa}.close-button:hover{color:#000}.form-group{margin-bottom:20px;padding:0 20px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:#dc3545}.error-message{color:#dc3545;font-size:.875em;margin-top:5px;display:block}.form-actions{display:flex;justify-content:flex-end;padding:20px;border-top:1px solid #eee;gap:10px}.form-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.form-actions .secondary{background-color:#6c757d;color:#fff}.form-actions .secondary:hover{background-color:#5a6268}.form-actions .primary{background-color:#007bff;color:#fff}.form-actions .primary:hover{background-color:#0056b3}.no-selection{display:flex;justify-content:center;align-items:center;height:100%;color:#6c757d;font-style:italic}
