: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;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}}.status-message{position:fixed;top:90px;right:20px;padding:12px 20px;border-radius:4px;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;gap:12px;z-index:10000;width:max-content;max-width:360px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.status-success{background-color:#4caf50;color:#fff}.status-error{background-color:#f44336;color:#fff}.status-text{flex:1;min-width:0;font-size:14px;word-wrap:break-word;overflow-wrap:break-word}.status-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.status-close:hover{background-color:#fff3}[data-theme=dark] .status-success{background-color:#2e7d32}.status-error{background-color:#c62828}} .login-container{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;width:100%!important;min-height:100vh!important;margin:0!important;padding:20px!important;box-sizing:border-box!important;background:linear-gradient(135deg,#667eea,#764ba2)}[data-theme=dark] .login-container{background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.login-card{display:flex!important;flex-direction:column!important;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:400px;animation:slideIn .3s ease-out;box-sizing:border-box}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:#333;font-size:32px;font-weight:700;margin:0 0 8px}.login-header p{color:#666;font-size:14px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-size:14px;font-weight:500}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .2s;background:#fff;color:#333}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-group input::placeholder{color:#999}[data-theme=dark] .form-group input::placeholder{color:#666}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:8px;font-size:14px;text-align:center}.login-button{padding:14px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button.back-button{background:#888;margin-top:4px}.login-button.back-button:hover:not(:disabled){box-shadow:0 4px 12px #0003}.login-link-forgot{color:#667eea;font-size:14px;text-decoration:none;margin-top:4px}.login-link-forgot:hover{text-decoration:underline}[data-theme=dark] .login-link-forgot{color:#a5b4fc}.mfa-message{color:#666;font-size:14px;margin:0 0 8px;text-align:center}[data-theme=dark] .mfa-message{color:#aaa}[data-theme=dark] .login-card{background:#2a2a2a}[data-theme=dark] .login-header h1{color:#fff}[data-theme=dark] .login-header p{color:#aaa}[data-theme=dark] .form-group label{color:#fff}[data-theme=dark] .form-group input{background:#1a1a1a;border-color:#3a3a3a;color:#fff}[data-theme=dark] .form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33}[data-theme=dark] .form-group input:disabled{background:#1a1a1a;color:#666;opacity:.6}[data-theme=dark] .error-message{background:#3a1a1a;border-color:#5a2a2a;color:#ff6b6b}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:44px}.password-toggle-btn{position:absolute;right:8px;background:none;border:none;padding:8px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background-color .2s}.password-toggle-btn:hover{color:#333;background-color:#0000000d}[data-theme=dark] .password-toggle-btn{color:#888}[data-theme=dark] .password-toggle-btn:hover{color:#fff;background-color:#ffffff1a}.sign-page{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column}.sign-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 1.5rem;box-shadow:0 1px 3px #0000000d}.sign-brand h1{margin:0;font-size:1.5rem;color:#667eea;font-weight:700}.sign-content{flex:1;display:flex;flex-direction:column;max-width:1400px;width:100%;margin:0 auto;padding:1rem}.sign-info-bar{background:#fff;border-radius:10px;padding:1rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:0 1px 3px #0000000f}.sign-info-text{display:flex;align-items:center;gap:.5rem}.signing-as{color:#666;font-size:.95rem}.signer-email{font-weight:600;color:var(--text-primary, #333);background:var(--input-bg, #f0f0f0);padding:.25rem .75rem;border-radius:20px}.sent-by{color:#888;font-size:.9rem}.sign-main{flex:1;display:grid;grid-template-columns:1fr 380px;gap:1rem;min-height:0}@media(max-width:900px){.sign-main{grid-template-columns:1fr}}.pdf-viewer-section{background:#fff;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000f}.pdf-viewer-header{padding:1rem 1.25rem;border-bottom:1px solid #eee}.pdf-viewer-header h2{margin:0;font-size:1rem;color:#333;font-weight:600}.pdf-viewer-container{flex:1;position:relative;min-height:500px}.pdf-viewer-frame{width:100%;height:100%;border:none;position:absolute;top:0;left:0}.signature-field-indicator{position:absolute;border:2px dashed #667eea;background:#667eea1a;border-radius:4px;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:pulse-border 2s ease-in-out infinite}.signature-field-indicator span{font-size:.8rem;color:#667eea;font-weight:600;text-transform:uppercase}@keyframes pulse-border{0%,to{border-color:#667eea}50%{border-color:#a5b4fc}}.sign-form-section{display:flex;flex-direction:column}.sign-form-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 1px 3px #0000000f}.sign-form-card h3{margin:0 0 1.25rem;font-size:1.1rem;color:#333}.sign-form-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.sign-form-group{margin-bottom:1.25rem}.sign-form-group label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.9rem;color:#555}.signature-input,.date-input{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.signature-input:focus,.date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.signature-input{font-family:Brush Script MT,Segoe Script,cursive;font-size:1.5rem}.signature-preview{margin-top:.75rem;padding:1rem;background:#fafafa;border:1px solid #eee;border-radius:8px;text-align:center}.signature-text{font-family:Brush Script MT,Segoe Script,cursive;font-size:2rem;color:#1a1a1a}.sign-form-disclaimer{margin-bottom:1.25rem;padding:.75rem;background:#f8f9fa;border-radius:8px}.sign-form-disclaimer p{margin:0;font-size:.8rem;color:#666;line-height:1.5}.btn-finish{width:100%;padding:1rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-finish:hover:not(:disabled){background:#5a6fd6;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-finish:disabled{opacity:.6;cursor:not-allowed}.sign-container{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.sign-loading,.sign-error,.sign-success{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;max-width:400px}.sign-loading .loading-spinner{width:3rem;height:3rem;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.sign-loading p{color:#666;margin:0}.error-icon,.success-icon{font-size:3rem;margin-bottom:1rem}.sign-error h2,.sign-success h2{margin:0 0 .5rem;color:#333}.sign-error p,.sign-success p{margin:0 0 1.5rem;color:#666}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:#22c55e;color:#fff;border-radius:50%;font-size:2rem}.sign-success .btn-primary{display:inline-block;padding:.75rem 1.5rem;background:#667eea;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:background .2s}.sign-success .btn-primary:hover{background:#5a6fd6}[data-theme=dark] .sign-page{background:var(--bg-primary, #1a1a2e)}[data-theme=dark] .sign-header{background:var(--card-bg, #16213e);border-color:var(--border-color, #2a2a4a)}[data-theme=dark] .sign-info-bar,[data-theme=dark] .pdf-viewer-section,[data-theme=dark] .sign-form-card,[data-theme=dark] .sign-loading,[data-theme=dark] .sign-error,[data-theme=dark] .sign-success{background:var(--card-bg, #16213e)}[data-theme=dark] .sign-brand h1{color:#818cf8}[data-theme=dark] .signing-as,[data-theme=dark] .sent-by{color:#aaa}[data-theme=dark] .signer-email{color:#fff;background:#ffffff1a}[data-theme=dark] .pdf-viewer-header,[data-theme=dark] .pdf-viewer-header h2{border-color:var(--border-color, #3a3a3a)}[data-theme=dark] .pdf-viewer-header h2,[data-theme=dark] .sign-form-card h3,[data-theme=dark] .sign-error h2,[data-theme=dark] .sign-success h2{color:#fff}[data-theme=dark] .sign-form-group label{color:#ccc}[data-theme=dark] .signature-input,[data-theme=dark] .date-input{background:var(--input-bg, #1a1a2e);border-color:var(--border-color, #3a3a5a);color:#fff}[data-theme=dark] .signature-preview{background:var(--input-bg, #1a1a2e);border-color:var(--border-color, #3a3a5a)}[data-theme=dark] .signature-text{color:#fff}[data-theme=dark] .sign-form-disclaimer{background:var(--input-bg, #1a1a2e)}[data-theme=dark] .sign-form-disclaimer p{color:#999}[data-theme=dark] .sign-error p,[data-theme=dark] .sign-success p,[data-theme=dark] .sign-loading p{color:#aaa}.download-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column}.download-header{padding:20px 40px}.download-brand h1{margin:0;color:#fff;font-size:1.5rem;font-weight:700}.download-content{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.download-container{width:100%;max-width:480px;margin:0 auto;padding:20px}.download-loading,.download-error{background:#fff;border-radius:16px;padding:60px 40px;text-align:center;box-shadow:0 25px 50px -12px #00000040}.download-loading .loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.download-loading p{color:#6b7280;margin:0}.download-error .error-icon{font-size:3rem;margin-bottom:16px}.download-error h2{color:#1f2937;margin:0 0 8px;font-size:1.5rem}.download-error p{color:#6b7280;margin:0}.download-card{background:#fff;border-radius:16px;padding:48px 40px;text-align:center;box-shadow:0 25px 50px -12px #00000040;max-width:480px}.download-icon{color:#10b981;margin-bottom:24px}.download-icon svg{width:64px;height:64px}.download-card h2{color:#1f2937;margin:0 0 32px;font-size:1.5rem;font-weight:600}.download-info{background:#f9fafb;border-radius:12px;padding:20px;margin-bottom:32px;text-align:left}.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0}.info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.info-label{color:#6b7280;font-size:.875rem}.info-value{color:#1f2937;font-weight:500;font-size:.875rem;text-align:right;max-width:60%;word-break:break-word}.download-form-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.875rem}.btn-download{width:100%;padding:16px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-download:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px -5px #10b98166}.btn-download:disabled{opacity:.7;cursor:not-allowed}.download-note{margin-top:24px;color:#9ca3af;font-size:.75rem;line-height:1.5}@media(max-width:640px){.download-header{padding:16px 20px}.download-card{padding:32px 24px}.download-icon svg{width:48px;height:48px}.download-card h2{font-size:1.25rem}}.verify-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column}.verify-header{padding:20px 40px}.verify-brand h1{margin:0;color:#fff;font-size:1.5rem;font-weight:700}.verify-content{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.verify-container{width:100%;max-width:520px;margin:0 auto;padding:20px}.verify-loading,.verify-error{background:#fff;border-radius:16px;padding:60px 40px;text-align:center;box-shadow:0 25px 50px -12px #00000040}.verify-loading .loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:verify-spin 1s linear infinite;margin:0 auto 20px}@keyframes verify-spin{to{transform:rotate(360deg)}}.verify-loading p{color:#6b7280;margin:0}.verify-error .error-icon{font-size:3rem;margin-bottom:16px}.verify-error h2{color:#1f2937;margin:0 0 8px;font-size:1.5rem}.verify-error p{color:#6b7280;margin:0}.verify-card{background:#fff;border-radius:16px;padding:48px 40px;text-align:center;box-shadow:0 25px 50px -12px #00000040;max-width:520px}.verify-icon{margin-bottom:24px}.verify-icon-success{color:#10b981}.verify-icon svg{width:64px;height:64px}.verify-card h2{color:#1f2937;margin:0 0 32px;font-size:1.5rem;font-weight:600}.verify-info{background:#f9fafb;border-radius:12px;padding:20px;margin-bottom:28px;text-align:left}.verify-info .info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0}.verify-info .info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.verify-info .info-label{color:#6b7280;font-size:.875rem;flex-shrink:0;margin-right:12px}.verify-info .info-value{color:#1f2937;font-weight:500;font-size:.875rem;text-align:right;word-break:break-word}.verify-info .info-value.mono{font-family:ui-monospace,monospace;font-size:.8rem}.verify-info .info-value.small{font-size:.8rem}.verify-info .status-badge{background:#d1fae5;color:#065f46;padding:2px 8px;border-radius:6px;font-size:.8rem}.verify-upload-section{border-top:1px solid #e5e7eb;padding-top:24px;text-align:center}.verify-upload-label{color:#6b7280;font-size:.9rem;margin:0 0 16px}.verify-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.btn-verify-upload{padding:12px 24px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-verify-upload:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-verify-upload:disabled{opacity:.7;cursor:not-allowed}.verify-upload-error{margin-top:12px;color:#dc2626;font-size:.875rem}.verify-upload-success{margin-top:16px;padding:12px;background:#f0fdf4;border-radius:8px;font-size:.875rem}.verify-upload-success .success-badge{color:#059669;font-weight:600}.verify-upload-success .success-detail{margin:6px 0 0;color:#374151}.verify-upload-success .error-badge{color:#dc2626;font-weight:500}@media(max-width:640px){.verify-header{padding:16px 20px}.verify-card{padding:32px 24px}.verify-icon svg{width:48px;height:48px}.verify-card h2{font-size:1.25rem}.verify-info .info-row{flex-direction:column;gap:4px}.verify-info .info-value{text-align:left}}.documents-container{padding:1.5rem;max-width:1400px;margin:0 auto}.documents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.documents-header-title{min-width:0}.documents-title-block h1{margin:0 0 .25rem;color:var(--text-primary, #333)}.documents-title-line{display:flex;align-items:center;gap:.5rem}.documents-total{margin:0;color:var(--text-secondary, #666);font-size:.95rem}.documents-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.documents-search-input{width:100%;max-width:400px;padding:12px 16px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:16px;background:var(--input-bg, #fff);color:var(--text-primary, #333);transition:border-color .2s,box-shadow .2s}.documents-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.documents-list{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.documents-table{width:100%;border-collapse:collapse}.documents-table th,.documents-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color, #eee);color:var(--text-primary, #333)}.documents-table th{background:var(--input-bg, #f8f9fa);font-weight:600;font-size:.85rem;color:var(--text-secondary, #555)}.documents-table tbody tr:last-child td{border-bottom:none}.documents-table tbody tr.clickable-row{cursor:pointer;transition:background .15s}.documents-table tbody tr.clickable-row:hover{background:var(--border-color, #f0f0f0)}.status-badge{display:inline-block;padding:.2em .6em;border-radius:4px;font-size:.8em;font-weight:600;text-transform:capitalize}.status-badge.uploaded{background:#e3f2fd;color:#1565c0}.status-badge.pending{background:#fff3e0;color:#e65100}.status-badge.signed,.status-badge.completed{background:#e8f5e9;color:#2e7d32}.document-filename{display:flex;align-items:center;gap:.5rem}.document-icon{width:1.25rem;height:1.25rem;color:#e53935;flex-shrink:0}.document-title-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.document-title-block{display:flex;flex-direction:column;gap:.15rem;min-width:0}.document-title-main{font-weight:500;color:var(--text-primary, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-title-subtitle{font-size:.8rem;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signers-progress{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.signers-count{color:var(--text-secondary, #666)}.signers-count.complete{color:#2e7d32;font-weight:600}.documents-empty{text-align:center;padding:3rem;color:var(--text-secondary, #666)}.documents-empty p{margin:0 0 1rem}.document-create-container{padding:1.5rem;max-width:900px;margin:0 auto}.document-create-header{margin-bottom:1.5rem}.document-create-header h1{margin:0 0 .25rem;color:var(--text-primary, #333)}.document-create-subtitle{margin:0;color:var(--text-secondary, #666);font-size:.95rem}.upload-zone{border:2px dashed var(--border-color, #ddd);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--card-bg, #fff);margin-bottom:1.5rem}.upload-zone:hover,.upload-zone.drag-over{border-color:#667eea;background:#667eea0d}.upload-zone-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-icon{width:3rem;height:3rem;color:var(--text-secondary, #999)}.upload-zone:hover .upload-icon,.upload-zone.drag-over .upload-icon{color:#667eea}.upload-text{color:var(--text-secondary, #666);font-size:.95rem}.upload-text strong{color:#667eea}.upload-hint{color:var(--text-muted, #999);font-size:.85rem}.pdf-preview-section{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;padding:1rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.pdf-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #eee)}.pdf-preview-filename{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary, #333)}.pdf-preview-filename .document-icon{color:#e53935}.btn-remove-file{padding:.4rem .8rem;background:transparent;border:1px solid #dc3545;color:#dc3545;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-remove-file:hover{background:#dc3545;color:#fff}.pdf-preview-frame{width:100%;height:400px;border:none;border-radius:6px;background:#f5f5f5}.pdf-loading{display:flex;align-items:center;justify-content:center;height:400px;background:var(--input-bg, #f5f5f5);border-radius:6px}.signers-section{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.signers-section h2{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary, #333)}.signer-input-row{display:flex;gap:.75rem;margin-bottom:1rem}.signer-email-input{flex:1;padding:.6rem .9rem;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.95rem;background:var(--input-bg, #fff);color:var(--text-primary, #333)}.signer-email-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.btn-add-signer{padding:.6rem 1rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add-signer:hover:not(:disabled){background:#5a6fd6}.btn-add-signer:disabled{opacity:.6;cursor:not-allowed}.signers-list{display:flex;flex-direction:column;gap:.5rem}.signer-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--input-bg, #f8f9fa);border-radius:6px;border:1px solid var(--border-color, #eee)}.signer-email{font-size:.95rem;color:var(--text-primary, #333)}.btn-remove-signer{padding:.25rem .5rem;background:transparent;border:none;color:var(--text-secondary, #999);cursor:pointer;font-size:1.1rem;line-height:1;transition:color .2s}.btn-remove-signer:hover{color:#dc3545}.no-signers{text-align:center;padding:1rem;color:var(--text-muted, #999);font-size:.9rem;font-style:italic}.document-create-actions{display:flex;gap:.75rem;justify-content:flex-end}.signature-placement-section{margin-bottom:1.5rem}.placement-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.placement-header h2{margin:0;font-size:1.1rem;color:var(--text-primary, #333)}.placement-hint{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary, #666)}[data-theme=dark] .documents-title-block h1,[data-theme=dark] .document-create-header h1,[data-theme=dark] .signers-section h2,[data-theme=dark] .placement-header h2{color:#fff}[data-theme=dark] .documents-list{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .documents-table tbody tr.clickable-row:hover{background:#ffffff0f}[data-theme=dark] .upload-zone{border-color:var(--border-color, #3a3a3a)}[data-theme=dark] .upload-zone:hover,[data-theme=dark] .upload-zone.drag-over{border-color:#667eea;background:#667eea1a}[data-theme=dark] .pdf-preview-section,[data-theme=dark] .signers-section{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .status-badge.uploaded{background:#1565c033;color:#64b5f6}[data-theme=dark] .status-badge.pending{background:#e6510033;color:#ffb74d}[data-theme=dark] .status-badge.signed,[data-theme=dark] .status-badge.completed{background:#2e7d3233;color:#81c784}[data-theme=dark] .signer-item{background:#ffffff0a;border-color:var(--border-color, #3a3a3a)}[data-theme=dark] .signer-item .signer-email{color:var(--text-primary, #e0e0e0)}.document-details-container{max-width:1400px}.document-details-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.btn-back{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #ddd);border-radius:6px;color:var(--text-secondary, #666);cursor:pointer;font-size:.9rem;transition:all .2s}.btn-back:hover{background:var(--input-bg, #f5f5f5);color:var(--text-primary, #333)}.document-details-title{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.document-details-title h1{margin:0;font-size:1.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-details-title .document-filename{display:flex;align-items:center;gap:.5rem;min-width:0}.document-details-title-block{min-width:0}.document-details-title-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.document-details-title-text .document-title-subtitle{font-size:.85rem}.document-title-edit{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.document-title-input{flex:1;min-width:180px;padding:.4rem .6rem;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:1rem;background:var(--input-bg, #fff);color:var(--text-primary, #333)}.document-title-display{cursor:text;border-radius:4px;padding:.15rem 0;margin:-.15rem 0}.document-title-display:hover{background:var(--border-color, rgba(0, 0, 0, .05))}.btn-small{padding:.35rem .65rem;font-size:.85rem}.document-details-actions{display:flex;gap:.5rem}.document-details-actions .btn-primary{display:flex;align-items:center;gap:.4rem}.document-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn-danger{padding:8px 14px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#c82333}.document-details-meta{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem 1.25rem;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;margin-bottom:1.5rem}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-label{font-size:.8rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.03em}.meta-value{font-size:.95rem;color:var(--text-primary, #333)}.meta-hash{font-family:monospace;font-size:.75rem;word-break:break-all;max-width:300px}.document-details-content{display:grid;grid-template-columns:1fr 340px;gap:1.5rem}.document-details-main{min-width:0}.document-details-main .pdf-preview-section{margin-bottom:0}.document-details-main .pdf-preview-frame{height:600px}.pdf-preview-title{font-weight:600;color:var(--text-primary, #333)}.document-details-sidebar .signers-section{margin-bottom:0}.signers-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.signers-section-header h2{margin:0}.btn-add-signer-small{padding:.35rem .7rem;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:.8rem;cursor:pointer;transition:background .2s}.btn-add-signer-small:hover{background:#5a6fd6}.add-signer-form{margin-bottom:1rem;padding:1rem;background:var(--input-bg, #f8f9fa);border-radius:8px;border:1px solid var(--border-color, #eee)}.add-signer-form .signer-email-input{width:100%;margin-bottom:.75rem}.placement-hint-small{margin:0 0 .75rem;font-size:.8rem;color:var(--text-secondary, #666);font-style:italic}.add-signer-actions{display:flex;gap:.5rem;justify-content:flex-end}.add-signer-actions .btn-secondary,.add-signer-actions .btn-primary{padding:.4rem .8rem;font-size:.85rem}.signers-list-detail{display:flex;flex-direction:column;gap:.5rem}.signer-item-detail{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--input-bg, #f8f9fa);border-radius:6px;border-left:3px solid var(--border-color, #ddd)}.signer-item-detail.signed{border-left-color:#2e7d32}.signer-item-detail.pending{border-left-color:#e65100}.signer-item-detail.expired,.signer-item-detail.revoked{border-left-color:#9e9e9e;opacity:.7}.signer-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.signer-item-detail .signer-email{font-size:.9rem;word-break:break-all;background:#667eea1a;padding:.2rem .5rem;border-radius:4px}.signer-status{font-size:.75rem;font-weight:600;padding:.15rem .4rem;border-radius:3px;text-transform:uppercase}.signer-status.signed{background:#e8f5e9;color:#2e7d32}.signer-status.pending{background:#fff3e0;color:#e65100}.signer-status.expired,.signer-status.revoked{background:#f5f5f5;color:#757575}.signer-signed-at{font-size:.8rem;color:var(--text-secondary, #666);align-self:flex-start}@media(max-width:768px){.documents-container{padding:1rem}.documents-header,.documents-toolbar{flex-direction:column;align-items:stretch}.documents-search-input{max-width:none}.documents-list{overflow-x:auto;-webkit-overflow-scrolling:touch}.documents-table{min-width:520px}.documents-table th,.documents-table td{padding:.5rem .75rem;font-size:.9rem}.document-title-main,.document-title-subtitle{white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}}@media(max-width:900px){.document-details-content{grid-template-columns:1fr}.document-details-sidebar{order:-1}.document-details-main .pdf-preview-frame{height:450px}}[data-theme=dark] .btn-back{border-color:var(--border-color, #3a3a3a);color:var(--text-secondary, #aaa)}[data-theme=dark] .btn-back:hover{background:#ffffff0f;color:var(--text-primary, #fff)}[data-theme=dark] .document-details-title h1{color:#fff}[data-theme=dark] .meta-value{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .pdf-preview-title{color:var(--text-primary, #fff)}[data-theme=dark] .add-signer-form{background:#ffffff0a;border-color:var(--border-color, #3a3a3a)}[data-theme=dark] .signer-item-detail{background:#ffffff0a}[data-theme=dark] .signer-item-detail .signer-email{color:var(--text-primary, #e0e0e0);background:#667eea26}[data-theme=dark] .signer-status.signed{background:#2e7d3233;color:#81c784}[data-theme=dark] .signer-status.pending{background:#e6510033;color:#ffb74d}[data-theme=dark] .signer-status.expired,[data-theme=dark] .signer-status.revoked{background:#75757533;color:#9e9e9e}.pdf-signature-placer{display:flex;gap:1rem;height:500px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.placer-sidebar{width:280px;padding:1rem;background:var(--input-bg, #f8f9fa);border-right:1px solid var(--border-color, #e0e0e0);overflow-y:auto;flex-shrink:0}.placer-sidebar h3{margin:0 0 .5rem;font-size:1rem;color:var(--text-primary, #333)}.placer-hint{margin:0 0 1rem;font-size:.85rem;color:var(--text-secondary, #666)}.signers-drag-list{display:flex;flex-direction:column;gap:.5rem}.signer-drag-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--card-bg, #fff);border:2px solid var(--signer-color, #667eea);border-radius:8px;cursor:grab;transition:all .2s;position:relative}.signer-drag-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.signer-drag-item:active{cursor:grabbing}.signer-drag-item.placed{opacity:.7;background:color-mix(in srgb,var(--signer-color) 10%,var(--card-bg, #fff))}.signer-drag-item.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--signer-color) 30%,transparent)}.signer-drag-icon{width:1.5rem;height:1.5rem;color:var(--signer-color, #667eea);flex-shrink:0}.signer-drag-icon svg{width:100%;height:100%}.signer-drag-info{flex:1;min-width:0;display:flex;flex-direction:column}.signer-drag-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary, #999);letter-spacing:.02em}.signer-drag-email{font-size:.85rem;font-weight:500;color:var(--text-primary, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-remove-field{position:absolute;top:-6px;right:-6px;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:50%;background:#dc3545;color:#fff;font-size:.9rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s}.signer-drag-item:hover .btn-remove-field{opacity:1}.no-signers-hint{text-align:center;padding:1rem;color:var(--text-muted, #999);font-size:.9rem;font-style:italic}.placer-main{flex:1;display:flex;flex-direction:column;min-width:0}.placer-toolbar{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:var(--input-bg, #f8f9fa);border-bottom:1px solid var(--border-color, #e0e0e0)}.page-nav{display:flex;align-items:center;gap:.5rem}.page-nav button{width:2rem;height:2rem;padding:0;border:1px solid var(--border-color, #ddd);border-radius:4px;background:var(--card-bg, #fff);color:var(--text-primary, #333);font-size:1.25rem;cursor:pointer;transition:background .15s}.page-nav button:hover:not(:disabled){background:var(--border-color, #eee)}.page-nav button:disabled{opacity:.5;cursor:not-allowed}.page-nav span{font-size:.9rem;color:var(--text-secondary, #666);min-width:5rem;text-align:center}.pdf-drop-zone{flex:1;position:relative;margin:.5rem;border:2px dashed transparent;border-radius:8px;transition:border-color .2s,background .2s}.pdf-drop-zone.drag-active{border-color:#667eea;background:#667eea0d}.pdf-frame{width:100%;height:100%;border:none;border-radius:6px;background:#f5f5f5}.fields-overlay{position:absolute;inset:0;pointer-events:none}.signature-field{position:absolute;background:color-mix(in srgb,var(--field-color, #667eea) 15%,transparent);border:2px solid var(--field-color, #667eea);border-radius:4px;cursor:grab;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s}.signature-field:hover{box-shadow:0 2px 8px #00000026}.signature-field:active{cursor:grabbing}.field-content{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;overflow:hidden}.field-icon{width:1rem;height:1rem;color:var(--field-color, #667eea);flex-shrink:0}.field-email{font-size:.75rem;font-weight:600;color:var(--field-color, #667eea);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-remove{position:absolute;top:-8px;right:-8px;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:50%;background:#dc3545;color:#fff;font-size:1rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s}.signature-field:hover .field-remove{opacity:1}.drop-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:1rem 2rem;background:#667eeae6;color:#fff;border-radius:8px;font-weight:600;pointer-events:none;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}[data-theme=dark] .placer-sidebar{background:#ffffff08}[data-theme=dark] .placer-sidebar h3{color:#fff}[data-theme=dark] .signer-drag-item{background:#ffffff0d}[data-theme=dark] .signer-drag-item:hover{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .placer-toolbar{background:#ffffff08}[data-theme=dark] .page-nav button{background:#ffffff0d;border-color:var(--border-color)}[data-theme=dark] .page-nav button:hover:not(:disabled){background:#ffffff1a}[data-theme=dark] .pdf-drop-zone.drag-active{background:#667eea1a}.clients-container{padding:1.5rem;max-width:1400px;margin:0 auto}.clients-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.clients-header-title{min-width:0}.clients-title-block h1{margin:0 0 .25rem;color:var(--text-primary, #333)}.clients-title-line{display:flex;align-items:center;gap:.5rem}.btn-icon-plus{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:50%;background:#667eea;color:#fff;font-size:1.1rem;font-weight:600;line-height:1;cursor:pointer;transition:all .2s}.btn-icon-plus:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.clients-total{margin:0;color:var(--text-secondary, #666);font-size:.95rem}.clients-filtered{color:var(--text-muted, #999)}.users-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.users-search-input{width:100%;max-width:400px;padding:12px 16px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s}.btn-refresh-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--border-color, #ddd);border-radius:8px;background:var(--card-bg, #fff);color:var(--text-primary, #333);cursor:pointer;transition:background .15s,border-color .15s}.btn-refresh-icon:hover:not(:disabled){background:var(--border-color, #eee);border-color:var(--text-secondary, #999)}.btn-refresh-icon:disabled{cursor:not-allowed;opacity:.7}.button-spinner{display:block;width:1.25rem;height:1.25rem;border:2px solid var(--border-color, #e0e0e0);border-top-color:var(--text-primary, #333);border-radius:50%;animation:users-spin .8s linear infinite}@keyframes users-spin{to{transform:rotate(360deg)}}.btn-primary{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{cursor:not-allowed;opacity:.7}.btn-secondary{padding:10px 18px;background:var(--card-bg, #fff);color:var(--text-primary, #333);border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary:hover:not(:disabled){background:var(--border-color, #eee);border-color:var(--text-secondary, #999)}.btn-danger-small{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger-small:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.btn-danger-small:disabled{cursor:not-allowed;opacity:.6}.btn-delete{padding:10px 18px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-delete:hover:not(:disabled){background:#c82333}.form-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.form-card h2{margin:0 0 1.25rem;color:var(--text-primary, #333);font-size:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.9rem;color:var(--text-secondary, #555)}.form-group input,.form-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:1rem;background:var(--input-bg, #fff);color:var(--text-primary, #333)}.form-group input:disabled,.form-group select:disabled{opacity:.8;cursor:not-allowed}.form-group input[type=checkbox]{width:auto;min-width:1.125rem;height:1.125rem;margin:0;padding:0;cursor:pointer;accent-color:var(--primary, #667eea)}.form-group .form-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;margin-bottom:0}.form-group .form-checkbox-label span{line-height:1.4}.user-create-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.user-create-tabs button{padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;color:var(--text-secondary, #666);background:var(--input-bg, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.user-create-tabs button:hover{color:var(--text-primary, #333);background:var(--border-color, #eee)}.user-create-tabs button.active{color:#fff;background:var(--primary, #667eea);border-color:var(--primary, #667eea);box-shadow:0 1px 2px #00000014}[data-theme=dark] .user-create-tabs button{color:#aaa;background:#ffffff0f;border-color:#3a3a3a}[data-theme=dark] .user-create-tabs button:hover{color:#e0e0e0;background:#ffffff1a}[data-theme=dark] .user-create-tabs button.active{color:#fff;background:var(--primary, #667eea);border-color:var(--primary, #667eea);box-shadow:0 1px 2px #0003}.form-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap;justify-content:flex-end}.loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--text-secondary, #666)}.loading .loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--border-color, #e0e0e0);border-top-color:var(--text-primary, #333);border-radius:50%;animation:users-spin .8s linear infinite}.clients-list{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary, #666)}.empty-state p{margin:0 0 1rem}.clients-table{width:100%;border-collapse:collapse}.clients-table th,.clients-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color, #eee);color:var(--text-primary, #333)}.clients-table th{background:var(--input-bg, #f8f9fa);font-weight:600;font-size:.85rem;color:var(--text-secondary, #555)}.clients-table tbody tr:last-child td{border-bottom:none}.user-details-activity{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #eee)}.user-details-activity-label{margin-bottom:.5rem;display:block;color:var(--text-secondary, #555);font-size:.9rem;font-weight:600}.user-details-activity-table tbody tr{transition:background .15s}.user-details-activity-table tbody tr:hover{background:var(--border-color, #f0f0f0)}.clickable-row{cursor:pointer;transition:background .15s}.clickable-row:hover{background:var(--border-color, #f0f0f0)}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.form-input-with-action{display:flex;gap:8px;align-items:center}.form-input-with-action .password-field-wrapper{position:relative;flex:1;min-width:0}.form-input-with-action .password-field-wrapper input{width:100%;padding-right:2.25rem;box-sizing:border-box}.form-input-with-action .btn-password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:4px 8px;min-width:auto;background:transparent;border:none;cursor:pointer;line-height:1;opacity:.7;color:inherit}.form-input-with-action .btn-password-toggle:hover{opacity:1}.form-input-with-action .btn-password-toggle .icon-eye{display:block;width:1.25rem;height:1.25rem}.form-input-with-action .btn-secondary{flex-shrink:0}.user-badge-me{display:inline-block;padding:.15em .5em;border-radius:4px;font-size:.8em;font-weight:600;color:#fff;background-color:#805ad5;vertical-align:middle}.user-badge-active{display:inline-block;padding:.15em .5em;border-radius:4px;font-size:.8em;font-weight:600;color:#fff;background-color:#38a169;vertical-align:middle}.user-badge-pending{display:inline-block;padding:.15em .5em;border-radius:4px;font-size:.8em;font-weight:600;color:#fff;background-color:#ed8936;vertical-align:middle}.pending-row{opacity:.85;background:#ed89360d}.pending-row:hover{background:#ed89361a}.pending-label{color:var(--text-secondary, #666);font-size:.85rem;font-style:italic}[data-theme=dark] .pending-row{background:#ed893614}[data-theme=dark] .pending-row:hover{background:#ed893626}.last-activity-cell{color:var(--text-secondary, #666);font-size:.9rem;white-space:nowrap}[data-theme=dark] .clients-container{color:var(--text-primary)}[data-theme=dark] .clients-title-block h1{color:#fff}[data-theme=dark] .btn-refresh-icon{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-refresh-icon:hover:not(:disabled){background:#ffffff14;border-color:var(--text-secondary)}[data-theme=dark] .btn-secondary{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#ffffff14;border-color:var(--text-secondary)}[data-theme=dark] .form-card{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .form-card h2{color:#fff}[data-theme=dark] .clients-list{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .clickable-row:hover,[data-theme=dark] .user-details-activity-table tbody tr:hover{background:#ffffff0f}.user-details-activity-table .log-method{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--border-color, #e5e7eb);color:var(--text-primary, #333)}.user-details-activity-table .log-method-get{background:#dbeafe;color:#1d4ed8}.user-details-activity-table .log-method-post{background:#dcfce7;color:#16a34a}.user-details-activity-table .log-method-put{background:#fef3c7;color:#d97706}.user-details-activity-table .log-method-delete{background:#fee2e2;color:#dc2626}.user-details-activity-table .log-status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.user-details-activity-table .log-status-2xx{background:#dcfce7;color:#16a34a}.user-details-activity-table .log-status-3xx{background:#dbeafe;color:#1d4ed8}.user-details-activity-table .log-status-4xx{background:#fef3c7;color:#d97706}.user-details-activity-table .log-status-5xx{background:#fee2e2;color:#dc2626}.user-details-activity-table .log-path-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .user-details-activity-table .log-method{background:#ffffff1a;color:var(--text-primary)}[data-theme=dark] .user-details-activity-table .log-method-get{background:#3b82f633;color:#60a5fa}[data-theme=dark] .user-details-activity-table .log-method-post{background:#22c55e33;color:#4ade80}[data-theme=dark] .user-details-activity-table .log-method-put{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .user-details-activity-table .log-method-delete{background:#ef444433;color:#f87171}[data-theme=dark] .user-details-activity-table .log-status-2xx{background:#22c55e33;color:#4ade80}[data-theme=dark] .user-details-activity-table .log-status-3xx{background:#3b82f633;color:#60a5fa}[data-theme=dark] .user-details-activity-table .log-status-4xx{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .user-details-activity-table .log-status-5xx{background:#ef444433;color:#f87171}@media(max-width:768px){.clients-container{padding:1rem}.clients-header{flex-direction:column;align-items:stretch;gap:1rem}.users-list-toolbar{flex-direction:column;align-items:stretch}.users-search-input{max-width:none}.clients-list{overflow-x:auto;-webkit-overflow-scrolling:touch}.clients-table{min-width:560px}.clients-table th,.clients-table td{padding:.5rem .75rem;font-size:.9rem}}.custom-select{position:relative;width:100%}.custom-select--disabled .custom-select-trigger{opacity:.8;cursor:not-allowed}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:.5rem .75rem;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:1rem;background:var(--input-bg, #fff);color:var(--text-primary, #333);cursor:pointer;text-align:left;font-family:inherit;transition:border-color .2s,box-shadow .2s}.custom-select-trigger:hover:not(:disabled){border-color:var(--text-secondary, #999)}.custom-select--open .custom-select-trigger{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.custom-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-label:empty:before{content:" "}.custom-select-chevron{margin-left:.5rem;flex-shrink:0;font-size:.9rem;opacity:.8;line-height:1}.custom-select-panel{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:260px;overflow-y:auto;background:var(--card-bg, #fff);border:1px solid var(--border-color, #ddd);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;padding:.25rem}.custom-select-option{display:block;width:100%;padding:.5rem .75rem;border:none;border-radius:4px;background:transparent;color:var(--text-primary, #333);font-size:1rem;text-align:left;cursor:pointer;font-family:inherit;transition:background .1s}.custom-select-option:hover{background:var(--border-color, #eee)}.custom-select-option.selected{background:#667eea26;color:#667eea;font-weight:600}.custom-select-option.selected:before{content:"✓ ";margin-right:.25rem}.custom-select.select--compact{width:auto;min-width:80px}.custom-select.select--compact .custom-select-trigger{min-height:36px;padding:.4rem .6rem;font-size:.875rem}.custom-select.select--compact .custom-select-panel{min-width:100%;max-height:220px}.custom-select.select--compact .custom-select-option{padding:.35rem .5rem;font-size:.875rem}[data-theme=dark] .custom-select-trigger{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .custom-select-trigger:hover:not(:disabled){border-color:var(--text-secondary)}[data-theme=dark] .custom-select-panel{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .custom-select-option{color:var(--text-primary)}[data-theme=dark] .custom-select-option:hover{background:#ffffff14}[data-theme=dark] .custom-select-option.selected{background:#667eea4d;color:#a5b4fc}.logs-container{padding:1.5rem;max-width:1600px;margin:0 auto}.logs-forbidden{text-align:center;padding:3rem;color:var(--text-secondary, #666)}.logs-forbidden h1{margin-bottom:1rem;color:var(--text-primary, #333)}.logs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.logs-header-content{min-width:0}.logs-header h1{margin:0 0 .25rem}.logs-subtitle{margin:0;color:var(--text-secondary, #666);font-size:.95rem}.logs-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.logs-refresh-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--border-color, #ddd);border-radius:8px;background:var(--card-bg, #fff);color:var(--text-primary, #333);cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.logs-refresh-btn:hover:not(:disabled){background:var(--border-color, #eee);border-color:var(--text-secondary, #999)}.logs-refresh-btn:disabled{cursor:not-allowed}.logs-refresh-icon{width:1.25rem;height:1.25rem}.logs-refresh-spinner{width:1.25rem;height:1.25rem;border:2px solid var(--border-color, #e0e0e0);border-top-color:var(--text-primary, #333);border-radius:50%;animation:logs-spin .8s linear infinite}@keyframes logs-spin{to{transform:rotate(360deg)}}.logs-filters{position:relative;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.logs-filters-reset-btn{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #666);cursor:pointer;transition:background .15s,color .15s}.logs-filters-reset-btn:hover{background:var(--border-color, #eee);color:var(--text-primary, #333)}.logs-filters-reset-icon{width:1.125rem;height:1.125rem}.logs-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.logs-filters-grid .filter-group{display:flex;flex-direction:column;gap:.35rem}.logs-filters-grid .filter-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary, #555)}.logs-filters-grid .filter-group input,.logs-filters-grid .filter-group select{padding:.5rem .6rem;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9rem;background:var(--input-bg, #fff);color:var(--text-primary, #333)}.filter-group-time-tags .time-range-tags{display:flex;gap:.35rem;flex-wrap:wrap}.time-range-tag{padding:.25rem .5rem;border-radius:4px;border:1px solid transparent;font-size:.75rem;font-weight:600;cursor:pointer;background:var(--border-color, #e5e5e5);color:var(--text-secondary, #555);transition:background .15s,border-color .15s}.time-range-tag:hover{opacity:.9}.time-range-tag.active{border-color:var(--text-secondary, #666)}.filter-group-path-dropdown .path-dropdown-wrap{position:relative}.path-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:120px;padding:.4rem .6rem;border-radius:4px;border:1px solid var(--border-color, #ddd);background:var(--input-bg, #fff);color:var(--text-primary, #333);font-size:.875rem;cursor:pointer;text-align:left}.path-dropdown-trigger:hover{border-color:var(--text-secondary, #999)}.path-dropdown-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-dropdown-chevron{margin-left:.5rem;flex-shrink:0;font-size:.9rem;opacity:.9;line-height:1}.path-dropdown-panel{position:absolute;top:100%;left:0;margin-top:4px;min-width:100%;max-height:220px;overflow-y:auto;background:var(--card-bg, #fff);border:1px solid var(--border-color, #ddd);border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:50;padding:.25rem}.path-dropdown-option{display:block;width:100%;padding:.35rem .5rem;border:none;border-radius:4px;background:transparent;color:var(--text-primary, #333);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s}.path-dropdown-option:hover{background:var(--border-color, #eee)}.path-dropdown-option.selected{background:#667eea26;color:#667eea;font-weight:600}.path-dropdown-option.selected:before{content:"✓ ";margin-right:.25rem}[data-theme=dark] .path-dropdown-trigger{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .path-dropdown-panel{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .path-dropdown-option{color:var(--text-primary)}[data-theme=dark] .path-dropdown-option:hover{background:#ffffff14}[data-theme=dark] .path-dropdown-option.selected{background:#667eea4d;color:#a5b4fc}.filter-group-method-dropdown .method-dropdown-wrap{position:relative}.method-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:100px;padding:.4rem .6rem;border-radius:4px;border:1px solid var(--border-color, #ddd);background:var(--input-bg, #fff);color:var(--text-primary, #333);font-size:.875rem;cursor:pointer;text-align:left}.method-dropdown-trigger:hover{border-color:var(--text-secondary, #999)}.method-dropdown-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.method-dropdown-chevron{margin-left:.5rem;flex-shrink:0;font-size:.9rem;opacity:.9;line-height:1}.method-dropdown-panel{position:absolute;top:100%;left:0;margin-top:4px;min-width:100%;max-height:220px;overflow-y:auto;background:var(--card-bg, #fff);border:1px solid var(--border-color, #ddd);border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:50;padding:.25rem}.method-dropdown-option{display:block;width:100%;padding:.35rem .5rem;border:none;border-radius:4px;background:transparent;color:var(--text-primary, #333);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s}.method-dropdown-option:hover{background:var(--border-color, #eee)}.method-dropdown-option.selected{background:#667eea26;color:#667eea;font-weight:600}.method-dropdown-option.selected:before{content:"✓ ";margin-right:.25rem}[data-theme=dark] .method-dropdown-trigger{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .method-dropdown-panel{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .method-dropdown-option{color:var(--text-primary)}[data-theme=dark] .method-dropdown-option:hover{background:#ffffff14}[data-theme=dark] .method-dropdown-option.selected{background:#667eea4d;color:#a5b4fc}.filter-group-status-dropdown .status-dropdown-wrap{position:relative}.status-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:100px;padding:.4rem .6rem;border-radius:4px;border:1px solid var(--border-color, #ddd);background:var(--input-bg, #fff);color:var(--text-primary, #333);font-size:.875rem;cursor:pointer;text-align:left}.status-dropdown-trigger:hover{border-color:var(--text-secondary, #999)}.status-dropdown-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dropdown-chevron{margin-left:.5rem;flex-shrink:0;font-size:.9rem;opacity:.9;line-height:1}.status-dropdown-panel{position:absolute;top:100%;left:0;margin-top:4px;min-width:100%;max-height:220px;overflow-y:auto;background:var(--card-bg, #fff);border:1px solid var(--border-color, #ddd);border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:50;padding:.25rem}.status-dropdown-option{display:block;width:100%;padding:.35rem .5rem;border:none;border-radius:4px;background:transparent;color:var(--text-primary, #333);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s}.status-dropdown-option:hover{background:var(--border-color, #eee)}.status-dropdown-option.selected{background:#667eea26;color:#667eea;font-weight:600}.status-dropdown-option.selected:before{content:"✓ ";margin-right:.25rem}[data-theme=dark] .status-dropdown-trigger{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .status-dropdown-panel{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .status-dropdown-option{color:var(--text-primary)}[data-theme=dark] .status-dropdown-option:hover{background:#ffffff14}[data-theme=dark] .status-dropdown-option.selected{background:#667eea4d;color:#a5b4fc}.filter-group-latency-tags .latency-filter-tags{display:flex;gap:.35rem;flex-wrap:wrap}.latency-tag{padding:.25rem .5rem;border-radius:4px;border:none;font-size:.75rem;font-weight:600;cursor:pointer;background:var(--border-color, #e5e5e5);color:var(--text-secondary, #555);transition:background .15s,color .15s}.latency-tag:hover{opacity:.9}.latency-tag-low{background:#65a30d33;color:#65a30d}.latency-tag-low.active{border:1px solid #65a30d}.latency-tag-medium{background:#ea580c33;color:#ea580c}.latency-tag-medium.active{border:1px solid #ea580c}.latency-tag-high{background:#991b1b33;color:#991b1b}.latency-tag-high.active{border:1px solid #991b1b}.logs-filters-actions{display:flex;gap:.75rem;flex-wrap:wrap}.logs-table-wrap{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;padding:1rem;box-shadow:0 1px 3px #0000000f;overflow-x:auto}.logs-table{width:100%;table-layout:fixed;border-collapse:collapse}.logs-table thead th:nth-child(1){width:14%}.logs-table thead th:nth-child(2){width:12%}.logs-table thead th:nth-child(3){width:8%}.logs-table thead th:nth-child(4){width:24%}.logs-table thead th:nth-child(5){width:8%}.logs-table thead th:nth-child(6){width:12%}.logs-table thead th:nth-child(7){width:12%}.logs-table thead th:nth-child(8){width:10%}.logs-table tbody tr{transition:background .15s}.logs-table tbody tr:hover{background:var(--border-color, #f0f0f0)}.logs-paging-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.logs-total{font-weight:600;color:var(--text-secondary, #555)}.logs-paging-bar .logs-per-page-label{display:inline-flex;align-items:center;gap:.5rem}.logs-paging-bar .logs-per-page-label .custom-select{margin-left:0}.latency-cell{display:flex;align-items:center;gap:.5rem}.latency-value{font-variant-numeric:tabular-nums;font-size:.9rem;min-width:10ch;text-align:right;flex-shrink:0}.latency-bars{display:inline-flex;align-items:flex-end;gap:2px;height:1rem;flex-shrink:0}.latency-bar{width:5px;min-height:4px;border-radius:2px;background:var(--border-color, #e0e0e0);transition:background .15s ease}.latency-bar.filled{height:1rem}.latency-bars-ok .latency-bar.filled{background:#65a30d}.latency-bars-warning .latency-bar.filled{background:#ea580c}.latency-bars-bad .latency-bar.filled{background:#991b1b}.logs-table .log-response-size{font-variant-numeric:tabular-nums;font-size:.9rem}.logs-table .log-method{font-weight:600;font-family:ui-monospace,monospace}.logs-table .log-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:.9rem}.log-status{display:inline-block;padding:.2em .5em;border-radius:4px;font-weight:600;font-size:.85rem}.log-status-2xx{background:#48bb7833;color:#276749}.log-status-3xx{background:#4299e133;color:#2b6cb0}.log-status-4xx{background:#ed893633;color:#c05621}.log-status-5xx{background:#f5656533;color:#c53030}.logs-empty{text-align:center;padding:2rem;color:var(--text-secondary, #666)}.logs-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #eee)}.logs-page-info{font-weight:600;color:var(--text-secondary, #555)}[data-theme=dark] .logs-container{color:var(--text-primary)}[data-theme=dark] .logs-header h1{color:#fff}[data-theme=dark] .logs-filters-reset-btn{color:var(--text-secondary)}[data-theme=dark] .logs-filters-reset-btn:hover{background:#ffffff14;color:var(--text-primary)}[data-theme=dark] .logs-refresh-btn{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .logs-refresh-btn:hover:not(:disabled){background:#ffffff14;border-color:var(--text-secondary)}[data-theme=dark] .logs-refresh-spinner{border-color:#fff3;border-top-color:#fff}[data-theme=dark] .logs-table-wrap{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .logs-table tbody tr:hover{background:#ffffff0f}[data-theme=dark] .logs-filters{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .log-status-2xx{background:#48bb7859;color:#68d391}[data-theme=dark] .log-status-3xx{background:#4299e159;color:#63b3ed}[data-theme=dark] .log-status-4xx{background:#ed893659;color:#ed8936}[data-theme=dark] .log-status-5xx{background:#f5656559;color:#fc8181}[data-theme=dark] .latency-tag-high{background:#f8717159;color:#fca5a5}[data-theme=dark] .latency-tag-high.active{border-color:#f87171}@media(max-width:768px){.logs-container{padding:1rem}.logs-header{flex-direction:column;align-items:stretch;gap:1rem}.logs-header-actions{justify-content:flex-start}.logs-filters{padding:1rem}.logs-filters-grid{grid-template-columns:1fr}.logs-filters-actions{flex-direction:column}.logs-table-wrap{margin-left:-.5rem;margin-right:-.5rem;border-radius:0;padding:.5rem;-webkit-overflow-scrolling:touch}.logs-table{min-width:720px}.logs-paging-bar{flex-direction:column;align-items:stretch}.logs-pagination{flex-wrap:wrap;justify-content:center}}.settings-container{padding:40px;max-width:1200px;margin:0 auto}.settings-content{width:100%}.settings-title{margin:0 0 24px;color:var(--text-primary, #333);font-size:1.75rem}.settings-card{background:var(--card-bg, #fff);border-radius:10px;padding:24px;box-shadow:0 1px 3px #00000014;border:1px solid var(--border-color, #e0e0e0);margin-bottom:20px}.settings-card:last-child{margin-bottom:0}.settings-link{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s}.settings-link:hover{color:#5a67d8;text-decoration:underline}.settings-link-desc{color:var(--text-secondary, #666);font-size:.95rem}.settings-theme-row{display:flex;align-items:center;gap:12px;margin:0}.settings-theme-label{color:var(--text-secondary, #666);font-weight:500}.settings-theme-buttons{display:flex;gap:8px;flex-wrap:wrap}.settings-theme-btn{padding:6px 12px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s;color:var(--text-primary, #333)}.settings-theme-btn:hover{background:var(--border-color, #f0f0f0);border-color:#667eea}.settings-theme-btn.active{background:#667eea;border-color:#667eea;color:#fff}.settings-lang-row{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color, #eee)}.settings-lang-buttons{display:flex;gap:8px;flex-wrap:wrap}.settings-lang-btn{padding:6px 12px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s;color:var(--text-primary, #333)}.settings-lang-btn:hover{background:var(--border-color, #f0f0f0);border-color:#667eea}.settings-lang-btn.active{background:#667eea;border-color:#667eea;color:#fff}.settings-card h2{margin:0 0 16px;color:var(--text-primary, #333);font-size:1.1rem}.settings-card p{color:var(--text-secondary, #666);margin:8px 0}.settings-card .role-badge{display:inline-block;padding:.2em .5em;border-radius:4px;font-size:.9rem}.settings-permissions-list{margin:12px 0 0;padding-left:1.25rem;list-style:disc}.settings-permission-item{margin:4px 0;color:var(--text-secondary, #666);font-family:ui-monospace,monospace;font-size:.9rem}[data-theme=dark] .settings-permission-item{color:#aaa}[data-theme=dark] .settings-container{color:var(--text-primary)}[data-theme=dark] .settings-title{color:#fff}[data-theme=dark] .settings-card{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .settings-card h2{color:#fff}[data-theme=dark] .settings-link{color:#a5b4fc}[data-theme=dark] .settings-link:hover{color:#c7d2fe}[data-theme=dark] .settings-theme-btn{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .settings-theme-btn:hover{background:#ffffff14;border-color:#667eea}[data-theme=dark] .settings-theme-btn.active{background:#667eea;border-color:#667eea;color:#fff}[data-theme=dark] .settings-lang-btn{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .settings-lang-btn:hover{background:#ffffff14;border-color:#667eea}[data-theme=dark] .settings-lang-btn.active{background:#667eea;border-color:#667eea;color:#fff}@media(max-width:768px){.settings-container{padding:1rem}.settings-card{padding:1.25rem}.settings-theme-row{flex-direction:column;align-items:flex-start}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{margin-top:20px;font-size:16px}.app-layout{display:flex;flex-direction:column;min-height:100vh;width:100%;background:#f5f5f5}.app-nav{background:#fff;box-shadow:0 2px 4px #0000001a;padding:0 40px;display:flex;justify-content:space-between;align-items:center;height:70px}.nav-brand-link{text-decoration:none;color:inherit;cursor:pointer}.nav-brand-link:hover{text-decoration:none}.nav-brand h1{margin:0;color:#333;font-size:24px}.nav-content{display:flex;align-items:center;gap:40px}.nav-links{display:flex;gap:8px}.nav-user{display:flex;align-items:center;gap:16px}.nav-username{color:#666;font-size:14px}.nav-username-link{color:#666;font-size:14px;text-decoration:none;cursor:pointer;padding:6px 10px;border-radius:6px;transition:color .2s,background .2s}.nav-username-link:hover{color:#333;background:#0000000f}.nav-username-link.active{color:#333;font-weight:600}.nav-avatar-link{text-decoration:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.nav-avatar{width:38px;height:38px;border-radius:50%;background:#667eea;color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.nav-avatar-link:hover .nav-avatar{transform:scale(1.05);box-shadow:0 2px 8px #667eea66}.nav-avatar-link.active .nav-avatar{box-shadow:0 0 0 2px #fff,0 0 0 4px #667eea}.nav-logout{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.nav-logout:hover{background:#c82333}.nav-link{padding:10px 20px;background:transparent;border:none;border-radius:6px;font-size:16px;cursor:pointer;color:#666;transition:all .2s}.nav-link:hover{background:#f0f0f0;color:#333}.nav-link.active{background:#667eea;color:#fff}.app-main{flex:1;overflow-y:auto}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-primary, #333);cursor:pointer;transition:background .2s}.nav-toggle:hover{background:#0000000f}.nav-toggle-icon{display:block;width:22px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;border-radius:1px}.nav-backdrop{display:none;position:fixed;inset:0;z-index:40;background:#0000004d;border:none;cursor:pointer}@media(max-width:768px){.app-nav{position:relative;padding:0 16px;flex-wrap:wrap;min-height:70px;height:auto}.nav-brand h1{font-size:1.25rem}.nav-toggle{display:flex}.nav-content{position:fixed;top:70px;left:0;right:0;z-index:50;flex-direction:column;align-items:stretch;gap:0;padding:.75rem 1rem;background:#fff;box-shadow:0 4px 12px #00000026;display:none}.nav-content.nav-open{display:flex}.nav-links{flex-direction:column;gap:4px}.nav-link{justify-content:flex-start;padding:12px 16px;text-align:left;width:100%;border-radius:8px}.nav-user{flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--border-color, #e0e0e0);padding-top:.75rem;margin-top:.5rem}.nav-avatar-link{padding:12px 16px;border-radius:8px}.nav-logout{width:100%;padding:12px 16px;text-align:center}.nav-backdrop{display:block}}[data-theme=dark] .nav-toggle{color:#fff}[data-theme=dark] .nav-toggle:hover{background:#ffffff14}[data-theme=dark] .nav-content.nav-open,[data-theme=dark] .nav-content{background:#2a2a2a}[data-theme=dark] .nav-user{border-top-color:var(--border-color)}.nav-theme-toggle{padding:8px 12px;background:transparent;border:1px solid #ddd;border-radius:6px;font-size:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.nav-theme-toggle:hover{background:#f0f0f0;border-color:#667eea}:root{--text-muted: #666;--text-primary: #333;--text-secondary: #555;--border-color: #e0e0e0;--card-bg: #fff;--input-bg: #fff}[data-theme=dark]{--text-muted: #b0b0b0;--text-primary: #e8e8e8;--text-secondary: #b0b0b0;--border-color: #3a3a3a;--card-bg: #2a2a2a;--input-bg: #1a1a1a}[data-theme=dark] .app-layout{background:#1a1a1a}[data-theme=dark] .app-nav{background:#2a2a2a}[data-theme=dark] .nav-brand-link{color:inherit}[data-theme=dark] .nav-brand h1{color:#fff}[data-theme=dark] .nav-link{color:#aaa}[data-theme=dark] .nav-link:hover{background:#1a1a1a;color:#fff}[data-theme=dark] .nav-link.active{background:#667eea;color:#fff}[data-theme=dark] .nav-username,[data-theme=dark] .nav-username-link{color:#aaa}[data-theme=dark] .nav-username-link:hover{color:#fff;background:#ffffff14}[data-theme=dark] .nav-username-link.active{color:#fff}[data-theme=dark] .nav-avatar-link.active .nav-avatar{box-shadow:0 0 0 2px #2a2a2a,0 0 0 4px #667eea}[data-theme=dark] .nav-theme-toggle{border-color:#3a3a3a;color:#fff}[data-theme=dark] .nav-theme-toggle:hover{background:#1a1a1a;border-color:#667eea}input[type=text]{background:#fff;color:#333;border:2px solid #e0e0e0}input[type=text]::placeholder{color:#999}[data-theme=dark] input[type=text]{background:#1a1a1a;color:#fff;border-color:#3a3a3a}[data-theme=dark] input[type=text]::placeholder{color:#666}.role-badge{display:inline-block;padding:.2em .5em;border-radius:4px;font-size:.875em;font-weight:600;color:#fff;background-color:#718096}.role-badge.role-admin{background-color:#c53030}.role-badge.role-technician{background-color:#667eea}.role-badge.role-operator{background-color:#28a745}[data-theme=dark] .role-badge{background-color:#4a5568}[data-theme=dark] .role-badge.role-admin{background-color:#c53030}[data-theme=dark] .role-badge.role-technician{background-color:#667eea}[data-theme=dark] .role-badge.role-operator{background-color:#28a745}.btn-primary .icon-save,.btn-delete .icon-trash{width:1.125rem;height:1.125rem;margin-right:.5rem;vertical-align:middle;display:inline-block;flex-shrink:0}.btn-icon{padding:10px;display:inline-flex;align-items:center;justify-content:center}.btn-icon svg{width:1.25rem;height:1.25rem;flex-shrink:0}
