/* 2026-08-11 - Felles veterinærdesign.
   Mål: alle appskjermer bruker samme kompakte mørke dashboard-språk. */
:root{
  --vet-bg:#06151d;
  --vet-panel:#082631;
  --vet-panel-2:#0b2938;
  --vet-panel-3:#082230;
  --vet-border:#2c6680;
  --vet-border-soft:#24516a;
  --vet-text:#d8f0ff;
  --vet-muted:#a9c8d8;
  --vet-blue:#1267c9;
  --vet-blue-2:#0b4d78;
  --vet-green:#65e7ac;
  --vet-red:#c73333;
  --vet-yellow:#d49b20;
  --vet-radius:16px;
  --vet-shadow:0 8px 24px rgba(0,0,0,.22);
}
html,body{background:var(--vet-bg)!important;color:var(--vet-text)!important}
body{margin:0!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body:not(.vet-public-page){padding:12px!important}
#appSide,.wrap,main{box-sizing:border-box}
#appSide{width:min(100%,1240px)!important;max-width:1240px!important;margin:0 auto!important}

/* Samme kortdesign som dashboardet på alle appskjermer */
.kort,.card,.panel,section.kort,article.kort,
.vet-dashboard-side,.vet-dashboard-panel,.vet-dashboard-cards article,
.vet-booking-link-card,.vet-invite-panel,.vet-stripe-adminpanel,
.vet-admin-kort,.vet-admin-panel{
  background:linear-gradient(180deg,var(--vet-panel),#071d27)!important;
  border:1px solid var(--vet-border-soft)!important;
  border-radius:var(--vet-radius)!important;
  color:var(--vet-text)!important;
  box-shadow:var(--vet-shadow)!important;
}
.kort,section.kort,article.kort{padding:16px!important;margin:0 0 12px!important}

/* Ingen enorme overskriftsflater */
h1,h2,h3{color:var(--vet-text)!important;letter-spacing:-.015em!important}
h1{font-size:clamp(22px,2.5vw,30px)!important;line-height:1.1!important;margin:0 0 6px!important}
h2{font-size:clamp(19px,2.1vw,25px)!important;line-height:1.16!important;margin:0 0 10px!important}
h3{font-size:clamp(16px,1.8vw,20px)!important;line-height:1.2!important;margin:0 0 8px!important}
p{line-height:1.45}
.lite,.muted,.small,small{color:var(--vet-muted)!important}

/* Dashboard skal være referansen, men også kompakt */
#dashboardSide{padding:16px!important}
.vet-dashboard-head{align-items:center!important;margin-bottom:12px!important}
.vet-dashboard-head h2{font-size:clamp(22px,2.6vw,30px)!important;line-height:1.1!important;margin:2px 0 4px!important}
.vet-dashboard-kicker{font-size:10px!important;margin:0!important}
.vet-dashboard-cards{gap:10px!important}
.vet-dashboard-cards article,.vet-dashboard-panel{padding:13px!important;border-radius:14px!important;background:var(--vet-panel-2)!important;border-color:var(--vet-border)!important;box-shadow:none!important}
.vet-dashboard-cards span{font-size:14px!important}
.vet-dashboard-cards strong{font-size:28px!important;margin:6px 0 2px!important}
.vet-dashboard-grid{gap:10px!important;margin-top:10px!important}
.vet-dashboard-panel h3{font-size:19px!important;margin-bottom:10px!important}
.vet-dashboard-item{padding:10px!important;border-radius:11px!important;background:var(--vet-panel-3)!important}
.vet-dashboard-actions{gap:8px!important;margin-top:10px!important}

/* Toppkort: informasjonsstripe, ikke stor hero */
#vetDashboardFlytendeKnapp,.vet-dashboard-flytende{display:none!important}
#vetToppkortDashboard,.vet-toppkort{
  padding:12px 14px!important;
  margin:0 auto 10px!important;
  min-height:0!important;
  background:linear-gradient(180deg,var(--vet-panel),#071d27)!important;
  border:1px solid var(--vet-border-soft)!important;
  border-radius:14px!important;
  box-shadow:var(--vet-shadow)!important;
}
#vetToppkortDashboard #vetToppNavn,.vet-toppkort #vetToppNavn{font-size:24px!important;margin:0 8px 2px 0!important}
#vetToppRolle,#aktivKlinikkInfo,#vetVisningInfo{font-size:12px!important;margin:0 10px 3px 0!important;line-height:1.25!important}
#vetDashboardKnapp{min-height:32px!important;padding:6px 10px!important;font-size:12px!important;margin:4px 0!important}
.vet-toppkort > p:last-child,#vetToppkortDashboard > p:last-child{font-size:11px!important;margin:6px 0 0!important;opacity:.74}
.vet-meny{gap:6px!important;margin-top:7px!important;align-items:center!important}
.vet-meny button,.vet-meny a,.vet-konsoll-wrap>button{min-height:34px!important;padding:7px 10px!important;font-size:12px!important;border-radius:9px!important;width:auto!important}

/* Skjemaflater og lister */
input,select,textarea{
  background:#061923!important;color:var(--vet-text)!important;border:1px solid #315c72!important;
  border-radius:10px!important;padding:9px 10px!important;min-height:38px!important;box-sizing:border-box!important
}
textarea{min-height:86px!important}
label{color:#bed8e6!important;font-size:13px!important}
table{border-collapse:separate!important;border-spacing:0!important;width:100%!important;background:transparent!important}
th{background:#0b2938!important;color:#d8f0ff!important;font-size:12px!important;padding:9px!important}
td{border-bottom:1px solid #234b60!important;padding:9px!important;color:#d8f0ff!important}

button,.knapp,.btn,a.knapp{
  border-radius:10px!important;min-height:36px!important;padding:8px 12px!important;font-weight:750!important;
  border:1px solid #345e73!important;background:#20374a!important;color:#f2f8fb!important;box-sizing:border-box!important
}
button.primary,.primary,.btn.primary{background:linear-gradient(180deg,#166ed0,#0d58ae)!important;border-color:#2587ec!important}
button.danger,.danger,.vet-logg-ut{background:linear-gradient(180deg,#cf3838,#9e2222)!important;border-color:#e34d4d!important}
button.secondary,.secondary{background:#22384a!important}
button:hover,.knapp:hover,.btn:hover{filter:brightness(1.08)}

/* Undermenyer og adminflater skal ikke bli egne visuelle verdener */
.vet-undermeny,.vet-konsoll-meny{background:#071c26!important;border:1px solid var(--vet-border)!important;border-radius:12px!important;padding:8px!important;box-shadow:var(--vet-shadow)!important}
.vet-undermeny button,.vet-konsoll-meny button{width:100%!important;text-align:left!important;margin:2px 0!important}

/* Offentlige/enkle sider får samme språk */
body .wrap{width:min(100% - 24px,900px)!important;margin:18px auto!important}
body .wrap .card,body main.card{padding:18px!important}
header .wrap{padding:14px!important}
header h1{font-size:28px!important}
.hero{padding:12px 0!important;margin:0!important}
.hero h1{font-size:30px!important;max-width:800px!important}

/* Fjern gammelt demo-/hero-preg dersom gamle fragmenter likevel lastes */
.badge:has(+ .controls),.top .controls #tourBtn{display:none!important}

@media(max-width:760px){
  body:not(.vet-public-page){padding:6px!important}
  #appSide{width:100%!important}
  .kort,section.kort,article.kort,#dashboardSide{padding:11px!important;margin-bottom:8px!important;border-radius:13px!important}
  h1{font-size:21px!important} h2{font-size:19px!important} h3{font-size:16px!important}
  #vetToppkortDashboard,.vet-toppkort{padding:10px!important;margin-bottom:8px!important}
  #vetToppkortDashboard #vetToppNavn,.vet-toppkort #vetToppNavn{font-size:20px!important}
  #vetToppRolle,#aktivKlinikkInfo{font-size:11px!important}
  .vet-toppkort > p:last-child,#vetToppkortDashboard > p:last-child{display:none!important}
  .vet-dashboard-head{display:flex!important;gap:8px!important;margin-bottom:8px!important}
  .vet-dashboard-head h2{font-size:20px!important}
  .vet-dashboard-head .lite{font-size:11px!important;margin:0!important}
  .vet-dashboard-head button{margin:0!important;min-width:auto!important}
  .vet-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .vet-dashboard-cards article{padding:10px!important}
  .vet-dashboard-cards strong{font-size:23px!important}
  .vet-dashboard-grid{grid-template-columns:1fr!important;gap:8px!important}
  .vet-dashboard-panel{padding:10px!important}
  .vet-dashboard-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .vet-dashboard-actions button{width:100%!important}
  input,select,textarea{font-size:16px!important}
  .grid,.to-kolonner,.two,.form-grid{grid-template-columns:1fr!important}
  table{font-size:12px!important}
  .vet-meny{display:flex!important;flex-wrap:wrap!important}
  .vet-meny button,.vet-meny a,.vet-konsoll-wrap{flex:1 1 auto!important}
}
@media(max-width:420px){
  .vet-dashboard-cards{grid-template-columns:1fr 1fr!important}
  .vet-dashboard-actions{grid-template-columns:1fr!important}
}
