.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-box h1{text-align:center;margin-bottom:2rem;color:#2c3e50}.form-group{margin-bottom:1.5rem}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea}.error-message{color:#e74c3c;margin-bottom:1rem;padding:.5rem;background-color:#fee;border-radius:4px;font-size:.9rem}.submit-btn{width:100%;padding:.75rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;margin-bottom:1rem;transition:background-color .2s}.submit-btn:hover:not(:disabled){background-color:#5568d3}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.toggle-btn{width:100%;padding:.5rem;background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;text-decoration:underline}.toggle-btn:hover{color:#5568d3}.dashboard h1{margin-bottom:2rem;color:#2c3e50}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stat-card.warning{border-left:4px solid #e74c3c}.stat-card h3{font-size:.9rem;color:#666;margin-bottom:.5rem;font-weight:500}.stat-number{font-size:2rem;font-weight:700;color:#2c3e50;margin:0}.dashboard-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem}.dashboard-section h2{margin-bottom:1rem;color:#2c3e50}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.applications h1{margin-bottom:1rem;color:#2c3e50}.btn-primary{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-danger{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-danger:hover{background-color:#c0392b}.filters{display:flex;gap:1rem;margin-bottom:2rem}.filters button{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.filters button:hover{background-color:#f8f9fa}.filters button.active{background-color:#3498db;color:#fff;border-color:#3498db}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.application-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.application-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.type-internal{background-color:#3498db;color:#fff}.type-client-used{background-color:#9b59b6;color:#fff}.card-body .description{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee;font-style:italic;color:#777}.card-actions{padding:1rem;border-top:1px solid #eee;display:flex;gap:.5rem}.contracts h1{margin-bottom:1rem;color:#2c3e50}.contracts-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.data-table th{background-color:#f8f9fa;font-weight:600;color:#555}.data-table tr:hover{background-color:#f8f9fa}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status-active{background-color:#d4edda;color:#155724}.status-expired{background-color:#f8d7da;color:#721c24}.status-pending{background-color:#fff3cd;color:#856404}.status-cancelled{background-color:#d1ecf1;color:#0c5460}.empty-state{text-align:center;padding:3rem;color:#666;background:#fff;border-radius:8px;margin-top:2rem}.licenses h1{margin-bottom:1rem;color:#2c3e50}.licenses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.license-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.license-type{padding:.25rem .75rem;background-color:#3498db;color:#fff;border-radius:12px;font-size:.75rem;font-weight:500}.license-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.stat-item{text-align:center}.stat-label{display:block;font-size:.85rem;color:#666;margin-bottom:.25rem}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#2c3e50}.stat-value.used{color:#e74c3c}.stat-value.available{color:#27ae60}.expiration{margin:.5rem 0;color:#666;font-size:.9rem}.auto-sync{margin:.5rem 0;color:#3498db;font-size:.85rem}.card-actions{padding:1rem;border-top:1px solid #eee}.support h1{margin-bottom:1rem;color:#2c3e50}.support-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.support-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.card-header{padding:1rem;background-color:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.card-header h3{margin:0;color:#2c3e50}.primary-badge{padding:.25rem .75rem;background-color:#27ae60;color:#fff;border-radius:12px;font-size:.75rem;font-weight:500}.card-body{padding:1rem}.card-body p{margin:.5rem 0;color:#555}.card-body a{color:#3498db;text-decoration:none}.card-body a:hover{text-decoration:underline}.users{padding:2rem;max-width:1400px;margin:0 auto}.users h1{margin-bottom:1rem;color:#2c3e50}.btn-primary{background-color:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-primary:disabled{background-color:#bdc3c7;cursor:not-allowed}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-secondary:hover{background-color:#7f8c8d}.global-apis{padding:2rem;max-width:1400px;margin:0 auto}.global-apis h1{margin-bottom:1rem;color:#2c3e50}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.configs-list{margin-top:2rem}.configs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.config-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.config-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.config-header{padding:1rem;background-color:#f8f9fa;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.config-header h3{margin:0;color:#2c3e50}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.enabled{background-color:#d4edda;color:#155724}.status-badge.disabled{background-color:#f8d7da;color:#721c24}.config-body{padding:1rem}.config-body p{margin:.5rem 0;color:#555}.config-actions{padding:1rem;border-top:1px solid #eee;display:flex;gap:.5rem}.empty-state{text-align:center;padding:3rem;color:#666;background:#fff;border-radius:8px}.form-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.form-card h2{margin-bottom:1.5rem;color:#2c3e50}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.loading{text-align:center;padding:2rem;color:#666}.update-notification{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.5rem;margin-bottom:1rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;animation:slideDown .3s ease-out}.update-notification.breaking{background:linear-gradient(135deg,#f093fb,#f5576c)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.update-notification-content{max-width:1400px;margin:0 auto}.update-notification-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.update-notification-icon{font-size:1.5rem;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-notification-text{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.update-notification-text strong{font-size:1.1rem}.update-count{background:#fff3;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.breaking-badge,.migration-badge{background:#ffffff40;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.breaking-badge{background:#ff00004d;border:1px solid rgba(255,255,255,.5)}.update-message{margin-top:.5rem;margin-bottom:.75rem;padding:.5rem;background:#ffffff1a;border-radius:4px;font-size:.95rem}.update-details{margin-top:1rem;padding:1rem;background:#ffffff1a;border-radius:6px;font-size:.9rem}.update-detail-item{margin-bottom:.75rem}.update-detail-item:last-child{margin-bottom:0}.update-detail-item strong{display:inline-block;min-width:100px;margin-right:.5rem}.migration-list{margin:.5rem 0 0 1.5rem;padding:0;list-style:disc}.migration-list li{margin-bottom:.25rem}.update-notification-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.update-details-btn,.update-dismiss-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.update-details-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.update-details-btn:hover{background:#ffffff4d}.update-dismiss-btn{background:#ffffffe6;color:#667eea}.update-dismiss-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.update-notification.breaking .update-dismiss-btn{color:#f5576c}@media(max-width:768px){.update-notification{padding:.75rem 1rem}.update-notification-header,.update-notification-text{flex-direction:column;align-items:flex-start;gap:.5rem}.update-notification-actions{flex-direction:column}.update-details-btn,.update-dismiss-btn{width:100%}}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:#2c3e50;color:#fff;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px #0000001a}.nav-brand h1{font-size:1.5rem;margin:0}.nav-menu{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-menu a{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.nav-menu a:hover{background-color:#ffffff1a}.nav-menu a.active{background-color:#3498db}.logout-btn{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.logout-btn:hover{background-color:#c0392b}.main-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
