/* ================================================================
   Nora Signal — Callcenter: dashbordet med oppdragsgivere (#ccView,
   views/callcenter.php + assets/js/callcenter.js), skjemaet (#ccModal)
   og oppdragsgiver-brikken i appens topbar (#ogChip).
   Bare tokens fra tokens.css — følger alle fire temaene.
   ================================================================ */

.cc { min-height: 100vh; display: flex; flex-direction: column; }
.cc-topbar { gap: 14px; }
.cc-merke {
  font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
  color: var(--accent); background: var(--accent-light);
  padding: 4px 10px; border-radius: 999px;
}
.cc-plan { font-size: 12.5px; color: var(--text-tertiary); white-space: nowrap; }
.cc-innhold { flex: 1; width: 100%; max-width: 1200px; padding-top: 36px; }
.cc-fot { max-width: 1200px; width: 100%; margin: 0 auto; padding: 0 28px 28px; }

/* Hero: hilsen + tittel + «Ny oppdragsgiver» */
.cc-hero {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
  margin-bottom: 26px;
}
.cc-hilsen { font-size: 13px; font-weight: 600; color: var(--accent); margin-bottom: 6px; }
.cc-tittel {
  font-family: 'Source Serif 4', Georgia, serif; font-size: 32px; font-weight: 600;
  letter-spacing: -.5px; line-height: 1.15; color: var(--text);
}
.cc-ingress { margin-top: 10px; max-width: 640px; font-size: 14px; line-height: 1.6; color: var(--text-secondary); }
.cc-ny { padding: 10px 16px; font-size: 13.5px; flex-shrink: 0; }

