:root{
  --primary:#0d6efd; --secondary:#6610f2;
  --gradient: linear-gradient(135deg,#0d6efd 0%,#6610f2 100%);
}
body{background:#f5f7fb;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
body.auth-page,body.public{background:#f0f4ff;}

/* Sidebar */
.sidebar{
  width:260px; min-height:100vh; position:sticky; top:0;
  display:flex; flex-direction:column;
}
.sidebar .nav-link{
  border-radius:8px; padding:.55rem .8rem; transition:.2s;
}
.sidebar .nav-link:hover{ background:rgba(255,255,255,.08); }
.sidebar .nav-link.active{ background:var(--gradient); }

.content{ min-height:100vh; }
@media (max-width: 768px){
  .sidebar{ width:100%; position:static; min-height:auto; }
  .d-flex{ flex-direction:column; }
}

/* Cards */
.card{ border-radius:16px; }

/* Icon circle */
.icon-circle{
  width:44px;height:44px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(13,110,253,.12);color:#0d6efd;font-size:20px;
}
.icon-circle.bg-primary{background:var(--primary);color:#fff;}
.icon-circle.bg-info{background:#0dcaf0;color:#fff;}
.icon-circle.bg-success{background:#198754;color:#fff;}
.icon-circle.bg-warning{background:#ffc107;color:#000;}
.icon-circle.bg-danger{background:#dc3545;color:#fff;}
.icon-circle.bg-dark{background:#212529;color:#fff;}
.icon-circle.bg-secondary{background:#6c757d;color:#fff;}

/* Hero gradient text utility */
.text-gradient{
  background:var(--gradient);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Forms */
.form-control, .form-select{ border-radius:10px; }
.btn{ border-radius:10px; }
.btn-primary{ background:var(--primary); border-color:var(--primary); }
.btn-primary:hover{ background:#0b5ed7; border-color:#0b5ed7; }

/* AI output */
.ai-output{
  font-family: "SFMono-Regular", Consolas, Menlo, monospace;
  font-size:0.92em; max-height:600px; overflow:auto;
}

/* Print */
@media print{
  .sidebar, .btn, nav, footer { display:none !important; }
  .content{ padding:0 !important; }
}
