*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:#1a1a2e;color:#fff;padding:20px 0;flex-shrink:0}.sidebar h1{font-size:16px;padding:0 20px 20px;margin:0;border-bottom:1px solid #333}.sidebar nav{display:flex;flex-direction:column;padding:10px 0}.sidebar nav a{color:#ccc;text-decoration:none;padding:10px 20px;font-size:14px;transition:background .15s}.sidebar nav a:hover,.sidebar nav a.active{background:#16213e;color:#fff}.sidebar .user-info{padding:20px;border-top:1px solid #333;font-size:13px;margin-top:auto}.sidebar .user-info button{margin-top:8px;background:none;border:1px solid #555;color:#ccc;padding:4px 12px;cursor:pointer;border-radius:3px;font-size:12px}.sidebar .user-info button:hover{border-color:#999;color:#fff}.main-content{flex:1;padding:30px;max-width:960px}.main-content h2{margin-top:0;color:#1a1a2e}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:#555}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926}.form-group .required:after{content:" *";color:#e74c3c}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;font-family:inherit;transition:background .15s}.btn-primary{background:#4a90d9;color:#fff}.btn-primary:hover{background:#357abd}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#ccc}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-sm{padding:4px 10px;font-size:12px}.btn+.btn{margin-left:8px}.card{background:#fff;border-radius:6px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #00000014}.card h3{margin-top:0;font-size:16px;color:#1a1a2e}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee;font-size:14px}th{font-weight:600;color:#555;font-size:12px;text-transform:uppercase}.embed-code{background:#1a1a2e;color:#a5d6a7;padding:16px;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all;position:relative}.embed-code .copy-btn{position:absolute;top:8px;right:8px;background:#333;color:#ccc;border:none;padding:4px 10px;border-radius:3px;cursor:pointer;font-size:12px}.embed-code .copy-btn:hover{background:#555}.dynamic-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.dynamic-row input{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#1a1a2e}.login-box{background:#fff;padding:40px;border-radius:8px;text-align:center;max-width:400px}.login-box h1{color:#1a1a2e;margin-top:0}.status{padding:10px 14px;border-radius:4px;margin-bottom:16px;font-size:14px}.status-success{background:#d4edda;color:#155724}.status-error{background:#f8d7da;color:#721c24}.tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #ddd}.tab{padding:10px 20px;cursor:pointer;font-size:14px;border:none;background:none;color:#777;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s}.tab:hover{color:#333}.tab.active{color:#4a90d9;border-bottom-color:#4a90d9}
