/* ParamShield Swagger Custom Styles */

/* Header styling */
.swagger-ui .topbar {
    background-color: #1a1a2e !important;
    padding: 15px 0;
}

.swagger-ui .topbar-wrapper img {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 30"><text x="0" y="22" fill="%2300d4ff" font-family="Arial" font-weight="bold" font-size="18">??? ParamShield</text></svg>');
}

/* Info section */
.swagger-ui .info {
    margin: 30px 0;
}

.swagger-ui .info .title {
    color: #1a1a2e;
    font-size: 2.5rem;
}

.swagger-ui .info .description {
    font-size: 14px;
    line-height: 1.6;
}

.swagger-ui .info .description h2 {
    color: #1a1a2e;
    border-bottom: 2px solid #00d4ff;
    padding-bottom: 10px;
    margin-top: 25px;
}

.swagger-ui .info .description h3 {
    color: #16213e;
    margin-top: 20px;
}

.swagger-ui .info .description table {
    border-collapse: collapse;
    width: 100%;
    margin: 15px 0;
}

.swagger-ui .info .description table th,
.swagger-ui .info .description table td {
    border: 1px solid #ddd;
    padding: 10px 15px;
    text-align: left;
}

.swagger-ui .info .description table th {
    background-color: #1a1a2e;
    color: white;
}

.swagger-ui .info .description table tr:nth-child(even) {
    background-color: #f8f9fa;
}

.swagger-ui .info .description pre {
    background-color: #1a1a2e;
    color: #00d4ff;
    padding: 15px;
    border-radius: 8px;
    overflow-x: auto;
    font-size: 13px;
}

.swagger-ui .info .description code {
    background-color: #e9ecef;
    padding: 2px 6px;
    border-radius: 4px;
    color: #d63384;
    font-size: 13px;
}

/* Operation tags */
.swagger-ui .opblock-tag {
    font-size: 1.3rem;
    border-bottom: 2px solid #00d4ff;
    padding: 15px 0;
}

/* POST endpoint - green */
.swagger-ui .opblock.opblock-post {
    border-color: #28a745;
    background: rgba(40, 167, 69, 0.1);
}

.swagger-ui .opblock.opblock-post .opblock-summary-method {
    background: #28a745;
}

/* GET endpoint - blue */
.swagger-ui .opblock.opblock-get {
    border-color: #007bff;
    background: rgba(0, 123, 255, 0.1);
}

.swagger-ui .opblock.opblock-get .opblock-summary-method {
    background: #007bff;
}

/* Response codes */
.swagger-ui .responses-inner h4 {
    font-size: 14px;
    margin: 10px 0;
}

/* Models section */
.swagger-ui .model-box {
    background-color: #f8f9fa;
}

/* Try it out button */
.swagger-ui .btn.try-out__btn {
    background-color: #00d4ff;
    border-color: #00d4ff;
    color: #1a1a2e;
    font-weight: bold;
}

.swagger-ui .btn.try-out__btn:hover {
    background-color: #00b8e6;
}

/* Execute button */
.swagger-ui .btn.execute {
    background-color: #28a745;
    border-color: #28a745;
}

.swagger-ui .btn.execute:hover {
    background-color: #218838;
}

/* Response duration */
.swagger-ui .response-col_status {
    font-weight: bold;
}

/* Scrollbar styling */
.swagger-ui ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.swagger-ui ::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.swagger-ui ::-webkit-scrollbar-thumb {
    background: #00d4ff;
    border-radius: 4px;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .swagger-ui .info .title {
        font-size: 1.8rem;
    }
    
    .swagger-ui .info .description pre {
        font-size: 11px;
    }
}
