:root{
  --jura-bg:#f3f6fb;
  --jura-surface:#fff;
  --jura-border:#d8e0ef;
  --jura-text:#1f2a44;
  --jura-primary:#2864f0;
  --jura-primary-contrast:#fff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--jura-bg);color:var(--jura-text);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.jura-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.jura-sidebar{background:#111b33;color:#fff;padding:1rem;display:flex;flex-direction:column;gap:.75rem}
.jura-sidebar nav{display:flex;flex-direction:column;gap:.35rem}
.jura-sidebar nav a{padding:.45rem .55rem;border-radius:.4rem}
.jura-sidebar nav a:hover{background:rgba(255,255,255,.14)}
.jura-topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:var(--jura-surface);border-bottom:1px solid var(--jura-border)}
.jura-main{display:flex;flex-direction:column}
.jura-content{padding:1.2rem}
.jura-card{background:var(--jura-surface);border:1px solid var(--jura-border);border-radius:.75rem;padding:1rem;margin-bottom:1rem}
.jura-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.55rem .95rem;border-radius:.55rem;border:1px solid transparent;cursor:pointer}
.jura-btn-primary{background:var(--jura-primary);color:var(--jura-primary-contrast)}
.jura-btn-secondary{background:#edf2ff;color:#0d2764;border-color:#cadaff}
.jura-input{width:100%;padding:.6rem .7rem;border:1px solid var(--jura-border);border-radius:.45rem;margin:.25rem 0 .9rem}
.jura-label{font-size:.9rem;display:block}
.jura-alert{border-radius:.5rem;padding:.7rem .8rem;background:#e8f1ff;border:1px solid #cfe0ff;margin:.6rem 0}
.jura-table{width:100%;border-collapse:collapse;background:var(--jura-surface);margin-top:.8rem}
.jura-table th,.jura-table td{padding:.7rem;border:1px solid var(--jura-border);text-align:left}
.jura-badge{display:inline-flex;align-items:center;justify-content:center;background:#dbe8ff;color:#173a8f;padding:.2rem .5rem;border-radius:999px;font-size:.8rem}
.jura-tabs{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.jura-modal{position:fixed;inset:0;z-index:20}
.jura-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.jura-modal__dialog{position:relative;max-width:420px;margin:14vh auto;background:#fff;padding:1rem;border-radius:.8rem;z-index:2}
.jura-empty{padding:1rem;border:1px dashed var(--jura-border);border-radius:.6rem;color:#62708f;background:#f9fbff}
.jura-grid{display:grid;gap:1rem}
.jura-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.jura-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.jura-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.7rem 0}
.jura-auth-page,.jura-installer-page{display:grid;place-items:center;min-height:100vh;padding:1rem}
.jura-auth-wrap,.jura-installer-wrap{width:min(720px,100%)}
.jura-auth-card{max-width:420px;margin:2rem auto}
@media (max-width:980px){.jura-layout{grid-template-columns:1fr}.jura-grid-4,.jura-grid-2{grid-template-columns:1fr}}
