        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap');
        body { font-family: 'Inter', sans-serif; background-color: #f3f4f6; }

        /* Badges */
        .badge-z1  { background:#dbeafe; color:#1e40af; border:1px solid #bfdbfe; }
        .badge-z2  { background:#dcfce7; color:#166534; border:1px solid #bbf7d0; }
        .badge-z3  { background:#fef08a; color:#854d0e; border:1px solid #fde047; }
        .badge-z4  { background:#fee2e2; color:#991b1b; border:1px solid #fecaca; }
        .badge-gym { background:#f3e8ff; color:#6b21a8; border:1px solid #e9d5ff; }
        .badge-rest{ background:#f3f4f6; color:#374151; border:1px solid #d1d5db; }
        .badge-new { background:#ecfdf5; color:#065f46; border:1px solid #6ee7b7; }
        .badge-sim { background:#fff7ed; color:#9a3412; border:1px solid #fed7aa; }

        /* Range slider */
        .range-slider { -webkit-appearance:none; width:100%; height:8px; border-radius:5px; background:#e5e7eb; outline:none; }
        .range-slider::-webkit-slider-thumb { -webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:#2563eb; cursor:pointer; }

        /* Gauge */
        .gauge-container { width:100%; max-width:380px; margin:0 auto; position:relative; }
        .gauge { width:100%; height:0; padding-bottom:50%; position:relative; overflow:hidden; border-top-left-radius:200px; border-top-right-radius:200px; }
        .gauge-background { position:absolute; top:0; left:0; width:100%; height:200%; border-radius:50%;
            background: conic-gradient(from 270deg, #3b82f6 0% 25%, #b91c1c 25% 34%, #ef4444 34% 43%, #eab308 43% 52%, #6b7280 52% 59%, #10b981 59% 67%, #3b82f6 67% 100%); }
        .gauge-center { position:absolute; bottom:0; left:15%; width:70%; height:140%; background:#fff; border-radius:50%; z-index:10; }
        .gauge-needle { position:absolute; bottom:0; left:50%; width:4px; height:80%; background:#1f2937; transform-origin:bottom center; transform:translateX(-50%) rotate(-90deg); transition:transform 1s ease-out; z-index:20; border-top-left-radius:2px; border-top-right-radius:2px; }
        .gauge-needle::after { content:''; position:absolute; bottom:-6px; left:-4px; width:12px; height:12px; background:#1f2937; border-radius:50%; }

        /* GI Timeline */
        .gi-timeline { display:flex; align-items:flex-start; overflow-x:auto; padding:1rem 0; gap:0; }
        .gi-event { display:flex; flex-direction:column; align-items:center; min-width:90px; }
        .gi-dot { width:16px; height:16px; border-radius:50%; flex-shrink:0; z-index:2; }
        .gi-line { flex:1; height:3px; background:#d1d5db; }
        .gi-connector { display:flex; align-items:center; width:100%; }

        /* Progress bar */
        .prog-bar { height:10px; border-radius:5px; transition:width 1s ease; }

        /* Toggle */
        .toggle-checkbox:checked { right:0; border-color:#2563eb; }
        .toggle-checkbox:checked + .toggle-label { background-color:#2563eb; }

        /* Print */
        @media print {
            @page { size:A4 landscape; margin:8mm; }
            body, html { background:#fff !important; overflow:visible !important; }
            aside, .print-hide, button { display:none !important; }
            main { padding:0 !important; width:100% !important; }
            * { -webkit-print-color-adjust:exact !important; color-adjust:exact !important; }
            .tab-section { display:block !important; page-break-before:always; }
            .tab-section:first-child { page-break-before:avoid; }
            table { width:100% !important; table-layout:fixed !important; }
            tr { page-break-inside:avoid; }
            th { padding:2px !important; font-size:8px !important; }
            td { padding:1px !important; }
            span.badge-cell { font-size:8px !important; padding:1px 2px !important; }
            .print-page-break { page-break-before:always; }
            h2 { font-size:16px !important; }
            h3 { font-size:13px !important; }
            p, li { font-size:10px !important; }
        }