/* ============================================
   RAPP CUSTOM CSS - CLEAN VERSION
   ============================================ */

/* --- TYPOGRAPHY --- */
html, body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 
               'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

.page-title {
  font-size: 15px;
  font-weight: 600;
}

.text-muted {
  font-size: 12px;
}

/* --- BASELINE TABLES (ikke accordion) --- */
table {
    font-size: 13px;
}

table th {
    width: auto !important;
}

.table th,
.table td {
    vertical-align: top !important;
    padding: 0.45rem 0.6rem;
    border-left: none !important;
    border-right: none !important;
}

.table thead th {
    font-size: 0.8rem;
    font-weight: 600;
    color: #444;
    border-bottom: 2px solid #dee2e6;
    vertical-align: bottom;
    background-color: #fafafa;
}

/* Striping kun for IKKE-accordion tables */
.table:not(.accordion) tbody tr {
    border-bottom: 1px dotted #e0e0e0;
}

.table:not(.accordion) tbody tr:nth-child(odd) {
    background-color: #fafafa;
}

.table td {
    padding-right: 1rem;
}

.data-table,
.table {
  font-size: 13px;
}

/* Table responsive wrapper */
.table-responsive {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
}

/* --- HEADER --- */
.app-header {
    height: 64px;
    background: #ffffff;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
}

.app-header .container {
    height: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    align-items: center;
}

.app-header .fw-semibold {
    font-size: 15px;
    font-weight: 600;
}

.app-header .text-muted {
    font-size: 14px;
}

/* --- MAIN OMRÅDE --- */
.app-main {
    width: 100%;
    max-width: 100%;
    padding-top: 16px;
    padding-left: 64px;
    padding-right: 64px;
    margin-right: 64px;
    min-height: calc(100vh - 80px);
    background: transparent;
    display: flex;
    justify-content: center;
}

.app-main > .app-container {
    width: 100%;
    max-width: 1400px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 2rem;
    margin: 0 auto;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    min-height: auto;
    height: fit-content;
}


/* ============================================
   COMPANY FOCUS BAR
   ============================================ */
.company-focus-bar {
    background: #f8f9fa;
    border-bottom: 1px solid #e0e0e0;
    padding: 0.65rem 0;
}

