.api-keys-section{background:#fff;border-radius:8px;margin:20px 0;padding:24px;box-shadow:0 2px 4px #0000001a}.api-keys-header{margin-bottom:20px}.api-keys-header h3{color:#333;margin:0 0 8px}.api-keys-description{color:#666;margin:0;font-size:14px}.create-key-form{gap:12px;margin-bottom:24px;display:flex}.create-key-form input{border:1px solid #ddd;border-radius:4px;flex:1;padding:10px 14px;font-size:14px}.create-key-form button{color:#fff;cursor:pointer;white-space:nowrap;background:#007bff;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500}.create-key-form button:hover:not(:disabled){background:#0056b3}.create-key-form button:disabled{cursor:not-allowed;background:#ccc}.api-keys-list table{border-collapse:collapse;width:100%}.api-keys-list th{text-align:left;color:#333;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:12px;font-size:13px;font-weight:600}.api-keys-list td{border-bottom:1px solid #dee2e6;padding:12px;font-size:14px}.key-display{background:#f8f9fa;border-radius:3px;padding:4px 8px;font-family:Monaco,Courier New,monospace;font-size:13px}.status-badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500}.status-badge.active{color:#155724;background:#d4edda}.status-badge.inactive{color:#b91c1c;opacity:.7;background:#fef2f2}.revoke-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600}.revoke-btn:hover{background:#dc2626}.no-keys-message{text-align:center;color:#666;padding:40px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid #dee2e6;padding:24px}.modal-header h2{color:#333;margin:0}.modal-body{padding:24px}.warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:20px;padding:16px}.warning-box strong{color:#856404;margin-bottom:4px;display:block}.warning-box p{color:#856404;margin:0;font-size:14px}.key-display-box{margin-bottom:20px}.key-display-box label{color:#333;margin-bottom:8px;font-weight:600;display:block}.key-value{align-items:center;gap:8px;display:flex}.key-value code{word-break:break-all;background:#f8f9fa;border-radius:4px;flex:1;padding:12px;font-family:Monaco,Courier New,monospace;font-size:13px}.copy-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#28a745;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.copy-btn:hover{background:#218838}.usage-hint{background:#f8f9fa;border-radius:4px;padding:16px}.usage-hint strong{color:#333;margin-bottom:8px;display:block}.usage-hint pre{color:#e2e8f0;background:#2d3748;border-radius:4px;margin:0;padding:12px;font-size:12px;line-height:1.5;overflow-x:auto}.modal-footer{text-align:right;border-top:1px solid #dee2e6;padding:16px 24px}.close-btn{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:4px;padding:10px 24px;font-size:14px;font-weight:500}.close-btn:hover{background:#0056b3}.loading{text-align:center;color:#666;padding:20px}.error-message{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:12px}@media (prefers-color-scheme:dark){.api-keys-section{background:var(--card-color,#1a1a1a);box-shadow:0 2px 4px #0000004d}.api-keys-header h3{color:var(--text-color,#f5f5f5)}.api-keys-description{color:#d1d5db}.create-key-form input{background:var(--input-background-color,#2c2c2c);border-color:var(--input-border-color,#444);color:var(--text-color,#f5f5f5)}.create-key-form input::placeholder{color:#b0b5bd}.create-key-form button{background:var(--accent-primary,#60a5fa);color:#fff}.create-key-form button:hover:not(:disabled){background:#3b82f6}.create-key-form button:disabled{color:#888;background:#444}.api-keys-list th{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#2d2d2d;border-bottom:2px solid #444;font-size:.75rem;font-weight:700}.api-keys-list td{color:#e5e5e5;border-bottom-color:var(--card-border-color,#333)}.api-keys-list tbody tr:nth-child(odd),.api-keys-list tbody tr:nth-child(odd) td{background:#161616}.api-keys-list tbody tr:nth-child(2n),.api-keys-list tbody tr:nth-child(2n) td{background:#1c1c1c}.api-keys-list tbody tr:hover,.api-keys-list tbody tr:hover td{background:#222}.key-display{background:var(--input-background-color,#2c2c2c);color:var(--text-color,#f5f5f5)}.status-badge.active{color:#6ee7b7;background:#10b98126}.status-badge.inactive{color:#fca5a5;background:#ef444426}.revoke-btn{background:#dc2626}.revoke-btn:hover{background:#b91c1c}.no-keys-message{color:#b0b5bd}.modal-content{background:var(--card-color,#1a1a1a);border:1px solid var(--card-border-color,#333)}.modal-header{border-bottom-color:var(--card-border-color,#333)}.modal-header h2{color:var(--text-color,#f5f5f5)}.warning-box{background:#fbbf241a;border-color:#fbbf244d}.warning-box strong{color:#fbbf24}.warning-box p{color:#fcd34d}.key-display-box label{color:#d1d5db}.key-value code{background:var(--input-background-color,#2c2c2c);color:var(--text-color,#f5f5f5)}.copy-btn{background:#059669}.copy-btn:hover{background:#047857}.usage-hint{background:#ffffff14}.usage-hint strong{color:var(--text-color,#f5f5f5)}.usage-hint pre{color:#e2e8f0;background:#1e1e1e}.modal-footer{border-top-color:var(--card-border-color,#333)}.close-btn{background:var(--accent-primary,#60a5fa)}.close-btn:hover{background:#3b82f6}.loading{color:#b0b5bd}.error-message{color:#fca5a5;background:#ef44441a;border-color:#ef44444d}}
.dashboard{max-width:var(--max-width);margin:0 auto;padding:40px 20px}.dashboard-header{margin-bottom:40px}.dashboard-header h1{font-family:var(--font-mono);color:var(--text-color);margin-bottom:10px;font-size:2em}.login-prompt,.loading{text-align:center;padding:60px 20px}.loading-spinner{border:3px solid var(--card-border-color,#e5e7eb);border-top:3px solid var(--accent-primary,#2563eb);border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite dashboard-spin}@keyframes dashboard-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-prompt h2,.loading{font-family:var(--font-mono);color:var(--text-color);margin-bottom:15px}.login-prompt p{font-family:var(--font-mono);color:var(--text-color);opacity:.7}.dashboard-content{flex-direction:column;gap:40px;display:flex}.credit-section{background-color:var(--card-color);border:1px solid var(--card-border-color);border-radius:var(--border-radius);padding:30px}.credit-balance h2{font-family:var(--font-mono);color:var(--text-color);margin-bottom:10px;font-size:1.8em}.credit-balance p{font-family:var(--font-mono);color:var(--text-color);opacity:.8;margin-bottom:20px;font-size:1.1em}.balance-breakdown{border:1px solid var(--card-border-color);border-radius:var(--border-radius);background-color:#ffffff0d;margin-bottom:20px;padding:20px}.balance-item{border-bottom:1px solid #ffffff1a;grid-template-columns:100px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.balance-dollars{font-family:var(--font-mono);color:var(--text-color);opacity:.7;text-align:right;min-width:70px;font-size:.9em}.balance-item:last-child{border-bottom:none}.balance-item.available{border-top:2px solid #fff3;padding-top:16px;font-weight:600}.balance-item.reserved .balance-amount{color:gold}.balance-label{font-family:var(--font-mono);color:var(--text-color);opacity:.8;font-size:.95em}.balance-amount{font-family:var(--font-mono);color:var(--text-color);letter-spacing:.5px;font-size:1.3em;font-weight:700}.balance-item.available .balance-amount{font-size:1.5em}.holds-badge{color:gold;background:#ffd70033;border-radius:12px;margin-left:12px;padding:4px 12px;font-size:.75em;font-weight:600;display:inline-block}.screenshots-estimate{font-family:var(--font-mono);color:var(--text-color);opacity:.7;text-align:center;margin-bottom:20px;font-size:.9em}.buy-credits-btn{font-family:var(--font-mono);background-color:var(--card-hover-color);border:1px solid var(--card-hover-border);border-radius:var(--border-radius);color:var(--text-color);padding:12px 24px;font-size:1em;text-decoration:none;transition:all .3s;display:inline-block}.buy-credits-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ffffff1a}.recent-jobs-section{background-color:var(--card-color);border:1px solid var(--card-border-color);border-radius:var(--border-radius);padding:25px}.recent-jobs-section h3{font-family:var(--font-mono);color:var(--text-color);margin-bottom:20px;font-size:1.3em}.recent-jobs-section .no-jobs{font-family:var(--font-mono);color:var(--text-color);opacity:.7;text-align:center;padding:20px}.recent-jobs-section .no-jobs a{color:var(--accent-color,#646cff)}.jobs-list table{border-collapse:collapse;width:100%;font-family:var(--font-mono)}.jobs-list th,.jobs-list td{text-align:left;border-bottom:1px solid var(--card-border-color);padding:12px}.jobs-list th{color:var(--text-color);opacity:.8;text-transform:uppercase;font-size:.85em;font-weight:600}.jobs-list td{color:var(--text-color);font-size:.9em}.jobs-list code{background:#ffffff1a;border-radius:4px;padding:2px 6px;font-size:.85em}.jobs-list .status-badge{border-radius:12px;padding:4px 10px;font-size:.8em;font-weight:600;display:inline-block}.jobs-list .status-badge.verified{color:#22c55e;background:#22c55e33}.jobs-list .status-badge.completed{color:#3b82f6;background:#3b82f633}.stats-section h3,.quick-actions h3{font-family:var(--font-mono);color:var(--text-color);margin-bottom:20px;font-size:1.3em}.stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.stat-card{background-color:var(--card-color);border:1px solid var(--card-border-color);border-radius:var(--border-radius);text-align:center;flex-direction:column;align-items:center;padding:25px;display:flex}.stat-value{font-family:var(--font-mono);color:var(--text-color);margin-bottom:8px;font-size:2em;font-weight:700}.stat-label{font-family:var(--font-mono);color:var(--text-color);opacity:.7;font-size:.9em}.actions-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.action-card{background-color:var(--card-color);border:1px solid var(--card-border-color);border-radius:var(--border-radius);color:var(--text-color);padding:25px;text-decoration:none;transition:all .3s;display:block}.action-card:hover{background-color:var(--card-hover-color);border-color:var(--card-hover-border);transform:translateY(-2px)}.action-card h4{font-family:var(--font-mono);color:var(--text-color);margin-bottom:8px;font-size:1.1em}.action-card p{font-family:var(--font-mono);color:var(--text-color);opacity:.7;margin:0;font-size:.9em}.action-card.highlight{background:#2563eb0f;border-left:3px solid #2563eb}.action-card.highlight:hover{background:#2563eb1a;border-color:#2563eb;box-shadow:0 4px 12px #2563eb26}.use-cases-section h3{font-family:var(--font-mono);color:var(--text-color);margin-bottom:20px;font-size:1.3em}.mcp-token-section{background-color:var(--card-color);border:1px solid var(--card-border-color);border-radius:var(--border-radius);padding:25px}.mcp-token-header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.mcp-token-header h3{font-family:var(--font-mono);color:var(--text-color);font-size:1.3em}.mcp-token-link{color:var(--accent-primary);font-family:var(--font-mono);font-size:.9em;text-decoration:none}.mcp-token-subtitle{font-family:var(--font-mono);color:var(--text-color);opacity:.75;margin-bottom:18px}.mcp-token-card{border-radius:var(--border-radius);border:1px solid var(--card-border-color);background:#ffffff0a;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.mcp-token-value{min-width:0;font-family:var(--font-mono);color:var(--text-color);text-overflow:ellipsis;flex:1;font-size:.9em;overflow:hidden}.mcp-token-value code{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.mcp-token-mask{letter-spacing:.2em;opacity:.6}.mcp-token-actions{gap:10px;display:flex}.mcp-token-btn{font-family:var(--font-mono);border:1px solid var(--card-border-color);color:var(--text-color);border-radius:var(--border-radius);cursor:pointer;background:0 0;padding:10px 14px;transition:all .2s}.mcp-token-btn:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.mcp-token-btn.primary{background:linear-gradient(120deg,#ffcd4633,#ff6e5033);border-color:#ffcd4666}.mcp-token-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.mcp-token-error{font-family:var(--font-mono);color:#ff7a6b;margin-top:10px;font-size:.9em}.mcp-token-note{font-family:var(--font-mono);color:var(--text-color);opacity:.7;margin-top:14px;font-size:.9em}@media (max-width:1024px){.dashboard{padding:30px 20px}.stats-grid,.actions-grid{grid-template-columns:repeat(2,1fr)}.mcp-token-card{flex-direction:column;align-items:stretch}.mcp-token-actions{justify-content:flex-start}}@media (max-width:768px){.dashboard{padding:20px 15px}.stats-grid,.actions-grid{grid-template-columns:1fr;gap:15px}.credit-section,.stat-card,.action-card{padding:20px}}@media (max-width:480px){.dashboard{padding:15px 10px}.dashboard-header h1{font-size:1.75em}.credit-section,.stat-card,.action-card{padding:15px}}@media (prefers-color-scheme:dark){.dashboard,.dashboard-header h1,.login-prompt h2,.loading{color:var(--text-color,#f5f5f5)}.login-prompt p{color:#d1d5db}.credit-section{background-color:var(--card-color,#1a1a1a);border-color:var(--card-border-color,#333)}.credit-balance h2{color:var(--text-color,#f5f5f5)}.credit-balance p{color:#d1d5db}.balance-breakdown{border-color:var(--card-border-color,#333);background-color:#ffffff14}.balance-item{border-bottom-color:#ffffff1a}.balance-item.available{border-top-color:#fff3}.balance-label{color:#d1d5db}.balance-amount{color:var(--text-color,#f5f5f5)}.balance-dollars,.screenshots-estimate{color:#d1d5db}.buy-credits-btn{color:var(--text-color,#e5e7eb);background-color:var(--card-hover-color,#2c2c2c);border-color:var(--card-hover-border,#555)}.recent-jobs-section{background-color:var(--card-color,#1a1a1a);border-color:var(--card-border-color,#333)}.recent-jobs-section h3{color:var(--text-color,#f5f5f5)}.recent-jobs-section .no-jobs{color:#b0b5bd}.recent-jobs-section .no-jobs a{color:var(--accent-primary,#60a5fa)}.jobs-list th{color:#fff;background:#2d2d2d;border-bottom:2px solid #444;font-weight:700}.jobs-list td{color:#e5e5e5;border-bottom-color:var(--card-border-color,#333)}.jobs-list code{color:var(--text-color,#f5f5f5);background:#ffffff1a}.stat-card{background-color:var(--card-color,#1a1a1a);border-color:var(--card-border-color,#333)}.stat-value{color:var(--text-color,#f5f5f5)}.stat-label{color:#d1d5db}.action-card{background-color:var(--card-color,#1a1a1a);border-color:var(--card-border-color,#333);color:var(--text-color,#f5f5f5)}.action-card:hover{background-color:var(--card-hover-color,#2c2c2c);border-color:var(--card-hover-border,#444)}.action-card h4{color:var(--text-color,#f5f5f5)}.action-card p{color:#d1d5db}.action-card.highlight{border-left-color:var(--accent-primary,#60a5fa);background:#60a5fa14}.action-card.highlight:hover{border-color:var(--accent-primary,#60a5fa);background:#60a5fa24;box-shadow:0 4px 12px #60a5fa26}.stats-section h3,.quick-actions h3,.use-cases-section h3{color:var(--text-color,#f5f5f5)}.mcp-token-section{background-color:var(--card-color,#1a1a1a);border-color:var(--card-border-color,#333)}.mcp-token-header h3{color:var(--text-color,#f5f5f5)}.mcp-token-link{color:var(--accent-primary,#60a5fa)}.mcp-token-subtitle{color:#d1d5db}.mcp-token-card{border-color:var(--card-border-color,#333);background:#ffffff0f}.mcp-token-value{color:var(--text-color,#f5f5f5)}.mcp-token-btn{border-color:var(--card-border-color,#333);color:var(--text-color,#f5f5f5);background:0 0}.mcp-token-btn:hover{border-color:var(--accent-primary,#60a5fa)}.mcp-token-btn.primary{background:linear-gradient(120deg,#ffcd4633,#ff6e5033);border-color:#ffcd4666}.mcp-token-error{color:#fca5a5}.mcp-token-note{color:#b0b5bd}.loading-spinner{border-color:var(--card-border-color,#333);border-top-color:var(--accent-primary,#60a5fa)}}
