body{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.loading-screen{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center}.spinner{border:4px solid #ffffff4d;height:50px;width:50px}.btn{font-size:14px;gap:8px}.btn-primary{max-width:180px;min-width:80px;white-space:nowrap;width:auto}.btn-secondary{background:#f3f4f6}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-outline{background:#f3f4f6;border:2px solid #d1d5db;color:#374151}.btn-outline:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-danger{background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-success{background:#10b981}.btn-success:hover:not(:disabled){background:#059669}.btn-sm{font-size:12px}.error-message,.success-message{align-items:center;border-radius:6px;display:flex;gap:10px;margin:16px 0}.success-message{padding:12px 16px}.empty-state{color:#9ca3af;font-size:16px;padding:60px 20px}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-logo{height:50px;margin-bottom:16px;width:auto}.login-header h1{color:#1f2937;font-size:28px;margin-bottom:8px}.subtitle{color:#6b7280;font-size:14px}.form-group input{border:2px solid #e5e7eb;font-size:15px;transition:all .2s}.form-group input:disabled{background:#f9fafb;cursor:not-allowed}.login-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:all .2s;width:100%}.login-button:hover:not(:disabled){background:#5568d3;box-shadow:0 8px 20px #667eea4d;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.back-button{background:#0000;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:12px;transition:all .2s;width:100%}.back-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.security-info{align-items:center;border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:13px;gap:8px;justify-content:center;margin-top:24px;padding-top:24px}.security-info svg{color:#10b981}.admin-link{margin-top:16px;text-align:center}.admin-link .text-link{color:#6b7280;font-size:13px;text-decoration:none;transition:color .2s}.admin-link .text-link:hover{color:#3b82f6}.input-disabled{background-color:#f3f4f6;cursor:not-allowed}.help-text{color:#6b7280;display:block;font-size:12px;margin-top:6px}.btn-link{color:#6b7280;font-size:14px;padding:8px 0;text-decoration:none;transition:color .2s}.btn-link:hover{color:#3b82f6}.login-footer{margin-top:16px;text-align:center}.security-note{align-items:center;background:#f0fdf4;border-radius:8px;color:#065f46;display:flex;font-size:12px;gap:8px;justify-content:center;margin-top:20px;padding:12px}.security-note svg{color:#10b981;flex-shrink:0}.compliance-footer{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:24px}.compliance-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 4px 15px #667eea4d;display:flex;gap:12px;justify-content:center;margin-bottom:20px;padding:16px}.shield-icon{color:#fff;height:32px;width:32px}.compliance-text{align-items:flex-start;display:flex;flex-direction:column}.soc2-label{color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px}.compliance-desc{color:#ffffffe6;font-size:12px;font-weight:500}.security-features{display:flex;flex-direction:column;gap:8px}.feature-item{align-items:center;color:#374151;display:flex;font-size:12px;gap:8px}.check-icon{color:#10b981;flex-shrink:0;height:16px;width:16px}.validation-results{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:24px;padding:24px}.results-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:12px;margin:0 0 24px}.results-title svg{color:#10b981}.progress-container{margin-bottom:32px}.progress-bar{background:#f3f4f6;border-radius:8px;box-shadow:inset 0 2px 4px #0000000f;display:flex;height:48px;overflow:hidden}.progress-segment{align-items:center;display:flex;font-size:14px;font-weight:600;justify-content:center;position:relative;transition:width .5s ease}.progress-segment.valid{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.progress-segment.invalid{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.progress-label{text-shadow:0 1px 2px #0003}.progress-legend{display:flex;gap:24px;justify-content:center;margin-top:12px}.legend-item{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px}.legend-color{border-radius:4px;height:16px;width:16px}.legend-color.valid{background:#10b981}.legend-color.invalid{background:#ef4444}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{border:2px solid;padding:20px;transition:transform .2s}.stat-card.total{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-color:#e5e7eb}.stat-card.valid{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#d1fae5}.stat-card.invalid{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fee2e2}.stat-card.total .stat-icon{color:#6b7280}.stat-card.valid .stat-icon{color:#10b981}.stat-card.invalid .stat-icon{color:#ef4444}.stat-value{font-size:32px;line-height:1}.stat-card.total .stat-value{color:#374151}.stat-card.valid .stat-value{color:#059669}.stat-card.invalid .stat-value{color:#dc2626}.stat-label{font-size:13px}.invalid-section{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;border-radius:10px;padding:24px}.invalid-title{align-items:center;color:#dc2626;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 8px}.invalid-title svg{flex-shrink:0}.invalid-description{color:#991b1b;font-size:14px;margin:0 0 16px}.valid-section{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #a7f3d0;border-radius:10px;margin-top:24px;padding:24px}.valid-title{align-items:center;color:#047857;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 8px}.valid-description{color:#065f46;font-size:14px;margin:0 0 16px}.valid-list-container{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.valid-item{background-color:#fff;border-left:4px solid #10b981;border-radius:6px;box-shadow:0 10px 25px #10b98126;padding:12px}.invalid-list-container{background:#fff;border-radius:8px;max-height:400px;overflow-y:auto;padding:12px}.invalid-item{background:#fff;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:6px;margin-bottom:12px;padding:12px 16px;transition:all .2s}.invalid-item:last-child{margin-bottom:0}.invalid-item:hover{border-color:#f87171;box-shadow:0 2px 8px #ef444426}.item-header{font-size:13px;margin-bottom:8px}.item-row-number{color:#dc2626;font-weight:600}.item-category{color:#6b7280;font-family:Courier New,monospace}.item-title{align-items:flex-start;color:#1f2937;display:flex;font-size:14px;gap:8px}.item-title svg{color:#ef4444;flex-shrink:0;margin-top:2px}.title-text{color:#991b1b;font-weight:500;word-break:break-word}.more-items{align-items:center;background:#fef2f2;border:1px dashed #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:16px}.more-items svg{color:#ef4444}.success-banner{align-items:center;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #a7f3d0;border-radius:10px;display:flex;gap:16px;margin-top:16px;padding:20px}.success-banner svg{color:#10b981;flex-shrink:0}.success-banner strong{color:#059669;display:block;font-size:16px;margin-bottom:4px}.success-banner p{color:#047857;font-size:14px;margin:0}.invalid-list-container::-webkit-scrollbar{width:8px}.invalid-list-container::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.invalid-list-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.invalid-list-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width:768px){.validation-results{padding:16px}.stats-grid{grid-template-columns:1fr}.progress-legend{align-items:flex-start;flex-direction:column;gap:8px}.stat-value{font-size:24px}.invalid-section{padding:16px}}:root{--gray-50:#f9fafb;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-700:#374151;--gray-800:#1f2937;--green-50:#d1fae5;--green-200:#a7f3d0;--green-main:#10b981;--green-accent:#16a34a;--green-dark:#065f46;--green-darker:#166534;--green-text:#15803d;--red-50:#fee2e2;--red-100:#fecaca;--red-main:#ef4444;--red-accent:#dc2626;--red-dark:#991b1b;--indigo-main:#667eea;--indigo-bg:#eef2ff;--blue-main:#3b82f6;--blue-hover:#2563eb;--orange-50:#fef3c7;--orange-main:#f59e0b;--orange-accent:#b45309;--orange-text:#92400e;--orange-deep:#78350f}.csv-upload-container{margin:0 auto;max-width:900px}.csv-upload-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:32px}.upload-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.upload-header>div{flex:2 1;min-width:0}.upload-header .btn,.upload-header .btn-outline,.upload-header>button{align-items:center;display:flex;flex:0 0 auto;justify-content:center;max-width:180px;min-width:0;white-space:nowrap}.csv-upload-card h2{color:#1f2937;color:var(--gray-800);font-size:24px;margin-bottom:8px}.description{color:#6b7280;color:var(--gray-500);margin-bottom:0}.description strong{color:#374151;color:var(--gray-700);font-weight:600}.btn-small{align-items:center;display:inline-flex;font-size:14px;justify-content:center;padding:8px 16px;white-space:nowrap}.drop-zone{background:#f9fafb;background:var(--gray-50);border:3px dashed #d1d5db;border:3px dashed var(--gray-300);border-radius:12px;cursor:pointer;padding:60px 20px;text-align:center;transition:all .3s}.drop-zone.active{background:#eef2ff;background:var(--indigo-bg);border-color:#667eea;border-color:var(--indigo-main)}.drop-zone.has-file{background:#d1fae5;background:var(--green-50);border-color:#10b981;border-color:var(--green-main)}.file-input{display:none}.drop-zone-label{cursor:pointer;display:block}.drop-zone svg{color:#9ca3af;color:var(--gray-400);margin-bottom:16px}.drop-zone.has-file svg{color:#10b981;color:var(--green-main)}.drop-zone p{color:#6b7280;color:var(--gray-500);font-size:16px;margin-bottom:8px}.file-types{color:#9ca3af;color:var(--gray-400);font-size:13px}.file-info{align-items:center;gap:16px}.file-details,.file-info{display:flex;flex-direction:column}.file-details{gap:4px;text-align:center}.file-details strong{color:#1f2937;color:var(--gray-800);font-size:16px}.file-details span{color:#6b7280;color:var(--gray-500);font-size:14px}.action-buttons button{flex:1 1}.validation-summary-message{align-items:center;border:2px solid;border-radius:8px;display:flex;font-size:15px;gap:16px;margin-top:24px;padding:16px 20px}.validation-summary-message.all-valid{background:linear-gradient(135deg,#d1fae5,#a7f3d0);background:linear-gradient(135deg,var(--green-50) 0,var(--green-200) 100%);border-color:#10b981;border-color:var(--green-main);color:#065f46;color:var(--green-dark)}.validation-summary-message.all-valid svg{color:#10b981;color:var(--green-main);flex-shrink:0}.validation-summary-message.has-errors{background:linear-gradient(135deg,#fee2e2,#fecaca);background:linear-gradient(135deg,var(--red-50) 0,var(--red-100) 100%);border-color:#ef4444;border-color:var(--red-main);color:#991b1b;color:var(--red-dark)}.validation-summary-message.has-errors svg{color:#ef4444;color:var(--red-main);flex-shrink:0}.validation-summary-message div{flex:1 1}.validation-summary-message strong{display:block;font-size:16px;margin-bottom:4px}.validation-summary-message p{font-size:14px;margin:0;opacity:.9}.csv-upload-card .success-message{align-items:flex-start;background:#d1fae5;background:var(--green-50);border:2px solid #10b981;border:2px solid var(--green-main);border-radius:8px;display:flex;gap:16px;margin-top:24px;padding:20px}.csv-upload-card .success-message svg{color:#16a34a;color:var(--green-accent);flex-shrink:0}.csv-upload-card .success-message strong{color:#166534;color:var(--green-darker);display:block;font-size:16px;margin-bottom:4px}.csv-upload-card .success-message p{color:#15803d;color:var(--green-text);font-size:14px;margin:0}.csv-upload-card .success-message .uploaded-count{color:#16a34a;color:var(--green-accent);font-weight:600}.csv-upload-card .success-message .excluded-count{color:#dc2626;color:var(--red-accent);font-weight:600}.validation-details{border-top:2px solid #e5e7eb;border-top:2px solid var(--gray-200);margin-top:32px;padding-top:32px}.validation-details h3{color:#1f2937;color:var(--gray-800);font-size:20px;margin-bottom:16px}.validation-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.summary-item{background:#f9fafb;background:var(--gray-50);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:8px;padding:16px;text-align:center}.summary-item.success{background:#d1fae5;background:var(--green-50);border-color:#10b981;border-color:var(--green-main)}.summary-item.error{background:#fee2e2;background:var(--red-50);border-color:#ef4444;border-color:var(--red-main)}.summary-item .label{color:#6b7280;color:var(--gray-500);display:block;font-size:13px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.summary-item .value{color:#1f2937;color:var(--gray-800);display:block;font-size:28px;font-weight:700}.summary-item.success .value{color:#065f46;color:var(--green-dark)}.summary-item.error .value{color:#991b1b;color:var(--red-dark)}.invalid-rows{margin-top:24px}.invalid-rows h4{color:#dc2626;color:var(--red-accent);font-size:16px;font-weight:600;margin-bottom:16px}.error-list{display:flex;flex-direction:column;gap:12px}.invalid-rows .error-row{align-items:center;background:#fee2e2;background:var(--red-50);border-left:4px solid #dc2626;border-left:4px solid var(--red-accent);border-radius:6px;display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.row-number{background:#dc2626;background:var(--red-accent);border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.row-title{color:#991b1b;color:var(--red-dark);flex:1 1;font-weight:600}.row-category{color:var(--brown-category);font-size:13px}.more-errors{background:#fef3c7;background:var(--orange-50);border-radius:6px;color:#92400e;color:var(--orange-text);font-weight:600;padding:16px;text-align:center}.validation-error-wrapper{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:24px;padding:20px}.validation-header{margin-bottom:20px}.validation-header h3{color:#991b1b;color:var(--red-dark);font-size:20px;margin-bottom:8px}.filter-section{background:#fff;border-radius:6px;margin:20px 0;padding:16px}.filter-section h4{color:#374151;color:var(--gray-700);font-size:16px;margin-bottom:4px}.filter-hint{color:#6b7280;color:var(--gray-500);font-size:14px;margin-bottom:12px}.filter-buttons{display:flex;flex-wrap:wrap;gap:12px}.filter-button{background:#fff;border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:6px;color:#374151;color:var(--gray-700);cursor:pointer;font-weight:500;padding:8px 16px;transition:.2s ease}.filter-button:hover{background:#f9fafb;background:var(--gray-50);border-color:#9ca3af;border-color:var(--gray-400)}.filter-button.active{background:#3b82f6;background:var(--blue-main);border-color:#3b82f6;border-color:var(--blue-main);color:#fff}.validation-actions{margin-top:24px}.action-section,.download-section{margin-bottom:20px}.action-section h4,.download-section h4{color:#374151;color:var(--gray-700);font-size:16px;margin-bottom:12px}.action-buttons,.download-buttons{display:flex;flex-wrap:wrap;gap:12px}.action-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.action-button.primary{background:#dc2626;background:var(--red-accent);color:#fff}.action-button.primary:hover{background:#b91c1c}.action-button.secondary{background:#e5e7eb;background:var(--gray-200);color:#374151;color:var(--gray-700)}.action-button.secondary:hover{background:#d1d5db;background:var(--gray-300)}.action-button.download-all{background:#3b82f6;background:var(--blue-main);color:#fff}.action-button.download-all:hover{background:#2563eb;background:var(--blue-hover)}.action-button.download-valid{background:#10b981;background:var(--green-main);color:#fff}.action-button.download-valid:hover{background:#059669}.action-button.download-invalid{background:#ef4444;background:var(--red-main);color:#fff}.action-button.download-invalid:hover{background:#dc2626;background:var(--red-accent)}.action-button:disabled{cursor:not-allowed;opacity:.5}.exclusion-note{background:#fef3c7;background:var(--orange-50);border-left:4px solid #f59e0b;border-left:4px solid var(--orange-main);border-radius:4px;margin-top:12px;padding:12px}.exclusion-note p{color:#92400e;color:var(--orange-text);font-weight:500;margin:0 0 8px}.excluded-details{margin-top:8px}.excluded-details summary{color:#b45309;color:var(--orange-accent);cursor:pointer;font-weight:600;margin-bottom:8px}.excluded-details ul{list-style:disc;margin:8px 0;padding-left:20px}.excluded-details li{color:#78350f;color:var(--orange-deep);margin-bottom:4px}.excluded-details .more-rows{color:#92400e;color:var(--orange-text);font-style:italic;margin-top:4px}@media (max-width:768px){.csv-upload-card{padding:24px 20px}.drop-zone{padding:40px 16px}.action-buttons{flex-direction:column}.validation-summary{grid-template-columns:1fr}.invalid-rows .error-row{align-items:flex-start;flex-direction:column}}.session-timer{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.timer-content{align-items:center;background:#667eea1a;border:1px solid #667eea40;border-radius:6px;color:#334155;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 14px;transition:all .3s}.session-timer.warning .timer-content{background:#fbbf2426;border-color:#fbbf2466;color:#b45309;font-weight:600}.session-timer.critical .timer-content{animation:pulse 1s infinite;background:#ef444426;border-color:#ef444466;color:#dc2626;font-weight:600}.timer-content svg{color:#667eea;flex-shrink:0;opacity:.8}.timer-label{color:#64748b;font-weight:500;opacity:.9}.timer-value{font-feature-settings:"tnum";color:#1e293b;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.5px;min-width:45px}.timer-warning{align-items:center;animation:slideIn .3s ease-out;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;display:flex;font-size:13px;gap:12px;padding:8px 12px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-extend{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:background .2s;white-space:nowrap}.btn-extend:hover{background:#d97706}.btn-extend:active{transform:scale(.95)}.upload-history-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-top:24px;overflow:hidden;transition:all .3s ease}.history-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background-color .15s;-webkit-user-select:none;user-select:none}.history-header:hover{background-color:#f9fafb}.header-left{align-items:center;display:flex;gap:16px}.header-left svg{color:#667eea;flex-shrink:0}.header-left h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.header-left p{color:#6b7280;font-size:14px;margin:4px 0 0}.upload-count{color:#6b7280;font-size:14px;font-weight:500}.expand-icon{color:#9ca3af;transition:transform .3s ease}.expand-icon.expanded{transform:rotate(180deg)}.history-content{background:#f9fafb;border-top:1px solid #e5e7eb}.empty-state,.error-state,.loading-state{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:40px 24px}.loading-state .spinner{animation:spin 1s linear infinite;color:#667eea}.empty-state,.error-state{flex-direction:column}.empty-state svg{margin-bottom:8px}.empty-state p{font-size:14px}.history-list{max-height:500px;overflow-y:auto}.history-item{background:#fff;border-bottom:1px solid #e5e7eb}.history-item:last-child{border-bottom:none}.item-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 24px;transition:background-color .15s}.item-header:hover{background-color:#f9fafb}.item-main{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.item-main svg{color:#9ca3af;flex-shrink:0}.item-info{display:flex;flex-direction:column;gap:4px;min-width:0}.filename{color:#1f2937;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date{color:#6b7280;font-size:12px}.item-stats{gap:12px}.item-stats,.stat-badge{align-items:center;display:flex}.stat-badge{background:#f3f4f6;border-radius:6px;color:#4b5563;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}.stat-badge svg{color:#9ca3af}.item-expand-icon{color:#9ca3af;flex-shrink:0;transition:transform .3s ease}.item-expand-icon.expanded{transform:rotate(180deg)}.item-details{background:#f9fafb;border-top:1px solid #e5e7eb;padding:16px 24px 20px}.details-header{align-items:center;color:#4b5563;display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:12px}.details-header svg{color:#667eea}.titles-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto;padding:12px}.title-tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;font-size:12px;font-weight:500;padding:6px 12px;white-space:nowrap}.history-list::-webkit-scrollbar,.titles-list::-webkit-scrollbar{width:8px}.history-list::-webkit-scrollbar-track,.titles-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.history-list::-webkit-scrollbar-thumb,.titles-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.history-list::-webkit-scrollbar-thumb:hover,.titles-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width:768px){.history-header{padding:16px 20px}.header-left{gap:12px}.header-left h3{font-size:16px}.header-left p{font-size:13px}.item-header{padding:12px 20px}.item-stats{align-items:flex-end;flex-direction:column;gap:6px}.item-details{padding:12px 20px 16px}.title-tag{font-size:11px;padding:5px 10px}}.admin-dashboard{background:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.admin-navbar{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #cbd5e1;box-shadow:0 4px 12px #00000014;color:#1e293b;display:flex;justify-content:space-between;padding:16px 32px}.admin-navbar .navbar-brand h1{color:#1e293b;font-size:24px;font-weight:700}.admin-navbar .navbar-brand{align-items:center;display:flex;gap:12px}.admin-label{border-left:2px solid #667eea;color:#334155;font-size:18px;font-weight:700;letter-spacing:.3px;padding-left:12px}.admin-navbar .navbar-menu{align-items:center;display:flex;gap:16px}.admin-navbar .user-info{align-items:center;background:#667eea14;border:1px solid #667eea33;border-radius:6px;color:#334155;display:flex;font-size:14px;font-weight:500;gap:10px;padding:9px 16px;transition:all .2s}.admin-navbar .user-info:hover{background:#667eea1f;border-color:#667eea59}.admin-navbar .user-info svg{color:#667eea;opacity:1}.admin-navbar .btn-outline{background:#ef444414;border-color:#ef4444;color:#dc2626;font-weight:600}.admin-navbar .btn-outline:hover{background:#ef4444;border-color:#dc2626;box-shadow:0 2px 8px #ef44444d;color:#fff;transform:translateY(-1px)}.admin-navbar .btn-secondary{background:#667eea1a;border:1px solid #667eea40;color:#5568d3;font-weight:600}.admin-navbar .btn-secondary:hover{background:#667eea;border-color:#5568d3;box-shadow:0 2px 8px #667eea4d;color:#fff;transform:translateY(-1px)}.admin-tabs{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;overflow-x:auto;padding:0 32px}.tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:15px;font-weight:600;padding:16px 24px;transition:all .2s;white-space:nowrap}.tab:hover{background:#f9fafb;color:#374151}.tab.active{border-bottom-color:#667eea;color:#667eea}.admin-content{flex:1 1;margin:0 auto;max-width:1600px;padding:40px 32px;width:100%}.admin-footer{background:#1f2937;color:#9ca3af;font-size:14px;padding:20px 32px;text-align:center}@media (max-width:768px){.admin-navbar{flex-direction:column;gap:16px}.admin-tabs{padding:0 16px}.tab{font-size:14px;padding:12px 16px}.admin-content{padding:24px 16px}}.admin-overview{animation:fadeIn .3s ease-in}.admin-overview h2{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:24px}.admin-overview .loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{box-shadow:0 1px 3px #0000000d;gap:16px;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-icon{border-radius:12px;flex-shrink:0;height:56px;width:56px}.stat-icon.blue{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon.green{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-content{flex:1 1;min-width:0}.stat-value{color:#1f2937;line-height:1.2}.info-section{grid-gap:24px;display:grid;gap:24px;margin-top:32px}.info-card-large{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:28px}.info-card-large h3{align-items:center;color:#1f2937;display:flex;font-size:18px;font-weight:600;gap:12px;margin-bottom:20px}.info-card-large h3 svg{color:#667eea}.info-item{background:#f9fafb;border:1px solid #e5e7eb;padding:16px}.info-label{color:#6b7280;display:block;font-size:13px;margin-bottom:6px}.info-value{color:#1f2937;display:block;font-size:16px}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.info-grid,.stats-grid{grid-template-columns:1fr}.admin-overview h2{font-size:24px}.stat-card{padding:20px}.stat-icon{height:48px;width:48px}.stat-value{font-size:24px}}.history-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;max-height:calc(100vh - 340px);overflow-x:auto;overflow-y:auto;overscroll-behavior:contain}.history-table{font-size:14px;table-layout:fixed}.history-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.history-table th{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.history-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s}.history-table tbody tr:hover{background:#f9fafb}.history-table td{word-wrap:break-word;color:#6b7280;padding:12px 16px}.history-table tbody tr.success-row{background:#22c55e05}.history-table tbody tr.error-row{background:#ef444405}.status-badge{padding:4px 10px}.status-badge.status-success{background:#d1fae5;color:#065f46}.status-badge.status-error{background:#fee2e2;color:#991b1b}.restart-badge{background:#fef3c7;border-radius:10px;color:#92400e;display:inline-block;font-size:11px;font-weight:600;margin-left:6px;padding:2px 8px}.exit-code-success{background:#d1fae5;color:#065f46}.exit-code-error,.exit-code-success{border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:13px;padding:4px 8px}.exit-code-error{background:#fee2e2;color:#991b1b}.resource-metrics{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin:32px 0;padding:28px}.resource-metrics h3{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:8px;margin-bottom:20px}.metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric-card{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:8px;padding:20px;text-align:center;transition:all .2s ease}.metric-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.metric-label{color:#6b7280;display:block;font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.metric-value{color:#1f2937;display:block;font-size:24px;font-weight:700}.scripts-table-section{margin-top:32px}.scripts-table-section h3{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:20px}.table-responsive{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow-x:auto}.scripts-performance-table{border-collapse:collapse;font-size:13px;min-width:1000px;width:100%}.scripts-performance-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.scripts-performance-table th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.scripts-performance-table tbody tr{border-bottom:1px solid #f3f4f6;transition:all .15s ease}.scripts-performance-table tbody tr:hover{background:#f9fafb}.scripts-performance-table tbody tr:last-child{border-bottom:none}.scripts-performance-table td{color:#374151;padding:14px 16px;vertical-align:middle}.status-badge.status-enabled{background:#d1fae5;color:#065f46}.status-badge.status-disabled{background:#fee2e2;color:#991b1b}.stat-detail{color:#6b7280;font-size:12px;margin-top:4px}@media (max-width:768px){.metrics-grid{grid-template-columns:1fr}.table-responsive{border-radius:8px}.scripts-performance-table{font-size:12px}.scripts-performance-table td,.scripts-performance-table th{padding:10px 12px}.resource-metrics{padding:20px}}.admin-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:32px}.section-header{margin-bottom:24px}.section-header h2{color:#1f2937;font-size:24px;font-weight:700}.button-group{display:flex;gap:12px}.add-form-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:24px}.add-form-card h3{color:#1f2937;font-size:18px}.add-form-card h3,.form-group,.form-row{margin-bottom:16px}.form-group input,.form-group select{border:2px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 14px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;width:auto}.checkbox-group small{color:#6b7280;display:block;font-size:12px;margin-top:8px}.history-container,.users-table-container{margin-top:16px;overflow-x:auto}.data-table{font-size:14px}.data-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.data-table th{color:#374151;font-size:13px;letter-spacing:.05em;padding:12px 16px}.data-table td{border-bottom:1px solid #f3f4f6;color:#1f2937}.data-table tbody tr:hover{background:#f9fafb}.action-badge,.role-badge,.status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.role-badge.admin{background:#dbeafe;color:#1e40af}.role-badge.user{background:#e0e7ff;color:#4338ca}.status-badge.active,.status-badge.success{background:#d1fae5;color:#065f46}.status-badge.inactive,.status-badge.secondary{background:#e5e7eb;color:#374151}.status-badge.danger{background:#fee2e2;color:#991b1b}.status-badge.warning{background:#fef3c7;color:#92400e}.action-badge.info{background:#dbeafe;color:#1e40af}.action-badge.primary{background:#e0e7ff;color:#4338ca}.action-badge.success{background:#d1fae5;color:#065f46}.action-badge.warning{background:#fef3c7;color:#92400e}.action-badge.secondary{background:#e5e7eb;color:#374151}.filters-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:20px}.filters-row{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:1fr 1fr auto}.logs-container{margin-top:16px}.logs-list{display:flex;flex-direction:column;gap:16px}.log-entry{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.log-entry:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.log-timestamp{color:#6b7280;font-size:13px}.log-details{display:flex;flex-direction:column;gap:8px}.log-detail-row{display:flex;font-size:14px;gap:12px}.log-detail-row .label{color:#6b7280;font-weight:600;min-width:120px}.log-detail-row .value{color:#1f2937;flex:1 1}.log-detail-row .value.meta-data{display:block}.log-detail-row .value.meta-data pre{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;margin:0;overflow-x:auto;padding:12px}.master-csv-details{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;font-size:13px;line-height:1.6;padding:12px}.master-csv-details>div{padding:4px 0}.log-detail-row.phi-warning .label{color:#dc2626}.sync-info-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:24px;padding:24px}.sync-info-card h3{font-size:20px;margin-bottom:12px}.sync-info-card p{margin-bottom:20px;opacity:.95}.sync-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{background:#ffffff26;padding:16px}.stat-label{display:block;margin-bottom:8px}.stat-value{display:block;font-size:28px}.stat-value.success{color:#86efac}.stat-value.error{color:#fca5a5}.error-text{color:#dc2626}.details-text,.error-text{cursor:help;text-decoration:underline}.details-text{color:#2563eb}@media (max-width:768px){.admin-section{padding:20px}.section-header{align-items:flex-start;flex-direction:column;gap:16px}.filters-row,.form-row{grid-template-columns:1fr}.data-table{font-size:12px}.data-table td,.data-table th{padding:10px 12px}.sync-stats{grid-template-columns:1fr}}.telemetry-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:24px}.telemetry-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.telemetry-header h3{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:700;gap:12px;margin:0}.telemetry-header svg{color:#6366f1}.period-badge{background:#eef2ff;border-radius:12px;color:#6366f1;display:inline-block;font-size:12px;font-weight:600;margin-left:8px;padding:4px 12px}.auto-refresh-toggle{align-items:center;color:#6b7280;cursor:pointer;display:flex;font-size:14px;gap:8px}.auto-refresh-toggle input[type=checkbox],.refresh-btn{cursor:pointer}.refresh-btn{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;display:flex;justify-content:center;padding:8px;transition:all .2s}.refresh-btn:hover{background:#e5e7eb;border-color:#9ca3af}.refresh-btn svg{color:#6b7280}.telemetry-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.telemetry-stat{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:16px}.stat-icon-mini{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-value-mini{color:#1f2937;font-size:24px;font-weight:700;line-height:1}.stat-label-mini{color:#6b7280;font-size:13px;margin-top:4px}.telemetry-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.detail-row{align-items:center;border-bottom:1px solid #e5e7eb;padding:12px 0}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-row:first-child{padding-top:0}.detail-label{align-items:center;color:#6b7280;display:flex;font-size:14px;font-weight:500;gap:8px}.detail-label svg{color:#9ca3af}.detail-value{color:#1f2937;font-size:14px;font-weight:600}.telemetry-alert{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:12px;margin-top:16px;padding:12px 16px}.telemetry-alert.warning{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.telemetry-alert.info{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.telemetry-alert svg{flex-shrink:0}.telemetry-empty,.telemetry-error{color:#6b7280;padding:48px 24px;text-align:center}.telemetry-empty svg,.telemetry-error svg{margin-bottom:16px}.telemetry-empty p,.telemetry-error p{color:#374151;font-size:16px;font-weight:600;margin-bottom:8px}.telemetry-empty small,.telemetry-error small{color:#9ca3af;font-size:13px}.loading-spinner{padding:48px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-top-color:#6366f1;height:48px;margin:0 auto 16px;width:48px}.loading-spinner p{color:#6b7280;font-size:14px}.start-btn-mini{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s}.start-btn-mini:hover:not(:disabled){background:#059669;box-shadow:0 2px 4px #10b9814d;transform:translateY(-1px)}.start-btn-mini:disabled{cursor:not-allowed;opacity:.6}.stop-btn-mini{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s}.stop-btn-mini:hover:not(:disabled){background:#dc2626;box-shadow:0 2px 4px #ef44444d;transform:translateY(-1px)}.stop-btn-mini:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{animation:fadeIn .2s ease}.modal-content{animation:slideUp .3s ease;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;overflow:auto}.modal-header{padding:20px 24px}.modal-header h3{color:#1f2937;font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;transition:color .2s}.modal-close:hover{color:#1f2937}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e5e7eb;padding:16px 24px}.form-control{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s}.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width:768px){.telemetry-header{align-items:flex-start;flex-direction:column;gap:12px}.telemetry-stats{grid-template-columns:1fr}.header-actions{justify-content:space-between;width:100%}}.monaco-editor-wrapper{border:1px solid #e2e6ea;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden;width:100%}.monaco-editor-wrapper .monaco-editor{border-radius:8px;height:100%!important;width:100%!important}.script-viewer.fullscreen .monaco-editor-wrapper{height:calc(100vh - 200px)}.script-viewer.fullscreen .monaco-editor-wrapper .monaco-editor{border-radius:0}.sync-settings{margin:0 auto;max-width:1200px}.sync-settings h2{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:8px}.sync-settings .description{color:#6b7280;font-size:15px;margin-bottom:32px}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:24px;padding:32px;transition:box-shadow .2s}.settings-card:hover{box-shadow:0 4px 12px #00000014}.setting-group{margin-bottom:24px}.setting-group label{align-items:center;color:#374151;display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:12px}.setting-group label svg{color:#667eea}.input-group{display:flex;flex-direction:column;gap:8px}.interval-input{border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:16px;font-weight:600;padding:12px 16px;transition:border-color .2s;width:200px}.interval-input:focus{border-color:#667eea;outline:none}.input-hint{color:#6b7280;font-size:13px}.script-actions{flex-wrap:wrap;gap:12px;margin-top:16px}.script-actions .btn{flex:0 0 auto}.script-viewer-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 4px 16px #0003;display:flex;flex-direction:column;margin-top:24px;max-height:none;overflow:hidden}.script-viewer{border:none;box-shadow:none;flex:1 1;flex-direction:column;min-height:0;transition:all .3s ease}.script-viewer,.script-viewer.fullscreen{border-radius:0;display:flex;overflow:hidden}.script-viewer.fullscreen{background:#1e1e1e;border:none;bottom:0;box-shadow:0 8px 32px #00000073;flex-direction:column;left:0;margin:0;max-height:none;max-width:none;position:fixed;right:0;top:0;z-index:1100}body.fullscreen-active{overflow:hidden}.script-viewer.fullscreen .script-editor{display:flex;flex:1 1;flex-direction:column;height:auto;max-height:none;overflow:hidden}.script-viewer.fullscreen .monaco-editor-wrapper{border:none;border-radius:0;flex:1 1;height:100%!important}.script-viewer.fullscreen .script-editor .code-preview,.script-viewer.fullscreen .script-editor textarea{height:100%;max-height:none;min-height:100%}.script-viewer.fullscreen .line-numbers{height:100%}.script-viewer-header{align-items:center;background:linear-gradient(135deg,#2d2d30,#252526);border-bottom:1px solid #3e3e42;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.script-viewer.fullscreen .script-viewer-header{box-shadow:0 2px 8px #0000004d;padding:20px 24px}.script-viewer-header strong{align-items:center;color:#ccc;display:flex;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:14px;font-weight:600;gap:8px}.script-viewer-actions{display:flex;gap:8px}.btn-small{font-size:13px;padding:6px 12px}.script-editor{background:#1e1e1e;display:flex;flex:1 1;max-height:680px;min-height:400px;overflow:hidden;position:relative}.line-numbers{background:#252526;border-right:1px solid #3e3e42;color:#858585;min-width:60px;overflow:hidden;padding:20px 12px 20px 16px;position:relative;text-align:right;-webkit-user-select:none;user-select:none;width:60px;z-index:2}.code-preview,.line-numbers{font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:14px;letter-spacing:0;line-height:1.7;margin:0;white-space:pre}.code-preview{color:#d4d4d4;overscroll-behavior:contain;pointer-events:none;z-index:1}.code-preview,.script-editor textarea{word-wrap:normal;background:#0000;height:100%;left:60px;min-height:400px;overflow:auto;padding:20px;position:absolute;right:0;top:0;word-break:normal}.script-editor textarea{border:none;caret-color:#d4d4d4;color:#0000;flex:1 1;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:14px;letter-spacing:0;line-height:1.7;margin:0;outline:none;resize:vertical;tab-size:4;white-space:pre}.script-editor textarea.viewing{cursor:default;z-index:0}.script-editor textarea.editing{caret-color:#d4d4d4;color:#0000;z-index:2}.script-editor textarea.editing::selection{background:#667eea66}.script-editor textarea:focus{box-shadow:inset 0 0 0 2px #667eea4d}.script-editor textarea::selection{background:#667eea66}.syntax-keyword{color:#569cd6;font-weight:600}.markdown-preview{background:#fff;color:#1f2937;height:100%;max-height:680px;overflow-y:auto}.markdown-preview h1{border-bottom:2px solid #e5e7eb;color:#111827;font-size:2em;font-weight:700;margin-bottom:.5em;margin-top:0;padding-bottom:.3em}.markdown-preview h2{border-bottom:1px solid #e5e7eb;font-size:1.5em;padding-bottom:.3em}.markdown-preview h2,.markdown-preview h3{color:#111827;font-weight:600;margin-bottom:.5em;margin-top:1em}.markdown-preview h3{font-size:1.25em}.markdown-preview p{color:#374151;line-height:1.8;margin:.8em 0}.markdown-preview code{background:#f3f4f6;border-radius:3px;color:#d73a49;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.9em;padding:.2em .4em}.markdown-preview pre{background:#1e1e1e;border-radius:6px;margin:1em 0;overflow-x:auto;padding:16px}.markdown-preview pre code{background:#0000;color:#d4d4d4;font-size:14px;line-height:1.6;padding:0}.markdown-preview a{border-bottom:1px solid #0000;color:#667eea;text-decoration:none;transition:border-color .2s}.markdown-preview a:hover{border-bottom-color:#667eea}.markdown-preview strong{color:#111827;font-weight:600}.markdown-preview em{color:#4b5563;font-style:italic}.markdown-editor{background:#1e1e1e;color:#d4d4d4}.script-editor.markdown-mode{background:#fff;border:1px solid #e5e7eb;box-shadow:inset 0 0 0 1px #f3f4f6;color:#1f2937;display:block;max-height:680px;overflow-y:auto}.script-viewer.fullscreen .script-editor.markdown-mode{height:calc(100vh - 140px);max-height:none}.script-editor.markdown-mode .markdown-editor{background:#fff;border:none;box-shadow:none;color:#1f2937}.script-editor.markdown-mode textarea.markdown-editor{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-sizing:border-box;color:#374151;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:14px;line-height:1.6;min-height:400px;overflow-y:auto;padding:16px;resize:vertical;width:100%}.script-editor.markdown-mode textarea.markdown-editor:focus{box-shadow:0 0 0 2px #667eea4d;outline:none}.script-editor.markdown-mode .markdown-preview{padding:32px 48px}.script-editor.markdown-mode .markdown-preview pre{background:#f8fafc;border:1px solid #e5e7eb;color:#1f2937}.script-editor.markdown-mode .markdown-preview pre code{color:#1f2937}.script-editor.markdown-mode .markdown-preview h1,.script-editor.markdown-mode .markdown-preview h2,.script-editor.markdown-mode .markdown-preview h3{scroll-margin-top:72px}.syntax-string{color:#ce9178}.syntax-comment{color:#6a9955;font-style:italic}.syntax-number{color:#b5cea8}.syntax-function{color:#dcdcaa}.syntax-decorator{color:#4ec9b0;font-weight:600}.preset-buttons{align-items:center;background:#f9fafb;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:20px}.preset-label{color:#6b7280;font-size:14px;font-weight:600}.btn-preset{background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-preset:hover{border-color:#667eea;color:#667eea}.btn-preset.active{background:#667eea;border-color:#667eea;color:#fff}.message{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:24px;padding:12px 16px}.message.success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.message.error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.message svg{flex-shrink:0}.action-buttons{border-top:1px solid #f3f4f6;margin-top:24px;padding-top:8px}.info-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:10px;box-shadow:0 1px 3px #3b82f61a;color:#1e40af;display:flex;gap:16px;padding:20px 24px}.info-box svg{flex-shrink:0;margin-top:2px}.info-box strong{display:block;font-size:14px;margin-bottom:4px}.info-box p{color:#1e3a8a;font-size:13px;line-height:1.5;margin:0}.loading{color:#6b7280;font-size:15px}.console-panel{background:#1e1e1e;border:1px solid #3e3e42;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:20px;overflow:hidden}.console-header{background:linear-gradient(135deg,#2d2d30,#252526);border-bottom:1px solid #3e3e42;justify-content:space-between;padding:12px 20px}.console-header,.console-title{align-items:center;display:flex}.console-title{color:#ccc;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:600;gap:10px}.console-title svg{color:#4ec9b0}.console-actions{display:flex;gap:8px}.btn-console-action{align-items:center;background:#0000;border:1px solid #ffffff1a;border-radius:4px;color:#ccc;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.btn-console-action:hover{background:#ffffff1a;border-color:#fff3}.console-output{background:#0d0d0d;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;line-height:1.6;max-height:400px;overflow-y:auto;padding:16px}.console-empty{color:#6b7280;font-style:italic;padding:40px 20px;text-align:center}.console-line{border-bottom:1px solid #ffffff08;display:flex;gap:12px;padding:4px 0}.console-line:last-child{border-bottom:none}.console-timestamp{color:#6b7280;flex-shrink:0;font-size:12px;min-width:90px}.console-text{flex:1 1;white-space:pre-wrap;word-break:break-word}.console-info .console-text{color:#60a5fa}.console-success .console-text{color:#10b981}.console-error .console-text{color:#ef4444}.console-output .console-text{color:#d4d4d4}.console-output::-webkit-scrollbar{width:10px}.console-output::-webkit-scrollbar-track{background:#1a1a1a}.console-output::-webkit-scrollbar-thumb{background:#3e3e42;border-radius:5px}.console-output::-webkit-scrollbar-thumb:hover{background:#4e4e52}.console-file-link{background:#667eea26;border:1px solid #667eea66;border-radius:4px;color:#e0e7ff;cursor:pointer;font-size:11px;line-height:1.4;margin:0 4px;padding:2px 6px;transition:background .15s,border-color .15s,transform .15s}.console-file-link:hover{background:#667eea;border-color:#5568d3;color:#fff;transform:translateY(-1px)}.console-file-link:active{transform:translateY(0)}@media (max-width:768px){.sync-settings{padding:0}.settings-card{border-radius:8px;padding:20px}.script-actions{flex-direction:column}.script-actions .btn{justify-content:center;width:100%}.action-buttons{flex-direction:column}.action-buttons .btn{justify-content:center;width:100%}.script-viewer-header{align-items:flex-start;flex-direction:column;gap:12px}.script-viewer-actions{justify-content:flex-end;width:100%}}.scheduled-scripts-container{margin:0 auto;max-width:1400px;padding:2rem}.header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.header h2{color:#2c3e50;margin:0}.btn-create-script{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}.btn-create-script:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.btn-create-script:active{transform:translateY(0)}.error-banner{align-items:center;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.error-banner button{background:none;border:none;color:#c33;cursor:pointer;font-size:1.5rem;height:24px;padding:0;width:24px}.empty-state{color:#666;padding:4rem 2rem}.empty-state p{font-size:1.1rem;margin-bottom:1.5rem}.empty-state button{background:#3498db;font-size:1rem;padding:.75rem 1.5rem}.btn-download-history,.empty-state button{border:none;border-radius:4px;color:#fff;cursor:pointer}.btn-download-history{align-items:center;background:#0b5ed7;display:inline-flex;font-size:12px;gap:6px;line-height:1.2;padding:6px 12px;transition:background-color .15s ease-in-out,opacity .15s ease-in-out}.btn-download-history:hover:not(.disabled){background:#0949a5}.btn-download-history.disabled,.btn-download-history:disabled{cursor:not-allowed;opacity:.55}.btn-download-history:focus-visible{outline:2px solid #3ea2ff;outline-offset:2px}.spinner{animation:spin .8s linear infinite;border:2px solid #fff9;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.download-history-wrapper{display:flex;justify-content:center;margin-bottom:1em;margin-top:6px}@media (prefers-reduced-motion:reduce){.spinner{animation:none;border:2px solid #fff}}.empty-state button:hover{background:#2980b9}.scripts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.script-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:box-shadow .2s,opacity .2s}.script-card.executing{opacity:.6;pointer-events:none;position:relative}.script-card.executing:after{background:#ffffff80;border-radius:8px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.script-card:hover{box-shadow:0 4px 8px #00000026}.script-card.executing:hover{box-shadow:0 2px 4px #0000001a}.script-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.script-title{flex:1 1}.script-title h3{color:#2c3e50;font-size:1.2rem;margin:0 0 .5rem}.script-actions{display:flex;gap:.5rem}.script-actions button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .8rem;transition:all .2s}.script-actions button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.script-actions button:hover:not(:disabled){background:#f5f5f5}.btn-toggle{background:#e0e0e0!important}.btn-toggle.active{background:#4caf50!important;border-color:#4caf50!important;color:#fff}.btn-execute{background:#3498db!important;border-color:#3498db!important;color:#fff}.btn-execute:hover:not(:disabled){background:#2980b9!important}.btn-execute:disabled{background:#95c4e0!important;border-color:#95c4e0!important}.btn-edit{background:#f39c12!important;border-color:#f39c12!important;color:#fff}.btn-edit:hover:not(:disabled){background:#e67e22!important}.btn-edit:disabled{background:#f9cb89!important;border-color:#f9cb89!important}.btn-delete{background:#e74c3c!important;border-color:#e74c3c!important;color:#fff}.btn-delete:hover{background:#c0392b!important}.script-description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.script-details{background:#f9f9f9;border-radius:4px;margin-bottom:1rem;padding:1rem}.detail-row{display:flex;font-size:.9rem;justify-content:space-between;padding:.4rem 0}.detail-row.warning{color:#e67e22;font-weight:500}.detail-row .label{color:#555;font-weight:500}.detail-row .value{color:#333}.detail-row .value.code{background:#fff;border-radius:3px;font-family:Courier New,monospace;font-size:.85rem;padding:.2rem .4rem}.status-badge{font-weight:500;padding:.3rem .7rem}.status-success{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.status-running{background:#cce5ff;color:#004085}.status-timeout{background:#fff3cd;color:#856404}.status-disabled{background:#e0e0e0;color:#666}.status-active{background:#d4edda;color:#155724}.status-pending{background:#e7f3ff;color:#06c}.status-unknown{background:#f5f5f5;color:#999}.btn-history{background:none;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s;width:100%}.btn-history:hover{background:#f5f5f5}.execution-history{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.no-history{color:#999;font-style:italic;padding:1rem;text-align:center}.history-table{border-collapse:collapse;font-size:.85rem;width:100%}.history-table th{background:#f5f5f5;border-bottom:2px solid #ddd;color:#555;font-weight:500;padding:.5rem;text-align:left}.history-table td{border-bottom:1px solid #eee;padding:.5rem}.status-pill{font-size:.75rem;font-weight:500;padding:.2rem .6rem}.modal-overlay{padding:2rem}.modal-content{box-shadow:0 4px 20px #0000004d;max-width:760px}.modal-header{border-bottom:1px solid #eee;padding:1.5rem}.btn-close{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;width:32px}.btn-close:hover{color:#333}.run-details-wrapper{padding:1.25rem 1.5rem 2rem}.run-meta-grid{grid-gap:.75rem 1rem;display:grid;gap:.75rem 1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:1rem}.meta-item{background:#f7f9fb;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;font-size:.8rem;gap:.25rem;padding:.55rem .7rem}.meta-label{color:#556;font-size:.65rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:#222;font-size:.75rem;word-break:break-all}.meta-badge{font-size:.65rem!important;padding:.25rem .55rem!important;text-transform:uppercase}.error-inline{background:#fef0f0;border:1px solid #f8c4c4;border-radius:4px;color:#b10000;font-size:.75rem;margin-bottom:.75rem;padding:.6rem .75rem}.tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:.5rem;padding-bottom:.25rem}.tab-button{background:#f0f2f5;border:1px solid #d0d5db;border-radius:4px;color:#333;cursor:pointer;font-size:.75rem;padding:.4rem .9rem;transition:background .15s}.tab-button.active{background:#3498db;border-color:#3498db;color:#fff}.tab-button:hover:not(.active){background:#e4e7eb}.log-toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.btn-flat-icon{align-items:center;background:none;border:none;border-radius:4px;color:#cdd3da;cursor:pointer;display:inline-flex;font-size:1rem;height:32px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s;width:32px}.btn-flat-icon:hover{background:#1d252c;color:#fff}.btn-flat-icon:active{background:#13191e}.btn-flat-icon.copy-log-btn[aria-label="Copy log output"][title="Copied!"],.btn-flat-icon.copy-log-btn[title="Copied!"]{color:#4caf50}.log-block{background:#0f1114;border:1px solid #222b33;border-radius:6px;color:#e0e6ed;font-family:Menlo,Monaco,Courier New,monospace;font-size:.7rem;line-height:1.3;max-height:320px;overflow:auto;padding:.75rem .9rem;white-space:pre-wrap;.btn-icon{align-items:center;display:inline-flex;font-size:1rem!important;justify-content:center;padding:.35rem!important;width:40px}}.log-block[data-log-type=stderr]{background:#1b0f12;border-color:#3a1c24}.btn-view{align-items:center;display:inline-flex;font-size:.85rem!important;justify-content:center;max-width:64px;padding:.35rem .6rem!important;width:64px}.history-table .btn-view-details{background:#0000!important;border:none!important;box-shadow:none!important;color:inherit!important;cursor:pointer;transition:color .15s,background .15s}.history-table .btn-view-details:hover{background:#0000000d!important;border-radius:4px;color:#222!important}.history-table .btn-view-details:active{background:#0000001a!important}.script-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#555;font-weight:500;margin-bottom:.5rem}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;padding:.6rem;width:100%}.form-group textarea{resize:vertical}.form-group small{color:#999;display:block;font-size:.85rem;margin-top:.3rem}.form-row{grid-gap:1rem;gap:1rem}.radio-group{display:flex;gap:1.5rem;margin-top:.5rem}.radio-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.checkbox-label{display:flex!important;font-weight:400!important;gap:.5rem}.checkbox-label input{width:auto!important}.error-message{border-radius:4px;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.form-actions{border-top:1px solid #eee;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .2s}.btn-primary{background:#3498db}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{background:#bbb}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#ccc}@media (max-width:768px){.form-row,.scripts-grid{grid-template-columns:1fr}.script-header{align-items:flex-start;flex-direction:column}.script-actions{justify-content:flex-end;width:100%}}.comparison-share-links{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:1rem}.comparison-share-links header{align-items:flex-start;border-bottom:1px solid #e2e6ea;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.25rem 0 .75rem}.comparison-share-links .title{font-size:1.4rem;font-weight:600;letter-spacing:.5px;margin:0 0 .25rem}.comparison-share-links .subtitle{color:#5a6472;font-size:.85rem;line-height:1.3;margin:0;max-width:520px}.header-stats{display:flex;gap:.75rem}.stat{background:#f8fafc;border:1px solid #e1e5ea;border-radius:8px;display:flex;flex-direction:column;min-width:80px;padding:.45rem .75rem;text-align:center}.script-package-select{background-color:#fff;border:1px solid #cbd5e0;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem;transition:border-color .2s,box-shadow .2s;width:100%}.script-package-select:hover{border-color:#a0aec0}.script-package-select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.script-package-select option{padding:.5rem}.stat-label{color:#667182;font-size:.65rem}.stat-value{color:#263545;font-size:1rem}.share-form{background:linear-gradient(135deg,#fbfcfd,#f4f7fa);border:1px solid #e2e6ea;border-radius:10px;box-shadow:0 1px 2px #00000008;gap:1rem;padding:1rem .9rem 1.05rem}.share-form,.share-form label{display:flex;flex-direction:column}.share-form label{color:#3a4755;font-size:.75rem;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.share-form input{background:#fff;border:1px solid #cfd6dd;border-radius:6px;font-size:.85rem;margin-top:.35rem;padding:.55rem .6rem;transition:border-color .15s}.share-form input:focus{border-color:#4b89f3;box-shadow:0 0 0 2px #4b89f326;outline:none}.form-actions{align-items:center;gap:.6rem;margin-top:.5rem}.primary-btn,.secondary-btn{border:1px solid;border-radius:7px;cursor:pointer;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-top:auto;padding:.6rem .85rem;transition:background .2s,color .2s,border-color .2s}.primary-btn{background:#276ef1;border-color:#276ef1}.primary-btn:hover:not(:disabled){background:#1f5ac4}.primary-btn:disabled{cursor:not-allowed;opacity:.55}.secondary-btn{background:#fff;border-color:#c4ccd4;color:#456}.secondary-btn:hover{background:#f2f6fa}.share-form button{align-self:end;padding:.6rem 1rem}.alert{font-size:.75rem;font-weight:600;gap:.4rem;letter-spacing:.4px;padding:.65rem .9rem}.alert.error{background:#ffecec;border:1px solid #ffb8b8;color:#a40000}.alert.success{background:#eefbf0;border:1px solid #bbebc7;color:#136432}.share-links-table{background:#fff;border:1px solid #e2e6ea;border-radius:10px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.share-links-filters{display:flex;font-size:.75rem;justify-content:flex-end;margin:.25rem 0 .4rem}.checkbox-inline{align-items:center;color:#4b5563;display:inline-flex;gap:.25rem}.checkbox-inline input[type=checkbox]{height:14px;width:14px}.table-header,.table-row{grid-gap:.65rem;align-items:center;display:grid;gap:.65rem;grid-template-columns:2.2fr 1.1fr 1fr 1fr .8fr .9fr 1.2fr .9fr;padding:.7rem .9rem}.table-header{background:linear-gradient(180deg,#f8fafc,#eef2f6);border-bottom:1px solid #d8dde2;color:#5b6573;font-size:.7rem;font-weight:700;letter-spacing:.6px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:2}.table-row:nth-child(2n){background:#fbfdfe}.table-row.inactive{background:#f9f9f9;opacity:.55}.table-row:hover{background:#f0f6fc}.url-cell{display:flex;flex-direction:column;gap:.35rem;word-break:break-word}.url-cell code{background:#f0f3f6;border-radius:6px;font-size:.7rem;padding:.35rem .5rem}.token-line{align-items:center;display:flex;gap:.4rem}.token-label{color:#7a8694;font-size:.6rem;letter-spacing:.5px;text-transform:uppercase}.token-value{background:#fcfdff;border:1px solid #e1e6eb;border-radius:4px;padding:.15rem .4rem}.mono,.token-value{font-family:monospace;font-size:.65rem}.status-chip{align-items:center;border:1px solid;border-radius:14px;display:inline-flex;font-size:.6rem;font-weight:600;letter-spacing:.5px;padding:.3rem .55rem;text-transform:uppercase}.status-chip.active{background:#e6f4ff;border-color:#b3dafb;color:#0b63c3}.status-chip.inactive{background:#f3f4f6;border-color:#d2d8dd;color:#7d8894}.ttl-chip{background:#edf7ee;border:1px solid #c8e9cd;border-radius:10px;color:#1d6f2d;display:inline-block;font-size:.6rem;font-weight:600;padding:.28rem .5rem}.ttl-chip[data-expired=true]{background:#fff3f3;border-color:#f5cccc;color:#b21c1c}.ttl-chip.no-expiry{background:#f0eefc;border-color:#d4d0f5;color:#5647c1}.notes-cell{font-size:.7rem;line-height:1.2}.script-package-cell{color:#2d3748;font-size:.75rem;font-weight:500;line-height:1.3}.actions{display:flex;gap:.4rem;justify-content:flex-start}.icon-btn{background:#fff;border:1px solid #d0d7dd;border-radius:6px;cursor:pointer;font-size:.7rem;padding:.35rem .55rem}.icon-btn:hover{background:#f2f6fa}.icon-btn:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.5}.icon-btn.danger{background:#ffecec;border-color:#ffc7c7;color:#aa1e1e}.icon-btn.danger:hover{background:#ffdede}@media (max-width:860px){.table-header,.table-row{grid-template-columns:1.8fr 1fr .9fr .9fr .7fr .8fr 1fr .8fr}}@media (max-width:640px){.table-header,.table-row{grid-template-columns:2fr 1fr .9fr .9fr .9fr}.table-header span:nth-child(7),.table-header span:nth-child(8),.table-row span:nth-child(7),.table-row span:nth-child(8){display:none}}.certificate-manager-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.certificate-manager-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e5e7eb;padding:24px}.modal-header h2{color:#1f2937;font-size:24px}.close-btn{border-radius:4px;color:#6b7280}.close-btn:hover{background:#f3f4f6;color:#374151}.auto-renew-section{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 24px}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.toggle-text{color:#374151;font-size:15px;font-weight:500}.issue-certificate-section{border-bottom:1px solid #e5e7eb;padding:24px}.issue-certificate-section h3{color:#1f2937;font-size:18px;margin:0 0 16px}.issue-form{align-items:end;display:flex;gap:16px}.issue-form label{color:#374151;display:flex;flex:1 1;flex-direction:column;font-size:14px;font-weight:500;gap:8px}.issue-form input{border:1px solid #d1d5db;border-radius:6px;font-size:15px;padding:10px 12px}.certificates-section{padding:24px}.certificates-section h3{color:#1f2937;font-size:18px;margin:0 0 16px}.no-data{color:#9ca3af;font-style:italic;padding:32px;text-align:center}.certificates-list{display:flex;flex-direction:column;gap:16px}.certificate-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.certificate-card.active{border-left:4px solid #10b981}.certificate-card.inactive{background:#f9fafb;border-left:4px solid #6b7280;opacity:.8}.certificate-card:hover{box-shadow:0 4px 12px #0000001a}.cert-header{justify-content:space-between;margin-bottom:12px}.cert-header,.cert-info{align-items:center;display:flex}.cert-info{gap:12px}.cert-id{color:#374151;font-family:Monaco,Courier New,monospace;font-size:13px;font-weight:600}.cert-actions{display:flex;gap:8px}.expiry-badge,.status-badge{border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.expiry-badge.valid{background:#d1fae5;color:#065f46}.expiry-badge.expiring-soon{background:#fef3c7;color:#92400e}.expiry-badge.expired{background:#fee2e2;color:#991b1b}.status-badge.revoked{background:#e5e7eb;color:#4b5563}.cert-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.cert-detail-row{display:flex;flex-direction:column;gap:4px}.cert-detail-row .label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cert-detail-row .value{color:#1f2937;font-size:14px}.btn-danger,.btn-primary,.btn-secondary,.btn-sm{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary{background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.btn-secondary{background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-secondary:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.btn-danger{background:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed;opacity:.6}.btn-sm{font-size:13px}.error-message,.success-message{font-size:14px;font-weight:500;margin:0;padding:12px 24px}.error-message{background:#fee2e2;border-bottom:1px solid #fecaca;color:#991b1b}.success-message{background:#d1fae5;border-bottom:1px solid #a7f3d0;color:#065f46}.newly-issued-cert{background:#ecfdf5;border:2px solid #10b981;border-radius:8px;margin-top:16px;padding:16px}.newly-issued-cert h4{color:#065f46;font-size:16px;margin:0 0 12px}.newly-issued-cert p{color:#064e3b;font-size:14px;margin:8px 0}.newly-issued-cert .help-text{color:#047857;font-size:13px;margin-top:12px}.newly-issued-cert code{background:#d1fae5;border-radius:4px;font-family:Monaco,Courier New,monospace;font-size:12px;padding:2px 8px}.newly-issued-cert button{margin-top:12px}.sftp-users-container{margin:0 auto;max-width:1400px;padding:20px}.sftp-users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.sftp-users-header h2{color:#2c3e50;margin:0}.alert{border-radius:8px;padding:15px 20px;position:relative}.alert-error{background-color:#fee;border-left:4px solid #e74c3c;color:#c0392b}.alert-success{background-color:#efe;border-left:4px solid #27ae60;color:#229954}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;opacity:.6}.alert-close:hover{opacity:1}.create-form-container{background:#f8f9fa;border:2px solid #3498db;border-radius:10px;margin-bottom:30px;padding:25px}.create-form-container h3{color:#2c3e50;margin-top:0}.sftp-create-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.sftp-create-form .form-actions,.sftp-create-form .form-group:nth-last-child(2){grid-column:1/-1}.form-group{display:flex;flex-direction:column}.required{color:#e74c3c}.form-group input,.form-group select,.form-group textarea{border:1px solid #bdc3c7;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group select:disabled{background-color:#ecf0f1;cursor:not-allowed;opacity:.7}.form-group small{color:#7f8c8d;font-size:12px;margin-top:5px}.form-actions{display:flex;gap:10px;margin-top:10px}.btn-danger-small,.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-secondary{background:#95a5a6}.btn-secondary:hover:not(:disabled){background:#7f8c8d}.btn-danger-small{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-danger-small:hover:not(:disabled){background:#c0392b;box-shadow:0 2px 8px #e74c3c4d;transform:translateY(-1px)}.btn-secondary-small{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-secondary-small:hover:not(:disabled){background:#4b5563;box-shadow:0 2px 8px #6b72804d;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5}.users-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.users-list-header h3{color:#2c3e50;margin:0}.checkbox-label{font-size:14px}.loading{padding:40px}.loading,.no-users{color:#7f8c8d;text-align:center}.no-users{background:#f8f9fa;border-radius:10px;padding:60px 20px}.users-table-container{border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.users-table{background:#fff;border-collapse:collapse;width:100%}.users-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-table th{font-size:13px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #ecf0f1;padding:15px}.users-table tbody tr:hover{background:#f8f9fa}.users-table tbody tr.revoked{background:#fafafa;opacity:.6}.username-cell code{background:#ecf0f1;border-radius:4px;font-family:Courier New,monospace;font-size:13px;padding:4px 8px}.date-cell{color:#7f8c8d;font-size:12px}.actions-cell{text-align:right}.actions-cell-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.status-badge{padding:4px 12px}.status-active{background:#d5f4e6;color:#27ae60}.status-revoked{background:#fadbd8;color:#e74c3c}.dept-badge,.org-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.org-badge{background:#e3f2fd;border:1px solid #90caf9;color:#1565c0}.dept-badge{background:#f3e5f5;border:1px solid #ce93d8;color:#6a1b9a}.text-muted{color:#95a5a6}.dept-cell,.org-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-section{background:#f8f9fa;border-left:4px solid #3498db;border-radius:6px;margin-top:40px;padding:20px}.help-section h4{color:#2c3e50;margin-top:0}.help-section ul{color:#34495e;margin:10px 0;padding-left:20px}.help-section li{margin:8px 0}.help-section code{background:#ecf0f1;border-radius:3px;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.credential-download-box{background:#faf5ff;border:2px dashed #8e44ad;border-radius:10px;margin:20px 0;padding:16px}.credential-download-box h4{color:#2c3e50;margin:0 0 8px}.credential-download-box p{color:#34495e;margin:0 0 12px}.download-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.credential-help{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto}.credential-help-row{display:contents}.copy-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:6px 10px}.copy-btn:hover{background:#4b5563}@media (max-width:768px){.sftp-create-form{grid-template-columns:1fr}.sftp-users-header,.users-list-header{align-items:flex-start;flex-direction:column;gap:15px}.users-table-container{font-size:12px}.users-table td,.users-table th{padding:10px 8px}}.cert-monitor{margin:0 auto;max-width:1400px;padding:20px}.cert-monitor h2{color:#2c3e50;margin-bottom:30px}.cert-monitor-error,.cert-monitor-loading{font-size:16px;padding:40px;text-align:center}.cert-monitor-error{background:#fee;border-radius:8px;color:#e74c3c}.cert-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.cert-stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center;transition:transform .2s}.cert-stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.stat-value{font-size:36px;margin-bottom:8px}.stat-label{color:#7f8c8d;font-size:14px}.cert-stat-card.total .stat-value{color:#3498db}.cert-stat-card.active .stat-value{color:#27ae60}.cert-stat-card.expired .stat-value{color:#e74c3c}.cert-stat-card.revoked .stat-value{color:#95a5a6}.cert-stat-card.expiring-30 .stat-value{color:#f39c12}.cert-stat-card.expiring-90 .stat-value{color:#e67e22}.expiring-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.section-header{border-bottom:2px solid #ecf0f1;margin-bottom:20px;padding-bottom:15px}.section-header h3{color:#2c3e50;margin:0}.days-filter{align-items:center;display:flex;gap:10px}.days-filter label{color:#7f8c8d;font-size:14px}.days-filter select{border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px}.no-expiring{color:#27ae60;font-size:16px;padding:40px;text-align:center}.expiring-table{border-collapse:collapse;width:100%}.expiring-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.expiring-table td{border-bottom:1px solid #ecf0f1;padding:12px}.expiring-table tr.urgent{background:#fff5f5}.expiring-table tr:hover{background:#f8f9fa}.days-badge{background:#e8f4f8;border-radius:12px;color:#2980b9;display:inline-block;font-size:13px;font-weight:600;padding:4px 12px}.days-badge.urgent{background:#fee;color:#e74c3c}.btn-view-log{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 16px;transition:background .2s}.btn-view-log:hover{background:#2980b9}.modal-overlay{background:#00000080}.modal-content{border-radius:8px;display:flex;flex-direction:column;max-height:80vh;max-width:900px;overflow:hidden;width:90%}.modal-header{border-bottom:1px solid #ecf0f1;padding:20px}.modal-header h3{color:#2c3e50;margin:0}.close-btn{color:#7f8c8d;font-size:32px}.close-btn:hover{color:#2c3e50}.modal-body{overflow-y:auto;padding:20px}.log-info{background:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:15px}.log-info p{font-size:14px;margin:5px 0}.no-access{color:#7f8c8d;padding:40px;text-align:center}.access-log-table{border-collapse:collapse;font-size:13px;width:100%}.access-log-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:600;padding:10px;text-align:left}.access-log-table td{border-bottom:1px solid #ecf0f1;padding:10px}.access-log-table tr.failed{background:#fff5f5}.status-badge{border-radius:10px;font-size:12px;padding:3px 10px}.status-badge.success{background:#d4edda;color:#155724}.status-badge.failed{background:#f8d7da;color:#721c24}@media (max-width:768px){.cert-stats-grid{grid-template-columns:repeat(2,1fr)}.section-header{align-items:flex-start;flex-direction:column;gap:15px}.expiring-table{font-size:12px}.expiring-table td,.expiring-table th{padding:8px}.modal-content{width:95%}}.master-csv-viewer{margin:0 auto;max-width:1200px}.viewer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.header-content{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px}.header-content h2{color:#1f2937;font-size:22px;font-weight:600;margin:0}.file-meta{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px}.file-meta .separator{color:#d1d5db;font-weight:300}.viewer-header .btn{align-items:center;display:flex;font-size:14px;gap:6px;padding:8px 16px;white-space:nowrap}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-height:600px;overflow:hidden;overflow-y:auto}.master-table{border-collapse:collapse;width:100%}.master-table thead{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:10}.master-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;letter-spacing:.05em;padding:16px;text-align:left;text-transform:uppercase}.master-table th.sortable{cursor:pointer;transition:background-color .15s;-webkit-user-select:none;user-select:none}.master-table th.sortable:hover{background-color:#f3f4f6}.master-table th .th-content{align-items:center;display:flex;gap:8px;justify-content:space-between}.master-table th .sort-icon{color:#667eea;flex-shrink:0}.master-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s}.master-table tbody tr:hover{background-color:#f9fafb}.master-table tbody tr:last-child{border-bottom:none}.master-table td{color:#1f2937;font-size:14px;padding:14px 16px}.loading-spinner{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.loading-spinner svg{animation:spin 1s linear infinite;color:#667eea;margin-bottom:16px}.empty-state,.error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.error-state svg{color:#ef4444;margin-bottom:16px}.error-state h3{color:#1f2937;font-size:20px;margin:0 0 8px}.error-state p{color:#6b7280;margin:0 0 24px}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state p{color:#6b7280;font-size:16px;margin:0}.empty-state .scope-info{color:#374151;font-size:17px;font-weight:500;margin:12px 0 8px}.empty-state .scope-detail{color:#6b7280;font-size:14px;margin:0 0 24px}.upload-prompt{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px dashed #d1d5db;border-radius:12px;margin-top:24px;padding:24px}.upload-prompt p{color:#374151;font-size:15px;margin:0 0 16px}.upload-prompt .btn{align-items:center;display:flex;gap:8px;margin:0 auto}.no-permission{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;color:#92400e;font-size:14px;margin-top:16px;padding:12px 20px}.table-container::-webkit-scrollbar{height:10px;width:10px}.table-container::-webkit-scrollbar-track{background:#f3f4f6}.table-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:5px}.table-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width:768px){.viewer-header{flex-direction:column}.viewer-header .btn{justify-content:center;width:100%}.file-info{flex-direction:column;gap:8px}.table-container{max-height:400px}.master-table td,.master-table th{font-size:13px;padding:12px}}.header-actions{gap:8px}.changes-indicator{color:#f59e0b;font-weight:500}.table-container.edit-mode{box-shadow:0 0 0 2px #667eea}.editable-row{background-color:#fefce8!important}.editable-row:hover{background-color:#fef9c3!important}.cell-input{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-family:inherit;font-size:14px;padding:6px 10px;transition:border-color .15s,box-shadow .15s;width:100%}.cell-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.actions-column{width:80px}.actions-cell,.actions-column{text-align:center}.btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:inline-flex;padding:6px;transition:background-color .15s}.btn-icon:hover{background-color:#f3f4f6}.btn-delete:hover{background-color:#fee2e2;color:#dc2626}.btn-secondary{background-color:#f3f4f6;border:1px solid #e5e7eb;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.btn-outline{background-color:#fff;border:1px solid #d1d5db;color:#6b7280}.btn-outline:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-success{background-color:#10b981;border:1px solid #059669;color:#fff}.btn-success:hover:not(.disabled){background-color:#059669}.btn-success.disabled{cursor:not-allowed;opacity:.5}.dashboard{background:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.navbar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:16px 32px}.navbar-brand h1{color:#1f2937;font-size:24px;font-weight:700}.navbar-brand{align-items:center;display:flex;gap:12px}.logo{height:40px;width:auto}.navbar-menu{align-items:center;display:flex;gap:16px}.user-info{background:#f3f4f6;border-radius:8px;color:#374151;font-size:14px;gap:8px;padding:8px 16px}.user-info svg{color:#6b7280}.user-info span{color:#374151}.admin-badge{background:#667eea;border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:40px 32px;width:100%}.welcome-section{margin-bottom:40px}.welcome-section h2{color:#1f2937;font-size:32px;margin-bottom:8px}.welcome-section p{color:#6b7280;font-size:16px}.master-file-section{border-top:2px solid #e5e7eb;margin-bottom:48px;margin-top:48px;padding-top:48px}.info-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:40px}.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;padding:24px;transition:all .2s}.info-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.card-icon{color:#667eea;flex-shrink:0}.card-content h3{color:#1f2937;font-size:18px;margin-bottom:8px}.card-content p{color:#6b7280;font-size:14px;line-height:1.5}.dashboard-footer{background:#fff;border-top:1px solid #e5e7eb;color:#6b7280;font-size:14px;padding:20px 32px;text-align:center}@media (max-width:768px){.navbar{flex-direction:column;gap:16px}.navbar-menu{flex-wrap:wrap;justify-content:center}.main-content{padding:24px 16px}.info-cards{grid-template-columns:1fr}}.icon-tooltip .tooltip-bubble{background:#000000d9;border-radius:6px;color:#fff;font-size:12px;left:50%;line-height:1;opacity:0;padding:6px 8px;pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translateX(-50%) translateY(-4px);transition:opacity .12s ease,transform .12s ease;visibility:hidden;white-space:nowrap;z-index:10}.icon-tooltip .tooltip-bubble:after{border:5px solid;border-color:#0000 #0000 #000000d9;content:"";left:50%;position:absolute;top:-5px;transform:translateX(-50%)}.icon-tooltip:focus-within .tooltip-bubble,.icon-tooltip:hover .tooltip-bubble{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.main-content{padding-top:32px}.first-admin-setup{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.setup-card{animation:slideUp .5s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:40px;width:100%}.setup-header{margin-bottom:40px;text-align:center}.setup-header .logo{height:120px;margin-bottom:20px;width:120px}.setup-header h1{color:#1a1a1a;font-size:28px;font-weight:700;margin:0 0 10px}.setup-header .subtitle{color:#666;font-size:16px;margin:0}.setup-info{background:#f8f9fa;border-radius:12px;margin-bottom:30px;padding:20px}.info-item{gap:15px;margin-bottom:20px}.info-item:last-child{margin-bottom:0}.info-item svg{color:#667eea;flex-shrink:0;margin-top:2px}.info-item h3{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 5px}.info-item p{color:#666;font-size:14px;line-height:1.5;margin:0}.form-group,.setup-form{margin-bottom:20px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.code-input{font-size:24px!important;font-weight:600;letter-spacing:8px;text-align:center}.success-message{background:#f0f9ff;border-radius:12px;margin-bottom:30px;padding:20px;text-align:center}.success-message svg{margin-bottom:15px}.success-message p{color:#333;margin:0 0 10px}.success-message p:last-child{margin-bottom:0}.success-message strong{color:#667eea}.text-muted{color:#666;font-size:14px}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin-bottom:20px;padding:12px 16px}.btn{border-radius:8px;font-size:16px;font-weight:600;justify-content:center;padding:14px 24px;text-align:center;transition:all .2s ease;width:100%}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.setup-footer{border-top:1px solid #e0e0e0;padding-top:20px;text-align:center}.setup-footer .text-muted{font-size:13px;line-height:1.5;margin:0}@media (max-width:768px){.setup-card{padding:30px 20px}.setup-header h1{font-size:24px}.info-item{flex-direction:column;gap:10px}}.public-comparison-page{background:#f5f7fb;display:flex;justify-content:center;min-height:100vh;padding:2rem}.comparison-card{background:#fff;border-radius:16px;box-shadow:0 12px 35px #1920381f;max-width:960px;padding:2.5rem;width:100%}.comparison-card header{display:flex;flex-direction:column;gap:.85rem}.comparison-card header .title-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.comparison-card header h1{color:#0f1f44;font-size:1.9rem;letter-spacing:.3px;margin:0}.comparison-card header p{color:#4a5568;line-height:1.5;margin:0}.pill{align-items:center;background:#2f6fed1f;border:1px solid #2f6fed59;border-radius:999px;color:#1a3a86;display:flex;font-size:.85rem;gap:.35rem;padding:.5rem .9rem}.pill span{font-weight:600;letter-spacing:.6px;text-transform:uppercase}.pill strong{font-size:1.2rem}.token-chip{align-items:center;background:#f7f9fd;border:1px solid #d4dae6;border-radius:10px;display:inline-flex;gap:.5rem;padding:.45rem .8rem;width:-webkit-fit-content;width:fit-content}.token-chip span{color:#6b7280;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.token-chip code{color:#111827;font-size:.85rem}.upload-panel{background:#f9fbff;border:2px dashed #b6c2d9;border-radius:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.75rem;overflow:hidden;transition:border-color .2s ease,background .2s ease}.upload-panel.dragging{background:#2f6fed14;border-color:#2f6fed}.upload-instructions{display:flex;flex-direction:column;gap:.7rem;padding:1.5rem}.upload-instructions h2{color:#14203a;font-size:1.3rem;margin:0}.upload-instructions p{color:#626c81;margin:0}.upload-actions{display:flex;flex-wrap:wrap;gap:.75rem}.ghost-btn,.outline-btn,.primary-btn{background:#0000;border:1px solid;border-radius:10px;cursor:pointer;font-weight:600;padding:.75rem 1.4rem;transition:background .2s ease,color .2s ease}.outline-btn{border-color:#2f6fed;color:#2f6fed}.outline-btn:hover:not(:disabled){background:#2f6fed;color:#fff}.ghost-btn{border-color:#ced7e6;color:#4b5563}.ghost-btn:hover:not(:disabled){background:#eff3fa}.ghost-btn:disabled,.outline-btn:disabled,.primary-btn:disabled{cursor:not-allowed;opacity:.55}.primary-btn{background:#2f6fed;border-color:#2f6fed;color:#fff;margin-top:auto}.primary-btn:hover:not(:disabled){background:#1f56c3}.upload-details{background:#fff;border-left:1px solid #e5e9f2;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.file-meta{background:#fdfefe;border:1px solid #e2e8f0;border-radius:12px;padding:1rem}.file-meta span{color:#7b879b;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.file-meta p{color:#1f2937;font-size:1rem;font-weight:600;margin:.35rem 0 0}.file-meta small{color:#6b7280}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.error-banner{background:#fde8e8;border-radius:10px;color:#9b2c2c;font-weight:600;margin-top:1rem;padding:.85rem 1rem}.comparison-results{margin-top:2rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.summary-grid div{background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:.35rem;min-height:120px;padding:1rem}.summary-grid span{color:#64748b;display:block;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.summary-grid p{color:#111827;font-size:1.1rem;font-weight:600;margin:.35rem 0 0;word-break:break-word}.summary-grid small{color:#6b7280;font-size:.8rem;word-break:break-word}.summary-grid .highlight{color:#0f9d58;font-size:1.75rem}.muted{color:#6b7280;font-size:.9rem}.comparison-block{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:1.5rem;padding:1.25rem}.comparison-block h3{color:#1f2937;margin-bottom:.75rem;margin-top:0}.comparison-block ul{list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:0}.comparison-block li{border-bottom:1px solid #edf2f7;color:#2d3748;font-family:Source Code Pro,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;padding:.4rem 0}.comparison-block li:last-child{border-bottom:none}@media (max-width:640px){.comparison-card{padding:1.5rem}.upload-panel{grid-template-columns:1fr}.upload-details{border-left:none;border-top:1px solid #e5e9f2}.upload-actions{flex-direction:column}}.org-tree{display:flex;flex-direction:column;gap:4px;max-height:calc(100vh - 300px);padding-right:8px}.unassigned-node{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:2px solid #9b59b6!important;box-shadow:0 4px 12px #9b59b626!important;cursor:pointer;margin-bottom:16px!important;padding:14px 16px!important;transition:all .3s ease}.unassigned-node:hover{background:linear-gradient(135deg,#f0ebff,#e9d5ff);box-shadow:0 6px 16px #9b59b640!important;transform:translateY(-2px)}.unassigned-node.selected{background:linear-gradient(135deg,#ddd6fe,#c4b5fd)!important;border-color:#7c3aed!important;box-shadow:0 6px 20px #7c3aed4d!important}.unassigned-node .node-content{align-items:center;display:flex;gap:12px}.unassigned-node .node-icon{filter:drop-shadow(0 2px 4px rgba(155,89,182,.3));font-size:1.4em}.unassigned-node .node-name{color:#5b21b6;font-size:1.05em;font-weight:700;letter-spacing:.3px}.tree-empty{color:#718096;font-size:.9rem;padding:20px}.tree-node{margin-bottom:4px}.tree-item{align-items:flex-start;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px 12px;transition:all .2s;-webkit-user-select:none;user-select:none}.tree-row-main{align-items:center;display:flex;gap:8px;width:100%}.short-name-headline{background:#e2e8f0;border-radius:8px;color:#1a202c;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.35px;line-height:1.15;margin-left:4px;padding:3px 8px}.tree-item.selected .short-name-headline{background:#5a67d8;color:#fff}.tree-item:hover{background-color:#f7fafc}.tree-item.selected{background:#edf2ff;border:1px solid #5a67d8;box-shadow:0 0 0 2px #5a67d840;color:#1a202c}.dept-item.selected{background:#ebf8ff;border:1px solid #3182ce;color:#1a202c}.org-item{font-weight:600}.inline-add-btn{background:#0000;border:1px solid #0000;border-radius:12px;color:#2b6cb0;cursor:pointer;font-size:.65rem;line-height:1;margin-left:6px;padding:2px 6px}.inline-add-btn:hover{background:#ebf8ff;border-color:#90cdf4}.status-pill{border-radius:10px;cursor:pointer;display:inline-block;font-size:.55rem;font-weight:600;letter-spacing:.5px;margin-left:6px;padding:2px 6px;text-transform:uppercase;transition:filter .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.status-pill.active{background:#c6f6d5;color:#22543d}.status-pill.inactive{background:#fed7d7;color:#c53030}.status-pill:hover{filter:brightness(.95)}.org-item.selected{border-color:#667eea;box-shadow:0 2px 8px #667eea4d}.dept-item{border:1px solid #0000;font-size:.9rem;margin-left:28px}.dept-item:hover{border-color:#e2e8f0}.dept-item.selected{border-color:#667eea}.expand-btn{align-items:center;background:none;border:none;color:#718096;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:20px;justify-content:center;padding:0;transition:transform .2s;width:20px}.org-name-headline{color:#1a202c;font-size:.95rem;font-weight:600;line-height:1.2;white-space:normal;width:100%;word-break:break-word}.tree-item.selected .org-name-headline{color:#1a202c}.org-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;width:100%}.short-name-pill{background:#e2e8f0;border-radius:8px;color:#1a202c;display:inline-block;flex-shrink:0;font-size:.55rem;font-weight:600;letter-spacing:.25px;max-width:140px;padding:2px 6px}.short-name-pill:hover{background:#cbd5e0}.tree-badge{border:1px solid #0000;border-radius:10px;flex-shrink:0;font-size:.7rem;font-weight:600;padding:3px 8px;text-transform:uppercase}.tree-badge.customer{background:#bee3f8;border-color:#90cdf4;color:#2c5282}.tree-badge.partner{background:#d6bcfa;border-color:#b794f4;color:#553c9a}.tree-badge.trial{background:#feebc8;border-color:#fbd38d;color:#7c2d12}.tree-badge.platform{background:#c6f6d5;border-color:#9ae6b4;color:#22543d}.tree-children{border-left:2px solid #e2e8f0;margin-left:12px;margin-top:4px;padding-left:8px}.tree-empty-child{color:#a0aec0;font-size:.85rem;font-style:italic;margin-left:28px;padding:8px 12px}.org-tree::-webkit-scrollbar{width:6px}.org-tree::-webkit-scrollbar-track{background:#f7fafc;border-radius:3px}.org-tree::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.org-tree::-webkit-scrollbar-thumb:hover{background:#a0aec0}.user-management-panel{gap:20px;padding:20px}.panel-empty-state,.user-management-panel{display:flex;flex-direction:column;height:100%}.panel-empty-state{align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-title{color:#374151;font-size:18px;font-weight:600;margin-bottom:8px}.empty-subtitle{color:#6b7280;font-size:14px;max-width:400px}.user-stats{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;padding:16px}.stat-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px}.stat-label{font-size:12px;font-weight:500;letter-spacing:.5px}.stat-value{color:#374151;font-size:24px}.stat-value.stat-success{color:#10b981}.stat-value.stat-primary{color:#667eea}.user-list{flex:1 1;min-height:0;overflow-y:auto}.user-list-empty{align-items:center;display:flex;flex-direction:column;gap:16px;padding:40px 20px;text-align:center}.user-list-empty p{color:#6b7280;font-size:14px}.user-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.user-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s ease}.user-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.user-card-header{background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;gap:12px;padding:16px}.user-avatar,.user-card-header{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.user-info{flex:1 1;min-width:0}.user-name{color:#374151;font-size:14px;font-weight:600}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#6b7280;font-size:12px}.user-card-body{padding:16px}.user-meta{display:flex;flex-direction:column;gap:8px}.meta-item{align-items:center;display:flex;font-size:13px;justify-content:space-between}.meta-label{color:#6b7280;font-weight:500}.meta-value{color:#374151;font-weight:600}.status-badge{border-radius:12px;font-size:11px;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.user-card-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:center;padding:12px 16px}.btn-sm{font-size:.8125rem}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.badge{font-size:11px;letter-spacing:.5px;padding:4px 8px}.badge-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}@media (max-width:768px){.user-stats{flex-direction:column}.user-cards{grid-template-columns:1fr}}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:6px;padding:10px 20px;text-decoration:none;transition:all .2s}.btn-icon{border-radius:8px;font-size:1.25rem;height:40px;justify-content:center;line-height:1;padding:0;width:40px}.btn-icon.btn-sm{font-size:1rem;height:32px;width:32px}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-secondary{background:#718096;color:#fff;font-size:.875rem;padding:8px 16px;width:150px}.btn-secondary:hover:not(:disabled){background:#4a5568;box-shadow:0 4px 12px #71809666;transform:translateY(-1px)}.btn-danger{background:#e53e3e;color:#fff}.btn-danger:hover:not(:disabled){background:#c53030;box-shadow:0 4px 12px #e53e3e66;transform:translateY(-1px)}.btn-info{background-color:#3182ce;color:#fff}.btn-info:hover:not(:disabled){background-color:#2c5282;box-shadow:0 4px 12px #3182ce66;transform:translateY(-1px)}.btn-sm{padding:6px 12px}.badge,.btn-sm{font-size:.85rem}.badge{padding:4px 10px;text-align:center}.badge-sm{font-size:.75rem;padding:2px 6px}.badge.success{background-color:#48bb78;color:#fff}.badge.danger{background-color:#e53e3e;color:#fff}.badge.warning{background-color:#ed8936;color:#fff}.badge.info{background-color:#3182ce;color:#fff}.badge.primary{background-color:#667eea;color:#fff}.badge.secondary{background-color:#718096;color:#fff}.form-control{background-color:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:11px 16px;transition:all .2s;width:100%}.form-control:focus{background-color:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea14;outline:none}.form-control:disabled{background-color:#f7fafc;cursor:not-allowed}.form-select{background-color:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.95rem;padding:11px 16px;transition:all .2s;width:100%}.form-select:focus{background-color:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea14;outline:none}.form-group{margin-bottom:24px}.form-group label{color:#1a202c;display:block;font-size:.9rem;font-weight:600;letter-spacing:.01em;margin-bottom:8px}.form-text{color:#718096;display:block;font-size:.875rem;margin-top:4px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:linear-gradient(180deg,#fafbfc,#fff);border-bottom:1px solid #f0f4f8;display:flex;justify-content:space-between;padding:28px 32px 24px}.modal-header h2{color:#1a202c;font-size:1.4rem;font-weight:600;letter-spacing:-.02em;margin:0}.close-btn{align-items:center;border-radius:8px;color:#a0aec0;display:flex;font-size:1.8rem;height:32px;justify-content:center;transition:all .2s;width:32px}.close-btn:hover{background:#f1f5f9;color:#475569;transform:scale(1.05)}.modal-content form{padding:30px}.modal-footer{border-top:1px solid #f0f4f8;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.text-muted{color:#a0aec0;font-style:italic}.empty-state{color:#718096;padding:40px 20px}.data-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.data-table th{font-size:.9rem;letter-spacing:.5px;padding:14px 16px;text-transform:uppercase}.data-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.data-table tbody tr:hover{background-color:#f7fafc}.data-table tbody tr:last-child{border-bottom:none}.data-table td{color:#2d3748;font-size:.95rem;padding:14px 16px}.action-buttons{align-items:center;gap:8px;justify-content:flex-start}@media (max-width:768px){.form-row{grid-template-columns:1fr}.modal-content{max-width:95%}.modal-content form,.modal-header{padding:20px}.action-buttons{flex-wrap:wrap}}.modal-large{max-width:900px}.user-detail-sections{padding:24px 32px}.detail-section{margin-bottom:32px}.detail-section:last-child{margin-bottom:0}.section-title{align-items:center;color:#2d3748;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin-bottom:16px}.count-badge{background:#e2e8f0;border-radius:12px;color:#4a5568;font-size:.75rem;font-weight:500;padding:2px 8px}.info-item{flex-direction:column;gap:4px}.info-label{font-size:.875rem}.info-label,.info-value{font-weight:500}.badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.badge-success{background:#d4edda;color:#155724}.badge-danger{background:#f8d7da;color:#721c24}.badge-primary{background:#cfe2ff;color:#004085}.badge-secondary{background:#e2e3e5;color:#383d41}.dept-list,.org-list{display:flex;flex-direction:column;gap:12px}.dept-item,.org-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.dept-item:hover,.org-item:hover{background:#edf2f7;border-color:#cbd5e0}.dept-info,.org-info{display:flex;flex-direction:column;gap:4px}.dept-name,.org-name{color:#2d3748;font-size:.95rem;font-weight:600}.dept-meta,.org-meta{color:#718096;font-size:.8rem}.empty-state{background:#f7fafc;border:1px dashed #cbd5e0;border-radius:8px;color:#a0aec0;font-style:italic;padding:24px;text-align:center}.action-buttons .btn{flex:1 1;min-width:200px}@media (max-width:768px){.modal-large{max-width:100%}.info-grid{grid-template-columns:1fr}.action-buttons .btn{min-width:100%}.dept-item,.org-item{align-items:flex-start;flex-direction:column;gap:12px}.dept-item .btn,.org-item .btn{width:100%}}.multitenant-management{background:linear-gradient(135deg,#f5f7fa,#e9ecef);margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.multitenant-header{margin-bottom:30px}.multitenant-header .header-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.multitenant-header h1{color:#1a202c;font-size:2rem;margin-bottom:8px}.subtitle{color:#718096;font-size:1rem}.context-banner{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;display:flex;gap:12px;margin-bottom:20px;padding:12px 20px}.context-icon{font-size:1.3rem}.context-text{flex:1 1;font-size:.95rem}.context-text strong{font-size:1.05rem;font-weight:700}.context-badge{background:#fff3;border:1px solid #ffffff4d;border-radius:12px;font-size:.85rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.access-denied{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:60px 20px;text-align:center}.access-denied h2{color:#e53e3e;font-size:2rem;margin-bottom:16px}.access-denied p{color:#718096;font-size:1.1rem}.alert{align-items:center;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.alert-error{background-color:#fed7d7;border:1px solid #fc8181;color:#c53030}.alert-success{background-color:#c6f6d5;border:1px solid #68d391;color:#22543d}.field-error{background-color:#fff5f5;border:2px solid #e53e3e!important}.close-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;line-height:1;margin-left:10px;padding:0}.close-btn:hover{opacity:.7}.multitenant-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:30px;overflow-x:auto}.multitenant-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;font-size:.95rem;padding:12px 20px;transition:all .2s;white-space:nowrap}.multitenant-tabs button:hover{background-color:#f7fafc;color:#2d3748}.multitenant-tabs button.active{border-bottom-color:#2b6cb0;color:#2b6cb0;font-weight:600}.tab-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-height:400px;padding:30px}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{border-left:4px solid #4a5568;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#2d3748;padding:24px;text-align:center}.stat-card:nth-child(2){border-left-color:#718096}.stat-card:nth-child(3){border-left-color:#2d3748}.stat-card:nth-child(4){border-left-color:#4a5568}.stat-icon{color:#4a5568;font-size:2rem;margin-bottom:8px;opacity:.8}.stat-value{color:#2d3748;font-size:2.5rem;font-weight:700}.stat-label{color:#718096;font-size:.9rem;opacity:.9}.quick-actions{margin-bottom:40px}.quick-actions h3{color:#2d3748;margin-bottom:16px}.action-buttons{display:flex;flex-wrap:wrap;gap:12px}.recent-activity h3{color:#2d3748;margin-bottom:16px}.org-list{flex-direction:column}.org-item,.org-list{display:flex;gap:12px}.org-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;padding:16px}.org-item .btn{flex-shrink:0;max-width:100px;white-space:nowrap;width:100px}.org-info{flex:1 1;min-width:0}.dept-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:16px}.dept-item .btn{flex-shrink:0;max-width:100px;white-space:nowrap;width:100px}.dept-info{flex:1 1;min-width:0}.dept-name{color:#2d3748;font-weight:600;margin-bottom:8px}.dept-meta{align-items:center;color:#718096;display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px}.org-name{color:#2d3748;font-weight:600;margin-bottom:8px}.org-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.text-muted{color:#718096;font-size:.9rem}.tab-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:30px}.tab-header h2{color:#2d3748;margin:0}.organizations-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.org-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:all .2s}.org-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.org-card.viewing-context{background:linear-gradient(180deg,#667eea0d,#fff);border:2px solid #667eea;box-shadow:0 4px 16px #667eea33}.org-card-header{align-items:flex-start;background:#fff;border-bottom:1px solid #f0f4f8;display:flex;gap:12px;justify-content:space-between;padding:20px 20px 16px}.org-card-header h3{align-items:center;color:#1a202c;display:flex;flex-wrap:wrap;font-size:1.05rem;font-weight:600;gap:8px;line-height:1.4;margin:0}.viewing-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 2px 4px #667eea4d;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px}.status-badge{border-radius:16px;font-size:.8rem;font-weight:600;letter-spacing:.3px;padding:5px 14px}.status-badge.active{background:#d4f4dd;color:#1e6f3b}.status-badge.inactive{background:#fee;color:#c53030}.org-card-body{padding:16px 20px}.org-detail{align-items:center;border-bottom:1px solid #f7fafc;display:flex;gap:12px;justify-content:space-between;padding:10px 0}.org-detail:last-child{border-bottom:none;padding-bottom:0}.org-detail .label{color:#718096;font-size:.9rem;font-weight:500}.org-detail .value{color:#2d3748;font-weight:500;text-align:right}.org-card-footer{background:#fafbfc;border-top:1px solid #f0f4f8;display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}.badge.customer{background:#bee3f8;color:#2c5282}.badge.partner{background:#d6bcfa;color:#553c9a}.badge.trial{background:#feebc8;color:#7c2d12}.badge.platform{background:#c6f6d5;color:#22543d}.org-selector{align-items:center;display:flex;gap:12px;margin-bottom:24px}.org-selector label{color:#2d3748;font-weight:500}.data-table{border-collapse:collapse;margin-top:20px;width:100%}.data-table thead{background:#f7fafc}.data-table th{border-bottom:2px solid #e2e8f0;color:#2d3748;font-weight:600;padding:12px;text-align:left}.data-table td{border-bottom:1px solid #e2e8f0;padding:12px}.data-table tbody tr:hover{background:#f7fafc}.workflow-steps{margin-bottom:40px}.workflow-step{background:#f7fafc;border-left:4px solid #2b6cb0;border-radius:8px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.step-number{align-items:center;background:#2b6cb0;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;width:40px}.step-content{flex:1 1}.step-content h3{color:#2d3748;margin:0 0 8px}.step-content p{color:#718096;margin-bottom:12px}.roles-reference{margin-top:40px}.roles-reference h3{color:#2d3748;margin-bottom:20px}.roles-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.role-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.role-card h4{color:#2b6cb0;font-size:1rem;margin:0 0 8px}.role-card p{color:#718096;font-size:.9rem;margin:0}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}@media (max-width:768px){.multitenant-management{padding:12px}.tab-content{padding:20px 16px}.multitenant-header h1{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.departments-grid,.organizations-grid{grid-template-columns:1fr}.tab-header{align-items:flex-start;flex-direction:column}.header-actions{flex-direction:column;width:100%}.header-actions .btn,.header-actions .form-select{width:100%}.form-row{grid-template-columns:1fr}.workflow-step{flex-direction:column}.roles-grid{grid-template-columns:1fr}.org-item{align-items:flex-start;flex-direction:column;gap:12px}.org-item .btn{width:100%}.action-buttons{flex-direction:column;width:100%}.action-buttons .btn{width:100%}}.user-email{align-items:center;display:flex;gap:8px}.user-orgs{display:flex;flex-wrap:wrap;gap:4px;max-width:300px}.header-actions{align-items:center;display:flex;gap:12px}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-value{font-size:2rem}.header-actions{flex-direction:column;width:100%}.header-actions .btn{width:100%}.user-orgs{max-width:100%}}.split-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:380px 1fr;margin-top:30px;min-height:600px}.org-tree-panel,.user-panel{background:#fff;border:none;border-radius:16px;box-shadow:0 4px 20px #00000014,0 2px 8px #0000000a;display:flex;flex-direction:column;overflow:hidden}.panel-header{align-items:center;background:linear-gradient(135deg,#fff,#f9fafb);border-bottom:2px solid #f3f4f6;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.panel-title{color:#374151;font-size:18px;font-weight:700;margin:0}.panel-header-actions{display:flex;gap:8px}.panel-placeholder{color:#9ca3af;font-size:14px;margin:0;padding:40px 20px;text-align:center}.selected-context{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #fff3;color:#fff;flex-shrink:0;font-size:14px;font-weight:600;gap:10px}.search-row,.selected-context{display:flex;padding:12px 24px}.search-row{background:#fafafa;border-bottom:1px solid #f3f4f6;gap:8px}.search-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:13px;padding:8px 10px}.search-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.context-chip{font-size:16px;opacity:.95}.context-name{color:#fff;flex:1 1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-tree{flex:1 1;min-height:0;overflow-y:auto;padding:16px 20px}.tree-empty{color:#9ca3af;font-size:14px;padding:40px 20px;text-align:center}.panel-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;margin-top:auto;padding:16px 24px}@media (max-width:1400px){.split-layout{grid-template-columns:350px 1fr}}@media (max-width:1024px){.split-layout{gap:16px;grid-template-columns:1fr}.org-tree-panel{max-height:300px}.user-panel{min-height:400px}}.superadmin-ssh-manager{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:2rem auto;max-width:900px;padding:2rem}.superadmin-ssh-manager h2{color:#333;margin-bottom:.5rem}.superadmin-ssh-manager .subtitle{color:#666;font-size:.95rem;margin-bottom:2rem}.superadmin-ssh-manager .section{background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:2rem;padding:1.5rem}.superadmin-ssh-manager .section h3{color:#444;font-size:1.2rem;margin-bottom:.75rem;margin-top:0}.superadmin-ssh-manager .section .note{background:#fffbea;border-left:3px solid #f39c12;border-radius:4px;color:#666;font-size:.9rem;margin-bottom:1rem;padding:.5rem}.superadmin-ssh-manager .section .note code{background:#f4f4f4;border-radius:3px;font-family:Courier New,monospace;font-size:.9rem;padding:.15rem .4rem}.superadmin-ssh-manager .form-group{margin-bottom:1rem}.superadmin-ssh-manager .form-group label{color:#555;display:block;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.superadmin-ssh-manager .form-group input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:.95rem;padding:.5rem;width:100%}.superadmin-ssh-manager .checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400}.superadmin-ssh-manager .checkbox-group input[type=checkbox]{margin-right:.5rem;width:auto}.superadmin-ssh-manager .form-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:1rem}.vm-controls-modern{background:linear-gradient(180deg,#fafbfc,#fff);border:1px solid #d0d7de;border-radius:10px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:12px;padding:16px}.vm-controls-primary{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.vm-controls-spacer{flex-shrink:0;width:16px}.vm-controls-secondary{align-items:center;border-top:1px solid #d0d7de;display:flex;flex-wrap:wrap;gap:12px;padding-top:12px}.vm-btn{align-items:center;border:none;border-radius:8px;box-shadow:0 1px 3px #00000014;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.875rem;font-weight:600;gap:6px;letter-spacing:.3px;padding:9px 18px;transition:all .2s cubic-bezier(.4,0,.2,1)}.vm-btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.vm-btn:active:not(:disabled){box-shadow:0 1px 3px #0000001f;transform:translateY(0)}.vm-btn:disabled{cursor:not-allowed;opacity:.5}.vm-btn-icon{font-size:1.1rem}.vm-btn-icon,.vm-btn-text{line-height:1}.vm-btn-start{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.vm-btn-start:hover:not(:disabled){background:linear-gradient(135deg,#0891b2,#0e7490)}.vm-btn-restart{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.vm-btn-restart:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.vm-btn-stop{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.vm-btn-stop:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.vm-btn-cleanup{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.vm-btn-cleanup:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.vm-btn-mount{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.vm-btn-mount:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)}.vm-btn-mounted{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.vm-info-badge{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;border-radius:8px;color:#374151;display:inline-flex;font-size:.8rem;gap:8px;padding:8px 14px}.vm-info-label{font-size:.7rem;font-weight:700;letter-spacing:.5px;opacity:.65;text-transform:uppercase}.vm-info-value{color:#1f2937;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-weight:600}.mount-info{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:8px;margin-top:12px;padding:12px 16px}.mount-path-display{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.mount-icon{font-size:1.2rem}.mount-path-display strong{color:#166534;font-size:.9rem}.mount-path{background:#fff;border:1px solid #86efac;border-radius:4px;color:#065f46;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.85rem;font-weight:600;padding:4px 10px}.mount-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.mount-details{color:#166534;display:block;font-size:.8rem;opacity:.85}.superadmin-ssh-manager button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;margin-top:1rem;padding:.65rem 1.25rem;transition:background .2s}.superadmin-ssh-manager button:hover:not(:disabled){background:#218838}.superadmin-ssh-manager button:disabled{background:#ccc;cursor:not-allowed}.superadmin-ssh-manager .btn-cleanup{background:#dc3545}.superadmin-ssh-manager .btn-cleanup:hover:not(:disabled){background:#c82333}.superadmin-ssh-manager.page-disabled{filter:grayscale(10%);opacity:.55;position:relative}.page-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffbf;display:flex;font-family:system-ui,sans-serif;height:100%;justify-content:center;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}.page-overlay .overlay-box{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 18px #00000026;padding:2rem 2.5rem;pointer-events:all;text-align:center}.page-overlay .spinner{animation:spin 1.2s cubic-bezier(.68,-.55,.265,1.55) infinite;border-right:5px solid #fff3;border-top:5px solid #fff3;border-color:#06b6d4 #3b82f6 #fff3 #fff3;border-radius:50%;border-style:solid;border-width:5px;height:42px;margin:0 auto 1rem;position:relative;width:42px}.page-overlay .spinner:before{animation:spin 2s linear infinite reverse;border:2px solid #0000;border-radius:50%;border-top-color:#06b6d44d;bottom:-10px;content:"";left:-10px;position:absolute;right:-10px;top:-10px}.page-overlay .spinner:after{animation:spin 1.5s ease-in-out infinite;border:2px solid;border-color:#0000 #0000 #8b5cf666;border-radius:50%;bottom:5px;content:"";left:5px;position:absolute;right:5px;top:5px}.page-overlay .overlay-msg{animation:pulse 2s ease-in-out infinite;color:#333;font-size:1rem;font-weight:600;margin-bottom:.35rem}.page-overlay .overlay-sub{animation:slideUp .5s ease-out;color:#666;font-size:.8rem}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.superadmin-ssh-manager .output-console{background:#1e1e1e;border-radius:4px;color:#d4d4d4;font-family:Courier New,monospace;font-size:.9rem;max-height:300px;overflow:auto;padding:1rem;white-space:pre-wrap;word-break:break-all}.superadmin-ssh-manager .section.highlight{border-color:#28a745;box-shadow:0 0 0 2px #28a74526}.superadmin-ssh-manager .section.disabled{opacity:.6}.vm-status-section{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.vm-status-section h3{color:#fff;margin-bottom:1rem}.vm-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.vm-controls>button{background:#fff;color:#667eea;font-weight:600}.vm-controls>button:hover:not(:disabled){background:#f0f0f0;color:#764ba2}.vm-actions{display:flex;flex-wrap:wrap;gap:.75rem}.vm-actions button{flex:1 1;font-weight:600;margin-top:0;min-width:120px;padding:.75rem 1rem;transition:all .2s}.vm-actions .btn-start{background:#28a745;color:#fff}.vm-actions .btn-start:hover:not(:disabled){background:#218838}.vm-actions .btn-restart{background:#17a2b8;color:#fff}.vm-actions .btn-restart:hover:not(:disabled){background:#138496}.vm-actions .btn-stop{background:#ffc107;color:#212529}.vm-actions .btn-stop:hover:not(:disabled){background:#e0a800}.vm-actions .btn-deallocate{background:#6c757d;color:#fff}.btn-disabled{cursor:not-allowed;opacity:.65}.toast{animation:fadeIn .2s ease-out;background:#333;border-radius:6px;bottom:16px;box-shadow:0 4px 12px #00000040;color:#fff;font-size:14px;padding:10px 14px;position:fixed;right:16px;z-index:1000}.toast-success{background:#2e7d32}.toast-error{background:#c62828}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.vm-actions .btn-deallocate:hover:not(:disabled){background:#5a6268}.vm-status-dashboard{background:#fff;border-radius:8px;color:#333;padding:1.5rem}.status-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.status-card{background:#f8f9fa;border-left:4px solid #667eea;border-radius:6px;padding:1rem}.status-card.full-width{grid-column:1/-1}.status-label{color:#6c757d;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.status-value{word-wrap:break-word;color:#212529;font-size:1.1rem;font-weight:600}.status-value.small-text{font-family:monospace;font-size:.85rem}.status-value.power-state{border-radius:20px;display:inline-block;padding:.25rem .75rem;text-transform:capitalize}.status-value.power-state.running{background:#d4edda;color:#155724}.status-value.power-state.deallocated{background:#d6d8db;color:#383d41}.status-value.power-state.stopped{background:#f8d7da;color:#721c24}.extensions-section{border-top:2px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem}.extensions-section h4{color:#495057;font-size:1rem;margin-bottom:1rem}.extensions-list{display:flex;flex-direction:column;gap:.75rem}.extension-card{background:#f8f9fa;border-left:4px solid #28a745;border-radius:6px;padding:1rem}.extension-name{color:#212529;font-weight:600;margin-bottom:.5rem}.extension-details{color:#6c757d;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem}.extension-status{border-radius:4px;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.extension-status.succeeded{background:#d4edda;color:#155724}.extension-status.updating{background:#fff3cd;color:#856404}.extension-status.failed{background:#f8d7da;color:#721c24}.extension-publisher,.extension-type{color:#495057}.tags-section{border-top:2px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem}.tags-section h4{color:#495057;font-size:1rem;margin-bottom:1rem}.tags-list{display:flex;flex-wrap:wrap;gap:.75rem}.tag{background:#e7f3ff;border:1px solid #b8daff;border-radius:20px;color:#004085;font-size:.85rem;padding:.5rem 1rem}.tag strong{margin-right:.25rem}.output-section{margin-top:20px}.output-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.output-header h3{color:#212529;font-size:1.1rem;margin:0}.loading-indicator{animation:pulse 1.5s ease-in-out infinite;color:#007bff;font-size:.9rem;font-weight:500}.error-indicator{color:#dc3545;font-size:.9rem;font-weight:500}.success-indicator{color:#28a745;font-size:.9rem;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.output-console{word-wrap:break-word;background:#1e1e1e;border:1px solid #3e3e3e;border-radius:6px;box-shadow:inset 0 2px 4px #0000004d;color:#d4d4d4;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;line-height:1.6;max-height:500px;overflow-y:auto;padding:15px;white-space:pre-wrap}.output-console.is-loading{border-color:#007bff;box-shadow:inset 0 2px 4px #0000004d,0 0 0 2px #007bff1a}.output-console.has-error{border-color:#dc3545;box-shadow:inset 0 2px 4px #0000004d,0 0 0 2px #dc35451a}.output-console::-webkit-scrollbar{width:10px}.output-console::-webkit-scrollbar-track{background:#2d2d2d;border-radius:6px}.output-console::-webkit-scrollbar-thumb{background:#555;border-radius:6px}.output-console::-webkit-scrollbar-thumb:hover{background:#777}.output-console{& :is(span,div):has-text("✅"),& :is(span,div):has-text("✓"){color:#4ec9b0}}.terminal-window{background:#111;border:1px solid #333;border-radius:6px;color:#eee;display:flex;flex-direction:column;font-family:monospace;font-size:12px;max-height:240px}.terminal-header{background:#222;border-bottom:1px solid #333;font-weight:700;padding:4px 8px}.terminal-close{background:#0000;border:none;color:#eee;cursor:pointer;font-size:14px}.terminal-close:hover{color:#ff5f56}.terminal-body{margin:0;padding:8px;white-space:pre-wrap}.terminal-container{background:#1e1e1e;border-radius:8px;box-shadow:0 4px 6px #0000004d;display:flex;flex-direction:column;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;height:600px;max-height:600px;overflow:hidden}.terminal-header{align-items:center;background:#2d2d2d;border-bottom:1px solid #3d3d3d;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.terminal-title{align-items:center;color:#d4d4d4;display:flex;font-size:13px;font-weight:500;gap:8px}.terminal-icon{color:#4ec9b0;font-size:12px}.terminal-controls{display:flex;gap:8px}.terminal-control-btn{background:#0000;border:1px solid #444;border-radius:4px;color:#d4d4d4;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s}.terminal-control-btn:hover{background:#3d3d3d;border-color:#555}.terminal-close{font-size:18px;font-weight:700;line-height:1;padding:2px 8px}.terminal-close:hover{background:#e81123;border-color:#e81123;color:#fff}.terminal-body{background:#1e1e1e;cursor:text;flex:1 1;min-height:0;overflow-y:auto;padding:12px}.terminal-output{display:flex;flex-direction:column;min-height:100%}.terminal-line{align-items:baseline;display:flex;gap:8px;line-height:1.5;margin:2px 0}.terminal-timestamp{color:#6a9955;flex-shrink:0;font-size:11px}.terminal-prompt{color:#4ec9b0;flex-shrink:0;font-weight:700}.terminal-text{word-wrap:break-word;color:#d4d4d4;flex:1 1;white-space:pre-wrap}.terminal-command .terminal-text{color:#dcdcaa}.terminal-error .terminal-text{color:#f48771}.terminal-success .terminal-text{color:#4ec9b0}.terminal-info .terminal-text{color:#569cd6}.terminal-output .terminal-text{color:#d4d4d4}.terminal-input-line{margin-top:4px}.terminal-input{background:#0000;border:none;caret-color:#4ec9b0;color:#d4d4d4;flex:1 1;font-family:inherit;font-size:inherit;outline:none;padding:0}.terminal-input:disabled{opacity:.5}.terminal-spinner{animation:spin 1s linear infinite;color:#4ec9b0;margin-left:8px}@keyframes spin{0%{content:"⠋"}12.5%{content:"⠙"}25%{content:"⠹"}37.5%{content:"⠸"}50%{content:"⠼"}62.5%{content:"⠴"}75%{content:"⠦"}87.5%{content:"⠧"}to{content:"⠇"}}.terminal-body::-webkit-scrollbar{width:10px}.terminal-body::-webkit-scrollbar-track{background:#1e1e1e}.terminal-body::-webkit-scrollbar-thumb{background:#424242;border-radius:5px}.terminal-body::-webkit-scrollbar-thumb:hover{background:#4e4e4e}.terminal-body ::selection{background:#4ec9b04d}@media (max-width:768px){.terminal-container{font-size:12px}.terminal-timestamp{font-size:10px}.terminal-header{padding:6px 10px}.terminal-body{padding:10px}}.super-admin-page{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.super-admin-header{align-items:center;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000f;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 32px}.header-left h1{color:#2d3748;font-size:1.8rem;font-weight:700;margin:0 0 8px}.user-info{align-items:center;color:#718096;display:flex;flex-wrap:wrap;font-size:.95rem;gap:12px;margin:0}.user-info strong{color:#667eea;font-weight:600}.superadmin-badge{align-items:center;border:1px solid #0000;border-radius:12px;display:inline-flex;font-size:.65rem;font-weight:600;gap:4px;letter-spacing:.05em;line-height:1;margin-left:14px;padding:4px 10px;vertical-align:middle}.superadmin-badge.validated{background:#e6f9ec;border-color:#1a7f37;box-shadow:0 0 0 1px #1a7f3726;color:#1a7f37}.superadmin-badge.pending{background:#fff8e1;border-color:#a15c00;box-shadow:0 0 0 1px #a15c0026;color:#a15c00}.warning-badge{align-items:center;background:#fef5e7;border:1px solid #f9e79f;border-radius:12px;color:#d68910;display:inline-flex;font-size:.85rem;font-weight:600;gap:4px;padding:4px 12px}.header-right{flex-wrap:wrap;gap:12px}.header-right,.logout-icon-btn{align-items:center;display:flex}.logout-icon-btn{--btn-size:40px;background:linear-gradient(135deg,#ef4444,#dc2626);border:1px solid #dc2626;border-radius:12px;box-shadow:0 2px 4px #0000001f;color:#fff;cursor:pointer;height:var(--btn-size);justify-content:center;transition:background .18s ease,box-shadow .18s ease,transform .15s ease;width:var(--btn-size)}.logout-icon-btn .logout-icon{height:22px;pointer-events:none;width:22px}.logout-icon-btn:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 4px 10px #00000026}.logout-icon-btn:active{box-shadow:0 2px 6px #00000024;transform:translateY(1px)}.logout-icon-btn:focus-visible{outline:3px solid #fca5a5;outline-offset:3px}.super-admin-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;flex:1 1;margin:20px auto;max-width:1600px;padding:30px 20px;width:100%}.super-admin-footer{background:#fffffff2;border-top:1px solid #667eea33;padding:16px 40px;text-align:center}.super-admin-footer p{color:#718096;font-size:.9rem;margin:0}.super-admin-page .access-denied{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:40px 20px;padding:60px 20px;text-align:center}.super-admin-page .access-denied h1{color:#e53e3e;font-size:2.5rem;margin-bottom:16px}.super-admin-page .access-denied p{color:#718096;font-size:1.2rem;margin-bottom:30px}@media (max-width:768px){.super-admin-header{align-items:flex-start;flex-direction:column;padding:16px 20px}.header-left h1{font-size:1.5rem}.header-right{justify-content:flex-start;width:100%}.super-admin-content{margin-bottom:10px;margin-top:10px;padding:20px 10px}.super-admin-footer{padding:12px 20px}}.super-admin-nav{background:#fffffffa;border-bottom:2px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;display:flex;gap:0;padding:0 40px}.nav-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;font-size:1rem;font-weight:600;padding:16px 32px;position:relative;top:2px;transition:all .3s ease}.nav-tab:hover{background:#667eea0d;color:#667eea}.nav-tab.active{background:#667eea14;border-bottom-color:#667eea;color:#667eea}.dashboard-view{padding:20px 0}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 4px #0000000a,0 1px 2px #0000000f;color:#1f2937;display:flex;gap:12px;padding:16px 14px;transition:box-shadow .18s ease,transform .18s ease}.stat-card:hover{box-shadow:0 4px 10px #00000014;transform:translateY(-2px)}.stat-icon{align-items:center;color:#4b5563;display:flex;font-size:1.65rem;justify-content:center;line-height:1;opacity:.55}.stat-info{flex:1 1}.stat-value{color:#111827;font-size:1.7rem;font-weight:600;line-height:1.05;margin-bottom:4px}.stat-label{color:#6b7280;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.quick-actions-section{margin-bottom:40px}.quick-actions-section h2{color:#2d3748;font-size:1.5rem;font-weight:700;margin-bottom:20px}.quick-actions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.action-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:24px;text-align:left;transition:all .2s ease}.action-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.action-icon{flex-shrink:0;font-size:2rem;opacity:.7}.action-info h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 8px}.action-info p{color:#718096;font-size:.9rem;line-height:1.5;margin:0}.platform-overview{margin-bottom:40px}.platform-overview h2{color:#2d3748;font-size:1.5rem;font-weight:700;margin-bottom:20px}.overview-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.overview-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:28px;transition:all .2s ease}.overview-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.overview-card:nth-child(2),.overview-card:nth-child(3){border-top:3px solid #e2e8f0}.overview-card h3{color:#2d3748;font-size:1.2rem;font-weight:700;margin:0 0 12px}.overview-card p{color:#718096;line-height:1.6;margin:0 0 16px}.overview-card ul{list-style:none;margin:0;padding:0}.overview-card ul li{color:#4a5568;font-size:.95rem;padding:6px 0}.system-info{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:28px}.system-info h2{color:#2d3748;font-size:1.5rem;font-weight:700;margin:0 0 20px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:14px 18px}.info-label{color:#718096;font-size:.9rem;font-weight:600}.info-value{color:#2d3748;font-size:.95rem;font-weight:600}.info-section{margin-bottom:28px}.info-section:last-child{margin-bottom:0}.info-section h3{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.1rem;font-weight:700;margin-bottom:16px;padding-bottom:8px}.section-header{justify-content:space-between}.section-actions,.section-header{align-items:center;display:flex;gap:12px}.section-actions{flex-wrap:wrap}.section-actions .btn{min-width:140px}.btn-link{background:none;border:none;color:#4c51bf;cursor:pointer;font-weight:600;padding:4px 0;text-decoration:underline}.btn-link:disabled{color:#a0aec0;cursor:not-allowed;text-decoration:none}.credentials-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item.full-width{grid-column:1/-1}.system-health-section .health-badge{border-radius:16px;font-size:.8rem;font-weight:700;letter-spacing:.04em;padding:6px 14px}.system-health-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px}.health-alerts,.health-errors{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.alert-item.warning{background:#fffaf0;border-color:#fde68a;color:#92400e}.sparkline-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:10px}.sparkline-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:14px}.sparkline-card svg{height:70px;width:100%}.sparkline-header{align-items:center;color:#1f2937;display:flex;font-weight:600;justify-content:space-between}.sparkline-card .alert{color:#b91c1c}.threshold-panel{margin-top:20px}.threshold-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:12px}.threshold-input{color:#374151;display:flex;flex-direction:column;font-weight:600;gap:6px}.threshold-input input{border:1px solid #cbd5f5;border-radius:6px;font-size:.95rem;padding:8px 10px}.threshold-input input:focus{border-color:#6366f1;outline:2px solid #6366f1}.rotation-status-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:12px}.rotation-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.85rem;font-weight:700;padding:4px 12px;text-transform:capitalize}.rotation-status-pill.active,.rotation-status-pill.success{background:#d1fae5;color:#065f46}.rotation-status-pill.failed,.rotation-status-pill.inactive{background:#fee2e2;color:#991b1b}.rotation-status-pill.running{background:#fef3c7;color:#92400e}.rotation-status-pill.unknown{background:#e2e8f0;color:#1f2937}.env-file-list{display:flex;flex-direction:column;gap:4px}.rotation-last-run h4{color:#2d3748;margin:8px 0 12px}.rotation-meta{color:#718096;font-size:.85rem;margin-top:6px}.error-text{color:#b91c1c}.monospace{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;word-break:break-all}.credential-actions{align-items:center;display:flex;gap:12px;margin-top:14px}.credential-actions .btn{min-width:160px}.copy-status{color:#2f855a;font-size:.9rem;font-weight:600}.status-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:700;padding:6px 14px}.status-healthy{background:#d1fae5;color:#065f46}.status-degraded{background:#fef3c7;color:#92400e}.status-error{background:#fee2e2;color:#991b1b}.status-checking{background:#e0e7ff;color:#3730a3}.resource-grid{grid-gap:20px;display:grid;gap:20px}.resource-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.resource-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.resource-label{color:#718096;font-size:.9rem;font-weight:600}.resource-value{color:#2d3748;font-size:1.1rem;font-weight:700}.resource-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.resource-fill{border-radius:4px;height:100%;transition:width .3s ease,background-color .3s ease}.resource-fill.normal{background:linear-gradient(90deg,#10b981,#059669)}.resource-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.resource-fill.critical{background:linear-gradient(90deg,#ef4444,#dc2626)}.tools-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tool-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;padding:12px 14px;transition:all .2s ease}.tool-item.available{border-left:3px solid #10b981}.tool-item.unavailable{border-left:3px solid #ef4444;opacity:.7}.tool-icon{font-size:1.1rem}.tool-name{color:#2d3748;flex:1 1;font-size:.9rem;font-weight:600}.tool-version{color:#718096;font-size:.8rem;font-weight:500}.alerts-list{display:flex;flex-direction:column;gap:10px}.alert-item{align-items:center;border:1px solid;border-radius:8px;display:flex;font-size:.9rem;gap:12px;padding:14px 16px}.alert-item.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-icon{flex-shrink:0;font-size:1.2rem}.alert-message{flex:1 1;font-weight:500}@media (max-width:768px){.super-admin-nav{padding:0 20px}.nav-tab{font-size:.9rem;padding:14px 20px}.stats-grid{gap:12px;grid-template-columns:1fr}.stat-card{padding:14px 12px}.stat-icon{font-size:1.5rem}.stat-value{font-size:1.4rem}.info-grid,.overview-grid,.quick-actions-grid{grid-template-columns:1fr}.action-card,.overview-card,.system-info{padding:20px}.info-section h3{font-size:1rem}.resource-grid,.tools-grid{grid-template-columns:1fr}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
/*# sourceMappingURL=main.8009cab9.css.map*/