/* SVISJ asset pack, selective integration layer. Loaded after app.css and blackforge.css.
   Adopted: timeline card language 28/29 and the Copilot grain/sparkfield/amber-edge layers
   41/43/48 -- recreated in CSS wherever the pack file is a picture of a control or card.
   Only 41 and 48 are loaded as files from public/art/. */

/* ---------- Dashboard "Det som kommer": timeline cards (pack 28 current / 29 future) ---------- */
.dashboard-page .timeline-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 22px 18px}
.dashboard-page .timeline-cards::before{display:none}
.dashboard-page .timeline-card{min-height:0;padding:34px 16px 16px;border-radius:20px;border:1px solid #efe6d3;
  background:linear-gradient(180deg,#fffefa 0%,#fbf6eb 100%);box-shadow:inset 0 1px 0 #fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.dashboard-page .timeline-card:hover{transform:translateY(-2px);border-color:#e3cf9f}
.dashboard-page .timeline-card.next{border:1.5px solid #f1b54c;background:linear-gradient(180deg,#fffaf0 0%,#fdf0d6 100%);box-shadow:0 12px 26px -16px rgba(214,140,20,.55),inset 0 1px 0 #fff}
.dashboard-page .timeline-dot{top:14px;left:16px;width:11px;height:11px;border-radius:50%;background:#fff;border:1.5px solid #e6d4a8;box-shadow:none}
.dashboard-page .timeline-card.next .timeline-dot{background:radial-gradient(circle at 35% 30%,#ffd98a,#f39a14 70%);border-color:#f5b243;box-shadow:0 0 0 4px rgba(245,170,40,.16)}
.dashboard-page .timeline-card>strong{font-size:30px;line-height:1;color:#5d5944}
.dashboard-page .timeline-month{margin-top:3px;font-size:12px;color:#746b54}
.dashboard-page .timeline-card-title{margin-top:12px;font-size:13.5px;font-weight:600;line-height:1.3;color:#3f4339}
.dashboard-page .timeline-card>small{margin-top:4px;max-width:none;font-size:12px;line-height:1.45;color:#6d6d60}
.dashboard-page .timeline-time{padding-top:12px;font-size:12px;font-weight:500;color:#727060}
.dashboard-page .timeline-card.next .timeline-time{font-weight:650;color:#936112}
@media(max-width:640px){
  .dashboard-page .timeline-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(196px,74%);gap:10px;padding:14px 18px 18px;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 18px;scrollbar-width:none}
  .dashboard-page .timeline-cards::-webkit-scrollbar{display:none}
  .dashboard-page .timeline-card{scroll-snap-align:start}
}

/* ---------- Frister: the next deadline gets the "current" treatment ---------- */
.deadline-item.next{border:1.5px solid #f1b54c;background:linear-gradient(180deg,#fffaf0,#fdf2da);box-shadow:0 14px 28px -18px rgba(214,140,20,.55)}
.deadline-item.next .deadline-day strong{color:#936112}
.deadline-item.next:hover{border-color:#eba534}

/* ---------- Vakta dock: night gold, same family as the hero and the Vakta pill ----------
   The panel stays dark so it reads as a companion, not another cream card.
   Olive, moss, navy grain and cool sparkles are out: they fought the paper/amber
   shell. Warm charcoal + the same gold as --amber and the header trigger. */
.vakta-dock{
  position:relative;
  isolation:isolate;
  color:var(--dock-ink);
  background:
    radial-gradient(ellipse at 18% -8%,rgba(232,196,110,.16),transparent 42%),
    radial-gradient(ellipse at 88% 108%,rgba(173,105,8,.12),transparent 48%),
    var(--dock);
  border:1px solid var(--dock-line);
  box-shadow:0 18px 40px rgba(80,52,12,.14),inset 0 0 0 1px rgba(240,186,96,.12),inset 0 1px 0 rgba(255,214,150,.18)}
.vakta-dock::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 14%,rgba(240,214,150,.8),transparent),
    radial-gradient(1px 1px at 28% 22%,rgba(232,201,128,.45),transparent),
    radial-gradient(1.6px 1.6px at 46% 8%,rgba(255,228,170,.7),transparent),
    radial-gradient(1px 1px at 63% 18%,rgba(212,176,90,.4),transparent),
    radial-gradient(1.2px 1.2px at 81% 11%,rgba(240,214,150,.55),transparent),
    radial-gradient(1px 1px at 91% 27%,rgba(232,201,128,.35),transparent),
    radial-gradient(1.5px 1.5px at 8% 42%,rgba(255,228,170,.5),transparent),
    radial-gradient(1px 1px at 22% 58%,rgba(212,176,90,.38),transparent),
    radial-gradient(1.3px 1.3px at 39% 71%,rgba(240,214,150,.45),transparent),
    radial-gradient(1px 1px at 57% 49%,rgba(232,201,128,.32),transparent),
    radial-gradient(1.7px 1.7px at 74% 63%,rgba(255,228,170,.58),transparent),
    radial-gradient(1px 1px at 88% 54%,rgba(212,176,90,.3),transparent),
    radial-gradient(1.2px 1.2px at 16% 84%,rgba(240,214,150,.4),transparent),
    radial-gradient(1px 1px at 34% 91%,rgba(232,201,128,.28),transparent),
    radial-gradient(1.4px 1.4px at 68% 88%,rgba(255,228,170,.48),transparent),
    radial-gradient(1px 1px at 93% 79%,rgba(212,176,90,.34),transparent);
  opacity:.85}
.vakta-dock>*{position:relative;z-index:1}
.vakta-dock.in-drawer{box-shadow:inset 1px 0 0 rgba(240,186,96,.16)}
.vakta-dock p,.vakta-dock small{color:var(--dock-muted)}
.vakta-dock-head{border-bottom-color:var(--dock-line)}
.vakta-dock-brand>strong{color:var(--dock-ink)}
.vakta-dock-spark{color:var(--dock-gold)}
.vakta-dock .badge.dark{background:#2a2318;color:var(--dock-gold);border-color:rgba(212,175,90,.28)}
.vakta-dock .icon-button{color:var(--dock-muted)}
.vakta-dock .icon-button:hover:not(:disabled){color:var(--dock-ink);background:rgba(212,175,90,.14)}
.vakta-dock-context{border-bottom-color:var(--dock-line);color:var(--dock-muted)}
.vakta-dock-attach{color:var(--dock-gold)}
.chat-scroll{scrollbar-color:var(--dock-gold) var(--dock)}
.chat-welcome>h2{color:var(--dock-ink)}
.chat-welcome>p{color:var(--dock-muted)}
.vakta-agent{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 18px}
.vakta-agent>strong,.vakta-voice-stage>strong{font-size:15px;font-weight:600;color:var(--dock-ink)}
.vakta-agent-portrait{display:block;width:88px;height:88px;flex-shrink:0;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(212,175,90,.35),0 10px 28px rgba(80,52,12,.28)}
.vakta-voice-launch{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid rgba(212,175,90,.38);background:linear-gradient(170deg,#ffd989 0%,#f5bc51 55%,#eeab31 100%);color:#553811;box-shadow:inset 0 1px 0 #ffedc0,0 8px 20px rgba(165,125,39,.18)}
.vakta-voice-launch:hover{filter:brightness(1.04)}
.vakta-voice-launch-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#55381114;color:#553811;flex-shrink:0}
.vakta-voice-launch strong{display:block;font-size:15px}
.vakta-voice-launch small{display:block;margin-top:3px;font-size:12px;color:#3f2608}
.vakta-commands-label{margin:22px 0 10px;font-size:12px;letter-spacing:.04em;color:var(--dock-faint)}
.vakta-commands{display:flex;flex-direction:column;gap:8px}
.vakta-command{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid rgba(212,175,90,.22);background:var(--dock-raised);color:var(--dock-ink);font-size:13px;text-align:left}
.vakta-command:hover{border-color:rgba(212,175,90,.48)}
.vakta-command svg{color:var(--dock-gold)}
.vakta-voice-stage{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 8px 12px;text-align:center}
.vakta-voice-stage[data-state=listening] .vakta-agent-portrait,.vakta-voice-stage[data-state=speaking] .vakta-agent-portrait{box-shadow:0 0 0 3px rgba(212,175,90,.45),0 12px 32px rgba(80,52,12,.32)}
.vakta-voice-stage>p{margin:0;color:var(--dock-muted)}
.vakta-voice-captions{width:100%;display:grid;gap:8px;margin:8px 0 4px;text-align:left}
.vakta-voice-captions p{margin:0;padding:10px 12px;border-radius:12px;background:rgba(42,35,24,.7);border:1px solid rgba(212,175,90,.2);color:var(--dock-ink);font-size:13px;line-height:1.5}
.vakta-voice-captions p.user{color:var(--dock-muted)}
.vakta-dock .vakta-voice-hangup{margin-top:12px;background:transparent;border-color:rgba(212,175,90,.35);color:var(--dock-ink);box-shadow:none}
@media(max-width:700px){
  .vakta-dock-head{padding:10px 12px}
  .chat-scroll{padding:8px 12px;overflow-anchor:none}
  .chat-welcome{padding:0}
  .vakta-agent{margin:0 0 8px;gap:0}
  .vakta-agent>strong{display:none}
  .vakta-agent-portrait{width:56px;height:56px}
  .vakta-commands-label{margin:8px 0 6px}
  .vakta-commands{gap:4px}
  .vakta-command{min-height:44px;padding:8px 12px}
  .vakta-voice-launch{padding:8px 12px;gap:10px}
  .vakta-voice-launch-icon{width:32px;height:32px}
  .vakta-voice-launch small{display:none}
  .chat-bottom{padding:8px 12px 6px}
  .chat-bottom>p{margin-top:6px}
}
.suggestion-card,
.suggestion-card.violet,
.suggestion-card.blue{
  border-color:rgba(212,175,90,.22);
  background:radial-gradient(ellipse at 0 0,rgba(212,176,90,.22),transparent 95%),var(--dock-raised)}
.suggestion-card:hover{border-color:rgba(212,175,90,.48)}
.suggestion-icon,
.violet .suggestion-icon,
.blue .suggestion-icon{
  color:var(--dock-gold);
  background:rgba(212,176,90,.14);
  border-color:rgba(212,176,90,.22)}
.suggestion-card strong,
.suggestion-card.violet strong,
.suggestion-card.blue strong{color:var(--dock-ink)}
.suggestion-card p,
.suggestion-card.violet p,
.suggestion-card.blue p,
.vakta-dock .suggestion-card p,
.vakta-dock .chat-intro p,
.vakta-dock .chat-disclaimer{color:var(--dock-muted)}
.suggestion-card>svg{color:var(--dock-gold)}
.chat-bottom{border-top-color:var(--dock-line);background:rgba(23,20,15,.72)}
.chat-input{border-color:rgba(212,175,90,.22);background:var(--dock-raised)}
.chat-input:focus-within{border-color:rgba(212,175,90,.55);box-shadow:0 0 0 3px rgba(231,184,91,.18)}
.chat-input textarea{color:var(--dock-ink)}
.chat-input textarea::placeholder,
.vakta-dock textarea::placeholder{color:var(--dock-faint)}
.vakta-dock .send-button{
  background:linear-gradient(170deg,#ffd989 0%,#f5bc51 55%,#eeab31 100%);
  border-color:#e6b560;
  color:#553811;
  box-shadow:inset 0 1px 0 #ffedc0}
.vakta-dock .send-button:hover:not(:disabled){background:linear-gradient(170deg,#ffe3a7,#f8c264,#edaf3b);color:#4a2f0e}
.chat-bottom>p{color:var(--dock-faint)}
.message-label{color:var(--dock-gold)}
.message p{color:var(--dock-ink)}
.message.user{
  background:rgba(42,35,24,.82);
  border:1px solid rgba(212,175,90,.28)}
.message.user .message-label{color:var(--dock-gold)}
.message.user p{color:var(--dock-ink)}
.chat-actions>a{
  border-color:rgba(212,175,90,.28);
  background:rgba(212,176,90,.12);
  color:var(--dock-ink)}
.chat-actions>a:hover{background:rgba(212,176,90,.22)}
.typing>span{background:var(--dock-gold)}
.vakta-dock .inline-error{background:rgba(180,53,45,.18);border-color:rgba(180,53,45,.32);color:#f3cfc4}
.chat-section-label{color:var(--dock-faint)}
.chat-history>button{color:var(--dock-muted)}
.chat-history>button.selected,
.chat-history>button:hover{background:rgba(212,176,90,.12);border-color:rgba(212,175,90,.22)}
.vakta-dock ::selection{background:var(--dock-gold);color:var(--dock)}
.deduction-answer .deduction-facts,
.deduction-answer .deduction-basis,
.deduction-answer .deduction-kept{color:var(--dock-muted)}
.vakta-dock-drawer{background:var(--dock);border-color:var(--dock-line)}
.vakta-dock-drawer .modal-head{background:var(--dock-raised);border-bottom-color:var(--dock-line)}
.vakta-dock-drawer .modal-head h2{color:var(--dock-ink)}
.vakta-dock-drawer .modal-head .icon-button{background:rgba(212,176,90,.12);color:var(--dock-gold)}
@media(prefers-contrast:more){
  .vakta-dock p,.vakta-dock small,.vakta-dock .eyebrow{color:var(--dock-ink)!important}
}

/* ---------- Brand on documents: the lightning mark, not the retired sparkle wordmark ---------- */
.invoice-brand.brand-mark{margin:0;gap:8px}
.invoice-brand.brand-mark img{border-radius:50%;box-shadow:none}
.invoice-brand.brand-mark b{font-size:15px;letter-spacing:.06em;color:#1f1d19}

/* ---------- Invoices: overdue nudge (had no styles at all before) ---------- */
.invoice-helper.bf-card{max-width:560px;margin-top:18px}
