
        :root {
            --sg-cream: #E8E8E6;
            --sg-white: #F5F5F3;
            --sg-light: #DCDCDA;
            --sg-mid: #CCCCCA;
            --sg-dark: #333333;
            --sg-black: #222222;
            --sg-orange: #F04E23;
            --sg-orange-dark: #D4421D;
            --sg-success: #4A7C59;
            --sg-error: #C44536;
            --sg-shadow-raised: 0 3px 12px rgba(0,0,0,0.10);
            --sg-shadow-raised-sm: 0 2px 8px rgba(0,0,0,0.08);
            --sg-shadow-inset: inset 0 2px 4px rgba(0,0,0,0.07);
        }

        /* Dark mode */
        [data-theme="dark"] {
            --sg-cream: #1e1e1e;
            --sg-white: #333333;
            --sg-light: #444444;
            --sg-mid: #5a5a5a;
            --sg-dark: #e0e0e0;
            --sg-black: #ffffff;
            --sg-shadow-raised: 4px 4px 0 rgba(0,0,0,0.4);
            --sg-shadow-raised-sm: 3px 3px 0 rgba(0,0,0,0.3);
            --sg-shadow-inset: inset 2px 2px 4px rgba(0,0,0,0.2);
        }

        [data-theme="dark"] .footer {
            background: #111111;
            color: #888888;
        }

        [data-theme="dark"] .term:hover::after,
        [data-theme="dark"] .term.active::after {
            background: #111111;
            color: #ffffff;
        }

        [data-theme="dark"] a {
            color: var(--sg-orange);
        }

        [data-theme="dark"] .breadcrumb-item {
            color: rgba(255,255,255,0.6) !important;
        }

        [data-theme="dark"] .breadcrumb-item:hover {
            color: rgba(255,255,255,0.9) !important;
        }

        [data-theme="dark"] a:visited {
            color: #f07a56;
        }

        [data-theme="dark"] .tag,
        [data-theme="dark"] .tag:visited {
            color: #FFFFFF;
        }

        [data-theme="dark"] .tree-option,
        [data-theme="dark"] .article-card,
        [data-theme="dark"] .back-btn {
            background: var(--sg-white);
        }

        [data-theme="dark"] body {
            background: #1a1a1a !important;
            color: var(--sg-dark) !important;
        }

        [data-theme="dark"] .main {
            background: #1a1a1a !important;
        }

        [data-theme="dark"] nav {
            background: #111111 !important;
            border-color: #333 !important;
        }

        [data-theme="dark"] nav a,
        [data-theme="dark"] nav .nav-links a {
            color: rgba(255,255,255,0.8) !important;
        }

        [data-theme="dark"] nav .btn-primary {
            background: var(--sg-orange) !important;
            color: white !important;
        }

        [data-theme="dark"] .tree-question {
            color: rgba(255,255,255,0.9) !important;
        }

        [data-theme="dark"] .search-box {
            background: #2a2a2a !important;
            border-color: #555 !important;
            box-shadow: 4px 4px 0 #555 !important;
            color: rgba(255,255,255,0.85) !important;
        }

        [data-theme="dark"] .search-box::placeholder {
            color: rgba(255,255,255,0.35) !important;
        }

        [data-theme="dark"] .nav-login {
            background: #2a2a2a !important;
            border-color: #555 !important;
            color: rgba(255,255,255,0.85) !important;
            box-shadow: none !important;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
            background: var(--sg-cream);
            min-height: 100vh;
            color: var(--sg-dark);
            line-height: 1.6;
            font-size: 16px;
        }

        /* Header */
        .header {
            background: var(--sg-cream);
            padding: 18px 24px;
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid var(--sg-light);
        }

        .header-inner {
            max-width: 800px;
            padding: 0 24px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 24px;
        }

        .logo {
            font-size: 22px;
            font-weight: 700;
            color: var(--sg-black);
            text-decoration: none;
        }
        .logo-smarter { color: var(--sg-orange); }
        .logo-germany { color: var(--sg-black); }
        [data-theme="dark"] .logo-germany { color: #fff; }

        .search-container {
            flex: 1;
            max-width: 360px;
            position: relative;
        }

        .search-box {
            width: 100%;
            padding: 12px 18px;
            border: 2px solid var(--pencil, #333);
            border-radius: 0;
            background: white;
            box-shadow: 4px 4px 0 var(--pencil, #333);
            font-family: inherit;
            font-size: 16px;
            color: var(--sg-dark);
            outline: none;
        }

        .search-box::placeholder { color: #555; opacity: 1; }
        .search-box:focus { background: var(--sg-white); }

        /* Main */
        .main {
            max-width: 860px;
            margin: 0 auto;
            padding: 40px 5%;
            background: var(--paper-white, #F9F7F2);
            min-height: calc(100vh - 130px);
        }

        /* Breadcrumb */
        .breadcrumb {
            position: static !important;
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 24px;
            font-size: 15px;
            background: transparent;
            border: none;
            padding: 0;
            z-index: auto;
        }

        .breadcrumb-item {
            color: var(--sg-dark);
            text-decoration: none;
            opacity: 0.6;
        }

        .breadcrumb-item:hover { opacity: 1; color: var(--sg-orange); }
        .breadcrumb-sep { opacity: 0.3; }
        .breadcrumb-current { font-weight: 600; opacity: 1; }

        /* Decision Tree */
        .tree-section { margin-bottom: 40px; }

        .tree-question {
            font-size: clamp(1.6rem, 4vw, 2.5rem);
            font-weight: 900;
            color: var(--pencil, #333);
            margin-bottom: 0;
            line-height: 0.9;
            text-transform: uppercase;
            letter-spacing: -1px;
        }

        .tree-options {
            margin-top: 40px;
            display: grid;
            gap: 16px;
        }

        .tree-option {
            background: white;
            border: 1.5px solid #555;
            border-radius: 3px;
            padding: 20px 24px;
            box-shadow: 3px 3px 0 #999;
            cursor: pointer;
            transition: box-shadow 0.1s, transform 0.1s;
            text-decoration: none;
            color: inherit;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .tree-option:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 #777; }

        .tree-option-label {
            font-size: 18px;
            font-weight: 600;
            color: var(--sg-black);
        }

        .tree-option-arrow {
            font-size: 20px;
            font-weight: 900;
            color: var(--orange, #F04E23);
            opacity: 0.6;
        }

        .tree-option:hover .tree-option-arrow { opacity: 1; }

        /* Removed orange border from tree options */

        /* Section Headers */
        .section-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }

        .section-title {
            font-size: 22px;
            font-weight: 700;
            color: var(--sg-black);
        }

        .section-subtitle {
            font-size: 15px;
            color: var(--sg-dark);
            opacity: 0.5;
        }

        /* Article Grid */
        .article-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 40px;
        }

        .article-card {
            background: var(--sg-white);
            border-radius: 0;
            border: 1.5px solid var(--sg-light);
            box-shadow: var(--sg-shadow-raised-sm);
            overflow: hidden;
            cursor: pointer;
            transition: all 0.15s ease;
            text-decoration: none;
            color: inherit;
        }

        .article-card:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 rgba(0,0,0,0.13); }

        .article-card-content { padding: 20px; }

        .article-card-category {
            display: inline-block;
            padding: 3px 8px;
            background: var(--sg-light);
            border-radius: 0;
            border: 1px solid var(--sg-mid);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.8px;
            color: var(--sg-dark);
            margin-bottom: 10px;
        }

        .article-card-title {
            font-size: 18px;
            font-weight: 700;
            color: var(--sg-black);
            margin-bottom: 8px;
        }

        .article-card-summary {
            font-size: 15px;
            color: var(--sg-dark);
            opacity: 0.7;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .article-card.visited .article-card-category {
            color: var(--sg-success);
        }

        /* Detail View */
        .detail-view { display: none; }
        .detail-view.active { display: block; }

        .back-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 18px;
            background: var(--sg-cream);
            border: 1.5px solid var(--sg-mid);
            border-radius: 0;
            box-shadow: var(--sg-shadow-raised-sm);
            font-family: inherit;
            font-size: 15px;
            font-weight: 600;
            color: var(--sg-dark);
            cursor: pointer;
            margin-bottom: 24px;
        }

        .back-btn:hover { background: var(--sg-light); }

        .detail-header {
            background: var(--sg-cream);
            border-radius: 0;
            box-shadow: var(--sg-shadow-raised);
            padding: 28px;
            margin-bottom: 24px;
        }

        .detail-category {
            display: inline-block;
            padding: 4px 10px;
            background: var(--sg-orange);
            color: white;
            border-radius: 0;
            font-size: 13px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 14px;
        }

        .detail-title {
            font-size: 32px;
            font-weight: 700;
            color: var(--sg-black);
            margin-bottom: 12px;
            line-height: 1.2;
        }

        .detail-summary {
            font-size: 18px;
            color: var(--sg-dark);
            line-height: 1.5;
        }

        /* Content Sections */
        .content-section {
            background: var(--sg-white);
            border-radius: 0;
            box-shadow: var(--sg-shadow-raised-sm);
            padding: 24px;
            margin-bottom: 20px;
        }

        .content-section-title {
            font-size: 14px;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--sg-dark);
            opacity: 0.5;
            margin-bottom: 16px;
        }

        .content-section p {
            margin-bottom: 16px;
            font-size: 18px;
            line-height: 1.7;
        }
        .content-section p:last-child { margin-bottom: 0; }
        .content-section ul { margin-left: 24px; }
        .content-section li { margin-bottom: 10px; font-size: 17px; line-height: 1.6; }


        .steps-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .steps-list li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 8px;
            padding: 8px 0;
            font-size: 16px;
            line-height: 1.5;
            border-bottom: 1px solid var(--sg-light);
        }

        .steps-list li:last-child {
            border-bottom: none;
            margin-bottom: 0;
        }

        .step-checkbox {
            min-width: 26px;
            height: 26px;
            border: 2px solid var(--sg-mid);
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: all 0.2s ease;
            background: var(--sg-white);
        }

        .step-checkbox:hover {
            border-color: var(--sg-success);
        }

        .step-checkbox.checked {
            background: var(--sg-success);
            border-color: var(--sg-success);
        }

        .step-checkbox.checked::after {
            content: '✓';
            color: white;
            font-size: 14px;
            font-weight: 700;
        }

        .step-number {
            min-width: 26px;
            height: 26px;
            background: var(--sg-orange);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            font-weight: 700;
            flex-shrink: 0;
        }

        .step-content {
            flex: 1;
        }

        .step-content a {
            color: var(--sg-orange);
            text-decoration: none;
        }

        .step-content a:hover {
            text-decoration: underline;
        }

        /* Tooltips for German terms */
        .term {
            border-bottom: 1px dotted var(--sg-dark);
            cursor: help;
            position: relative;
        }
        .subtitle { opacity: 0.6; display: block; font-size: 0.7em; margin-top: 4px; }

        .term:hover::after,
        .term.active::after {
            content: attr(data-tip);
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: var(--sg-dark);
            color: white;
            padding: 6px 10px;
            border-radius: 0;
            font-size: 13px;
            white-space: nowrap;
            z-index: 10;
            margin-bottom: 4px;
        }

        @media (max-width: 600px) {
            .term:hover::after,
            .term.active::after {
                left: 0;
                transform: none;
                white-space: normal;
                max-width: 200px;
            }
        }


        /* Tabs */
        .tabs {
            display: flex;
            gap: 4px;
            flex-wrap: wrap;
        }

        .tab {
            padding: 12px 20px;
            background: var(--sg-light);
            border: none;
            border-radius: 10px 10px 0 0;
            cursor: pointer;
            font-family: inherit;
            font-size: 15px;
            font-weight: 600;
            color: var(--sg-dark);
            transition: all 0.15s ease;
        }

        .tab:hover {
            background: var(--sg-mid);
        }

        .tab.active {
            background: var(--sg-white);
            color: var(--sg-orange);
        }

        .tab-content {
            background: var(--sg-white);
            border-radius: 0 10px 10px 10px;
            padding: 24px;
        }

        .tab-panel {
            display: none;
        }

        .tab-panel.active {
            display: block;
        }

        .tab-content ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .tab-content li {
            padding: 12px;
            margin-bottom: 2px;
            font-size: 16px;
            line-height: 1.5;
            background: var(--sg-white);
            border-radius: 0;
            border-bottom: 1px solid var(--sg-light);
        }

        .tab-content li:last-child {
            border-bottom: none;
        }

        .tab-content li a {
            color: var(--sg-orange);
            text-decoration: none;
        }

        .tab-content li a:hover {
            text-decoration: underline;
        }

        /* Links in tab */
        .tab-link {
            display: block;
            padding: 12px 0;
            color: var(--sg-orange);
            text-decoration: none;
            border-bottom: 1px solid var(--sg-light);
        }

        .tab-link:last-child {
            border-bottom: none;
        }

        .tab-link:hover {
            text-decoration: underline;
        }

        .tab-link-desc {
            font-size: 14px;
            color: var(--sg-dark);
            opacity: 0.7;
            margin-top: 2px;
        }

        /* Problems in tab */
        .problems-list {
            margin: 0;
            padding: 0;
        }

        .problem-item {
            border-bottom: 1px solid var(--sg-light);
        }

        .problem-item:last-child {
            border-bottom: none;
        }

        .problem-item summary {
            padding: 12px 0;
            cursor: pointer;
            font-weight: 500;
            list-style: none;
            display: grid;
            grid-template-columns: 1fr auto;
            align-items: start;
            gap: 12px;
        }

        .problem-item summary > span {
            display: inline;
        }

        .problem-item summary::-webkit-details-marker {
            display: none;
        }

        .problem-item summary::after {
            content: '+';
            color: var(--sg-orange);
            font-size: 18px;
        }

        .problem-item[open] summary::after {
            content: '−';
        }

        .problem-item[open] {
            background: var(--sg-cream);
            margin: 0 -16px;
            padding: 0 16px;
            border-radius: 0;
            border-bottom: none;
        }

        .problem-answer {
            padding: 0 0 12px 0;
            font-size: 15px;
            color: var(--sg-dark);
            opacity: 0.85;
            line-height: 1.6;
        }

        /* Paid Services styles */
        .services-intro {
            margin-bottom: 16px;
            color: var(--sg-dark);
            opacity: 0.85;
        }

        .service-item {
            display: block;
            padding: 12px 0;
            border-bottom: 1px solid var(--sg-light);
            text-decoration: none;
            color: inherit;
        }

        .service-item:last-child {
            border-bottom: none;
        }

        .service-item:hover .service-name {
            text-decoration: underline;
        }

        .service-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 2px;
        }

        .service-name {
            font-weight: 600;
            color: var(--sg-orange);
        }

        .service-price {
            font-weight: 500;
            color: var(--sg-dark);
            opacity: 0.7;
        }

        .service-desc {
            font-size: 14px;
            color: var(--sg-dark);
            opacity: 0.7;
        }

        .service-coverage {
            font-size: 12px;
            color: var(--sg-dark);
            opacity: 0.5;
            margin-top: 2px;
        }

        .free-tools-header {
            font-weight: 600;
            margin: 20px 0 8px 0;
            padding-top: 12px;
            border-top: 1px solid var(--sg-light);
            color: var(--sg-dark);
        }

        .services-note {
            margin-top: 16px;
            font-size: 14px;
            opacity: 0.7;
        }

        /* Electric Cars Tab - Text + Table Style */
        .ev-section details {
            border-bottom: 1px solid var(--sg-light);
        }
        .ev-section details:last-child {
            border-bottom: none;
        }
        .ev-section summary {
            padding: 16px 0;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            list-style: none;
            font-size: 16px;
        }
        .ev-section summary::-webkit-details-marker {
            display: none;
        }
        .ev-section summary::after {
            content: '+';
            font-size: 20px;
            color: var(--sg-orange);
            font-weight: 400;
        }
        .ev-section details[open] summary::after {
            content: '-';
        }
        .ev-section details[open] {
            background: var(--sg-cream);
            margin: 0 -16px;
            padding: 0 16px;
            border-radius: 0;
            border-bottom: none;
        }
        .ev-detail-content {
            padding: 0 0 16px 0;
        }
        .ev-text {
            font-size: 15px;
            line-height: 1.6;
            margin-bottom: 12px;
            color: var(--sg-dark);
        }
        .ev-table {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        .ev-table .fact-pill {
            background: var(--sg-light);
            padding: 10px 14px;
            border-radius: 0;
            font-size: 14px;
            display: flex;
            align-items: baseline;
        }
        .ev-table .fact-label {
            opacity: 0.7;
            margin-right: 10px;
        }
        .ev-table .fact-value {
            color: var(--sg-orange);
            font-weight: 600;
        }
        [data-theme="dark"] .ev-table .fact-pill {
            background: var(--sg-light);
        }

        /* US States styling */
        .state-category {
            background: var(--sg-light);
            border-radius: 0;
            padding: 12px 14px;
            margin-bottom: 10px;
        }
        .state-category:last-child {
            margin-bottom: 0;
        }
        [data-theme="dark"] .state-category {
            background: var(--sg-light);
        }
        .state-header {
            font-weight: 600;
            font-size: 14px;
            margin-bottom: 6px;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .state-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            flex-shrink: 0;
        }
        .state-dot.green { background: #4A7C59; }
        .state-dot.yellow { background: #D4A017; }
        .state-dot.red { background: #C44536; }
        .state-list {
            font-size: 13px;
            opacity: 0.8;
            line-height: 1.5;
        }

        /* Holiday by State */
        .nationwide-holidays {
            background: var(--sg-light);
            border-radius: 0;
            padding: 12px 14px;
            margin-bottom: 16px;
        }
        [data-theme="dark"] .nationwide-holidays { background: var(--sg-light); }
        .nationwide-holidays {
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid var(--sg-light);
        }
        .nationwide-header {
            font-weight: 600;
            font-size: 14px;
            margin-bottom: 8px;
        }
        .state-holiday-header {
            font-weight: 600;
            font-size: 14px;
            margin-bottom: 10px;
            opacity: 0.7;
        }
        .holiday-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }
        .holiday-pill {
            background: var(--sg-cream);
            border: 1px solid var(--sg-light);
            padding: 4px 10px 4px 8px;
            border-radius: 0;
            font-size: 12px;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }
        [data-theme="dark"] .holiday-pill { background: #2a2a2a; border-color: #444; }
        .date-badge {
            font-size: 10px;
            font-weight: 500;
            color: var(--sg-orange);
        }
        .state-row {
            display: grid;
            grid-template-columns: 160px 1fr;
            gap: 10px;
            align-items: center;
            padding: 10px 0;
            border-bottom: 1px solid var(--sg-light);
        }
        [data-theme="dark"] .state-row { border-color: var(--sg-light); }
        .state-row:last-child { border-bottom: none; }
        .state-name { font-weight: 500; font-size: 14px; }
        .state-extras { display: flex; flex-wrap: wrap; gap: 5px; }
        .no-extra { font-size: 12px; opacity: 0.5; font-style: italic; }

        /* Stille Feiertage (Silent Holidays) styling */
        .stille-content details { border-bottom: 1px solid var(--sg-light); }
        .stille-content details:last-child { border-bottom: none; }
        .stille-content summary {
            padding: 12px 0;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            list-style: none;
            font-size: 15px;
        }
        .stille-content summary::-webkit-details-marker { display: none; }
        .stille-content summary::after { content: '+'; font-size: 18px; color: var(--sg-orange); }
        .stille-content details[open] summary::after { content: '-'; }
        .stille-section { margin-bottom: 20px; }
        .stille-header {
            font-weight: 600;
            font-size: 14px;
            margin-bottom: 10px;
            color: var(--sg-dark);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            opacity: 0.7;
        }
        .stille-day {
            display: grid;
            grid-template-columns: 180px 70px 1fr;
            gap: 10px;
            align-items: center;
            padding: 8px 0;
            border-bottom: 1px solid var(--sg-light);
            font-size: 14px;
        }
        [data-theme="dark"] .stille-day { border-color: var(--sg-light); }
        .stille-day:last-child { border-bottom: none; }
        .stille-day.strictest {
            background: rgba(233, 79, 55, 0.08);
            margin: 0 -12px;
            padding: 10px 12px;
            border-radius: 0;
            border-bottom: none;
            margin-bottom: 4px;
        }
        .stille-name { font-weight: 500; }
        .stille-date {
            font-size: 12px;
            opacity: 0.6;
            font-weight: 500;
        }
        .stille-note {
            font-size: 13px;
            opacity: 0.7;
        }
        .stille-times {
            display: flex;
            flex-direction: column;
            gap: 6px;
            font-size: 14px;
        }
        @media (max-width: 600px) {
            .stille-day {
                grid-template-columns: 1fr;
                gap: 4px;
            }
            .stille-note { margin-top: 4px; }
        }

        /* Emergency Numbers styling */
        .emergency-numbers-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
            margin-bottom: 20px;
        }
        @media (max-width: 600px) {
            .emergency-numbers-grid {
                grid-template-columns: 1fr;
            }
        }
        .emergency-number-card {
            background: var(--sg-light);
            border-radius: 0;
            padding: 20px;
            text-align: center;
        }
        .emergency-number-card.emergency-main {
            background: var(--sg-orange);
            color: white;
        }
        [data-theme="dark"] .emergency-number-card {
            background: var(--sg-light);
        }
        [data-theme="dark"] .emergency-number-card.emergency-main {
            background: var(--sg-orange);
        }
        .emergency-number {
            font-size: 36px;
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 8px;
        }
        .emergency-number-card.emergency-main .emergency-number {
            font-size: 42px;
        }
        .emergency-label {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 4px;
        }
        .emergency-desc {
            font-size: 12px;
            opacity: 0.7;
        }
        .emergency-number-card.emergency-main .emergency-desc {
            opacity: 0.9;
        }
        .other-numbers {
            background: var(--sg-light);
            border-radius: 0;
            padding: 16px;
        }
        [data-theme="dark"] .other-numbers {
            background: var(--sg-light);
        }
        .other-numbers-title {
            font-size: 13px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            opacity: 0.6;
            margin-bottom: 12px;
        }
        .other-number-item {
            display: flex;
            justify-content: space-between;
            padding: 8px 0;
            border-bottom: 1px solid var(--sg-mid);
            font-size: 14px;
        }
        .other-number-item:last-child {
            border-bottom: none;
        }
        .other-number {
            font-weight: 600;
            color: var(--sg-orange);
        }
        .other-number-label {
            opacity: 0.7;
        }

        /* Emergency Phrases styling */
        .phrases-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }
        .phrase-item {
            background: var(--sg-light);
            border-radius: 0;
            padding: 12px 14px;
        }
        [data-theme="dark"] .phrase-item {
            background: var(--sg-light);
        }
        .phrase-german {
            font-weight: 600;
            font-size: 16px;
            margin-bottom: 4px;
        }
        .phrase-english {
            font-size: 14px;
            opacity: 0.7;
        }

        /* Provider list - compact */
        .provider-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }
        .provider-row {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .provider-btn {
            background: var(--sg-orange);
            color: white !important;
            padding: 6px 12px;
            border-radius: 0;
            text-decoration: none;
            font-weight: 700;
            flex-shrink: 0;
        }
        .provider-btn:hover { background: var(--sg-orange-dark); }
        .provider-info { display: flex; flex-direction: column; }
        .provider-name { font-weight: 600; font-size: 15px; }
        .provider-note { font-size: 13px; opacity: 0.7; }

        /* Fun fact box */
        .fun-fact-box {
            background: #FFCC80;
            border-radius: 0;
            padding: 16px 20px;
            margin-bottom: 20px;
            display: flex;
            gap: 14px;
            align-items: flex-start;
        }
        [data-theme="dark"] .fun-fact-box {
            background: linear-gradient(135deg, #3d2a1a 0%, #4a3520 100%);
        }
        .fun-fact-icon {
            width: 28px;
            height: 28px;
            background: var(--sg-orange);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 16px;
            flex-shrink: 0;
            font-style: italic;
            font-family: Georgia, serif;
        }
        .fun-fact-content {
            font-size: 14px;
            line-height: 1.5;
            color: var(--sg-black);
        }
        [data-theme="dark"] .fun-fact-content {
            color: var(--sg-dark);
        }

        #tabsSection {
            background: transparent;
            padding: 24px 0;
        }

        #relatedSection {
            background: transparent;
            padding: 24px 0;
        }

        .back-to-previous {
            padding: 20px 0;
            margin-top: 16px;
            border-top: 1px solid var(--sg-light);
        }
        .back-to-previous a {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--sg-mid);
            text-decoration: none;
            font-size: 14px;
            transition: color 0.15s;
        }
        .back-to-previous a:hover { color: var(--sg-orange); }
        .back-to-previous .back-arrow { font-size: 16px; }
        .back-to-previous #backToPreviousTitle {
            color: var(--sg-dark);
            font-weight: 500;
        }
        [data-theme="dark"] .back-to-previous #backToPreviousTitle { color: #fff; }

        /* Tags */
        .tags { display: flex; flex-wrap: wrap; gap: 10px; }

        .tag {
            padding: 8px 16px;
            background: var(--sg-orange);
            border: none;
            border-radius: 0;
            font-size: 14px;
            color: #FFFFFF;
            text-decoration: none;
            transition: all 0.15s ease;
            box-shadow: 0 3px 8px rgba(0,0,0,0.2);
        }

        .tag:hover { transform: translateY(-2px); background: var(--sg-orange-dark); box-shadow: 0 5px 12px rgba(0,0,0,0.25); }

        /* Footer */
        .footer {
            background: var(--sg-dark);
            color: var(--sg-light);
            padding: 36px 24px;
            margin-top: 48px;
            text-align: center;
        }

        .footer-text { font-size: 15px; opacity: 0.6; }

        /* Responsive */
        @media (max-width: 768px) {
            .header-inner { flex-direction: column; gap: 14px; }
            .search-container { width: 100%; max-width: none; }
            .tree-question { font-size: 24px; }
            .detail-title { font-size: 26px; }
            .article-grid { grid-template-columns: 1fr; }
            .tabs { gap: 2px; }
            .tab { padding: 10px 14px; font-size: 14px; }
            .tab-content { padding: 16px; }
        }

        /* Print styles */
        @media print {
            .header, .breadcrumb, .tabs, .footer { display: none !important; }
            .tab-panel { display: block !important; }
            .tab-content { box-shadow: none; border: 1px solid #ccc; }
            .detail-view { padding: 0; }
            .step-checkbox { display: none; }
        }

        .hidden { display: none !important; }

        /* Loading state */
        .loading-screen {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 300px;
            gap: 16px;
        }

        .loading-spinner {
            width: 40px;
            height: 40px;
            border: 4px solid var(--sg-light);
            border-top-color: var(--sg-orange);
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        .loading-text {
            color: var(--sg-dark);
            opacity: 0.6;
            font-size: 15px;
        }

        /* Dark mode toggle */
        .theme-toggle {
            position: absolute;
            right: 4px;
            top: 50%;
            transform: translateY(-50%);
            background: transparent;
            border: none;
            border-radius: 50%;
            width: 36px;
            height: 36px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            transition: background 0.2s;
        }
        .theme-toggle:hover { background: var(--sg-mid); }
    
        /* Dark mode - footer */
        [data-theme="dark"] footer { background: #111; }
        [data-theme="dark"] .welcome-toolbar { background: #1a1a1a; border-color: #555; }

        /* Persistent title + search row - always visible on dashboard */
        .tree-header-persistent {
            display: flex;
            align-items: center;
            gap: 24px;
            flex-wrap: wrap;
            margin-bottom: 40px;
        }
        .tree-header-persistent .tree-question {
            margin-bottom: 0;
            flex-shrink: 0;
        }
        .tree-header-persistent .tree-search {
            flex: 1;
            min-width: 200px;
            max-width: 360px;
        }
        /* Nav dark toggle brutalist */
        .nav-dark-toggle {
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            font-weight: 900;
        }
