@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--page-bg: #f8f9fa;--container-bg: #ffffff;--header-bg: var(--container-bg);--messages-bg: var(--container-bg);--input-bg: var(--container-bg);--border-color: #dee2e6;--text-primary: #212529;--text-secondary: #6c757d;--user-bubble-bg: #0d6efd;--bot-bubble-bg: #e7f5e7;--button-primary-bg: var(--user-bubble-bg);--button-primary-hover-bg: #0b5ed7;--button-secondary-bg: #e9ecef;--button-secondary-hover-bg: #dee2e6;--button-disabled-bg: #cfe2ff;--button-disabled-text: #6c757d;--suggestion-text: var(--user-bubble-bg);--suggestion-bg: #ffffff;--suggestion-border: #ced4da;--suggestion-hover-bg: #f8f9fa;--shadow-color: rgba(0, 0, 0, .08);--input-border-color: #ced4da;--input-focus-border-color: var(--user-bubble-bg);--input-focus-shadow: rgba(13, 110, 253, .2);--image-preview-bg: #e9ecef;--remove-button-bg: #dc3545;--remove-button-hover-bg: #bb2d3b;--beta-overlay-bg: rgba(0, 0, 0, .6);--beta-modal-bg: #ffffff;--beta-text-color: #333;--beta-heading-color: #dc3545;--beta-button-bg: var(--user-bubble-bg);--beta-button-hover-bg: var(--button-primary-hover-bg);--beta-button-text: #ffffff;--mic-recording-bg: #dc3545;--mic-recording-hover-bg: #bb2d3b;--settings-menu-bg: var(--container-bg);--settings-menu-border: var(--border-color);--settings-menu-shadow: var(--shadow-color);--settings-label-text: var(--text-secondary);--settings-select-bg: var(--container-bg);--settings-select-border: var(--input-border-color);--settings-clear-bg: #fdecea;--settings-clear-text: #c82333;--settings-clear-border: #f5c6cb;--settings-clear-hover-bg: #f8d7da;--settings-clear-hover-border: #f1b0b7;--settings-close-bg: var(--button-secondary-bg);--settings-close-text: var(--text-primary);--settings-close-hover-bg: var(--button-secondary-hover-bg);--settings-export-bg: #e0f2fe;--settings-export-text: #0c5464;--settings-export-border: #bee5eb;--settings-export-hover-bg: #c1e8ff;--settings-export-hover-border: #a6d9f5;--key-valid-color: #198754;--key-invalid-color: var(--remove-button-bg);--settings-staff-bg: #f8f9fa;--settings-staff-text: #495057;--settings-staff-border: #dee2e6;--settings-staff-hover-bg: #e9ecef;--settings-staff-hover-border: #ced4da;--button-yellow-bg: #ffc107;--button-yellow-text: #212529;--button-yellow-border: #ffc107;--button-yellow-hover-bg: #ffca2c;--button-yellow-hover-border: #ffc107;--button-yellow-disabled-bg: #fff3cd;--button-yellow-disabled-text: #664d03;--button-yellow-disabled-border: #ffeeba;--button-green-bg: #198754;--button-green-text: #ffffff;--button-green-border: #198754;--button-green-hover-bg: #157347;--button-green-hover-border: #146c43;--button-green-disabled-bg: #badbcc;--button-green-disabled-text: #05513e;--button-green-disabled-border: #a3cfbb;--code-bg: #f1f1f1;--code-text: #333;--code-block-bg: #f8f9fa;--code-block-text: #212529;--code-block-border: var(--border-color);--button-disabled-border: #cccccc;--welcome-bg: #0000FF;--welcome-text-primary: #ffffff;--welcome-text-secondary: #ADD8E6;--welcome-button-bg: #00FF00;--welcome-button-text: #ffffff;--welcome-button-hover-bg: #00CC00;--welcome-link-color: #ADD8E6;--knowledge-modal-bg: #ffffff;--knowledge-text: #212529;--knowledge-button-yes-bg: #28a745;--knowledge-button-yes-hover-bg: #218838;--knowledge-button-no-bg: #dc3545;--knowledge-button-no-hover-bg: #c82333;--knowledge-button-text: #ffffff;--lie-detector-overlay-bg: rgba(0, 0, 0, .8);--tutorial-modal-bg: #ffffff;--tutorial-text: #212529;--tutorial-link-color: #007bff;--tutorial-link-hover-color: #0056b3}:root[data-theme=dark]{--page-bg: #1a1a1a;--container-bg: #242424;--header-bg: #242424;--messages-bg: #242424;--input-bg: #242424;--border-color: #404040;--text-primary: #e0e0e0;--text-secondary: #aaaaaa;--user-bubble-bg: #3a7fe8;--bot-bubble-bg: #303030;--button-primary-bg: var(--user-bubble-bg);--button-primary-hover-bg: #5f95e6;--button-secondary-bg: #3a3a3a;--button-secondary-hover-bg: #4f4f4f;--button-disabled-bg: #2a2a2a;--button-disabled-text: #707070;--suggestion-text: #a8c7fa;--suggestion-bg: #2f3136;--suggestion-border: #44474a;--suggestion-hover-bg: #3b3e44;--shadow-color: rgba(0, 0, 0, .5);--input-border-color: #4a4a4a;--input-focus-border-color: var(--user-bubble-bg);--input-focus-shadow: rgba(58, 127, 232, .3);--image-preview-bg: #2f2f2f;--remove-button-bg: #dc3545;--remove-button-hover-bg: #bb2d3b;--beta-overlay-bg: rgba(0, 0, 0, .7);--beta-modal-bg: #2c2c2c;--beta-text-color: #cccccc;--beta-heading-color: #dc3545;--beta-button-bg: var(--user-bubble-bg);--beta-button-hover-bg: var(--button-primary-hover-bg);--beta-button-text: #ffffff;--mic-recording-bg: #dc3545;--mic-recording-hover-bg: #bb2d3b;--settings-menu-bg: #2a2a2a;--settings-menu-border: #444;--settings-label-text: #b0b0b0;--settings-select-bg: #333333;--settings-select-border: #555;--settings-clear-bg: #4d2d30;--settings-clear-text: #f5c6cb;--settings-clear-border: #8d424a;--settings-clear-hover-bg: #60373b;--settings-clear-hover-border: #a15b63;--settings-close-bg: var(--button-secondary-bg);--settings-close-text: var(--text-primary);--settings-close-hover-bg: var(--button-secondary-hover-bg);--settings-export-bg: #2a4a5e;--settings-export-text: #bee5eb;--settings-export-border: #4a6f8a;--settings-export-hover-bg: #3a5f7a;--settings-export-hover-border: #5a8fb0;--key-valid-color: #63c77d;--key-invalid-color: #f07178;--settings-staff-bg: #303030;--settings-staff-text: #c0c0c0;--settings-staff-border: #505050;--settings-staff-hover-bg: #404040;--settings-staff-hover-border: #606060;--button-yellow-bg: #e9b400;--button-yellow-text: #1a1a1a;--button-yellow-border: #e9b400;--button-yellow-hover-bg: #f5c518;--button-yellow-hover-border: #e9b400;--button-yellow-disabled-bg: #4d401a;--button-yellow-disabled-text: #ab985a;--button-yellow-disabled-border: #6b5a23;--button-green-bg: #2aaa7a;--button-green-text: #ffffff;--button-green-border: #2aaa7a;--button-green-hover-bg: #3bba8a;--button-green-hover-border: #2aaa7a;--button-green-disabled-bg: #1c3c30;--button-green-disabled-text: #63c77d;--button-green-disabled-border: #2b6a4f;--code-bg: #282c34;--code-text: #abb2bf;--code-block-bg: #21252b;--code-block-text: #abb2bf;--code-block-border: #383838;--button-disabled-border: #404040;--welcome-bg: #00008B;--welcome-text-primary: #E0E0E0;--welcome-text-secondary: #B0C4DE;--welcome-button-bg: #008000;--welcome-button-text: #ffffff;--welcome-button-hover-bg: #006400;--welcome-link-color: #B0C4DE;--knowledge-modal-bg: #2c2c2c;--knowledge-text: #e0e0e0;--knowledge-button-yes-bg: #1e7e34;--knowledge-button-yes-hover-bg: #19692c;--knowledge-button-no-bg: #bb2d3b;--knowledge-button-no-hover-bg: #a71d2a;--knowledge-button-text: #ffffff;--lie-detector-overlay-bg: rgba(0, 0, 0, .9);--tutorial-modal-bg: #2c2c2c;--tutorial-text: #e0e0e0;--tutorial-link-color: #6daff7;--tutorial-link-hover-color: #92c1f9}html,body,#root{height:100%;margin:0;padding:0;font-family:Inter,sans-serif;background-color:var(--page-bg);overflow:hidden;color:var(--text-primary);transition:background-color .3s ease,color .3s ease}button,input,select,textarea{font-family:inherit;color:inherit;background-color:transparent;box-sizing:border-box}.App{display:flex;flex-direction:column;height:100vh;overflow:hidden}.App,.App-header,.chatbot-container,.chatbot-input-area,.settings-menu,.staff-panel-modal,.feedback-modal,.analysis-form-modal,input,select,textarea,button,.message,.welcome-modal,.knowledge-check-modal,.tutorial-modal{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.message.user,.message.bot{transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}*{scrollbar-width:thin;scrollbar-color:var(--text-secondary) transparent}.App-header{padding:10px 15px;background-color:var(--header-bg);border-bottom:1px solid var(--border-color);text-align:center;flex-shrink:0;box-shadow:0 1px 3px var(--shadow-color);display:flex;justify-content:space-between;align-items:center;position:relative;box-sizing:border-box;z-index:10;min-height:50px}.App-header h1{margin:0;font-size:1.15em;font-weight:600;color:var(--text-primary);white-space:nowrap;flex-grow:1;text-align:center}.settings-button{background:none;border:none;padding:5px;font-size:22px;cursor:pointer;color:var(--text-secondary);opacity:.9;transition:opacity .2s ease;line-height:1;flex-shrink:0}.settings-button:hover{opacity:1;color:var(--text-primary)}.header-spacer-right{width:69px;flex-shrink:0}.settings-menu{position:fixed;top:55px;left:15px;background-color:var(--settings-menu-bg);border:1px solid var(--settings-menu-border);border-radius:8px;padding:20px;box-shadow:0 5px 15px var(--settings-menu-shadow);z-index:1000;width:max-content;max-width:700px;display:flex;flex-direction:column;max-height:calc(100vh - 70px);overflow-y:auto}.settings-menu h3{text-align:center;font-size:1.1em;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:15px;flex-shrink:0}.settings-menu .settings-column{display:flex;flex-direction:column;gap:20px;align-items:stretch;margin-bottom:15px}.model-builder-trigger-button{background-color:var(--button-green-bg);color:var(--button-green-text);border:1px solid var(--button-green-border)}.model-builder-trigger-button:hover:not(:disabled){background-color:var(--button-green-hover-bg);border-color:var(--button-green-hover-border);color:var(--button-green-text)}.model-builder-trigger-button:disabled{background-color:var(--button-green-disabled-bg)!important;color:var(--button-green-disabled-text)!important;border-color:var(--button-green-disabled-border)!important;cursor:not-allowed;opacity:.7}.model-builder-trigger-button:disabled:hover{background-color:var(--button-green-disabled-bg)!important;border-color:var(--button-green-disabled-border)!important;opacity:.7}.settings-option{display:flex;flex-direction:column;gap:6px}.settings-option label{font-weight:500;font-size:.85em;color:var(--settings-label-text);margin-bottom:2px}.settings-helper-text{font-size:.8em;color:var(--text-secondary);margin-top:5px;margin-bottom:0;line-height:1.4}.settings-key-status{font-size:.8em;margin-top:6px;height:1.2em;font-weight:500}.key-loading{font-style:italic;color:var(--text-secondary)}.key-valid{color:var(--key-valid-color)}.key-invalid{color:var(--key-invalid-color)}.settings-select,.settings-input{padding:8px 10px;border:1px solid var(--settings-select-border);border-radius:4px;font-size:.9em;background-color:var(--settings-select-bg);color:var(--text-primary);width:100%}.settings-select{cursor:pointer}.settings-select:focus,.settings-input:focus{outline:none;border-color:var(--input-focus-border-color);box-shadow:0 0 0 2px var(--input-focus-shadow)}.settings-select option:disabled{color:#aaa;font-style:italic;background-color:#eee}:root[data-theme=dark] .settings-select option:disabled{color:#666;background-color:#444}.settings-action-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 12px;border-radius:4px;cursor:pointer;text-align:center;font-weight:500;font-size:.9em;transition:background-color .2s ease,border-color .2s ease,color .2s ease;border:1px solid transparent}.clear-chat-settings-button{background-color:var(--settings-clear-bg);color:var(--settings-clear-text);border-color:var(--settings-clear-border)}.settings-action-button.clear-chat-settings-button:hover{background-color:var(--settings-clear-hover-bg);border-color:var(--settings-clear-hover-border)}.export-chat-settings-button{background-color:var(--settings-export-bg);color:var(--settings-export-text);border-color:var(--settings-export-border)}.settings-action-button.export-chat-settings-button:hover{background-color:var(--settings-export-hover-bg);border-color:var(--settings-export-hover-border)}.staff-area-button{background-color:var(--settings-staff-bg);color:var(--settings-staff-text);border-color:var(--settings-staff-border)}.settings-action-button.staff-area-button:hover{background-color:var(--settings-staff-hover-bg);border-color:var(--settings-staff-hover-border)}.theme-toggle-button{background-color:var(--button-secondary-bg);color:var(--text-primary);border:1px solid var(--settings-select-border)}.theme-toggle-button:hover{background-color:var(--button-secondary-hover-bg);border-color:#adb5bd}.theme-plinko-button{background-color:var(--button-secondary-bg);color:var(--text-primary);border:1px solid var(--settings-select-border)}.theme-plinko-button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);border-color:#adb5bd}.advanced-settings-trigger-button{background-color:var(--button-green-bg);color:var(--button-green-text);border-color:var(--button-green-border)}.advanced-settings-trigger-button:hover:not(:disabled){background-color:var(--button-green-hover-bg);border-color:var(--button-green-hover-border);color:var(--button-green-text)}.advanced-settings-trigger-button:disabled{background-color:var(--button-green-disabled-bg)!important;color:var(--button-green-disabled-text)!important;border-color:var(--button-green-disabled-border)!important;cursor:not-allowed;opacity:.75}.advanced-settings-modal .settings-option .persona-change-button{background-color:var(--button-yellow-bg);color:var(--button-yellow-text);border:1px solid var(--button-yellow-border)}.advanced-settings-modal .settings-option .persona-change-button:hover:not(:disabled){background-color:var(--button-yellow-hover-bg);border-color:var(--button-yellow-hover-border);color:var(--button-yellow-text)}.advanced-settings-modal .settings-option .persona-change-button:disabled{background-color:var(--button-yellow-disabled-bg)!important;color:var(--button-yellow-disabled-text)!important;border-color:var(--button-yellow-disabled-border)!important;cursor:not-allowed;opacity:.75}.advanced-settings-modal .settings-option .persona-change-button:disabled:hover{background-color:var(--button-yellow-disabled-bg)!important;border-color:var(--button-yellow-disabled-border)!important;opacity:.75}.advanced-settings-modal .settings-option .model-builder-trigger-button{background-color:var(--button-green-bg);color:var(--button-green-text);border:1px solid var(--button-green-border)}.advanced-settings-modal .settings-option .model-builder-trigger-button:hover:not(:disabled){background-color:var(--button-green-hover-bg);border-color:var(--button-green-hover-border);color:var(--button-green-text)}.advanced-settings-modal .settings-option .model-builder-trigger-button:disabled{background-color:var(--button-green-disabled-bg)!important;color:var(--button-green-disabled-text)!important;border-color:var(--button-green-disabled-border)!important;cursor:not-allowed;opacity:.75}.advanced-settings-modal .settings-option .model-builder-trigger-button:disabled:hover{background-color:var(--button-green-disabled-bg)!important;border-color:var(--button-green-disabled-border)!important;opacity:.75}.settings-option .current-persona-display{font-size:.95em;font-weight:500;color:var(--text-primary);margin-top:4px;margin-bottom:8px;padding:6px 10px;background-color:var(--button-secondary-bg);border-radius:4px;text-align:center;border:1px solid var(--settings-select-border);display:block}.settings-separator{border:none;border-top:1px solid var(--border-color);margin:15px 0 5px;flex-shrink:0}.close-settings-button{display:block;width:100%;padding:9px 15px;margin-top:5px;background-color:var(--settings-close-bg);color:var(--settings-close-text);border:1px solid var(--settings-menu-border);border-radius:4px;cursor:pointer;text-align:center;font-weight:500;font-size:.9em;transition:background-color .2s ease;flex-shrink:0}.close-settings-button:hover{background-color:var(--settings-close-hover-bg)}.staff-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;padding:15px;box-sizing:border-box}.staff-panel-modal{background-color:var(--settings-menu-bg);padding:25px 30px;border-radius:8px;border:1px solid var(--settings-menu-border);box-shadow:0 8px 25px #00000026;width:90%;max-width:400px;max-height:90vh;overflow-y:auto;position:relative}.staff-panel-modal h3{text-align:center;font-size:1.3em;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:20px}.close-staff-panel-button{position:absolute;top:10px;right:15px;background:none;border:none;font-size:1.8em;line-height:1;cursor:pointer;color:var(--text-secondary);padding:5px}.close-staff-panel-button:hover{color:var(--text-primary)}.staff-login-section{display:flex;flex-direction:column;align-items:center;gap:15px;max-width:350px;margin:20px auto}.staff-login-section .settings-option{width:100%}.staff-login-button{padding:10px 20px;border:none;background-color:var(--beta-button-bg);color:var(--beta-button-text);border-radius:5px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s ease;width:auto}.staff-login-button:hover{background-color:var(--beta-button-hover-bg)}.staff-login-button:disabled{opacity:.6;cursor:wait;background-color:var(--button-disabled-bg)!important;color:var(--button-disabled-text)!important}.staff-error{color:var(--key-invalid-color);font-size:.9em;margin-top:10px;text-align:center}.staff-security-warning{font-size:.8em;color:#856404;background-color:#fff3cd;border:1px solid #ffeeba;padding:8px 12px;border-radius:4px;margin-top:15px;text-align:center}:root[data-theme=dark] .staff-security-warning{background-color:#3b3b2c;border-color:#a39b6a;color:#fff3cd}.analysis-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--beta-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1050;padding:15px;box-sizing:border-box}.analysis-form-modal{background-color:var(--settings-menu-bg);padding:25px 30px;border-radius:8px;border:1px solid var(--settings-menu-border);box-shadow:0 5px 15px var(--settings-menu-shadow);max-width:600px;width:100%;box-sizing:border-box;max-height:90vh;overflow-y:auto;position:relative}.analysis-form-modal h3{text-align:center;font-size:1.1em;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:15px;flex-shrink:0}.analysis-form-modal form{display:flex;flex-direction:column;gap:15px}.analysis-form-modal textarea.settings-input{min-height:100px;resize:vertical;line-height:1.5}.analysis-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-shrink:0}.analysis-form-actions .close-settings-button,.analysis-form-actions .beta-accept-button{width:auto;margin-top:0}.beta-accept-button:disabled{background-color:var(--button-disabled-bg)!important;color:var(--button-disabled-text)!important;cursor:default;opacity:.7}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--beta-overlay-bg, rgba(0, 0, 0, .6));display:flex;align-items:center;justify-content:center;z-index:1050;padding:15px;box-sizing:border-box}.feedback-modal{background-color:var(--settings-menu-bg);padding:25px 35px;border-radius:8px;border:1px solid var(--settings-menu-border);box-shadow:0 5px 15px var(--settings-menu-shadow, rgba(0, 0, 0, .1));max-width:550px;width:100%;box-sizing:border-box;max-height:90vh;overflow-y:auto;position:relative}.feedback-modal h3{text-align:center;font-size:1.3em;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:25px}.close-feedback-button{position:absolute;top:12px;right:15px;background:none;border:none;font-size:1.8em;line-height:1;cursor:pointer;color:var(--text-secondary);padding:5px}.close-feedback-button:hover{color:var(--text-primary)}.feedback-form{display:flex;flex-direction:column;gap:20px}.feedback-field{display:flex;flex-direction:column;gap:8px}.feedback-field label{font-weight:500;font-size:.9em;color:var(--settings-label-text)}.feedback-field textarea.settings-input{min-height:100px;resize:vertical;line-height:1.5;font-size:.95em}.feedback-field input.settings-input{font-size:.95em}.star-rating{display:flex;gap:5px}.star-button{background:none;border:none;font-size:2em;padding:0 2px;color:#ccc;cursor:pointer;transition:color .2s ease;line-height:1}.star-button.selected{color:#ffc107}.star-button:hover{opacity:.8}.star-button:disabled{cursor:default;opacity:.6}.feedback-field label span{color:var(--key-invalid-color);margin-left:3px}.feedback-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.cancel-feedback-button,.submit-feedback-button{padding:10px 20px;border-radius:5px;font-weight:500;cursor:pointer;transition:background-color .2s ease;font-size:.95em}.cancel-feedback-button{background-color:var(--button-secondary-bg);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-feedback-button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.submit-feedback-button{background-color:var(--beta-button-bg);color:var(--beta-button-text);border:none}.submit-feedback-button:hover:not(:disabled){background-color:var(--beta-button-hover-bg)}.submit-feedback-button:disabled{opacity:.6;cursor:default;background-color:var(--button-disabled-bg)!important;color:var(--button-disabled-text)!important}.feedback-message{text-align:center;padding:10px;margin-bottom:15px;border-radius:4px;font-size:.95em;font-weight:500}.feedback-message.success{color:var(--key-valid-color);background-color:#d1e7dd}.feedback-message.error{color:var(--key-invalid-color);background-color:#f8d7da}:root[data-theme=dark] .feedback-message.success{background-color:#1c3c30}:root[data-theme=dark] .feedback-message.error{background-color:#4d2d30}.welcome-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--welcome-bg);display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px;box-sizing:border-box}.welcome-modal{background-color:transparent;text-align:center;color:var(--welcome-text-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;max-width:800px;margin:auto;position:relative}.welcome-title{font-size:3em;font-weight:600;margin-bottom:10px;color:var(--welcome-text-primary);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.welcome-subtitle{font-size:1.5em;line-height:1.6;margin-bottom:30px;color:var(--welcome-text-secondary);max-width:600px}.welcome-instructions{font-size:1.2em;margin-bottom:40px;color:var(--welcome-text-secondary)}.welcome-button-container{margin-bottom:30px}.welcome-main-button{width:150px;height:150px;border-radius:50%;background-color:var(--welcome-button-bg);color:var(--welcome-button-text);border:5px solid rgba(255,255,255,.5);font-size:3em;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:default;box-shadow:0 8px 15px #0006;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease}.welcome-main-button:hover{background-color:var(--welcome-button-hover-bg);box-shadow:0 8px 15px #0006}.welcome-bottom-text{font-size:1em;color:var(--welcome-text-secondary);margin-top:20px}.welcome-bottom-link{color:var(--welcome-link-color);font-weight:700;cursor:pointer;text-decoration:underline;transition:color .2s ease}.welcome-bottom-link:hover{color:var(--welcome-text-primary)}.knowledge-check-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1300;padding:20px;box-sizing:border-box}.knowledge-check-modal{background-color:var(--knowledge-modal-bg);padding:40px;border-radius:12px;box-shadow:0 8px 25px #0003;max-width:500px;width:100%;text-align:center;color:var(--knowledge-text);box-sizing:border-box}.knowledge-check-modal h2{margin-top:0;font-size:1.8em;margin-bottom:30px}.knowledge-check-buttons{display:flex;justify-content:center;gap:20px}.knowledge-button{padding:12px 30px;border:none;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;color:var(--knowledge-button-text);transition:background-color .2s ease,transform .1s ease}.knowledge-button.yes{background-color:var(--knowledge-button-yes-bg)}.knowledge-button.yes:hover{background-color:var(--knowledge-button-yes-hover-bg);transform:translateY(-2px)}.knowledge-button.no{background-color:var(--knowledge-button-no-bg)}.knowledge-button.no:hover{background-color:var(--knowledge-button-no-hover-bg);transform:translateY(-2px)}.lie-detector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--lie-detector-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1400;padding:20px;box-sizing:border-box}.lie-detector-image{max-width:80%;max-height:80vh;object-fit:contain;border-radius:10px;box-shadow:0 0 30px #00000080}.tutorial-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1350;padding:20px;box-sizing:border-box}.tutorial-modal{background-color:var(--tutorial-modal-bg);padding:30px;border-radius:12px;box-shadow:0 8px 30px #0000004d;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;text-align:left;color:var(--tutorial-text);position:relative;box-sizing:border-box}.tutorial-modal h3{text-align:center;font-size:1.8em;margin-top:0;margin-bottom:20px;color:var(--text-primary)}.tutorial-modal h4{font-size:1.3em;margin-top:25px;margin-bottom:10px;color:var(--text-primary)}.tutorial-modal p{font-size:1em;line-height:1.6;margin-bottom:15px}.tutorial-modal ul{margin:10px 0 15px 20px;list-style-type:disc}.tutorial-modal li{margin-bottom:8px}.hidden-redirect-link{color:var(--tutorial-link-color);font-weight:700;cursor:pointer;text-decoration:underline;transition:color .2s ease}.hidden-redirect-link:hover{color:var(--tutorial-link-hover-color)}.tutorial-bait-button{padding:15px 30px;border:3px solid var(--knowledge-button-no-bg);border-radius:50px;background-color:var(--knowledge-button-no-bg);color:var(--knowledge-button-text);font-size:1.5em;font-weight:700;cursor:pointer;box-shadow:0 5px 15px #0000004d;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;position:absolute;z-index:10;transform:translate(-50%,-50%);min-width:100px;text-align:center}.tutorial-bait-button:hover{background-color:var(--knowledge-button-no-hover-bg);box-shadow:0 8px 20px #0006}.chatbot-container{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--messages-bg)}.chatbot-messages{flex-grow:1;overflow-y:auto;padding:20px 10px 25px;display:flex;flex-direction:column;gap:15px;font-size:1rem}.message-wrapper{display:flex;flex-direction:column;max-width:100%}.message-wrapper-user{align-items:flex-end}.message-wrapper-bot,.message-wrapper-loading{align-items:flex-start}.message{padding:10px 15px;border-radius:16px;max-width:85%;word-wrap:break-word;line-height:1.5;box-shadow:0 1px 2px var(--shadow-color);position:relative}.message p{margin:0 0 .5em}.message p:last-child{margin-bottom:0}.message ul,.message ol{margin:.5em 0;padding-left:20px}.message li{margin-bottom:.2em}.message.user{background-color:var(--user-bubble-bg);color:#fff;align-self:flex-end;border-bottom-right-radius:6px}.message.bot,.message.loading{background-color:var(--bot-bubble-bg);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:6px}.message.loading{padding:8px 15px;min-height:36px;display:flex;align-items:center}.message.bot .error-message{color:var(--key-invalid-color);font-weight:500;margin:0;white-space:pre-wrap}.message.bot .bot-image{max-width:100%;max-height:350px;display:block;margin-top:8px;border-radius:8px;cursor:pointer}.message code:not([class*=language-]){background-color:var(--code-bg);color:var(--code-text);padding:2px 5px;border-radius:4px;font-size:.9em}.message pre{background-color:var(--code-block-bg)!important;border:1px solid var(--code-block-border);border-radius:6px;padding:10px 12px!important;margin:8px 0;overflow-x:auto;box-shadow:inset 0 1px 3px #0000001a}:root[data-theme=dark] .message pre{box-shadow:inset 0 1px 3px #0000004d}.message pre code{background-color:transparent!important;padding:0!important;font-size:.88em!important;color:var(--code-block-text)!important;white-space:pre!important;word-wrap:normal!important}.message-meta{font-size:.7em;color:var(--text-secondary);margin-top:3px;margin-right:4px;margin-left:4px;display:flex;align-items:center;gap:5px;min-height:1.2em}.message-wrapper-bot .message-meta{align-self:flex-start;margin-right:0;margin-left:15px}.message-wrapper-user .message-meta{align-self:flex-end;margin-left:0;margin-right:15px;flex-direction:row-reverse}.message-timestamp{white-space:nowrap}.tts-button{background:none;border:none;cursor:pointer;font-size:1.2em;padding:0;margin:0;color:var(--text-secondary);opacity:.6;transition:opacity .2s ease,color .2s ease;line-height:1}.tts-button:hover:not(:disabled){opacity:1;color:var(--text-primary)}.tts-button:disabled{cursor:not-allowed;opacity:.3}.tts-button.speaking{color:var(--user-bubble-bg);opacity:1}.loading-indicator{display:flex;align-items:center;height:100%;padding:5px 0}.loading-indicator span{height:8px;width:8px;margin:0 2px;background-color:var(--text-secondary);border-radius:50%;display:inline-block;animation:bounce 1.4s infinite ease-in-out both}.chatbot-input-area{display:flex;flex-direction:column;padding:8px;border-top:1px solid var(--border-color);background-color:var(--input-bg);flex-shrink:0}.chatbot-input-area>div:last-of-type{display:flex;flex-direction:column}.chatbot-input-area .input-row-wrapper{position:relative;width:100%}.chatbot-input-area .input-row{display:flex;align-items:center;gap:5px;width:100%}.chatbot-input-area input[type=text].chatbot-input{flex-grow:1;padding:10px 15px;border:1px solid var(--input-border-color);border-radius:18px;font-size:.95rem;outline:none;background-color:var(--container-bg);color:var(--text-primary);box-shadow:none;min-height:40px;box-sizing:border-box}.chatbot-input-area input[type=text].chatbot-input::placeholder{color:var(--text-secondary);opacity:.9}.chatbot-input-area input[type=text].chatbot-input:focus{border-color:var(--input-focus-border-color);box-shadow:0 0 0 2px var(--input-focus-shadow)}.chatbot-input-area .input-button,.chatbot-input-area .send-button{padding:8px;width:38px;height:38px;border:none;border-radius:12px;cursor:pointer;font-size:1.1em;font-weight:500;transition:background-color .2s ease,color .2s ease,border-color .2s ease;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;box-sizing:border-box}.chatbot-input-area .send-button{background-color:var(--button-primary-bg);color:#fff}.chatbot-input-area .send-button:hover:not(:disabled){background-color:var(--button-primary-hover-bg)}.chatbot-input-area .send-button:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:default;opacity:.7}.chatbot-input-area .input-button{background-color:var(--button-secondary-bg);color:var(--text-secondary);border:1px solid var(--input-border-color)}.chatbot-input-area .input-button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);border-color:#adb5bd;color:var(--text-primary)}.chatbot-input-area .input-button:disabled{background-color:#e9ecef!important;color:#adb5bd!important;border-color:#dee2e6!important;cursor:default;opacity:.7}:root[data-theme=dark] .chatbot-input-area .input-button:disabled{background-color:#2a2a2a!important;color:#707070!important;border-color:#404040!important}.chatbot-input-area .mic-button.recording{background-color:var(--mic-recording-bg, #dc3545)!important;color:#fff;border-color:var(--mic-recording-hover-bg, #bb2d3b)!important}.chatbot-input-area .mic-button.recording:hover:not(:disabled){background-color:var(--mic-recording-hover-bg, #bb2d3b)!important}.image-preview-area{display:flex;align-items:center;padding:5px 8px;background-color:var(--image-preview-bg);border-bottom:1px solid var(--border-color);margin-bottom:8px;flex-shrink:0;border-radius:4px;width:100%}.image-preview-thumbnail{max-height:40px;max-width:60px;margin-right:8px;border-radius:4px;object-fit:cover}.image-preview-area span{font-size:.85em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.remove-image-button{background:var(--remove-button-bg);color:#fff;border:none;border-radius:50%;width:18px;height:18px;line-height:16px;text-align:center;cursor:pointer;font-size:11px;font-weight:700;flex-shrink:0;margin-left:auto}.remove-image-button:hover{background:var(--remove-button-hover-bg)}.suggestions-container{display:flex;flex-wrap:wrap;gap:6px;margin-left:15px;margin-top:5px;max-width:100%;justify-content:flex-start}.suggestion-button{padding:5px 12px;border:1px solid var(--suggestion-border);background-color:var(--suggestion-bg);color:var(--suggestion-text);border-radius:16px;cursor:pointer;font-size:.85em;transition:background-color .2s ease,border-color .2s ease;white-space:nowrap}.suggestion-button:hover:not(:disabled){background-color:var(--suggestion-hover-bg);border-color:#adb5bd}.suggestion-button:disabled{color:#adb5bd;border-color:var(--input-border-color);cursor:default;background-color:var(--suggestion-bg);opacity:.7}:root[data-theme=dark] .suggestion-button:disabled{color:#707070;border-color:var(--input-border-color)}.action-menu-popup{position:absolute;bottom:calc(100% + 8px);left:0;background-color:var(--container-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-color);z-index:100;padding:5px;display:flex;flex-direction:column;gap:4px;min-width:180px}.action-menu-item{display:flex;align-items:center;gap:8px;background:none;border:none;padding:8px 12px;text-align:left;width:100%;cursor:pointer;border-radius:4px;color:var(--text-primary);font-size:.9em;transition:background-color .2s ease}.action-menu-item:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.action-menu-item:disabled{color:var(--button-disabled-text);cursor:default;opacity:.6}.action-menu-item svg{font-size:1.1em;color:var(--text-secondary);flex-shrink:0}.action-menu-item:hover:not(:disabled) svg{color:var(--text-primary)}@media (max-width: 900px){.App-header{padding:8px 10px;min-height:0}.App-header h1{font-size:1em}.settings-button{font-size:20px;padding:4px}.header-spacer-right{width:61px}.chatbot-messages{padding:15px 10px 20px;gap:15px;font-size:.95rem}.chatbot-input-area{padding:8px}.chatbot-input-area .input-row{gap:5px}.message{max-width:85%;border-radius:14px;padding:9px 14px}.chatbot-input-area input[type=text].chatbot-input{padding:9px 14px;font-size:.9rem;min-height:38px;border-radius:14px}.chatbot-input-area .input-button,.chatbot-input-area .send-button{width:38px;height:38px;font-size:1.1em;border-radius:12px}.image-preview-area{padding:4px 8px;margin-bottom:8px}.image-preview-thumbnail{max-height:35px;max-width:50px}.suggestions-container{gap:5px;margin-left:10px}.suggestion-button{padding:4px 10px;font-size:.8em}.settings-menu{position:fixed;top:55px;left:15px;background-color:var(--settings-menu-bg);border:1px solid var(--settings-menu-border);border-radius:8px;padding:20px;box-shadow:0 5px 15px var(--settings-menu-shadow);z-index:1000;width:max-content;max-width:700px;display:flex;flex-direction:column;max-height:calc(100vh - 70px);overflow-y:auto}.settings-menu .settings-column{gap:15px}.analysis-form-modal{padding:20px;max-height:85vh}.staff-panel-modal{width:95%;max-width:95%;padding:20px}.message pre code{font-size:.85em!important}.message-meta{font-size:.65em}.tts-button{font-size:1.1em}.message-wrapper-bot .message-meta,.message-wrapper-user .message-meta{margin-left:10px;margin-right:10px}.action-menu-popup{bottom:calc(100% + 5px);left:-5px}.welcome-title{font-size:2.5em}.welcome-subtitle{font-size:1.2em;margin-bottom:20px}.welcome-instructions{font-size:1em;margin-bottom:30px}.welcome-main-button{width:120px;height:120px;font-size:2.5em;border-width:3px}.welcome-bottom-text{font-size:.9em}.knowledge-check-modal{padding:30px;max-width:400px}.knowledge-check-modal h2{font-size:1.5em;margin-bottom:20px}.knowledge-button{padding:10px 20px;font-size:1em}.lie-detector-image{max-width:90%;max-height:70vh}.tutorial-modal{padding:25px;max-width:600px}.tutorial-modal h3{font-size:1.5em}.tutorial-modal h4{font-size:1.1em}.tutorial-modal p{font-size:.95em}.tutorial-bait-button{padding:10px 20px;font-size:1.2em;min-width:80px}}@media (max-width: 500px){.chatbot-messages{padding:15px 8px 20px;gap:12px}.message{max-width:90%;padding:8px 12px}.message-timestamp{font-size:.65em}.chatbot-input-area{padding:6px}.chatbot-input-area .input-row{gap:4px}.chatbot-input-area input[type=text].chatbot-input{padding:8px 12px;font-size:.9rem;min-height:36px;border-radius:12px}.chatbot-input-area .input-button,.chatbot-input-area .send-button{width:36px;height:36px;font-size:1em;border-radius:10px}.image-preview-thumbnail{max-height:30px;max-width:45px}.suggestions-container{gap:4px;margin-left:8px}.suggestion-button{padding:4px 8px;font-size:.75em}.settings-menu{position:fixed;top:55px;left:15px;background-color:var(--settings-menu-bg);border:1px solid var(--settings-menu-border);border-radius:8px;padding:20px;box-shadow:0 5px 15px var(--settings-menu-shadow);z-index:1000;width:max-content;max-width:700px;display:flex;flex-direction:column;max-height:calc(100vh - 70px);overflow-y:auto}.settings-menu .settings-column{gap:12px}.settings-option label{font-size:.8em}.settings-select,.settings-input{font-size:.85em;padding:6px 8px}.settings-action-button{font-size:.85em;padding:8px 10px;gap:6px}.settings-helper-text{font-size:.75em}.close-settings-button{font-size:.85em;padding:8px 12px}.analysis-form-modal{padding:15px}.analysis-form-actions{gap:6px}.analysis-form-actions .close-settings-button,.analysis-form-actions .beta-accept-button{font-size:.9em;padding:6px 12px}.staff-panel-modal{padding:15px}.staff-panel-modal h3{font-size:1.15em;margin-bottom:15px}.message pre code{font-size:.82em!important}.message-meta{font-size:.6em;gap:3px}.tts-button{font-size:1em}.message-wrapper-bot .message-meta,.message-wrapper-user .message-meta{margin-left:8px;margin-right:8px}.action-menu-popup{bottom:calc(100% + 5px);left:-5px}.welcome-title{font-size:2em}.welcome-subtitle{font-size:1em;margin-bottom:15px}.welcome-instructions{font-size:.9em;margin-bottom:20px}.welcome-main-button{width:100px;height:100px;font-size:2em;border-width:2px}.welcome-bottom-text{font-size:.8em}.knowledge-check-modal{padding:25px;max-width:300px}.knowledge-check-modal h2{font-size:1.3em;margin-bottom:15px}.knowledge-button{padding:8px 15px;font-size:.9em}.lie-detector-image{max-width:95%;max-height:60vh}.tutorial-modal{padding:20px;max-width:450px}.tutorial-modal h3{font-size:1.3em}.tutorial-modal h4{font-size:1em}.tutorial-modal p{font-size:.9em}.tutorial-bait-button{padding:8px 15px;font-size:1em;min-width:70px}}.admin-page-container{margin:0;padding:25px 35px;background-color:var(--container-bg, #ffffff);min-height:calc(100vh - 1px);overflow-y:auto;box-sizing:border-box}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border-color, #dee2e6);flex-wrap:wrap;gap:15px}.admin-page-header h1{margin:0;font-size:1.8em;color:var(--text-primary, #212529);font-weight:600}.admin-logout-button{width:auto;margin-top:0;padding:8px 16px;font-size:.9em;background-color:var(--button-secondary-bg, #e9ecef);border:1px solid var(--border-color, #dee2e6);color:var(--text-primary, #212529);border-radius:5px;cursor:pointer;transition:background-color .2s ease}.admin-logout-button:hover{background-color:var(--button-secondary-hover-bg, #dee2e6)}.staff-admin-section h4{font-size:1.3em;margin-top:35px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--border-color, #dee2e6);color:var(--text-primary, #212529);font-weight:600}.staff-admin-section h4:first-of-type{margin-top:0}.admin-data-section{margin-bottom:30px}.admin-data-section>p{font-style:italic;color:var(--text-secondary, #6c757d);padding:15px 5px;text-align:center}.admin-feedback{text-align:center;margin-bottom:15px;padding:10px 15px;border-radius:4px;font-weight:500;border:1px solid transparent;font-size:.9em;min-height:40px;display:flex;align-items:center;justify-content:center}.admin-feedback:empty{min-height:0;padding:0;margin-bottom:0;border:none}.admin-feedback.success{color:var(--key-valid-color, #198754);background-color:#d1e7dd;border-color:#badbcc}.admin-feedback.error{color:var(--key-invalid-color, #dc3545);background-color:#f8d7da;border-color:#f5c6cb}.user-keys-list{border:1px solid var(--border-color, #dee2e6);border-radius:6px;overflow-x:auto;background-color:#fff}.user-keys-list table{width:100%;border-collapse:collapse}.user-keys-list th,.user-keys-list td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color, #dee2e6);font-size:.9em;vertical-align:middle;word-break:break-word}.user-keys-list th{background-color:#f8f9fa;font-weight:600;white-space:nowrap;color:var(--text-secondary);position:sticky;top:0;z-index:1}.user-keys-list tr:last-child td{border-bottom:none}.user-keys-list tr:hover td:not(.editing-row td){background-color:#fcfcfc}.user-keys-list .actions-column{width:220px;white-space:nowrap}.user-keys-list .no-username{color:var(--text-secondary, #888);font-style:italic}.key-cell-content{display:flex;align-items:center;gap:8px;min-width:150px}.key-cell-content code{font-family:monospace;background-color:#e9ecef;padding:3px 6px;border-radius:3px;font-size:.95em;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;max-width:300px;display:inline-block}.copy-button{background:none;border:none;cursor:pointer;font-size:1.1em;padding:0 3px;color:var(--text-secondary);line-height:1;flex-shrink:0}.copy-button:hover{color:var(--text-primary)}.status-active{color:var(--key-valid-color, #198754);font-weight:500}.status-inactive{color:var(--key-invalid-color, #dc3545);font-weight:500}.action-buttons-cell{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.action-buttons-cell button{padding:6px 10px;font-size:.85em;flex-grow:0;flex-shrink:0;white-space:nowrap;border-radius:4px;cursor:pointer;border:1px solid;transition:all .2s ease}.action-buttons-cell button:disabled{opacity:.5;cursor:not-allowed}.action-buttons-cell .key-status-toggle-button.deactivate{background-color:var(--settings-clear-bg);color:var(--settings-clear-text);border-color:var(--settings-clear-border)}.action-buttons-cell .key-status-toggle-button.deactivate:hover:not(:disabled){background-color:var(--settings-clear-hover-bg)}.action-buttons-cell .key-status-toggle-button.activate{background-color:#d1e7dd;color:#0f5132;border-color:#badbcc}.action-buttons-cell .key-status-toggle-button.activate:hover:not(:disabled){background-color:#b6dfc8}.action-buttons-cell .edit-button{background-color:var(--button-secondary-bg);border-color:var(--input-border-color);color:var(--text-secondary);padding:5px 8px}.action-buttons-cell .edit-button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);border-color:#adb5bd}.action-buttons-cell .delete-button{background-color:#fff0f1;border-color:var(--settings-clear-border);color:var(--settings-clear-text);padding:5px 8px}.action-buttons-cell .delete-button:hover:not(:disabled){background-color:var(--settings-clear-hover-bg)}.action-buttons-cell .save-button{background-color:#d1e7dd;color:#0f5132;border-color:#badbcc;flex-grow:1}.action-buttons-cell .save-button:hover:not(:disabled){background-color:#b6dfc8}.action-buttons-cell .cancel-button{background-color:#e9ecef;border-color:#dee2e6;color:#495057;flex-grow:1}.action-buttons-cell .cancel-button:hover:not(:disabled){background-color:#dee2e6}.inline-edit-input{padding:4px 8px!important;font-size:.9em!important;height:30px!important;min-height:0!important;box-shadow:0 0 0 1px var(--input-focus-border-color)!important;border-color:var(--input-focus-border-color)!important}.editing-row td{background-color:#fff9e4}.add-key-section{margin-top:25px;padding:20px 25px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;background-color:#f8f9fa}.add-key-section h5{margin-top:0;margin-bottom:15px;font-size:1.15em;font-weight:600}.add-key-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.add-key-form .settings-option{margin-bottom:0;flex-grow:1}.add-key-form .settings-option label{display:block;margin-bottom:5px;font-size:.85em;font-weight:500;color:var(--settings-label-text)}.add-key-button{padding:8px 18px;border:none;background-color:var(--beta-button-bg, #0d6efd);color:var(--beta-button-text, #fff);border-radius:5px;cursor:pointer;font-size:.9em;font-weight:500;transition:background-color .2s ease;height:35px;align-self:flex-end;flex-shrink:0}.add-key-button:hover:not(:disabled){background-color:var(--beta-button-hover-bg, #0b5ed7)}.add-key-button:disabled{opacity:.6;cursor:default;background-color:var(--button-disabled-bg, #cfe2ff)!important;color:var(--button-disabled-text, #6c757d)!important}.restricted-items-list{margin-top:10px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;max-height:350px;overflow-y:auto;background-color:#fff}.restriction-description{font-size:.9em;color:var(--text-secondary, #6c757d);margin-bottom:0;padding:10px 15px;border-bottom:1px solid var(--border-color, #dee2e6);background-color:#f8f9fa}.restriction-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border-color, #dee2e6);font-size:.9em;min-height:44px}.restriction-item:last-child{border-bottom:none}.restriction-item span{flex-grow:1;margin-right:15px;word-break:break-word;display:flex;align-items:center;gap:8px}.restriction-item code{background-color:#e9ecef;padding:2px 5px;border-radius:3px;font-size:.9em}.restriction-toggle-button{padding:6px 12px;font-size:.85em;flex-shrink:0}.restriction-toggle-button.deactivate{background-color:var(--settings-clear-bg);color:var(--settings-clear-text);border-color:var(--settings-clear-border)}.restriction-toggle-button.deactivate:hover:not(:disabled){background-color:var(--settings-clear-hover-bg)}.restriction-toggle-button.activate{background-color:#d1e7dd;color:#0f5132;border-color:#badbcc}.restriction-toggle-button.activate:hover:not(:disabled){background-color:#b6dfc8}.feedback-list{border:1px solid var(--border-color, #dee2e6);border-radius:6px;overflow-x:auto;background-color:#fff;margin-top:10px}.feedback-list table{width:100%;border-collapse:collapse}.feedback-list th,.feedback-list td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color, #dee2e6);font-size:.85em;vertical-align:top}.feedback-list th{background-color:#f8f9fa;font-weight:600;white-space:nowrap;color:var(--text-secondary);position:sticky;top:0;z-index:1}.feedback-list tr:last-child td{border-bottom:none}.feedback-list tr:hover td{background-color:#fcfcfc}.feedback-item.important-feedback td{background-color:#fff9e4;font-weight:500}.feedback-item.important-feedback code{background-color:#fdf3d1}.rating-stars-display{color:#ffc107;font-size:1.1em;white-space:nowrap}.rating-stars-display .star-empty{color:#e0e0e0}.feedback-comment-cell{white-space:pre-wrap;max-height:150px;overflow-y:auto;font-size:.95em;line-height:1.5}.feedback-action-button{padding:5px 10px!important;font-size:.8em!important;margin-right:5px}.feedback-action-button:last-child{margin-right:0}.mark-important{background-color:#fffbe6;border-color:#ffe58f;color:#856404}.mark-important:hover:not(:disabled){background-color:#fff3cd}.unmark-important{background-color:#fff3cd;border-color:#ffeeba;color:#856404;font-weight:700}.unmark-important:hover:not(:disabled){background-color:#ffeeba}.feedback-delete-button{padding:5px 8px!important}.prompt-editing-section{margin-top:10px}.admin-prompt-warning{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404;padding:15px 20px;border-radius:6px;margin-bottom:25px;font-size:.9em;line-height:1.6}.admin-prompt-warning code{background-color:#0000000d;padding:2px 4px;border-radius:3px;font-size:.95em}.prompt-edit-area{margin-bottom:25px}.prompt-edit-area label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-primary);font-size:1em}.prompt-textarea{width:100%;padding:10px 12px;border:1px solid var(--input-border-color, #ced4da);border-radius:4px;font-family:monospace;font-size:.9em;line-height:1.5;background-color:#fff;color:var(--text-primary);resize:vertical;min-height:150px}.prompt-textarea:focus{outline:none;border-color:var(--input-focus-border-color, #0d6efd);box-shadow:0 0 0 2px var(--input-focus-shadow, rgba(13, 110, 253, .2))}.prompt-textarea:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.7}.persona-textarea{min-height:100px}.prompt-actions{margin-top:20px;display:flex;gap:10px;justify-content:flex-end}.prompt-actions button{padding:8px 16px}.prompt-actions button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.feedback-list th,.feedback-list td{padding:8px 10px;font-size:.8em}.rating-stars-display{font-size:1em}.feedback-comment-cell{font-size:.9em}.action-buttons-cell{flex-wrap:nowrap}.feedback-action-button{white-space:nowrap}}.admin-loading-text{padding:20px;text-align:center;color:var(--text-secondary, #6c757d);font-style:italic}.staff-separator{border:none;border-top:1px solid var(--border-color, #dee2e6);margin:35px 0}@media (max-width: 768px){.admin-page-container{padding:15px 20px;margin:0;min-height:100vh;border-radius:0;border-left:none;border-right:none}.admin-page-header h1{font-size:1.5em}.user-keys-list th,.user-keys-list td{padding:10px 8px;font-size:.85em}.action-buttons-cell{flex-wrap:wrap}.add-key-form{flex-direction:column;align-items:stretch}.add-key-button{margin-top:10px}}@media (max-width: 500px){.admin-page-container{padding:10px 15px}.admin-page-header h1{font-size:1.3em}.user-keys-list th,.user-keys-list td{font-size:.8em;padding:8px 6px}.key-cell-content code{max-width:120px}.restriction-item span{margin-right:8px;gap:5px}}.persona-cup-game-overlay,.confirm-clear-cup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1100;padding:15px;box-sizing:border-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-clear-cup-modal{background-color:var(--container-bg);color:var(--text-primary);padding:20px 30px;border-radius:10px;box-shadow:0 8px 25px #0006;text-align:center;border:1px solid var(--border-color);min-width:380px;max-width:90%}.confirm-clear-cup-modal h4{margin-top:0;margin-bottom:15px;font-size:1.3em;color:var(--text-primary)}.cups-container{display:flex;position:relative;justify-content:center;gap:30px;margin:30px 0;min-height:140px;padding:0 20px}.cup{width:80px;min-height:120px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;border:2px solid transparent;position:absolute;bottom:0;transition:transform .4s cubic-bezier(.68,-.55,.27,1.55);transform-origin:center bottom;will-change:transform}.cup.cup-order-0{transform:translate(-110px)}.cup.cup-order-1{transform:translate(0)}.cup.cup-order-2{transform:translate(110px)}.cup-visual{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;transition:transform .3s ease-out}.cup-graphic{font-size:3.5em;line-height:1;-webkit-user-select:none;user-select:none;transition:opacity .2s ease-in-out;position:relative;z-index:2}.cup-graphic.initially-revealed{color:var(--key-valid-color)}.cup-label{position:absolute;bottom:5px;font-size:.9em;font-weight:600;opacity:0;transition:opacity .2s ease-in .1s;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;text-align:center}.cup-label-revealed.is-confirm,.cup.is-confirm .cup-label-revealed{color:var(--key-valid-color)}.cup-label-revealed:not(.is-confirm){color:var(--key-invalid-color)}.cup:not(.is-confirm) .cup-label-revealed{color:var(--key-invalid-color)}.cup.showingConfirm.is-confirm .cup-visual{transform:translateY(-5px)}.cup.showingConfirm .cup-label-revealed{opacity:0}.cup.showingConfirm .cup-graphic{opacity:1}.cup.revealed .cup-visual{transform:translateY(-40px)}.cup.revealed .cup-graphic{opacity:0}.cup.revealed .cup-label-revealed{opacity:1}.cup:not(.selecting){cursor:default}.cup.selecting:hover .cup-visual{transform:translateY(-10px)}.cup.selecting.cup-order-0:hover{transform:translate(-110px) translateY(-10px)}.cup.selecting.cup-order-1:hover{transform:translate(0) translateY(-10px)}.cup.selecting.cup-order-2:hover{transform:translate(110px) translateY(-10px)}.game-message{font-weight:700;min-height:2em;margin-top:20px;margin-bottom:10px;color:var(--text-primary);font-size:.95em;transition:color .3s ease}.confirm-clear-cup-modal .game-message.success{color:var(--key-valid-color)}.confirm-clear-cup-modal .game-message.failed{color:var(--key-invalid-color)}.game-close-button{margin-top:15px;padding:8px 15px;font-size:1em;background-color:var(--button-secondary-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:5px;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.game-close-button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.game-close-button:disabled{opacity:.5;cursor:not-allowed}.persona-plinko-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1100;padding:15px;box-sizing:border-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.persona-plinko-modal{background-color:var(--container-bg);color:var(--text-primary);padding:20px 25px 25px;border-radius:8px;box-shadow:0 5px 15px #0000004d;border:1px solid var(--border-color);max-width:90vw;text-align:center}.persona-plinko-modal h4{margin-top:0;margin-bottom:15px;font-size:1.2em}.plinko-canvas-container{width:500px;height:650px;margin:0 auto 15px;position:relative;border:1px solid var(--border-color);background-color:var(--button-secondary-bg);overflow:hidden}.plinko-canvas-container canvas{display:block;background-color:transparent}.plinko-label{position:absolute;bottom:15px;font-size:1.4em;font-weight:700;color:var(--text-secondary);pointer-events:none;text-shadow:1px 1px 2px rgba(0,0,0,.1);transform:translate(-50%)}.plinko-message{min-height:1.5em;margin-top:10px;margin-bottom:15px;font-weight:500;font-size:.9em}.persona-plinko-modal .plinko-message.success{color:var(--key-valid-color)}.persona-plinko-modal .plinko-message.failed{color:var(--key-invalid-color)}.plinko-button.cancel{padding:8px 15px;font-size:.9em;background-color:var(--button-secondary-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:5px;cursor:pointer;transition:background-color .2s ease;margin:0 5px}.plinko-button.cancel:hover{background-color:var(--button-secondary-hover-bg)}.plinko-button:disabled{opacity:.5;cursor:not-allowed}.interview-mode-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;z-index:1200;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box}.interview-mode-modal{background:var(--container-bg, #fff);color:var(--text-primary, #000);border-radius:8px;padding:20px;width:100%;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--border-color, #ccc);box-shadow:0 5px 20px #0003}.interview-mode-modal h3{text-align:center;margin-top:0;margin-bottom:15px;font-size:1.2em;color:var(--text-primary)}.interview-error{color:var(--key-invalid-color, red);text-align:center;margin-bottom:10px;font-weight:500;padding:8px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}:root[data-theme=dark] .interview-error{background-color:#4d2d30;border-color:#8d424a}.interview-layout{display:flex;gap:15px;flex-grow:1;overflow:hidden;margin-bottom:15px}.interview-camera-view{flex:1;display:flex;flex-direction:column;align-items:center;background:#eee;border-radius:6px;overflow:hidden;min-width:200px;border:1px solid var(--border-color)}:root[data-theme=dark] .interview-camera-view{background:#333}.interview-camera-view video{width:100%;height:auto;max-height:300px;object-fit:cover;background:#000;display:block}.interview-camera-view .placeholder{flex-grow:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-style:italic;min-height:150px;text-align:center;padding:10px}.interview-notice{font-size:.8em;color:var(--text-secondary);margin:5px;text-align:center;padding:3px 0}.interview-chat-view{flex:2;display:flex;flex-direction:column;border:1px solid var(--border-color, #ccc);border-radius:6px;overflow:hidden;background:var(--messages-bg)}.interview-messages{flex-grow:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.interview-message{padding:6px 12px;border-radius:12px;max-width:90%;word-wrap:break-word;line-height:1.4;font-size:.95em}.interview-message p{margin:0}.interview-bot{background:var(--bot-bubble-bg, #f0f0f0);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:4px}.interview-user{background:var(--user-bubble-bg, #0d6efd);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.interview-loading{align-self:center;margin:10px 0;background-color:var(--bot-bubble-bg);padding:8px 15px;border-radius:12px;display:flex;align-items:center}.interview-status{padding:8px 10px;background:var(--button-secondary-bg, #eee);text-align:center;font-style:italic;color:var(--text-secondary);font-size:.9em;border-top:1px solid var(--border-color, #ccc);display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.recording-dot{width:10px;height:10px;background-color:red;border-radius:50%;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.interview-result{text-align:center;font-size:1.3em;font-weight:700;margin:10px 0;padding:10px;border-radius:6px}.interview-result.pass{color:var(--key-valid-color, green);background-color:#d1e7dd}.interview-result.fail{color:var(--key-invalid-color, red);background-color:#f8d7da}:root[data-theme=dark] .interview-result.pass{background-color:#1c3c30}:root[data-theme=dark] .interview-result.fail{background-color:#4d2d30}.interview-close-button{padding:10px 20px;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;background:var(--button-secondary-bg);color:var(--text-primary);margin-top:10px;align-self:center;transition:background-color .2s ease}.interview-close-button:hover:not(:disabled){background:var(--button-secondary-hover-bg)}.interview-close-button:disabled{opacity:.6;cursor:default;background-color:var(--button-disabled-bg)!important;color:var(--button-disabled-text)!important}.loading-indicator span{height:6px;width:6px;margin:0 1px;background-color:var(--text-secondary);border-radius:50%;display:inline-block;animation:bounce 1.4s infinite ease-in-out both}.loading-indicator span:nth-child(1){animation-delay:-.32s}.loading-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.interview-mode-modal{max-width:95vw;max-height:95vh;padding:15px}.interview-layout{flex-direction:column}.interview-camera-view video{max-height:200px}.interview-chat-view{flex:3}}.presentation-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f0f2f5;padding:20px;box-sizing:border-box}.presentation-password-box{background-color:#fff;padding:30px 40px;border-radius:8px;box-shadow:0 4px 12px #0000001a;text-align:center;max-width:400px;width:100%}.presentation-password-box h2{margin-top:0;margin-bottom:25px;color:#333;font-size:1.5em}.presentation-password-box .form-group{margin-bottom:20px;text-align:left}.presentation-password-box label{display:block;margin-bottom:8px;font-weight:700;color:#555}.presentation-password-box input[type=password]{width:100%;padding:12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em}.password-error{color:#d93025;margin-top:-10px;margin-bottom:15px;font-size:.9em;text-align:center}.submit-password-button{background-color:#007bff;color:#fff;padding:12px 25px;border:none;border-radius:4px;font-size:1em;cursor:pointer;transition:background-color .2s ease;width:100%;margin-top:10px}.submit-password-button:hover{background-color:#0056b3}.password-note{margin-top:25px;font-size:.85em;color:#666}.presentation-content-area{width:100vw;height:100vh;margin:0;padding:0;background-color:#282c34;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;overflow:hidden}.presentation-content-area h1,.presentation-content-area h2,.presentation-content-area p{text-align:center;max-width:90%}.slide-navigation{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:20px;align-items:center}.slide-navigation span{color:#fff;background-color:#0006;padding:5px 10px;border-radius:4px;font-size:.9em}.nav-button{background-color:#00000080;color:#fff;border:1px solid white;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .2s ease}.nav-button:hover:not(:disabled){background-color:#ffffff4d}.nav-button:disabled{opacity:.5;cursor:not-allowed}.slide{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;box-sizing:border-box}.slide h2{font-size:3em;margin-bottom:20px;font-weight:700}.slide p{font-size:1.5em;line-height:1.6}.slide ul{list-style:disc;font-size:1.3em;text-align:left;max-width:700px;margin-top:20px}.slide li{margin-bottom:15px}.title-slide h2{font-size:4em}.title-slide p{font-size:1.8em;margin-top:10px;color:#ccc}.content-slide p{text-align:left;max-width:800px;font-size:1.2em}:root{--container-bg: #ffffff;--border-color: #dee2e6;--text-primary: #212529;--text-secondary: #6c757d;--button-primary-bg: #0d6efd;--button-primary-hover-bg: #0b5ed7;--button-primary-text: #fff;--button-secondary-bg: #e9ecef;--button-secondary-hover-bg: #dee2e6;--button-success-bg: #198754;--button-success-hover-bg: #157347;--button-warning-bg: #ffc107;--button-warning-hover-bg: #ffca2c;--button-warning-text: #000;--button-danger-bg: #dc3545;--button-danger-hover-bg: #bb2d3b;--button-info-bg: #0dcaf0;--button-info-hover-bg: #31d2f2;--button-light-text: #fff;--button-receipt-bg: #6f42c1;--button-receipt-hover-bg: #5a32a3;--button-receipt-text: #fff;--input-border-color: #ced4da;--input-focus-border-color: #86b7fe;--input-focus-shadow: rgba(13, 110, 253, .25);--status-pending-bg: #fff3cd;--status-pending-text: #664d03;--status-paid-bg: #d1e7dd;--status-paid-text: #0f5132;--status-overdue-bg: #f8d7da;--status-overdue-text: #842029;--error-bg: #f8d7da;--error-text: #842029;--error-border: #f5c2c7;--success-bg: #d1e7dd;--success-text: #0f5132;--success-border: #badbcc}.invoice-manager-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f0f2f5;padding:20px;box-sizing:border-box}.invoice-manager-password-box{background-color:var(--container-bg);padding:30px 40px;border-radius:8px;box-shadow:0 4px 12px #0000001a;text-align:center;max-width:400px;width:100%}.invoice-manager-password-box h2{margin-top:0;margin-bottom:25px;color:var(--text-primary);font-size:1.5em}.invoice-manager-password-box .form-group{margin-bottom:15px;text-align:left}.invoice-manager-password-box label{display:block;margin-bottom:5px;font-weight:700;color:var(--text-secondary);font-size:.9em}.invoice-manager-password-box input[type=password]{width:100%;padding:10px 12px;border:1px solid var(--input-border-color);border-radius:4px;box-sizing:border-box;font-size:1em}.invoice-manager-password-box input[type=password]:focus{border-color:var(--input-focus-border-color);outline:0;box-shadow:0 0 0 .25rem var(--input-focus-shadow)}.password-error{color:var(--error-text);margin-top:-10px;margin-bottom:15px;font-size:.9em;text-align:center}.submit-password-button{background-color:var(--button-primary-bg);color:var(--button-primary-text);padding:10px 25px;border:none;border-radius:4px;font-size:1em;cursor:pointer;transition:background-color .2s ease;width:100%;margin-top:10px;font-weight:500}.submit-password-button:hover{background-color:var(--button-primary-hover-bg)}.password-note{margin-top:25px;font-size:.85em;color:var(--text-secondary)}.invoice-manager-container{padding:25px 35px;background-color:var(--container-bg);min-height:100vh;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.invoice-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:15px;flex-shrink:0}.invoice-manager-header h1{margin:0;font-size:1.8em;color:var(--text-primary);font-weight:600}.logout-button{width:auto;margin-top:0;padding:8px 16px;font-size:.9em;background-color:var(--button-secondary-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:5px;cursor:pointer;transition:background-color .2s ease}.logout-button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.logout-button:disabled{opacity:.65;cursor:not-allowed}.invoice-actions{margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.action-button{padding:8px 16px;border:none;border-radius:5px;cursor:pointer;font-size:.9em;font-weight:500;transition:background-color .2s ease}.action-button:disabled{opacity:.65;cursor:not-allowed}.action-button.create-button{background-color:var(--button-success-bg);color:var(--button-light-text)}.action-button.create-button:hover:not(:disabled){background-color:var(--button-success-hover-bg)}.action-button.status-button{background-color:var(--button-warning-bg);color:var(--button-warning-text)}.action-button.status-button:hover:not(:disabled){background-color:var(--button-warning-hover-bg)}.action-button.payment-voucher-button{background-color:#6f42c1;color:#fff}.action-button.payment-voucher-button:hover:not(:disabled){background-color:#5a32a3}.action-button.receive-voucher-button{background-color:#20c997;color:#fff}.action-button.receive-voucher-button:hover:not(:disabled){background-color:#1baa80}.status-messages{min-height:30px;margin:0 0 15px;font-size:.9em;flex-shrink:0}.loading-message{color:var(--text-secondary);font-style:italic}.api-error-message{color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);padding:10px 15px;border-radius:4px}.api-success-message{color:var(--success-text);background-color:var(--success-bg);border:1px solid var(--success-border);padding:10px 15px;border-radius:4px}.invoice-list,.voucher-list{margin-top:10px;border:1px solid var(--border-color);border-radius:6px;background-color:#fff;flex-grow:1;overflow-y:auto;height:0;-webkit-overflow-scrolling:touch;position:relative;margin-bottom:20px}.invoice-list:last-of-type,.voucher-list:last-of-type{margin-bottom:0}.invoice-list h2,.voucher-list h2{font-size:1.4em;margin-bottom:0;color:var(--text-primary);font-weight:600;padding:15px 15px 10px;position:sticky;top:0;background-color:#fff;z-index:2;border-bottom:1px solid var(--border-color)}.invoice-list table,.voucher-list table{width:100%;border-collapse:collapse}.invoice-list th,.voucher-list th{position:sticky;top:55px;background-color:#f8f9fa;z-index:1;padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-secondary);white-space:nowrap}.invoice-list td,.voucher-list td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color);font-size:.9em;vertical-align:middle}.invoice-list tr:last-child td,.voucher-list tr:last-child td{border-bottom:none}.invoice-list tbody tr:hover,.voucher-list tbody tr:hover{background-color:#f8f9fa}.invoice-list td:first-child,.voucher-list td:first-child{display:flex;align-items:center;gap:8px}.invoice-list td:first-child span,.voucher-list td:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;font-family:monospace;font-size:.95em}.copy-id-button{background:none;border:none;cursor:pointer;padding:0 3px;font-size:1em;color:var(--text-secondary);line-height:1;flex-shrink:0;opacity:.6;transition:opacity .2s ease}.copy-id-button:hover:not(:disabled){opacity:1;color:var(--text-primary)}.copy-id-button:disabled{cursor:not-allowed;opacity:.4}.status-badge{padding:3px 8px;font-size:.8em;border-radius:10px;font-weight:500;white-space:nowrap}.status-pending{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.status-paid{background-color:var(--status-paid-bg);color:var(--status-paid-text)}.status-overdue{background-color:var(--status-overdue-bg);color:var(--status-overdue-text)}.invoice-list .table-button,.voucher-list .table-button{padding:5px 10px;font-size:.85em;margin-right:5px;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:background-color .2s ease;white-space:nowrap}.invoice-list .table-button:last-child,.voucher-list .table-button:last-child{margin-right:0}.invoice-list .table-button:disabled,.voucher-list .table-button:disabled{opacity:.65;cursor:not-allowed}.invoice-list .table-button.edit{background-color:var(--button-secondary-bg);border-color:var(--input-border-color);color:var(--text-secondary)}.invoice-list .table-button.edit:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.invoice-list .table-button.delete{background-color:#fff0f1;border-color:var(--error-border);color:var(--error-text)}.invoice-list .table-button.delete:hover:not(:disabled){background-color:var(--error-bg)}.invoice-list .table-button.print-invoice{background-color:var(--button-info-bg);border-color:#6ff0ff;color:var(--button-light-text)}.invoice-list .table-button.print-invoice:hover:not(:disabled){background-color:var(--button-info-hover-bg)}.invoice-list .table-button.print-receipt,.voucher-list .table-button.print-receipt{background-color:var(--button-receipt-bg);border-color:var(--button-receipt-border);color:var(--button-receipt-text)}.invoice-list .table-button.print-receipt:hover:not(:disabled),.voucher-list .table-button.print-receipt:hover:not(:disabled){background-color:var(--button-receipt-hover-bg)}.invoice-list .table-button.print-receipt:disabled{background-color:var(--button-secondary-bg);border-color:var(--border-color);color:var(--text-secondary);opacity:.5}.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;padding:20px}.modal-content{background-color:var(--container-bg);padding:25px 30px;border-radius:8px;min-width:300px;max-width:650px;width:90%;box-shadow:0 5px 15px #0003;position:relative;display:flex;flex-direction:column;max-height:85vh}.modal-content.wide-modal{max-width:750px}.modal-content h2{margin-top:0;margin-bottom:20px;font-size:1.5em;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:15px}.modal-content form{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.modal-content .form-group{margin-bottom:15px}.modal-content label{display:block;margin-bottom:6px;font-weight:500;font-size:.9em;color:var(--text-secondary)}.modal-content input[type=text],.modal-content input[type=number],.modal-content input[type=date],.modal-content select,.modal-content textarea{width:100%;padding:9px 12px;border:1px solid var(--input-border-color);border-radius:4px;box-sizing:border-box;font-size:.95em}.modal-content textarea{min-height:80px;resize:vertical}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{border-color:var(--input-focus-border-color);outline:0;box-shadow:0 0 0 .2rem var(--input-focus-shadow)}.modal-content input:disabled,.modal-content select:disabled,.modal-content textarea:disabled,.modal-content button:disabled{background-color:#e9ecef;opacity:.7;cursor:not-allowed}.form-scroll-area{overflow-y:auto;flex-grow:1;padding:5px 5px 15px;margin-bottom:15px;scrollbar-width:thin;scrollbar-color:#ccc #f0f0f0}.form-scroll-area::-webkit-scrollbar{width:8px}.form-scroll-area::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.form-scroll-area::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.form-scroll-area::-webkit-scrollbar-thumb:hover{background:#aaa}.form-section{margin-bottom:20px}.form-section h3{font-size:1.1em;margin-bottom:10px;border-bottom:1px dashed var(--border-color);padding-bottom:8px;color:var(--text-primary)}.line-items-section{border:1px solid var(--border-color);padding:15px;border-radius:5px;background-color:#fdfdfd;margin-top:15px}.line-item-header{display:flex;gap:10px;margin-bottom:8px;padding:0 5px 8px;font-size:.85em;color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border-color)}.line-item-description-label{flex:1;min-width:0;padding-left:12px}.line-item-amount-label{width:90px;flex-shrink:0;text-align:right;padding-right:12px}.line-item-action-label{width:40px;flex-shrink:0;text-align:center}.line-item-row{display:flex;gap:10px;align-items:center;margin-bottom:8px}.line-item-description{flex:1;min-width:0;box-sizing:border-box}.line-item-amount{width:90px;flex-shrink:0;text-align:right;box-sizing:border-box}.line-item-action{width:40px;flex-shrink:0;text-align:center}.remove-line-item-btn{background:none;border:none;color:var(--button-danger-bg);cursor:pointer;font-size:1.1em;padding:0;line-height:1;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.remove-line-item-btn:hover:not(:disabled){color:#a0232f;background-color:#f8d7da}.remove-line-item-btn:disabled{color:#aaa;cursor:not-allowed}.add-line-item-btn{margin-top:10px;margin-bottom:15px;padding:6px 12px;font-size:.85em;background-color:var(--button-secondary-bg);border:1px solid var(--input-border-color);color:var(--text-primary);border-radius:4px;cursor:pointer}.add-line-item-btn:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.form-total{text-align:right;margin-top:15px;font-size:1.1em;font-weight:700;padding-top:10px;border-top:1px solid var(--border-color)}.modal-actions{margin-top:auto;padding-top:15px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:10px;flex-shrink:0}.modal-actions .action-button{padding:8px 18px;font-weight:500}.modal-actions .cancel-button{background-color:var(--button-secondary-bg);color:var(--text-primary);border:1px solid var(--input-border-color)}.modal-actions .cancel-button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.modal-actions .edit-button{background-color:var(--button-info-bg);color:var(--button-light-text)}.modal-actions .edit-button:hover:not(:disabled){background-color:var(--button-info-hover-bg)}.status-popup{max-width:450px}.status-popup .form-group{margin-bottom:20px}.popup-actions{margin-top:25px;text-align:right;border:none;padding:0}.popup-actions .cancel-button{background-color:#6c757d;color:#fff}.payment-details-section{margin-top:15px;padding-top:15px;border-top:1px dashed var(--border-color)}.overdue-notice{font-size:.85em;color:var(--error-text);margin-top:10px;font-style:italic}@media (max-width: 768px){.invoice-manager-container{padding:15px 20px}.invoice-manager-header h1{font-size:1.5em}.invoice-list th,.invoice-list td,.voucher-list th,.voucher-list td{padding:10px 8px;font-size:.85em}.invoice-list td:first-child,.voucher-list td:first-child{max-width:none}.invoice-list .table-button,.voucher-list .table-button{padding:4px 8px;font-size:.8em;margin-right:3px}.modal-content{padding:20px;max-height:90vh}.modal-content.wide-modal{max-width:95%}.line-item-row{flex-wrap:wrap}.line-item-description{min-width:80px}.line-item-amount{width:90px}.line-item-action{width:40px}}@media (max-width: 500px){.invoice-manager-container{padding:10px 15px}.invoice-manager-header h1{font-size:1.3em}.invoice-list th,.invoice-list td,.voucher-list th,.voucher-list td{font-size:.8em;padding:8px 5px}.invoice-list td:first-child,.voucher-list td:first-child{font-size:.85em}.modal-content h2{font-size:1.3em}.modal-actions{flex-direction:column;gap:8px}.modal-actions button{width:100%}.line-item-amount-label,.line-item-amount{width:80px}.line-item-action-label,.line-item-action{width:30px}.line-item-description{width:calc(100% - 130px)}}
