@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#0d0f1a;--bg-secondary:#12151f;--bg-tertiary:#181b28;--bg-card:#1c2030;--bg-hover:#222638;--accent-1:#6366f1;--accent-2:#8b5cf6;--accent-3:#06b6d4;--accent-grad:linear-gradient(135deg, #6366f1, #8b5cf6);--accent-grad-h:linear-gradient(135deg, #7c7ff5, #a78bfa);--green:#10b981;--green-bg:#10b9811f;--yellow:#f59e0b;--yellow-bg:#f59e0b1f;--red:#ef4444;--red-bg:#ef44441f;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--border:#ffffff12;--border-accent:#6366f166;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 24px #00000080;--shadow-lg:0 8px 40px #0009;--shadow-accent:0 4px 20px #6366f14d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--sidebar-width:260px;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-1)}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;overflow-y:auto}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar-logo{border-bottom:1px solid var(--border);padding:28px 24px 20px}.sidebar-logo .logo-mark{align-items:center;gap:10px;text-decoration:none;display:flex}.logo-icon{background:var(--accent-grad);border-radius:var(--radius-sm);width:36px;height:36px;box-shadow:var(--shadow-accent);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.logo-text{background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.logo-sub{color:var(--text-muted);margin-top:-2px;font-size:11px;font-weight:400;display:block}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:8px;padding:8px 12px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active{color:var(--accent-1);background:#6366f11f}.nav-item.active:before{content:"";background:var(--accent-grad);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:0}.nav-badge{background:var(--red);color:#fff;text-align:center;border-radius:99px;min-width:18px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--border);padding:16px 12px}.sidebar-footer .btn-new-contract{background:var(--accent-grad);border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:100%;transition:all var(--transition);box-shadow:var(--shadow-accent);border:none;justify-content:center;align-items:center;gap:8px;padding:11px;font-size:14px;font-weight:600;display:flex}.sidebar-footer .btn-new-contract:hover{background:var(--accent-grad-h);transform:translateY(-1px);box-shadow:0 6px 24px #6366f166}.topbar{border-bottom:1px solid var(--border);background:var(--bg-secondary);z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;padding:20px 32px;display:flex;position:sticky;top:0}.topbar-title{font-size:22px;font-weight:700}.topbar-subtitle{color:var(--text-secondary);margin-top:1px;font-size:13px}.topbar-actions{align-items:center;gap:10px;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--accent-grad-h);transform:translateY(-1px);box-shadow:0 6px 24px #6366f166}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid #ef444433}.btn-danger:hover{background:#ef444433}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}.btn-icon{border-radius:var(--radius-sm);padding:8px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition);padding:24px}.card:hover{box-shadow:var(--shadow-md);border-color:#6366f140;transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green)}.badge-yellow{background:var(--yellow-bg);color:var(--yellow)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{color:var(--accent-1);background:#6366f11f}.progress-wrap{margin-top:12px}.progress-label{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.progress-bar{background:var(--bg-hover);border-radius:99px;height:6px;overflow:hidden}.progress-fill{background:var(--accent-grad);border-radius:99px;height:100%;transition:width .5s}.form-group{margin-bottom:18px}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px #6366f126}.form-select option{background:var(--bg-secondary)}.form-textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.25s slideUp;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px 28px 0;display:flex}.modal-title{font-size:20px;font-weight:700}.modal-body{padding:0 28px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:24px;padding:24px 28px;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition);background:var(--bg-tertiary);padding:32px}.dropzone:hover,.dropzone.active{border-color:var(--accent-1);background:#6366f10f}.dropzone-icon{margin-bottom:12px;font-size:36px}.dropzone-text{color:var(--text-secondary);font-size:14px}.dropzone-text span{color:var(--accent-1);cursor:pointer;font-weight:600}.page{padding:32px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition);align-items:center;gap:16px;padding:20px 24px;display:flex}.stat-card:hover{border-color:var(--border-accent);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.stat-value{font-size:28px;font-weight:800;line-height:1}.stat-label{color:var(--text-secondary);margin-top:3px;font-size:13px}.contracts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.contract-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition);padding:20px;position:relative;overflow:hidden}.contract-card:before{content:"";background:var(--accent-grad);opacity:0;height:3px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.contract-card:hover{box-shadow:var(--shadow-md);border-color:#6366f14d;transform:translateY(-3px)}.contract-card:hover:before{opacity:1}.contract-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.contract-icon{border-radius:var(--radius-sm);background:#6366f11f;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.contract-name{margin-bottom:4px;font-size:16px;font-weight:700;line-height:1.3}.contract-vendor{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.contract-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;font-size:12px;display:flex}.contract-meta span{align-items:center;gap:4px;display:flex}.contract-amount{background:var(--accent-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:14px;font-size:20px;font-weight:800}.detail-layout{grid-template-columns:1fr 380px;gap:0;height:calc(100vh - 74px);display:grid;overflow:hidden}.detail-main{padding:32px;overflow-y:auto}.detail-sidebar{border-left:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.detail-tabs{border-bottom:1px solid var(--border);background:var(--bg-secondary);padding:0 16px;display:flex}.detail-tab{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:14px 16px;font-family:inherit;font-size:13px;font-weight:600}.detail-tab.active{color:var(--accent-1);border-bottom-color:var(--accent-1)}.detail-tab:hover:not(.active){color:var(--text-primary)}.pdf-viewer{border-radius:var(--radius-md);border:1px solid var(--border);background:#1a1a2e;min-height:500px;overflow:hidden}.pdf-toolbar{background:var(--bg-tertiary);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex}.pdf-page-info{color:var(--text-secondary);text-align:center;min-width:80px;font-size:13px}.pdf-canvas-wrap{background:#1a1a2e;justify-content:center;padding:20px;display:flex;overflow-x:auto}.pdf-canvas-wrap canvas{border-radius:4px;max-width:100%;box-shadow:0 4px 20px #00000080}.pdf-placeholder{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.chat-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-msg{gap:10px;animation:.25s fadeInUp;display:flex}.chat-msg.user{flex-direction:row-reverse}.chat-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.chat-avatar.ai{background:var(--accent-grad)}.chat-avatar.user{background:var(--bg-hover);border:1px solid var(--border)}.chat-bubble{border-radius:12px;max-width:85%;padding:10px 14px;font-size:13px;line-height:1.6}.chat-msg.ai .chat-bubble{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:12px 12px 12px 2px}.chat-msg.user .chat-bubble{background:var(--accent-grad);color:#fff;border-radius:12px 12px 2px}.chat-input-area{border-top:1px solid var(--border);background:var(--bg-secondary);padding:12px}.chat-input-wrap{align-items:flex-end;gap:8px;display:flex}.chat-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);resize:none;max-height:120px;transition:border-color var(--transition);outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:13px}.chat-input:focus{border-color:var(--accent-1)}.chat-send-btn{border-radius:var(--radius-sm);background:var(--accent-grad);color:#fff;cursor:pointer;width:38px;height:38px;transition:all var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--accent-grad-h);transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-suggestions{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chat-chip{color:var(--accent-1);cursor:pointer;transition:all var(--transition);background:#6366f11a;border:1px solid #6366f140;border-radius:99px;padding:4px 10px;font-family:inherit;font-size:11px}.chat-chip:hover{border-color:var(--accent-1);background:#6366f133}.typing-dots{gap:4px;padding:4px 0;display:flex}.typing-dots span{background:var(--accent-1);border-radius:50%;width:6px;height:6px;animation:1.2s infinite bounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.payment-table-wrap{overflow-x:auto}.payment-table{border-collapse:collapse;width:100%;font-size:13px}.payment-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-tertiary);padding:10px 14px;font-size:11px;font-weight:600}.payment-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.payment-table tr:last-child td{border-bottom:none}.payment-table tr:hover td{background:var(--bg-hover)}.payment-check{border:2px solid var(--border);cursor:pointer;width:18px;height:18px;transition:all var(--transition);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.payment-check.paid{background:var(--green);border-color:var(--green);color:#fff}.payment-row.paid td{opacity:.6}.payment-row.paid .amount-cell{text-decoration:line-through}.payment-row.overdue td:first-child{border-left:3px solid var(--red)}.filters-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex}.search-input-wrap{flex:1;min-width:200px;position:relative}.search-input-wrap .search-icon{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input-wrap input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:9px 14px 9px 38px;font-family:inherit;font-size:14px}.search-input-wrap input:focus{border-color:var(--accent-1)}.filter-select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition);outline:none;padding:9px 14px;font-family:inherit;font-size:13px}.filter-select:focus{border-color:var(--accent-1);color:var(--text-primary)}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;padding:24px}.settings-title{margin-bottom:6px;font-size:16px;font-weight:700}.settings-desc{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.5}.api-key-input-wrap{gap:10px;display:flex}.api-key-input-wrap input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition);outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.api-key-input-wrap input:focus{border-color:var(--accent-1)}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.empty-state-icon{font-size:56px}.empty-state h3{color:var(--text-primary);font-size:20px;font-weight:700}.empty-state p{max-width:320px;font-size:14px;line-height:1.6}.toast-container{z-index:9999;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);align-items:center;gap:10px;min-width:260px;padding:12px 16px;font-size:13px;font-weight:500;animation:.3s slideInRight;display:flex}.toast.success{border-color:var(--green)}.toast.error{border-color:var(--red)}.toast.warning{border-color:var(--yellow)}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{font-size:18px;font-weight:700}.section-sub{color:var(--text-secondary);margin-top:2px;font-size:13px}.info-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.info-item-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.info-item-value{color:var(--text-primary);font-size:15px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #6366f14d;border-top-color:var(--accent-1);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}[title]{cursor:help}@media (width<=1024px){.detail-layout{grid-template-columns:1fr;height:auto}.detail-sidebar{border-left:none;border-top:1px solid var(--border);height:600px}}@media (width<=768px){:root{--sidebar-width:0px}.sidebar{transform:translate(-100%)}.main-content{margin-left:0}.page{padding:16px}.form-row,.info-grid{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-muted{color:var(--text-muted);font-size:13px}.text-secondary{color:var(--text-secondary)}.font-bold{font-weight:700}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.w-full{width:100%}.summary-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;padding:16px;display:flex}.summary-label{text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:600}.summary-value{color:var(--text-primary);font-size:22px;font-weight:800}.table-input{background:var(--bg-tertiary);border:1px solid var(--accent-1);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:6px 8px;font-family:inherit;font-size:13px}.file-upload-btn{color:var(--accent-1);border-radius:var(--radius-sm);cursor:pointer;background:#6366f11a;border:1px solid #6366f133;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.file-upload-btn:hover{background:#6366f133}.file-upload-btn input[type=file]{opacity:0;cursor:pointer;min-width:100%;min-height:100%;position:absolute;top:0;right:0}.login-page-wrap{background:radial-gradient(circle at 10% 20%, #6366f114 0%, #0000 90%), var(--bg-primary);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg), 0 20px 40px -15px #00000080;padding:36px;animation:.4s slideUp}.login-header{text-align:center;margin-bottom:28px}.login-logo-wrap{justify-content:center;align-items:center;gap:10px;margin-bottom:16px;display:flex}.login-logo-icon{background:var(--accent-grad);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 12px #6366f14d}.login-logo-text{letter-spacing:-.02em;color:var(--text-primary);align-items:center;gap:6px;font-size:20px;font-weight:800;display:flex}.badge-cloud{text-transform:uppercase;color:var(--accent-1);background:#3b82f626;border:1px solid #3b82f64d;border-radius:99px;padding:2px 6px;font-size:10px;font-weight:700}.login-title{color:var(--text-primary);margin:0 0 6px;font-size:20px;font-weight:800}.login-subtitle{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-input-group{flex-direction:column;gap:6px;display:flex}.login-label-row{justify-content:space-between;align-items:center;display:flex}.tooltip-badge{color:var(--accent-1);cursor:help;font-size:11px;text-decoration:underline}.login-input-label{color:var(--text-secondary);font-size:12px;font-weight:600}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--text-muted);position:absolute;left:14px}.login-input-wrapper input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all var(--transition);outline:none;padding:11px 16px 11px 42px;font-family:inherit;font-size:14px}.login-input-wrapper input:focus{border-color:var(--accent-1);box-shadow:0 0 0 2px #6366f126}.login-input-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;right:14px}.login-input-toggle-btn:hover{color:var(--text-primary)}.login-submit-btn{background:var(--accent-grad);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:all var(--transition);border:none;justify-content:center;margin-top:10px;padding:12px;font-size:14px;font-weight:700;display:flex}.login-submit-btn:hover{background:var(--accent-grad-h);transform:translateY(-1px)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:20px}.login-toggle-mode-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:13px}.login-toggle-mode-btn:hover{color:var(--accent-1);text-decoration:underline}.login-security-notice{border-radius:var(--radius-sm);color:var(--text-secondary);background:#10b98114;border:1px solid #10b98126;gap:8px;margin-top:24px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.session-status-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.btn-icon-logout{color:var(--red);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:flex}.btn-icon-logout:hover{background:#ef44441a}.switch{width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:24px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--accent-1);border-color:var(--accent-1)}input:checked+.slider:before{background-color:#fff;transform:translate(20px)}.emailjs-config-box{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:8px;padding:16px}.emailjs-title{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:700}.e2ee-key-display{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 14px;font-size:13px;display:flex}.e2ee-key-code{border:1px solid var(--border);color:var(--accent-2);background:#ffffff0d;border-radius:4px;padding:2px 6px;font-family:monospace}.empty-logs{text-align:center;color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px dashed var(--border);padding:24px;font-size:13px}.logs-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.logs-table{border-collapse:collapse;width:100%;font-size:13px}.logs-table th{background:var(--bg-tertiary);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-size:12px;font-weight:600}.logs-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.logs-table tr:last-child td{border-bottom:none}.badge-type{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.badge-type.contract{color:var(--accent-1);background:#6366f126}.badge-type.payment{color:var(--pink);background:#ec489926}.log-status{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.log-status.success{color:var(--green)}.log-status.simulated{color:var(--text-secondary)}.log-status.error{color:var(--red)}.badge-role{border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.badge-role.admin{color:var(--green);background:#10b98126}.badge-role.viewer{color:var(--text-secondary);background:#9ca3af26}.create-user-form .form-group{flex-direction:column;gap:4px;display:flex}.settings-section-header{align-items:center;gap:12px;display:flex}
