:root{
  --bg:#0b0f14;
  --bg-elev:#121823;
  --ink:#e8eef7;
  --muted:#9fb0c3;
  --brand:#75caff;
  --brand-ink:#0a1118;
  --card:#141b27;
  --border:#213044;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}

a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:100%;display:block}

.container{max-width:1200px;margin:0 auto;padding:24px}
.narrow{max-width:720px}

.sr-only{position:absolute;left:-9999px}

.btn{border:1px solid var(--border);background:var(--bg-elev);color:var(--ink);padding:10px 14px;border-radius:10px;cursor:pointer}
.btn:hover{background:#1a2331}
.btn-primary{background:var(--brand);color:#000;border-color:transparent}
.btn-primary:hover{filter:brightness(0.95)}
.btn-ghost{background:transparent}

.inline{display:inline}

.sc-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:12px 16px;border-bottom:1px solid var(--border);background:rgba(11,15,20,.9);backdrop-filter:blur(6px)
}
.sc-logo img{display:block}

.sc-login{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sc-login input{
  background:var(--card);border:1px solid var(--border);color:var(--ink);
  padding:10px 12px;border-radius:8px;min-width:160px
}
.sc-forgot{font-size:.9rem;color:var(--muted)}
.sc-userbox{display:flex;align-items:center;gap:12px;color:var(--muted)}

.sc-main{display:block}

.band{padding:36px 0;border-top:1px solid var(--border)}
.band:first-of-type{border-top:none}
.band--about{background:linear-gradient(180deg, rgba(117,202,255,.08), transparent)}
.band--services .grid-3,
.band--articles .grid-3{margin-top:20px}

.grid-3{
  display:grid;gap:16px;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px){
  .grid-3{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width: 600px){
  .grid-3{grid-template-columns:1fr}
}

.card{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:18px;display:flex;flex-direction:column;gap:10px
}
.card-media{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:192px;   /* doubled height */
}
.card-media img{
  max-height:192px;   /* cap size so layout stays consistent */
  width:auto;
}
@media (max-width:600px){
  .card-media img{
    max-height:128px; /* shrink a bit on small screens */
  }
}
.card h3{margin:4px 0 0 0}
.card p{margin:6px 0 0 0}
.card--article .muted{color:var(--muted);font-size:.9rem}

.sc-footer{border-top:1px solid var(--border);margin-top:40px}
.sc-footer__grid{
  display:grid;gap:16px;padding:24px 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 800px){
  .sc-footer__grid{grid-template-columns:1fr}
}
.sc-footer__grid h4, .sc-footer__grid h5{margin:0 0 8px 0}
.sc-footer__grid ul{margin:0;padding:0;list-style:none}
.sc-footer__grid li{margin:6px 0}
.sc-footer__legal{border-top:1px solid var(--border);padding:12px 16px;text-align:center;color:var(--muted)}
.flash-wrap{margin:12px 0;display:grid;gap:8px}
.flash{padding:10px 12px;border-radius:10px;border:1px solid var(--border)}
.flash-ok{background:#12331f;color:#c6f3d0;border-color:#1b5a33}
.flash-err{background:#331212;color:#f3c6c6;border-color:#5a1b1b}

.stack{display:grid;gap:10px}
.stack input, .stack textarea, .stack select{
  background:var(--card);border:1px solid var(--border);color:var(--ink);
  padding:10px 12px;border-radius:8px;width:100%;
}
/* Invoice print tweaks */
@media print {
  .sc-header, .sc-footer, .no-print { display:none !important; }
  body { background:white; color:black; }
  .card { border: none; box-shadow: none; }
  .container { max-width: 100%; padding: 0; }
  .band { padding: 0; border: 0; }
  a { color: black; text-decoration: none; }
}
.invoice-view .card { background: #fff; color: #000; } /* better contrast when printing */
.invoice-view table th, .invoice-view table td { color: inherit; }