.company-focus-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    padding-right: calc(2rem + 64px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.company-focus-content {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: opacity 0.2s ease;
    min-width: 0;
}

.company-focus-content:hover {
    opacity: 0.7;
}

.company-focus-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.company-focus-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

.company-focus-cvr {
    font-size: 13px;
    color: #6c757d;
}

/* Date selector */
.company-focus-date {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    margin-left: 2rem;
}

/* ============================================
   PERSON FOCUS BAR
   ============================================ */
.person-focus-bar {
    background: #f8f9fa;
    border-bottom: 1px solid #e0e0e0;
    padding: 0.65rem 0;
}

.person-focus-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    padding-right: calc(2rem + 64px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.person-focus-content {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: opacity 0.2s ease;
    min-width: 0;
}

.person-focus-content:hover {
    opacity: 0.7;
}

.person-focus-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.person-focus-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

.person-focus-cvr {
    font-size: 13px;
    color: #6c757d;
}

/* Date selector */
.person-focus-date {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    margin-left: 2rem;
}



.date-input-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    background: #ffffff;
    cursor: pointer;
    transition: all 0.2s ease;
}

.date-input-wrapper:hover {
    border-color: #999;
}

.date-input-wrapper:focus-within {
    border-color: #2c2c2c;
    box-shadow: 0 0 0 0.15rem rgba(44, 44, 44, 0.1);
}

.date-input-wrapper .bi-calendar3 {
    font-size: 14px;
    color: #6c757d;
    pointer-events: none;
}

.date-input-wrapper .date-input {
    border: none;
    padding: 0;
    font-size: 13px;
    color: #1a1a1a;
    width: 110px;
    background: transparent;
    cursor: pointer;
}

.date-input-wrapper .date-input:focus {
    outline: none;
    box-shadow: none;
}

.btn-date-submit {
    background: transparent;
    border: 1px solid #d0d0d0;
    color: #6c757d;
    padding: 0.35rem 0.65rem;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.btn-date-submit:hover {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #ffffff;
}

.btn-date-submit i {
    font-size: 14px;
}

/* Info-knap (rapp.php) */
.company-focus-details {
    background: transparent;
    border: 1px solid #d0d0d0;
    color: #6c757d;
    padding: 0.35rem 0.65rem;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.company-focus-details:hover {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #ffffff;
}

.company-focus-details i {
    font-size: 15px;
}


/* Person/Company bar - compensate datepicker for body padding */
.person-focus-date,
.company-focus-date {
    margin-right: -64px; /* Offset body padding */
    padding-right: 1rem; /* Visual margin from navbar */
}

/* Or more specific to the form wrapper */
form.person-focus-date,
form.company-focus-date {
    margin-right: -64px;
    padding-right: 0.5rem;
}

/* ============================================
   TABS
   ============================================ */
.nav-tabs {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 1.5rem;
    margin-top: 0;
}

.nav-tabs .nav-link {
    color: #6c757d;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.75rem 1.25rem;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    background: transparent;
}

.nav-tabs .nav-link:hover {
    color: #1a1a1a;
    border-bottom-color: #d0d0d0;
    background: transparent;
}

.nav-tabs .nav-link.active {
    color: #1a1a1a;
    border-bottom-color: #1a1a1a;
    background: transparent;
}

/* ============================================
   ACCORDION
   ============================================ */

/* Person row (LAG 1) - KUN klikbar hvis der er data */
table.accordion tbody tr.accordion-person-row {
    /* Ingen default cursor - sættes kun hvis collapsed class */
}

table.accordion tbody tr.accordion-person-row.collapsed {
    cursor: pointer;
}

table.accordion tbody tr.accordion-person-row td {
    background-color: #f8f9fa !important;
    padding: 0.75rem !important;
    font-weight: 500;
    border-top: 1px solid #e0e0e0;
    transition: background-color 0.2s ease;
}

/* Hover KUN hvis collapsed (har data) */
table.accordion tbody tr.accordion-person-row.collapsed:hover td {
    background-color: #e9ecef !important;
}

/* Skjul tom thead */
.accordion thead {
    display: none;
}

/* Override baseline striping for accordion */
table.accordion tbody tr {
    background-color: transparent !important;
    border-bottom: none;
}

/* Person row (LAG 1) */
table.accordion tbody tr.accordion-person-row {
    cursor: pointer;
}

table.accordion tbody tr.accordion-person-row td {
    background-color: #f8f9fa !important;
    padding: 0.75rem !important;
    font-weight: 500;
    border-top: 1px solid #e0e0e0;
    transition: all 0.3s ease-in-out; 
}

table.accordion tbody tr.accordion-person-row:hover td {
    background-color: #e9ecef !important;
}

/* Chevron */
table.accordion tbody tr.accordion-person-row .accordion-chevron {
    font-size: 1rem;
    color: #6c757d;
    transition: transform 0.2s ease;
    display: inline-block;  /* VIGTIGT for rotation */
}

/* Lukket (collapsed) = chevron peger ned */
table.accordion tbody tr.accordion-person-row.collapsed .accordion-chevron {
    transform: rotate(0deg);
}

/* Åben (ikke collapsed) = chevron peger op */
table.accordion tbody tr.accordion-person-row:not(.collapsed) .accordion-chevron {
    transform: rotate(180deg);
}

/* Header row (LAG 1.5) */
table.accordion tbody tr.accordion-header-row td {
    background-color: #e9ecef !important;
    padding: 0.5rem 0.75rem !important;
    font-weight: 600;
    font-size: 0.8rem;
    color: #495057;
    border-top: 1px solid #dee2e6;
}

/* Data rows (LAG 2) */
table.accordion tbody tr.accordion-data-row td {
    background-color: #ffffff !important;
    padding: 0.5rem 0.75rem !important;
    font-size: 13px;
    border-top: 1px dotted #e0e0e0;
    transition: all 0.3s ease-in-out;  /* ← ÆNDRET */
}

table.accordion tbody tr.accordion-data-row:hover td {
    background-color: #f8f9fa !important;
}

/* Smooth accordion transitions - camouflerer jump */
table.accordion {
    transition: all 0.3s ease-in-out;
}

table.accordion td,
table.accordion th {
    transition: all 0.3s ease-in-out;
}

/* Sync med collapse animation */
.accordion-collapse {
    transition: all 0.3s ease-in-out;
}

/* Accordion header row - style TH som TD */
table.accordion tr.accordion-header-row th {
    /* Reset browser defaults */
    font-weight: normal;  /* ← Ikke bold */
    font-size: 12px;      /* ← Samme som data */
    text-align: left;     /* ← Default left align */
    padding: 0.5rem 0.25rem;
    
    /* Sticky */
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fafafa !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    
    /* Borders som data rows */
    border-bottom: 1px solid #e0e0e0;
}

/* Center-align procent kolonner */
table.accordion tr.accordion-header-row th.col-pct,
table.accordion tr.accordion-header-row th.col-flag {
    text-align: center;
}

/* EXRAPP specifik sizing */
#exrapp table.accordion tr.accordion-header-row th {
    font-size: 11px;
    padding: 0.4rem 0.25rem;
}

/* TIRAPP specifik sizing */
#tirapp table.accordion tr.accordion-header-row th {
    font-size: 11px;
    padding: 0.4rem 0.25rem;
}

/* CVRAPP specifik sizing */
#cvrapp table.accordion tr.accordion-header-row th {
    font-size: 11px;
    padding: 0.4rem 0.25rem;
}

