:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #3b82f6;--primary-dark: #2563eb;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--secondary: #6b7280;--bg: #0f172a;--bg-card: #1e293b;--bg-input: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--border: #334155}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}#root{min-height:100vh;width:100%}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:.5rem;font-size:.95rem;font-weight:500;cursor:pointer;border:none;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-input);color:var(--text)}.btn-secondary:hover{background:var(--border)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-input);color:var(--text);font-size:1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.85rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:var(--bg-card);padding:2.5rem;border-radius:1rem;width:100%;max-width:400px;box-shadow:0 4px 6px -1px #0000004d}.login-card h1{font-size:1.75rem;margin-bottom:.5rem;text-align:center}.login-card .subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem}.login-card .btn-primary{width:100%;margin-top:.5rem}.register-link{text-align:center;margin-top:1.5rem;color:var(--text-muted)}.register-link a{color:var(--primary);text-decoration:none}.register-link a:hover{text-decoration:underline}.dashboard{min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--bg-card);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{font-size:1.25rem}.org-name{color:var(--text-muted);padding-left:1rem;border-left:1px solid var(--border)}.header-right{display:flex;align-items:center;gap:1rem}.user-email{color:var(--text-muted)}.dashboard-main{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h2{font-size:1.5rem}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.app-card{background:var(--bg-card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);text-decoration:none;color:inherit;transition:all .2s}.app-card:hover{border-color:var(--primary);transform:translateY(-2px)}.app-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.app-card-header h3{font-size:1.1rem}.app-name{color:var(--text-muted);font-size:.9rem;font-family:monospace;margin-bottom:.5rem}.app-description{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-card-footer{display:flex;gap:1.5rem;margin-bottom:.75rem}.status-row{display:flex;align-items:center;gap:.5rem}.status-label{color:var(--text-muted);font-size:.85rem}.app-domain{color:var(--primary);font-size:.85rem;text-decoration:none}.app-domain:hover{text-decoration:underline}.badge{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.badge-success{background:#22c55e33;color:var(--success)}.badge-warning{background:#f59e0b33;color:var(--warning)}.badge-danger{background:#ef444433;color:var(--danger)}.badge-secondary{background:#6b728033;color:var(--secondary)}.framework-badge{background:var(--bg);color:var(--text-muted);padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-card);border-radius:.75rem;border:1px dashed var(--border)}.empty-state h3{margin-bottom:.5rem}.empty-state p{color:var(--text-muted);margin-bottom:1.5rem}.loading,.loading-screen{display:flex;align-items:center;justify-content:center;color:var(--text-muted);padding:2rem}.loading-screen{min-height:100vh}.error-message{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:1rem;border-radius:.5rem;margin-bottom:1rem}.page-container{min-height:100vh}.page-header-bar{padding:1rem 2rem;background:var(--bg-card);border-bottom:1px solid var(--border)}.back-link{color:var(--text-muted);text-decoration:none;font-size:.9rem;display:block;margin-bottom:.5rem}.back-link:hover{color:var(--text)}.page-content{padding:2rem;max-width:600px;margin:0 auto}.form-card{background:var(--bg-card);padding:2rem;border-radius:.75rem;border:1px solid var(--border)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
