:root, [data-theme="light"] {
      --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
      --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
      --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
      --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
      --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
      --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem;
      --color-bg:#f7f6f2; --color-surface:#f9f8f5; --color-surface-2:#fbfbf9; --color-surface-offset:#f3f0ec; --color-border:#d4d1ca; --color-divider:#dcd9d5;
      --color-text:#28251d; --color-text-muted:#66645f; --color-text-faint:#8d8a84; --color-text-inverse:#f9f8f4;
      --color-primary:#01696f; --color-primary-hover:#0c4e54; --color-success:#437a22; --color-warning:#d19900; --color-blue:#006494; --color-purple:#7a39bb;
      --radius-sm:.375rem; --radius-md:.5rem; --radius-lg:.75rem; --radius-xl:1rem;
      --shadow-sm:0 1px 2px oklch(0.2 0.01 80 / 0.06); --shadow-md:0 6px 16px oklch(0.2 0.01 80 / 0.08);
      --font-body:'Satoshi','Inter',sans-serif; --font-display:'Cabinet Grotesk','Inter',sans-serif;
    }
    [data-theme="dark"] {
      --color-bg:#171614; --color-surface:#1c1b19; --color-surface-2:#201f1d; --color-surface-offset:#1d1c1a; --color-border:#393836; --color-divider:#262523;
      --color-text:#cdccca; --color-text-muted:#a3a19d; --color-text-faint:#7f7d79; --color-text-inverse:#171614;
      --color-primary:#4f98a3; --color-primary-hover:#227f8b; --color-success:#6daa45; --color-warning:#e8af34; --color-blue:#5591c7; --color-purple:#a86fdf;
      --shadow-sm:0 1px 2px oklch(0 0 0 / 0.2); --shadow-md:0 6px 16px oklch(0 0 0 / 0.35);
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:var(--font-body);font-size:var(--text-base);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}
    a{color:var(--color-primary);text-decoration:none}
    a:hover{color:var(--color-primary-hover)}
    button,input,select{font:inherit}
    .shell{display:grid;grid-template-columns:320px 1fr;min-height:100vh}
    .sidebar{position:sticky;top:0;height:100vh;padding:var(--space-8);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-2));border-right:1px solid var(--color-border);overflow:auto}
    .brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}
    .logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--color-primary),var(--color-blue));display:grid;place-items:center;color:white;font-weight:700}
     .logo img{
        width: 39px;
        border-radius: 10px;
    }
    .brand h1{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1}
    .muted{color:var(--color-text-muted)}
    .tiny{font-size:var(--text-xs);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.08em}
    .theme-toggle{margin-left:auto;border:1px solid var(--color-border);background:var(--color-surface-offset);color:var(--color-text);border-radius:999px;width:44px;height:44px;cursor:pointer}
    .panel{background:var(--color-surface);border:1px solid color-mix(in oklab, var(--color-text) 10%, transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
    .overview{padding:var(--space-6);display:grid;gap:var(--space-4);margin-bottom:var(--space-6)}
    .progress-ring{height:10px;background:var(--color-surface-offset);border-radius:999px;overflow:hidden}
    .progress-ring > span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--color-primary),var(--color-blue));transition:width .25s ease}
    .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
    .stat{padding:var(--space-4);background:var(--color-surface-offset);border-radius:var(--radius-lg)}
    .stat strong{display:block;font-size:var(--text-lg);font-family:var(--font-display)}
    .nav-links{display:grid;gap:var(--space-2)}
    .nav-links a{padding:.7rem .85rem;border-radius:var(--radius-md);color:var(--color-text-muted)}
    .nav-links a:hover,.nav-links a.active{background:var(--color-surface-offset);color:var(--color-text)}
    .content{padding:var(--space-8);display:grid;gap:var(--space-6)}
    .hero{display:grid;grid-template-columns:1.3fr .9fr;gap:var(--space-6);align-items:stretch}
    .hero-card{padding:var(--space-8);background:linear-gradient(135deg,color-mix(in oklab,var(--color-primary) 8%, var(--color-surface)),var(--color-surface));border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}
    .hero-card h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.05;max-width:14ch;margin-bottom:var(--space-4)}
    .hero-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
    .kpi{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}
    .kpi .value{font-family:var(--font-display);font-size:var(--text-xl);line-height:1}
    .filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
    .filters input,.filters select{padding:.8rem .9rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);color:var(--color-text)}
    .weeks{display:grid;gap:var(--space-5)}
    .week-card{padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
    .week-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-4)}
    .week-header h3{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:.25rem}
    .pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:color-mix(in oklab, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}
    .week-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
    .chip{display:inline-flex;padding:.3rem .6rem;border-radius:999px;background:var(--color-surface-offset);font-size:var(--text-xs);color:var(--color-text-muted)}
    .cols{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-5)}
    .checklist,.labs,.objectives{display:grid;gap:var(--space-3)}
    .task{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:start;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid color-mix(in oklab, var(--color-text) 8%, transparent)}
    .task input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--color-primary)}
    .task small{display:block;color:var(--color-text-muted)}
    .task-time{font-size:var(--text-xs);color:var(--color-text-faint);white-space:nowrap}
    .labs a{display:block;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid color-mix(in oklab, var(--color-text) 8%, transparent)}
    .section-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);margin-bottom:var(--space-2)}
    .footer-note{padding:var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface-offset);color:var(--color-text-muted)}
    @media (max-width: 1080px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--color-border)}.hero,.cols{grid-template-columns:1fr}}
    @media (max-width: 720px){.content,.sidebar{padding:var(--space-5)}.hero-grid,.stats{grid-template-columns:1fr}.week-header{flex-direction:column}.filters{flex-direction:column;align-items:stretch}}