/* ============================================
   Accordion (shared)
   ============================================ */


/* Accordion header row sticky (LAG 1.5) */
table.accordion tr.accordion-header-row th {
    position: sticky;
    top: 0;
    z-index: 100;  /* ← Opdater fra 9 til 100 */
    background: #fafafa !important;  /* ← Tilføj !important */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* EXRAPP accordion header */
#exrapp table.accordion tr.accordion-header-row th {
    font-size: 12px;
    padding: 0.5rem 0.25rem;
}

/* TIRAPP accordion header */
#tirapp table.accordion tr.accordion-header-row th {
    font-size: 12px;
    padding: 0.5rem 0.25rem;
}

/* CVRAPP accordion header */
#cvrapp table.accordion tr.accordion-header-row th {
    font-size: 12px;
    padding: 0.5rem 0.25rem;
}



/* Column widths */
.col-cvr { width: 10%; text-align: left; }
.col-navn { width: 30%; text-align: left; }
.col-pct { width: 7.5%; text-align: center; }
.col-flag { width: 7.5%; text-align: center; }

 
    /* RAPP accordion sticky på mobil */
    .accordion-container {
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        position: relative;
    }
    
    table.accordion tr.accordion-header-row th {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 999 !important;
        background: #fafafa !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
    }
    



/* ============================================
   CSEARCH
   ============================================ */

/* LAG 1 - Søgeside */
.search-page {
    max-width: 600px;
    margin: 0 auto;
    padding: 1rem 0;
}

.search-page .input-group-lg .form-control {
    height: 52px;
    font-size: 15px;
    border: 1px solid #d0d0d0;
    border-radius: 6px 0 0 6px;
}

.search-page .input-group-lg .form-control::placeholder {
    font-size: 14px;
    color: #999;
}

.search-page .input-group-lg .btn {
    height: 52px;
    padding: 0 1rem;
    background: #2c2c2c;
    border-color: #2c2c2c;
    color: #ffffff;
}

.search-page .input-group-lg .btn:hover {
    background: #1a1a1a;
}

.search-page .form-check {
    margin-top: 1rem;
}

.search-page .autocomplete-dropdown {
    max-height: 300px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #d0d0d0;
    border-top: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* LAG 2 - Result header */
.result-header-bar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.25rem;
    margin-top: 0;
}

.result-info {
    display: flex;
    flex-direction: column;
}

.result-header {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.15rem;
    line-height: 1.2;
}

.result-sub {
    font-size: 13px;
    color: #6c757d;
    line-height: 1.2;
}

/* Ny søgning knap */
.btn-new-search {
    border: 1px solid #d0d0d0;
    background: #fafafa;
    color: #444;
    font-size: 13px;
    font-weight: 500;
    padding: 0.45rem 1rem;
    border-radius: 6px;
    transition: all 0.15s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.btn-new-search:hover {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #ffffff;
}

/* Bootstrap table tweaks */
.bootstrap-table {
    margin-top: 0;
}

.fixed-table-container {
    margin-top: 0;
}

.fixed-table-toolbar {
    padding: 0.5rem 0 1rem 0;
}

.fixed-table-pagination .pagination-detail {
    display: none !important;
}


/* ============================================
   TIRAPP - Index kolonner design
   ============================================ */

/* Tilføj thead til TIRAPP tables */
table.tirapp-table thead {
    display: table-header-group !important;
}

table.tirapp-table thead th {
    background-color: #fafafa;
    font-size: 0.8rem;
    font-weight: 600;
    color: #444;
    padding: 0.75rem;
    border-bottom: 2px solid #dee2e6;
    text-align: left;
}

table.tirapp-table thead th.col-index,
table.tirapp-table thead th.col-number {
    text-align: right;
}

/* Person cell */
.tirapp-person-cell {
    padding: 0.75rem !important;
}

.tirapp-person-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.3;
}

.tirapp-person-title {
    font-size: 12px;
    color: #6c757d;
    margin-top: 0.25rem;
}

