*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,sans-serif;background:#f5f7fa;color:#1a1a2e}
a{color:#1565c0;text-decoration:none}
a:hover{text-decoration:underline}
.panel-layout{display:flex;min-height:100vh}
.sidebar{width:240px;background:#0d47a1;color:#fff;padding:1.5rem 0;flex-shrink:0}
.brand{font-size:1.25rem;font-weight:700;padding:0 1.5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.2)}
.sidebar nav{display:flex;flex-direction:column;padding:1rem 0}
.sidebar nav a{color:rgba(255,255,255,.85);padding:.65rem 1.5rem}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.15);text-decoration:none;color:#fff}
.user-info{padding:1rem 1.5rem;font-size:.85rem;opacity:.8;margin-top:auto}
.content{flex:1;padding:2rem;overflow:auto}
h1{margin-bottom:1.5rem;font-size:1.75rem}
h2{font-size:1.1rem;margin-bottom:1rem;color:#444}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}
.stat-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.stat-value{display:block;font-size:2rem;font-weight:700;color:#0d47a1}
.stat-label{font-size:.875rem;color:#666}
.data-table{width:100%;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);border-collapse:collapse}
.data-table th,.data-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid #eee;font-size:.9rem}
.data-table th{background:#f8f9fa;font-weight:600}
.badge{padding:.2rem .6rem;border-radius:4px;font-size:.75rem;text-transform:uppercase}
.badge.live{background:#e8f5e9;color:#2e7d32}
.form-panel{max-width:720px}
.form-section{background:#fff;padding:1.5rem;border-radius:10px;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-weight:600;font-size:.875rem;margin-bottom:.4rem}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .85rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-family:inherit}
.form-group textarea.code-input{font-family:monospace;font-size:.85rem}
.form-group small{display:block;margin-top:.35rem;color:#666;font-size:.8rem}
.form-group.checkbox label{display:flex;align-items:center;gap:.5rem;font-weight:500}
.form-group.checkbox input{width:auto}
.btn{padding:.65rem 1.25rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;font-weight:600}
.btn.primary{background:#0d47a1;color:#fff}
.btn.secondary{background:#e0e0e0;color:#333;margin-top:.5rem}
.jornaya-section{border-left:4px solid #ff6f00}
.help-list{margin:.5rem 0 0 1.25rem;font-size:.85rem;color:#555}
.suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.suggestions button{padding:.4rem .8rem;background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;cursor:pointer;font-size:.85rem}
.alert{padding:.85rem 1rem;border-radius:6px;margin-bottom:1rem}
.alert.error{background:#ffebee;color:#c62828}
.alert.success{background:#e8f5e9;color:#2e7d32}
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}
.login-box{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.1);width:100%;max-width:400px}
.login-box h1{font-size:1.5rem;margin-bottom:.25rem}
.register-box{max-width:440px}
.register-box small{color:#888;font-weight:400}
.subtitle{color:#666;margin-bottom:1.5rem;font-size:.9rem}
.badge.paused{background:#fff3e0;color:#e65100}
.help-text{font-size:.85rem;color:#666;margin:.5rem 0 1rem}
.test-hub-url{background:#fff;padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06);font-size:.9rem}
.test-hub-url code{background:#f0f4f8;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;word-break:break-all}
.test-actions{margin-bottom:1rem}
.test-links-table td{vertical-align:middle}
.test-thumb{width:96px;height:54px;object-fit:cover;border-radius:6px;background:#333;display:block}
.test-link-group{display:flex;flex-wrap:wrap;gap:.65rem}
.test-link-group a{font-size:.85rem;white-space:nowrap}
.badge.paused{background:#fff3e0;color:#e65100}
.xpath-preview{background:#1e1e1e;color:#d4d4d4;padding:1rem;border-radius:8px;overflow:auto;font-size:.8rem;max-height:320px}
