:root {
            --scot-blue: #005eb8;
            --scot-navy: #0f172a;
            --scot-light-blue: #e0f2fe;
            --bg-main: #f1f5f9;
            --card-bg: #ffffff;
            --primary: #005eb8;
            --primary-hover: #00478a;
            --text-main: #0f172a;
            --text-muted: #64748b;
            --border-color: #cbd5e1;
            --success-bg: #dcfce7;
            --success-text: #15803d;
            --warning-bg: #fef9c3;
            --warning-text: #a16207;
            --danger-bg: #fee2e2;
            --danger-text: #b91c1c;
            --radius: 12px;
            --shadow: 0 4px 6px -1px rgba(0,0,0,0.06), 0 2px 4px -2px rgba(0,0,0,0.04);
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            font-family: 'Inter', system-ui, -apple-system, sans-serif;
        }

        body {
            background-color: var(--bg-main);
            color: var(--text-main);
            line-height: 1.5;
            padding: 24px 16px;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
        }

        header {
            text-align: center;
            margin-bottom: 28px;
            position: relative;
        }

        .header-brand {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }

        .header-logo {
            flex: 0 0 48px;
            width: 48px;
            height: 48px;
            object-fit: contain;
            border-radius: 12px;
        }

        .header-copy {
            min-width: 0;
            text-align: left;
        }

        @media (max-width: 575px) {
            .header-brand {
                gap: 8px;
            }

            .header-logo {
                flex-basis: 40px;
                width: 40px;
                height: 40px;
            }

            header h1 {
                font-size: clamp(1.35rem, 5vw, 1.8rem);
            }
        }

        .scotland-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--scot-blue);
            color: #ffffff;
            font-size: 0.8rem;
            font-weight: 700;
            padding: 4px 12px;
            border-radius: 20px;
            margin-bottom: 12px;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        header h1 {
            font-size: 2.25rem;
            font-weight: 800;
            color: var(--scot-navy);
            letter-spacing: -0.025em;
        }

        header p {
            color: var(--text-muted);
            margin-top: 6px;
            font-size: 1.05rem;
        }

        .grid-layout {
            display: grid;
            grid-template-columns: 1fr;
            gap: 24px;
        }

        @media (min-width: 992px) {
            .grid-layout {
                grid-template-columns: 1.15fr 0.85fr;
            }
        }

        .card {
            background: var(--card-bg);
            border-radius: var(--radius);
            padding: 24px;
            box-shadow: var(--shadow);
            border: 1px solid var(--border-color);
            margin-bottom: 24px;
        }

        .card-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 18px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--scot-light-blue);
        }

        .card-title {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--scot-navy);
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .form-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 16px;
        }

        @media (min-width: 576px) {
            .form-grid.two-col {
                grid-template-columns: 1fr 1fr;
            }
        }

        .form-group {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        label {
            font-size: 0.875rem;
            font-weight: 600;
            color: #334155;
        }

        .checkbox-group {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px 12px;
            background: #f8fafc;
            border: 1px dashed var(--border-color);
            border-radius: 8px;
            cursor: pointer;
            user-select: none;
        }

        .checkbox-group input[type="checkbox"] {
            width: 18px;
            height: 18px;
            accent-color: var(--scot-blue);
            cursor: pointer;
        }

        .checkbox-group label {
            cursor: pointer;
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--scot-navy);
        }

        .input-wrapper {
            position: relative;
            display: flex;
            align-items: center;
        }

        .input-prefix {
            position: absolute;
            left: 12px;
            color: var(--text-muted);
            font-weight: 600;
        }

        input[type="number"], select {
            width: 100%;
            padding: 10px 12px 10px 28px;
            border: 1px solid var(--border-color);
            border-radius: 8px;
            font-size: 0.95rem;
            outline: none;
            transition: all 0.2s ease;
            background-color: #f8fafc;
        }

        input[type="number"]:focus, select:focus {
            border-color: var(--primary);
            background-color: #fff;
            box-shadow: 0 0 0 3px rgba(0, 94, 184, 0.15);
        }

        select {
            padding-left: 12px;
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 12px center;
            background-size: 16px;
        }

        .toggle-group {
            display: flex;
            background: #e2e8f0;
            padding: 4px;
            border-radius: 8px;
            gap: 4px;
        }

        .toggle-btn {
            flex: 1;
            padding: 8px;
            border: none;
            background: transparent;
            font-weight: 600;
            font-size: 0.8rem;
            color: var(--text-muted);
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .toggle-btn.active {
            background: #fff;
            color: var(--scot-blue);
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .partner-container {
            display: none;
            animation: fadeIn 0.3s ease;
        }

        .partner-container.visible {
            display: flex;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-4px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .sticky-results {
            position: sticky;
            top: 24px;
        }

        .metric-card {
            background: #f8fafc;
            border: 1px solid var(--border-color);
            border-radius: 10px;
            padding: 16px;
            text-align: center;
        }

        .metric-label {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: var(--text-muted);
        }

        .metric-value {
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--scot-navy);
            margin-top: 4px;
        }

        .metric-sub {
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--scot-blue);
            margin-top: 2px;
        }

        .status-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 700;
            margin-top: 8px;
        }

        .status-badge.pass { background: var(--success-bg); color: var(--success-text); }
        .status-badge.warn { background: var(--warning-bg); color: var(--warning-text); }
        .status-badge.fail { background: var(--danger-bg); color: var(--danger-text); }

        .breakdown-list {
            list-style: none;
            margin-top: 12px;
        }

        .breakdown-item {
            display: flex;
            justify-content: space-between;
            padding: 10px 0;
            border-bottom: 1px dashed var(--border-color);
            font-size: 0.92rem;
        }

        .breakdown-item:last-child {
            border-bottom: none;
            font-weight: 700;
        }

        .chart-container {
            position: relative;
            height: 200px;
            margin-top: 16px;
        }

        footer {
            text-align: center;
            margin-top: 40px;
            color: var(--text-muted);
            font-size: 0.875rem;
        }

        footer strong {
            color: var(--scot-blue);
        }
		
		
		/* Tooltip Styles */
		.tooltip-container {
			position: relative;
			display: inline-block;
			cursor: help;
			margin-left: 6px;
			color: var(--scot-blue);
			font-weight: 700;
			font-size: 0.8rem;
			border: 1px solid var(--scot-blue);
			border-radius: 50%;
			width: 16px;
			height: 16px;
			text-align: center;
			line-height: 14px;
		}

		.tooltip-container .tooltip-text {
			visibility: hidden;
			width: 240px;
			background-color: var(--scot-navy);
			color: #fff;
			text-align: left;
			border-radius: 6px;
			padding: 8px 10px;
			position: absolute;
			z-index: 10;
			bottom: 125%;
			left: 50%;
			transform: translateX(-50%);
			opacity: 0;
			transition: opacity 0.2s ease;
			font-size: 0.75rem;
			font-weight: 400;
			line-height: 1.4;
			box-shadow: 0 4px 6px rgba(0,0,0,0.15);
		}

		.tooltip-container:hover .tooltip-text {
			visibility: visible;
			opacity: 1;
		}