/* Index cell - højrejusteret med diskret accentuering */
.tirapp-index-cell {
    text-align: right !important;
    font-size: 15px;
    font-weight: 600;
    padding: 0.75rem !important;
    transition: background-color 0.2s ease;
}

.tirapp-index-normal {
    color: #1a1a1a;
    background-color: transparent;
}

.tirapp-index-medium {
    color: #1a1a1a;
    background-color: #f8f9fa;
}

.tirapp-index-high {
    color: #1a1a1a;
    background-color: #f0f0f0;
}

/* Number cells */
.tirapp-number-cell {
    text-align: right !important;
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    padding: 0.75rem !important;
}

/* Data rows - 5 kolonner layout */
table.accordion tbody tr.accordion-data-row td {
    vertical-align: top !important;
    font-size: 13px;
    line-height: 1.6;
}

/* ============================================
   CVRAPP - Person info
   ============================================ */

.cvrapp-person-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.3;
}

.cvrapp-person-title {
    font-size: 12px;
    color: #6c757d;
    margin-top: 0.25rem;
}

/* ============================================
   EXRAPP - Person info med titel
   ============================================ */

.exrapp-person-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.3;
}

.exrapp-person-title {
    font-size: 12px;
    color: #6c757d;
    margin-top: 0.25rem;
}


/* ============================================
   EXRAPP - Indirect ownership styling
   ============================================ */

.indirect-ownership {
    background: #f8f9fa;
    padding: 2px 4px;
    border-radius: 3px;
    cursor: help;
    text-decoration: underline dotted #ccc;
    font-weight: 500;
    transition: background-color 0.2s ease;
}

.indirect-ownership:hover {
    background: #e9ecef;
}

/* Tooltip styling for ownership chains */
.tooltip-inner {
    text-align: left;
    max-width: 300px;
}


/* ============================================
   PSEARCH - Person search styling
   ============================================ */

/* Genbruger .search-page fra csearch */

.search-refinement {
    max-width: 500px;
    margin: 1.5rem auto 0 auto;
    padding: 1.25rem;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
}

.search-refinement .form-control-sm {
    height: 38px;
    font-size: 13px;
    border-color: #d0d0d0;
}

.search-refinement .form-control-sm::placeholder {
    color: #999;
    font-size: 13px;
}

.search-refinement .form-control-sm:focus {
    border-color: #2c2c2c;
    box-shadow: 0 0 0 0.15rem rgba(44, 44, 44, 0.1);
}

/* ============================================
   PSEARCH - Hemmelig adresse badge
   ============================================ */

.badge {
    font-size: 11px;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.badge.bg-warning {
    background-color: #fff3cd !important;
    color: #856404 !important;
    border: 1px solid #ffc107;
}

/* ============================================
   PERAPP - Complete Clean Styling
   ============================================ */
/* Account for fixed navbar on right */
body {
    padding-right: 64px; 
}



/* Force full width for tabs */
.tab-content,
.tab-pane {
    overflow: visible !important;
}

#exrapp,
#tirapp,
#cvrapp {
    width: 100%;
    overflow: visible !important;
}


/* PERAPP EXRAPP - Override accordion thead hiding */
#exrapp table.table.accordion thead.perapp-sticky-header {
    display: table-header-group !important;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: #fafafa !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#exrapp table.table.accordion thead.perapp-sticky-header th {
    display: table-cell !important;
    visibility: visible !important;
}
/* ============================================
   PERAPP Tables
   ============================================ */

.perapp-table {
    width: 100%;
    min-width: 100%;
    table-layout: auto;
    border-collapse: collapse;
}

.perapp-table-container {
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

/* Sticky header - FORCE IT */
.perapp-sticky-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: #fafafa !important;
}

.perapp-sticky-header th {
    font-size: 12px;
    font-weight: 400;
    padding: 7px 3.5px;
    background: #fafafa !important;
    white-space: normal;
    border-bottom: 1px solid #dee2e6;
}

.perapp-data-row td {
    font-size: 12px;
    padding: 7px 3.5px;
    vertical-align: top;
    border-top: 1px dotted #e0e0e0;
}

.perapp-data-row:hover td {
    background: #f8f9fa;
}

.perapp-data-row .indirect-ownership {
    cursor: help;
    text-decoration: underline dotted #999;
}

/* ============================================
   PERAPP TIRAPP - Simple Fact Table (Right)
   ============================================ */

/* Remove all fancy card styling */
.perapp-tirapp-card {
    background: transparent;
    border: none;
    margin: 0;
    padding: 0;
}

.perapp-tirapp-card-header {
    display: none;
}

