:root{--color-deep-purple:#9575cd;--color-deep-purple-lighten-1:#7e57c2;--color-deep-purple-lighten-3:#b39ddb;--color-deep-purple-lighten-5:#ede7f6;--color-teal:#4db6ac;--color-teal-lighten-1:#26a69a;--color-teal-lighten-5:#e0f2f1;--color-teal-darken-2:#00695c;--color-red:#e57373;--color-red-darken-1:#f44336;--color-red-darken-3:#c62828;--color-red-lighten-5:#ffebee;--color-blue:#64b5f6;--color-amber-lighten-5:#fff8e1;--color-amber-lighten-3:#fff3cd;--color-amber-darken-2:#f57c00;--color-red-lighten-1:var(--color-red-lighten-1);--color-red-lighten-3:var(--color-red-lighten-3);--color-teal-darken-1:var(--color-teal-darken-1);--color-orange-lighten-3:var(--color-orange-lighten-3);--color-orange-lighten-1:var(--color-orange-lighten-1);--color-success:#4db6ac;--color-success-light:#80cbc4;--color-danger:#e57373;--color-danger-light:var(--color-red-lighten-3);--color-green:#4caf50;--color-green-light:#66bb6a;--color-amber:#ffd54f;--color-orange:#ffb74d;--color-grey-lighten-5:#fafafa;--color-grey-lighten-4:#f5f5f5;--color-grey-lighten-3:#eee;--color-grey-lighten-2:#e0e0e0;--color-grey-lighten-1:#bdbdbd;--color-grey-base:#888;--color-grey-darken-1:#757575;--color-grey-darken-2:#616161;--color-grey-darken-3:#424242;--color-grey-darken-4:#212121;--color-light:#f8f9fa;--color-light-grey:#e9ecef;--color-medium-grey:#e8e8e8;--color-danger-bootstrap:#dc3545;--color-danger-bg:#f8d7da;--color-grey-light:#f8f9fa;--color-grey:#757575;--color-grey-dark:#424242;--color-border:#e0e0e0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-grey-lighten-4);color:var(--color-grey-dark);font-family:Arial,sans-serif;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.main-nav{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);position:sticky;top:0;z-index:100}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.logo,.nav-container{align-items:center;display:flex}.logo{color:var(--color-deep-purple);font-size:1.5rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links a{color:var(--color-grey);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--color-deep-purple)}.logout-btn{background:none;border:none;color:var(--color-grey);cursor:pointer;font-size:1rem}.main-content{flex:1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.btn{border:1px solid transparent;border-radius:10px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.btn-primary{background:var(--color-deep-purple);border-color:var(--color-deep-purple);color:#fff!important}.btn-primary:hover{background:var(--color-deep-purple-lighten-1);border-color:var(--color-deep-purple-lighten-1);box-shadow:0 2px 8px rgba(149,117,205,.3);color:#fff!important}.btn-secondary{background:var(--color-teal);border-color:var(--color-teal);color:#fff}.btn-secondary:hover{background:var(--color-teal-lighten-1);border-color:var(--color-teal-lighten-1);box-shadow:0 2px 8px rgba(77,182,172,.3)}.btn-large{font-size:1.1rem;padding:1rem 2rem}.home-page{text-align:center}.hero{background:var(--color-grey-lighten-4);border:2px solid var(--color-deep-purple-lighten-3);border-radius:12px;margin-bottom:3rem;padding:4rem 0}.hero h1{font-size:3rem;margin-bottom:1rem}.tagline{color:var(--color-grey);font-size:1.3rem;margin-bottom:2rem}.hero-buttons{display:flex;gap:1rem;justify-content:center}.features{margin-bottom:3rem}.features-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.feature{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:2rem;transition:all .2s}.feature:hover{border-color:var(--color-deep-purple-lighten-3);box-shadow:0 2px 8px rgba(149,117,205,.15)}.pricing{margin-bottom:4rem}.pricing-cards{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.pricing-card{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:2rem;transition:all .2s}.pricing-card:hover{box-shadow:0 2px 8px rgba(149,117,205,.15)}.pricing-card.featured{border:2px solid var(--color-deep-purple);box-shadow:0 4px 12px rgba(149,117,205,.2);transform:scale(1.05)}.price{font-size:2rem;font-weight:700;margin:1rem 0}.pricing-card ul{list-style:none;margin:1.5rem 0}.pricing-card li{padding:.5rem 0}.cta{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-top:4rem;padding:3rem 2rem;text-align:center}.cta h2{margin-bottom:1rem}.cta p{color:var(--color-grey);margin-bottom:2rem}.auth-page{align-items:center;display:flex;justify-content:center;min-height:60vh}.auth-container{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);max-width:400px;padding:2rem;width:100%}.auth-form h2{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid var(--color-border);border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:var(--color-deep-purple);box-shadow:0 0 0 2px rgba(149,117,205,.1);outline:none}.form-group button{width:100%}.error-message{background:var(--color-danger-bg);border-radius:4px;color:var(--color-danger-bootstrap);margin:1rem 0;padding:.75rem}.auth-switch{margin-top:1.5rem;text-align:center}.dashboard h1{margin-bottom:2rem}.dashboard-content{display:grid;gap:2rem}.api-keys-section,.api-test-section,.quick-start,.request-history-section,.usage-section{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:2rem;padding:2rem}.test-controls{margin:1rem 0}.input-group{display:flex;gap:1rem;margin-bottom:1rem}.input-group input{border:1px solid var(--color-border);border-radius:8px;flex:1;padding:.75rem;transition:border-color .2s}.input-group input:focus{border-color:var(--color-deep-purple);outline:none}.sample-urls{align-items:center;display:flex;font-size:.9rem;gap:1rem}.job-status{background:var(--color-deep-purple-lighten-5);border:1px solid var(--color-deep-purple-lighten-3);border-radius:8px;margin:1rem 0;padding:1rem}.job-status,.job-status h4{color:var(--color-deep-purple-lighten-1)}.job-status h4{margin-bottom:.5rem}.job-status p{margin:.5rem 0}.test-error{background:var(--color-red-lighten-5);border-radius:4px;color:var(--color-red-darken-3)}.test-error,.test-result{margin:1rem 0;padding:1rem}.test-result{background:var(--color-grey-lighten-4);border:1px solid var(--color-border);border-radius:8px}.test-result pre{background:#fff;border-radius:4px;font-size:.9rem;overflow-x:auto;padding:1rem}.result-summary{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.result-item{align-items:center;background:#fff;border:1px solid var(--color-grey-lighten-2);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:box-shadow .2s}.result-item:hover{box-shadow:0 1px 3px rgba(0,0,0,.1)}.result-item span{color:var(--color-grey-darken-1);font-weight:500}.result-item strong{color:var(--color-grey-darken-3);font-weight:600}.dashboard-header{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:1.5rem;transition:all .2s}.stat-card:hover{border-color:var(--color-deep-purple-lighten-3);box-shadow:0 2px 8px rgba(149,117,205,.15)}.stat-card h3{color:var(--color-grey);font-size:.9rem;margin-bottom:.5rem}.stat-value{font-size:2rem}.stat-progress{background:var(--color-light-grey);border-radius:4px;height:8px;margin-top:.5rem;overflow:hidden}.progress-bar{background:var(--color-deep-purple);height:100%;transition:width .3s}.api-docs{background:#fff;border-radius:8px;padding:2rem}.docs-section{margin-bottom:2rem}.docs-section h2{margin-bottom:1.5rem}.endpoint-info{align-items:center;display:flex;gap:1rem;margin:1rem 0}.method{background:var(--color-teal);border:1px solid var(--color-teal);border-radius:6px;color:#fff;font-weight:700;padding:.25rem .75rem}.url{font-family:monospace;font-size:1.1rem}.code-block,.code-example{background:var(--color-grey-lighten-4);border:1px solid #ddd;border-radius:4px;overflow-x:auto;padding:1rem}.code-block.with-tabs,.code-example.with-tabs{border-radius:0 4px 4px 4px}.code-block pre,.code-example pre{font-family:monospace;margin:0}.params-table{border-collapse:collapse;margin-top:1rem;width:100%}.params-table td,.params-table th{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}.params-table th{background:var(--color-light);font-weight:700}.language-tabs{display:flex;gap:.5rem}.tab{background:var(--color-medium-grey);border:1px solid #ddd;border-bottom:none;border-radius:4px 4px 0 0;color:var(--color-grey);cursor:pointer;padding:.5rem 1rem}.tab.active{background:var(--color-grey-lighten-4);border:1px solid #ddd;border-bottom:1px solid var(--color-grey-lighten-4);color:#333;position:relative;z-index:1}.main-footer{background:#fff;border-top:1px solid #ddd;margin-top:auto}.loading,.main-footer{padding:2rem;text-align:center}.loading{color:var(--color-grey)}.copy-btn{transition:transform .2s}.copy-btn:active{transform:scale(.9)}.copy-success{animation:slideIn .3s ease;background:var(--color-deep-purple);border:1px solid var(--color-deep-purple-lighten-1);border-radius:10px;bottom:2rem;box-shadow:0 2px 8px rgba(149,117,205,.3);color:#fff;padding:1rem 1.5rem;position:fixed;right:2rem;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.usage-chart{width:100%}.empty-state{background:var(--color-grey-lighten-5);border:1px dashed var(--color-border);border-radius:8px;color:var(--color-grey);padding:2rem;text-align:center}.chart-stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.chart-stat{background:var(--color-light);border:1px solid var(--color-light-grey);border-radius:8px;padding:1rem;text-align:center}.chart-stat.success{background:var(--color-teal-lighten-5);border-color:var(--color-teal);color:var(--color-teal-darken-2)}.chart-stat.failed{background:var(--color-red-lighten-5);border-color:var(--color-red);color:var(--color-red-darken-3)}.stat-label{color:var(--color-grey-darken-1);display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.stat-value{display:block;font-size:1.5rem;font-weight:700}.success-rate-bar{margin-bottom:1.5rem}.bar-label{color:#333;font-weight:600;margin-bottom:.5rem}.bar-container{background:var(--color-grey-lighten-4);border-radius:4px;display:flex;height:2rem;overflow:hidden}.bar-fill{align-items:center;color:#fff;display:flex;font-size:.85rem;font-weight:600;justify-content:center;transition:width .3s ease}.bar-fill.success{background:linear-gradient(90deg,var(--color-teal),var(--color-success-light))}.bar-fill.failed{background:linear-gradient(90deg,var(--color-red),var(--color-danger-light))}.metric-card{background:var(--color-light);border:1px solid var(--color-light-grey);border-radius:8px;padding:1rem;text-align:center}.metric-label{color:var(--color-grey);font-size:.85rem;font-weight:500;margin-bottom:.5rem}.metric-value{color:#333;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.metric-indicator,.notice{font-size:.9rem}.notice{border-radius:6px;margin:1rem 0;padding:.75rem 1rem}.notice.info,.notice.warning{background:var(--color-amber-lighten-5);border:1px solid var(--color-amber);color:var(--color-amber-darken-2)}.api-key-manager{width:100%}.create-key-form{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.create-key-form input{border:1px solid var(--color-border);border-radius:8px;flex:1;font-size:1rem;min-width:250px;padding:.75rem 1rem;transition:border-color .2s}.create-key-form input:focus{border-color:var(--color-deep-purple);outline:none}.create-key-form button{background:var(--color-deep-purple);border:1px solid var(--color-deep-purple);border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.create-key-form button:hover:not(:disabled){background:var(--color-deep-purple-lighten-1);border-color:var(--color-deep-purple-lighten-1);box-shadow:0 2px 6px rgba(149,117,205,.25)}.create-key-form button:disabled{background:var(--color-grey-lighten-2);border-color:var(--color-grey-lighten-2);color:var(--color-grey);cursor:not-allowed}.api-keys-list{margin-bottom:2rem}.api-key-item{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1.5rem;transition:box-shadow .2s}.api-key-item:hover{box-shadow:0 2px 8px rgba(149,117,205,.2)}.key-info{flex:1}.key-name{color:#333;font-weight:600;margin-bottom:.5rem}.key-value{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.key-value code{background:var(--color-grey-lighten-4);border-radius:4px;flex:1;font-family:monospace;font-size:.9rem;min-width:0;padding:.5rem;word-break:break-all}.copy-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:.25rem;transition:background-color .2s}.copy-btn:hover{background:var(--color-grey-lighten-3)}.key-meta{color:var(--color-grey);font-size:.85rem}.key-actions{margin-left:1rem}.revoke-btn{background:var(--color-red);border:1px solid var(--color-red);border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.revoke-btn:hover{background:var(--color-red-lighten-1);border-color:var(--color-red-lighten-1);box-shadow:0 2px 6px hsla(0,69%,67%,.3)}.revoked-keys{border:1px solid var(--color-border);border-radius:8px;margin-top:2rem;padding:1rem}.revoked-keys summary{color:var(--color-grey);cursor:pointer;font-weight:500}.revoked-list{margin-top:1rem}.revoked-key-item{background:var(--color-grey-lighten-4);border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.revoked-date{color:var(--color-grey);font-size:.85rem}.success-indicator{color:var(--color-teal)}.error-indicator{color:var(--color-red)}@media (max-width:768px){.nav-container{padding:1rem}.nav-links{font-size:.9rem;gap:1rem}.hero h1{font-size:2rem}.tagline{font-size:1.1rem}.hero-buttons{align-items:center;flex-direction:column}.dashboard-header,.features-grid,.pricing-cards{grid-template-columns:1fr}.main-content{padding:1rem}.code-block pre,.code-example pre{font-size:.8rem}.params-table{font-size:.9rem}.params-table td,.params-table th{padding:.5rem}.create-key-form{flex-direction:column}.create-key-form input{min-width:100%}.api-key-item{align-items:flex-start;flex-direction:column;gap:1rem}.key-actions{align-self:flex-end;margin-left:0}}@media (max-width:480px){.logo{font-size:1.2rem}.btn{font-size:.9rem;padding:.5rem 1rem}.auth-container{padding:1.5rem}}.admin-dashboard{padding:1rem}.admin-stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:2rem}.admin-users{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:2rem;padding:2rem}.users-table{border-collapse:collapse;margin-top:1rem;width:100%}.users-table td,.users-table th{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}.users-table th{background:var(--color-light);color:var(--color-grey);font-weight:700}.plan-select{background:#fff;border:1px solid var(--color-border);border-radius:6px;padding:.25rem .5rem;transition:border-color .2s}.plan-select:focus{border-color:var(--color-deep-purple);outline:none}.status{border-radius:4px;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.status.active{background:var(--color-teal-lighten-5);border:1px solid var(--color-teal);color:var(--color-teal-darken-1)}.status.inactive{background:var(--color-red-lighten-5);border:1px solid var(--color-red-lighten-3);color:var(--color-red)}.btn-small{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.25rem .75rem;transition:opacity .2s}.btn-small:hover{opacity:.8}.btn-danger{background:var(--color-red);border:1px solid var(--color-red);color:#fff}.btn-danger:hover{background:var(--color-red-lighten-1);border-color:var(--color-red-lighten-1);box-shadow:0 2px 6px hsla(0,69%,67%,.3)}.btn-success{background:var(--color-teal);border:1px solid var(--color-teal);color:#fff}.btn-success:hover{background:var(--color-teal-lighten-1);border-color:var(--color-teal-lighten-1);box-shadow:0 2px 6px rgba(77,182,172,.3)}.admin-usage-chart{background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:2rem}.usage-overview{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.usage-stat{background:var(--color-grey-lighten-4);border-radius:4px;display:flex;justify-content:space-between;padding:1rem}@media (max-width:768px){.users-table{font-size:.85rem}.users-table td,.users-table th{padding:.5rem}}.requests-table-container{overflow-x:auto}.requests-table{border-collapse:collapse;margin-top:1rem;width:100%}.requests-table td,.requests-table th{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}.requests-table th{background:var(--color-light);color:var(--color-grey);font-weight:700}.request-status-badge{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.status-pending{background:var(--color-orange-lighten-3);border:1px solid #ffb74d;color:var(--color-orange-lighten-1)}.status-processing{background:var(--color-deep-purple-lighten-5);border:1px solid var(--color-deep-purple-lighten-3);color:var(--color-deep-purple-lighten-1)}.status-success{background:var(--color-teal-lighten-5);border:1px solid var(--color-teal);color:var(--color-teal-darken-1)}.status-failed{background:var(--color-red-lighten-5);border:1px solid var(--color-red-lighten-3);color:var(--color-red)}.request-result{font-weight:500}.request-error{color:var(--color-red);font-size:.9rem}.response-time{color:#333;font-weight:500}.processing-time{color:var(--color-grey);display:block;margin-top:.25rem}.no-requests{color:var(--color-grey);padding:2rem;text-align:center}.code-block,.code-example{margin:0 0 1rem!important}.docs-section p{margin-bottom:1rem}.btn-outline-primary{background:transparent;border-color:var(--color-deep-purple);color:#9575cd!important}.btn-outline-primary:hover{box-shadow:0 2px 8px rgba(149,117,205,.3);color:#fff!important}.auth-form .btn-primary,.btn-outline-primary:hover{background:var(--color-deep-purple);border-color:var(--color-deep-purple)}.auth-form .btn-primary{border-radius:6px;color:#fff;font-weight:500;padding:12px 24px;transition:background .3s ease}.auth-form .btn-primary:hover{background:var(--color-deep-purple-lighten-1);border-color:var(--color-deep-purple-lighten-1)}