/* Søk + antall */
.cc-verktoy { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.cc-sok-wrap { position: relative; flex: 1; max-width: 420px; }
.cc-sok-wrap svg {
  position: absolute; left: 11px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; color: var(--text-tertiary); pointer-events: none;
}
.cc-sok { padding-left: 34px; background: var(--surface); }
.cc-antall { font-size: 12.5px; color: var(--text-tertiary); }

/* Kortene */
.cc-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 16px; margin-bottom: 28px;
}
.cc-grid > .empty-note { grid-column: 1 / -1; }
.cc-kort {
  position: relative; display: flex; flex-direction: column; gap: 12px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
  padding: 18px; cursor: pointer; min-width: 0;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.cc-kort:hover, .cc-kort:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-1px); outline: none;
}
.cc-kort-topp { display: flex; align-items: flex-start; gap: 12px; }
.cc-avatar {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Source Serif 4', Georgia, serif; font-size: 20px; font-weight: 600;
  color: var(--accent);
  background: linear-gradient(135deg, var(--accent-light), color-mix(in srgb, var(--accent) 22%, var(--surface)));
  border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--border-light));
}
.cc-kort-navn { flex: 1; min-width: 0; }
.cc-kort-navn b {
  display: block; font-size: 15px; font-weight: 600; color: var(--text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cc-kort-navn span { display: block; font-size: 12px; color: var(--text-tertiary); margin-top: 2px; }
.cc-rediger {
  width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: 1px solid transparent; color: var(--text-tertiary); cursor: pointer;
}
.cc-rediger:hover { background: var(--bg); border-color: var(--border); color: var(--accent); }
.cc-rediger svg { width: 16px; height: 16px; }
.cc-kort-bransje {
  font-size: 12.5px; color: var(--text-secondary); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 1.45em;
}
.cc-kort-tall { display: flex; gap: 6px; flex-wrap: wrap; }
.cc-tall {
  font-size: 11.5px; color: var(--text-secondary); background: var(--bg);
  border: 1px solid var(--border-light); border-radius: 999px; padding: 3px 9px;
}
.cc-tall b { color: var(--text); font-weight: 600; margin-right: 3px; }
.cc-kort-fot {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-top: auto; padding-top: 12px; border-top: 1px solid var(--border-light);
}
.cc-folk { display: flex; align-items: center; min-width: 0; }
.cc-folk-tekst { font-size: 11.5px; color: var(--text-tertiary); margin-left: 8px; white-space: nowrap; }
.cc-prikk {
  width: 24px; height: 24px; border-radius: 50%; margin-left: -6px;
  background: var(--accent); color: #fff; border: 2px solid var(--surface);
  display: flex; align-items: center; justify-content: center;
  font-size: 9.5px; font-weight: 700; letter-spacing: -.2px;
}
.cc-prikk:first-child { margin-left: 0; }
.cc-aapne {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--accent); white-space: nowrap;
}
.cc-aapne svg { width: 15px; height: 15px; transition: transform .15s; }
.cc-kort:hover .cc-aapne svg { transform: translateX(3px); }
.cc-sist {
  position: absolute; top: -9px; right: 16px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .3px;
  background: var(--accent); color: #fff; padding: 2px 9px; border-radius: 999px;
}

/* «Original konto» — kontoens egne data fra før callcenter: aksentkant */
.cc-original { border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.cc-original .cc-avatar { background: var(--accent); color: #fff; border-color: var(--accent); }

/* Tom tilstand */
.cc-tom {
  grid-column: 1 / -1; text-align: center; padding: 48px 24px;
  background: var(--surface); border: 1px dashed var(--border); border-radius: 14px;
}
.cc-tom-ikon {
  width: 52px; height: 52px; margin: 0 auto 14px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: var(--accent-light); color: var(--accent);
}
.cc-tom-ikon svg { width: 26px; height: 26px; }
.cc-tom h3 { font-size: 17px; font-weight: 600; margin-bottom: 6px; }
.cc-tom p { font-size: 13.5px; color: var(--text-secondary); line-height: 1.6; max-width: 460px; margin: 0 auto 16px; }

/* Brukere-kortet (kun eieren) */
.cc-brukere { margin-bottom: 8px; }
.cc-bruker {
  display: flex; align-items: center; gap: 12px; padding: 9px 0;
  border-bottom: 1px solid var(--border-light); font-size: 13px;
}
.cc-bruker:last-of-type { border-bottom: none; }
.cc-bruker .cc-prikk { margin-left: 0; width: 30px; height: 30px; font-size: 11px; }
.cc-bruker-navn { flex: 1; min-width: 0; }
.cc-bruker-navn b { display: block; font-weight: 600; }
.cc-bruker-navn span { display: block; font-size: 12px; color: var(--text-tertiary); overflow: hidden; text-overflow: ellipsis; }
.cc-bruker-hoyre { font-size: 12px; color: var(--text-tertiary); white-space: nowrap; display: flex; gap: 10px; align-items: center; }
.cc-invite { display: flex; gap: 8px; margin-top: 14px; }
.cc-invite .input { flex: 1; }
.cc-hint { font-size: 12px; color: var(--text-tertiary); line-height: 1.5; margin-top: 8px; }

/* Skjemaet: Ny / rediger oppdragsgiver */
.cc-modal { width: 620px; max-height: 92vh; overflow-y: auto; }
.cc-felter { display: grid; grid-template-columns: 1fr 190px; gap: 12px; }
.cc-felt { min-width: 0; }
.cc-felt .ac-list { z-index: 140; }
.cc-info {
  margin-top: 14px; border-radius: 10px; background: var(--bg);
  border: 1px solid var(--border-light); padding: 14px 16px;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px;
}
.cc-info:empty { display: none; }
.cc-info-felt small {
  display: block; font-size: 10.5px; font-weight: 600; letter-spacing: .4px;
  text-transform: uppercase; color: var(--text-tertiary); margin-bottom: 2px;
}
.cc-info-felt div { font-size: 13px; color: var(--text); overflow-wrap: anywhere; }
.cc-info-hode { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; }
.cc-info-hode .cc-avatar { width: 36px; height: 36px; font-size: 16px; border-radius: 10px; }
.cc-info-hode b { font-size: 14px; }
.cc-info-hode .tag { margin-left: auto; }
.cc-info-melding { grid-column: 1 / -1; font-size: 13px; color: var(--text-secondary); }
.cc-tilgang { display: flex; flex-direction: column; gap: 2px; }
.cc-tilgang label {
  display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px;
  font-size: 13px; cursor: pointer;
}
.cc-tilgang label:hover { background: var(--bg); }
.cc-tilgang input { accent-color: var(--accent); width: 15px; height: 15px; }
.cc-tilgang .cc-tilgang-epost { color: var(--text-tertiary); font-size: 12px; margin-left: auto; }
.cc-tilgang label.laast { cursor: default; opacity: .75; }
.cc-fjern { margin-right: auto; color: var(--red); }
.cc-fjern:hover { background: var(--red-light); }

/* Oppdragsgiver-brikken i appens topbar (inne i en arbeidsflate) */
.tb-og {
  display: inline-flex; align-items: center; gap: 8px; max-width: 280px;
  height: 36px; padding: 0 12px 0 6px; border-radius: 8px;
  background: var(--accent-light); border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
  color: var(--accent); font: inherit; font-size: 12.5px; cursor: pointer; transition: all .15s;
}
.tb-og:hover { border-color: var(--accent); }
.tb-og-merke {
  width: 24px; height: 24px; border-radius: 6px; flex-shrink: 0; position: relative; overflow: hidden;
  background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
}
.tb-og-merke .fav-ikon { padding: 3px; }
.tb-og-tekst { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; line-height: 1.15; }
.tb-og-tekst small { font-size: 9.5px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; opacity: .75; }
.tb-og-tekst b { font-size: 12.5px; font-weight: 600; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tb-og > svg { width: 15px; height: 15px; flex-shrink: 0; opacity: .8; }

@media (max-width: 1280px) {
  .tb-og-tekst small { display: none; }
  .tb-og-tekst b { max-width: 130px; }
}
@media (max-width: 760px) {
  .cc-hero { flex-direction: column; align-items: stretch; }
  .cc-tittel { font-size: 25px; }
  .cc-innhold { padding: 22px 16px; }
  .cc-fot { padding: 0 16px 22px; }
  .cc-verktoy { flex-wrap: wrap; }
  .cc-sok-wrap { max-width: none; flex-basis: 100%; }
  .cc-felter { grid-template-columns: 1fr; }
  .cc-info { grid-template-columns: 1fr; }
  .cc-plan { display: none; }
  .cc-invite { flex-direction: column; }
  .tb-og { padding-right: 8px; }
  .tb-og-tekst { display: none; }
}