.perapp-tirapp-card-body {
    padding: 0;
    margin-bottom: 1.5rem;
}

/* Container - fact box floats right */
.perapp-tirapp-layout {
    display: block;
    overflow: auto;
}

/* Simple fact table - floats right */
.perapp-tirapp-index {
    float: right;
    width: 260px;
    margin: 0 0 1rem 1.5rem;
    background: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

/* Hide old labels */
.perapp-tirapp-index-label,
.perapp-tirapp-index-number {
    display: none;
}

/* Table structure */
.perapp-tirapp-details {
    padding: 0;
    margin: 0;
}

/* Simple table rows */
.perapp-tirapp-detail-row {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    font-size: 12px;
    border-bottom: 1px dotted #e0e0e0;
}

.perapp-tirapp-detail-row:last-child {
    border-bottom: none;
}

/* First row - header */
.perapp-tirapp-detail-row:first-child {
    background: #f8f9fa;
    border-bottom: 1px solid #ddd;
}

.perapp-tirapp-detail-row:first-child span:first-child {
    font-weight: 500;
    color: #495057;
}

.perapp-tirapp-detail-row:first-child span:last-child {
    font-weight: 600;
    color: #212529;
}

/* Other rows - plain text + numbers */
.perapp-tirapp-detail-row span:first-child {
    color: #6c757d;
}

.perapp-tirapp-detail-row span:last-child {
    color: #495057;
    font-weight: 500;
}

/* Mobile - stack on top */
@media (max-width: 768px) {
    .perapp-tirapp-index {
        float: none;
        width: 100%;
        margin: 0 0 1rem 0;
    }
}





/* ============================================
   PERAPP CVRAPP
   ============================================ */

#cvrapp .perapp-data-row td {
    font-size: 13px;
    line-height: 1.6;
}

#cvrapp .perapp-data-row td del {
    color: #999;
}

/* ============================================
   PERAPP Mobile
   ============================================ */

@media (max-width: 768px) {
    .perapp-table-container {
        overflow-x: auto;
    }
    
    .perapp-table th,
    .perapp-table td {
        font-size: 11px;
        padding: 5px 2px;
    }
    
    .perapp-tirapp-index {
        float: none;
        width: 100%;
        margin: 0 0 1rem 0;
    }
}

/* ============================================
   RAPP.PHP
   ============================================ */

.app-card {
    transition: all 0.3s ease;
    cursor: pointer;
    border: 2px solid transparent;
    height: 100%;
}

.app-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
    border-color: #1a1a1a;
}

.app-card .card-body {
    padding: 2rem;
}

/* ============================================
   BASELINE COMPONENTS
   ============================================ */

.card {
  border-radius: 12px;
}

.card-header {
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}

.tooltip-inner { 
    line-height: 1.0;
    opacity: 1 !important; 
    filter: alpha(opacity=100);
}

.error-container {
    position: absolute;
    bottom: 0;
    right: 20px;
}

.toast.toaster:not(.show) {
    display: block !important;
}

.toast-container {
    display: flex;    
    flex-direction: column;
    gap: 0.3rem;
    position: fixed;
    z-index: 11000;
}

.spinner-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 12000;
    justify-content: center;
    align-items: center;
}

.spinner-overlay.active {
    display: flex;
}




/* Table-responsive: kun horizontal scroll */
.table-responsive {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
}

/* PERAPP Sticky headers - med vendor prefix */
.perapp-sticky-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: #fafafa !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.perapp-sticky-header th {
    background: #fafafa !important;
}

/* Accordion sticky headers */
table.accordion tr.accordion-header-row th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: #fafafa !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.accordion-container {
    width: 100%;
    overflow: visible;
}

@media (max-width: 768px) {
    .accordion-container {
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
    }
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
    .app-main {
        padding-left: 16px;
        padding-right: 16px;
        margin-right: 56px;
    }
    
    .app-main > .app-container {
        padding: 1.5rem;
    }
    
    .company-focus-bar-inner {
        padding: 0 1rem;
        padding-right: calc(1rem + 64px);
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    .company-focus-date {
        margin-left: 0;
        width: 100%;
    }
    
    .date-input-wrapper .date-input {
        flex: 1;
        width: auto;
    }
    
    .search-page .input-group-lg .form-control {
        font-size: 14px;
        height: 48px;
    }
    
    .search-page .input-group-lg .form-control::placeholder {
        font-size: 13px;
    }
    
    .app-header .fw-semibold {
        font-size: 14px;
    }
    
    .app-header .text-muted {
        font-size: 13px;
    }
}