/* Arztbrief — custom Bulma overrides, dark-grey surface theme */

:root {
  --ab-primary:     #1e88e5;
  --ab-primary-light: #bbdefb;
  --ab-primary-dark: #1565c0;
  --ab-bg:          #2f343a;
  --ab-surface:     #444b54;
  --ab-surface-soft:#3a4048;
  --ab-text:        #f1f5f9;
  --ab-muted:       #c7d1de;
  --ab-border:      #5d6672;
  --ab-success:     #2e7d32;
  --ab-danger:      #c62828;
}

/* Global */
html,
body {
  min-height: 100%;
  background: var(--ab-bg);
}
body {
  color: var(--ab-text);
  font-family: 'Segoe UI', system-ui, sans-serif;
}

.section {
  background: transparent;
}

/* Navbar */
.navbar {
  background: var(--ab-primary) !important;
  box-shadow: 0 2px 8px rgba(30,136,229,.3);
}
.navbar-brand .navbar-item,
.navbar-item,
.navbar-link {
  color: #fff !important;
  font-weight: 500;
}
.navbar-item:hover { background: var(--ab-primary-dark) !important; }
.navbar-burger span { background: #fff; }

/* Hero / landing */
.hero.is-primary {
  background: linear-gradient(135deg, var(--ab-primary) 0%, var(--ab-primary-dark) 100%);
}

/* Buttons */
.button.is-primary {
  background: var(--ab-primary);
  border-color: transparent;
}
.button.is-primary:hover { background: var(--ab-primary-dark); }

/* Cards */
.card {
  background: var(--ab-surface);
  color: var(--ab-text);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(12, 16, 22, .32);
  border: 1px solid var(--ab-border);
}
.card-header {
  background: var(--ab-surface-soft);
  border-radius: 12px 12px 0 0;
}
.card-header-title { color: #e6edf7; }
.card-content { background: transparent; }

/* Form containers */
#login-form,
#reg-form,
#briefe-list .card {
  border-radius: 10px;
}

/* Form elements */
.input:focus, .textarea:focus, .select select:focus {
  border-color: var(--ab-primary);
  box-shadow: 0 0 0 3px rgba(30,136,229,.2);
}
.input,
.textarea,
.select select {
  background: #535b66;
  border-color: var(--ab-border);
  color: var(--ab-text);
}
.input::placeholder,
.textarea::placeholder {
  color: rgba(241, 245, 249, .72);
}
.label { color: #dbe7f6; font-weight: 600; }

.title,
.subtitle,
.heading,
.has-text-grey,
.has-text-grey-light {
  color: var(--ab-text) !important;
}

a {
  color: #9ad0ff;
}
a:hover {
  color: #c9e7ff;
}

/* Tags */
.tag.is-primary { background: var(--ab-primary); color: #fff; }

/* Brief editor */
#brief-editor {
  min-height: 320px;
  font-size: 1rem;
  line-height: 1.75;
  text-align: justify;
  border: 1px solid var(--ab-border);
  border-radius: 8px;
  padding: 1rem;
  background: var(--ab-surface);
}
#brief-editor:focus { outline: none; border-color: var(--ab-primary); }

/* Recording button */
.btn-record {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--ab-primary);
  border: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(30,136,229,.4);
  transition: transform .15s, box-shadow .15s;
}
.btn-record:hover { transform: scale(1.05); }
.btn-record.recording {
  background: var(--ab-danger);
  animation: pulse 1.2s infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(198,40,40,.6); }
  50%       { box-shadow: 0 0 0 12px rgba(198,40,40,0); }
}

/* ICD suggestion pills */
.icd-pill {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--ab-primary-light);
  border: 1px solid var(--ab-border);
  border-radius: 20px;
  padding: .25rem .75rem;
  font-size: .875rem;
  cursor: pointer;
  transition: background .15s;
}
.icd-pill:hover { background: var(--ab-primary); color: #fff; }

/* Section tabs */
.section-tab.is-active {
  border-bottom: 3px solid var(--ab-primary);
  color: var(--ab-primary);
  font-weight: 700;
}

/* Toast notification */
#toast {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9999;
  min-width: 240px; padding: .75rem 1.25rem;
  border-radius: 8px; color: #fff; font-weight: 500;
  opacity: 0; transform: translateY(20px);
  transition: opacity .25s, transform .25s;
  pointer-events: none;
}
#toast.show { opacity: 1; transform: translateY(0); }
#toast.is-success { background: var(--ab-success); }
#toast.is-danger  { background: var(--ab-danger); }
#toast.is-info    { background: var(--ab-primary); }

/* Mobile tweaks */
@media (max-width: 768px) {
  .card { border-radius: 8px; }
  #brief-editor { min-height: 200px; font-size: .95rem; }
}
