 :root{--bg:#071326;--panel:#fff;--ink:#0f172a;--muted:#64748b;--green:#16a34a;--line:#e5e7eb}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7fb;color:var(--ink)}button,input,select,textarea{font:inherit}.app{display:flex;min-height:100vh}.sidebar{width:290px;background:#071326;color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.logo{display:flex;gap:12px;align-items:center;padding:22px;border-bottom:1px solid rgba(255,255,255,.1)}.logo-mark,.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#16a34a,#0e7a38);display:flex;align-items:center;justify-content:center;font-weight:900}.logo span{display:block;color:#94a3b8;font-size:13px}.sidebar nav{padding:12px;overflow:auto;flex:1}.sidebar nav button{display:block;width:100%;text-align:left;background:transparent;border:0;color:#dbeafe;padding:12px 14px;border-radius:12px;margin-bottom:4px;cursor:pointer}.sidebar nav button.active,.sidebar nav button:hover{background:rgba(34,197,94,.15);color:white}.sidebar-user{padding:16px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user span{display:block;color:#94a3b8;font-size:13px;margin:4px 0 10px}.sidebar-user a{color:#86efac;text-decoration:none}main{margin-left:290px;width:calc(100% - 290px);padding:24px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.topbar h1{margin:0;font-size:30px}.topbar p{margin:6px 0 0;color:var(--muted)}button,#syncJobsBtn{background:var(--green);border:0;color:white;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer}.view{display:none}.view.active{display:block}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.05);margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1fr 1fr}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.kpi strong{font-size:28px;display:block}.kpi span{color:var(--muted);font-size:13px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:14px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e2e8f0;font-size:12px;font-weight:800}.badge.danger{background:#fee2e2;color:#991b1b}.badge.good{background:#dcfce7;color:#166534}.form-grid{display:grid;gap:10px}.form-grid input,.form-grid select,.form-grid textarea,select{border:1px solid var(--line);border-radius:12px;padding:11px;background:white}.form-grid textarea{min-height:94px}.alerts{display:grid;gap:8px;margin-bottom:16px}.alert{padding:12px 14px;border-radius:12px}.alert.danger{background:#fee2e2;color:#991b1b}.alert.success{background:#dcfce7;color:#166534}.alert.warning{background:#fef3c7;color:#92400e}.muted{color:var(--muted)}.login-body,.install-body{background:#071326;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-shell{width:min(1060px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.login-brand{color:white}.login-brand h1{font-size:46px;margin:18px 0 10px}.login-brand p{color:#cbd5e1;font-size:18px;line-height:1.5}.login-card,.install-card{background:white;border-radius:24px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.login-card label{font-weight:800;margin:12px 0 6px;display:block}.login-card input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px}.login-card button{width:100%;margin-top:16px}.install-card{width:min(760px,100%)}.wallboard{background:#071326;color:white;border-radius:24px;padding:24px;min-height:70vh}.wallboard .kpi{background:#0f2a55;color:white;border-color:rgba(255,255,255,.12)}@media(max-width:1000px){.sidebar{position:relative;width:100%;height:auto}.app{display:block}main{margin-left:0;width:100%}.grid.two,.login-shell{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}