@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_650203{font-family:Playfair Display,Playfair Display Fallback}.__variable_650203{--font-playfair:"Playfair Display","Playfair Display Fallback"}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_c95b6f{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_c95b6f{--font-dm-sans:"DM Sans","DM Sans Fallback"}:root{color-scheme:light;--ink:#0D1B2A;--ink-mid:#2E4057;--ink-soft:#5C7A8A;--teal:#0F6E56;--teal-mid:#1D9E75;--teal-light:#E1F5EE;--teal-pale:#F0FAF5;--warm:#F7F4EF;--white:#FFFFFF;--line:rgba(13,27,42,0.10);--line-soft:rgba(13,27,42,0.06);--state-error:#C0392B;--state-error-bg:#FFF4F4;--state-success:#1D9E75;--state-warning:#D4860B;--state-info:#2E6DA4;--success:var(--state-success);--warning:var(--state-warning);--error:var(--state-error);--info:var(--state-info);--shadow-sm:0 1px 2px rgba(13,27,42,0.04);--shadow-md:0 4px 12px rgba(13,27,42,0.06);--shadow-lg:0 12px 40px rgba(13,27,42,0.07);--shadow-xl:0 24px 48px rgba(13,27,42,0.10);--shadow-glow-brand:0 0 0 3px rgba(29,158,117,0.12);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-body:var(--font-dm-sans),"DM Sans",system-ui,sans-serif;--surface-0:var(--warm);--surface-1:var(--white);--surface-2:var(--line-soft);--surface-3:var(--line);--surface-4:rgba(13,27,42,0.14);--ink-primary:var(--ink);--ink-secondary:var(--ink-mid);--ink-tertiary:var(--ink-soft);--ink-quaternary:rgba(92,122,138,0.6);--brand-50:var(--teal-pale);--brand-100:var(--teal-light);--brand-200:#b2e6d4;--brand-300:#7dd4b8;--brand-400:#4dbf9a;--brand-500:var(--teal-mid);--brand-600:var(--teal-mid);--brand-700:var(--teal);--brand-800:#0a4d3b;--brand-900:#063b2c;--accent-500:var(--state-warning);--accent-600:#b8720a;--bg:var(--warm);--bg-ink:var(--ink);--bg-accent:var(--line-soft);--card:var(--white);--card-ink:var(--ink);--muted:var(--ink-soft);--brand:var(--teal-mid);--brand-strong:var(--teal);--brand-glow:rgba(29,158,117,0.15);--accent:var(--state-warning);--accent-soft:rgba(212,134,11,0.14);--shadow:var(--shadow-xl);--radius:var(--radius-xl)}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:var(--font-body);background:var(--warm);color:var(--ink);min-height:100%;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}.page{min-height:100vh;position:relative;overflow:hidden;background:var(--warm)}.container{width:100%;max-width:1280px;margin:0 auto;padding-left:16px;padding-right:16px}@media (min-width:640px){.container{padding-left:24px;padding-right:24px}}@media (min-width:1024px){.container{padding-left:32px;padding-right:32px}}.text-hero{font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;letter-spacing:-.01em}@media (min-width:1280px){.text-hero{font-size:clamp(3rem,4.5vw,4.5rem)}}.text-h1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.01em}.text-h1,.text-h2{font-family:Playfair Display,Georgia,serif;font-weight:400}.text-h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;letter-spacing:-.005em}.text-h3{font-size:1.5rem;line-height:1.3}.text-h3,.text-h4{font-family:Playfair Display,Georgia,serif;font-weight:400}.text-h4{font-size:1.25rem;line-height:1.35}.text-body-lg{font-size:1.125rem}.text-body,.text-body-lg{font-family:DM Sans,system-ui,sans-serif;line-height:1.6}.text-body{font-size:1rem}.text-body-sm{font-size:.875rem}.text-body-sm,.text-meta{font-family:DM Sans,system-ui,sans-serif;line-height:1.5}.text-meta{font-size:.75rem;color:var(--ink-soft)}.text-caption{text-transform:uppercase;letter-spacing:.05em}.text-caption,.text-label{font-family:DM Sans,system-ui,sans-serif;font-size:.75rem;line-height:1.4;font-weight:500}.text-muted{color:var(--ink-soft)}.section-tag{font-family:DM Sans,system-ui,sans-serif;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;display:block}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(1,1fr)}@media (min-width:640px){.grid-2,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:24px}.gap-6{gap:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-weight:500;font-size:.95rem;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease;background:none;color:inherit;white-space:nowrap;font-family:DM Sans,system-ui,sans-serif}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--teal-mid);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--teal);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--white);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--warm);border-color:rgba(13,27,42,.16)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-mid)}.btn-ghost:hover:not(:disabled){border-color:var(--teal-mid);color:var(--teal-mid)}.btn-danger{background:var(--state-error);color:#fff}.btn-danger:hover:not(:disabled){background:#a93224}.btn-sm{padding:6px 14px;font-size:.875rem}.btn-lg{padding:14px 28px;font-size:1rem}.input,.select,.textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:.5px solid var(--line);background:var(--white);font-size:.95rem;line-height:1.4;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease;font-family:DM Sans,system-ui,sans-serif}.input::placeholder,.textarea::placeholder{color:var(--ink-soft);opacity:.7}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--teal-mid);box-shadow:0 0 0 3px rgba(29,158,117,.12)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--warm);color:var(--ink-soft);cursor:not-allowed}.textarea{min-height:120px;resize:vertical}.input-error{border-color:var(--state-error)}.input-error:focus{box-shadow:0 0 0 3px rgba(192,57,43,.12)}.form-label{display:block;font-family:DM Sans,system-ui,sans-serif;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mid);margin-bottom:6px}.form-label-row{gap:8px}.form-label-icon,.form-label-row{display:inline-flex;align-items:center}.form-label-icon{color:var(--ink-quaternary)}.form-helper{font-size:.6875rem;line-height:1.5;color:var(--ink-soft);margin-top:6px}.form-error{font-size:.875rem;color:var(--state-error);margin-top:6px;display:flex;align-items:center;gap:6px}.card{background:var(--white);border-radius:12px;padding:24px;border:.5px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.card-interactive:hover,.card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(13,27,42,.07)}.card-interactive:hover{cursor:pointer}.card-highlighted{border-left:3px solid var(--teal-mid);background:var(--teal-pale)}.card-compact{padding:16px;border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;line-height:1;font-family:DM Sans,system-ui,sans-serif}.badge-neutral{background:var(--line-soft);color:var(--ink-mid)}.badge-brand,.badge-success{background:var(--teal-light);color:var(--teal)}.badge-warning{background:#fef3c7;color:#92400e}.badge-error{background:var(--state-error-bg);color:var(--state-error)}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--teal-light);color:var(--teal);font-weight:600;font-size:.85rem;font-family:DM Sans,system-ui,sans-serif}.pill,.progress{border-radius:var(--radius-full)}.progress{height:8px;background:var(--line);overflow:hidden}.progress-fill{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-mid));border-radius:var(--radius-full);transition:width .6s cubic-bezier(.4,0,.2,1)}.panel{background:var(--white);border-radius:var(--radius-lg);padding:24px;border:.5px solid var(--line);box-shadow:var(--shadow-md)}.list{display:grid;grid-gap:12px;gap:12px}.list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border-radius:var(--radius-md);background:var(--warm);border:.5px solid var(--line)}.app-shell{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px;padding-bottom:40px}@media (min-width:1024px){.app-shell{grid-template-columns:260px 1fr;gap:32px}}.sidebar{background:var(--white);border-radius:var(--radius-lg);padding:20px;height:-moz-fit-content;height:fit-content;border:.5px solid var(--line);position:-webkit-sticky;position:sticky;top:80px}.sidebar a{display:block;padding:8px 0;color:var(--ink-soft);font-weight:500;font-size:.875rem;transition:color .15s ease}.sidebar a:hover{color:var(--ink)}.sidebar a.active{color:var(--teal-mid)}.nav{justify-content:space-between;padding:16px 0;gap:16px}.brand,.nav{display:flex;align-items:center}.brand{font-weight:400;font-size:1.25rem;letter-spacing:-.01em;color:var(--ink);font-family:Playfair Display,Georgia,serif}.hero{display:grid;grid-template-columns:1fr;grid-gap:40px;gap:40px;padding:40px 0 60px}@media (min-width:768px){.hero{grid-template-columns:1fr 1fr;padding:60px 0 80px}}.hero-card{background:var(--white);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-lg);border:.5px solid var(--line)}.footer{padding:40px 0 60px;color:var(--ink-soft);font-size:.9rem;border-top:1px solid var(--line);margin-top:40px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton,.skeleton-text{background:var(--line);border-radius:var(--radius-sm);animation:skeleton-pulse 2s ease-in-out infinite}.skeleton-text{height:1em}.skeleton-circle{border-radius:var(--radius-full);background:var(--line);animation:skeleton-pulse 2s ease-in-out infinite}.toast-container{position:fixed;top:20px;right:20px;z-index:100;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;background:var(--white);border:.5px solid var(--line);border-radius:var(--radius-md);padding:14px 18px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;font-size:.9rem;max-width:380px;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.toast-success{border-left:3px solid var(--state-success)}.toast-error{border-left:3px solid var(--state-error)}.toast-warning{border-left:3px solid var(--state-warning)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px;gap:16px}.empty-state-icon{width:120px;height:120px;color:var(--ink-soft);opacity:.5;margin-bottom:8px}.top-nav{position:fixed;top:0;z-index:50;width:100%;background:rgba(247,244,239,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.top-nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}.top-nav-tabs{display:none;align-items:center;gap:4px}@media (min-width:768px){.top-nav-tabs{display:flex}}.top-nav-tab{padding:8px 16px;border-radius:var(--radius-md);font-weight:400;font-size:.9rem;color:var(--ink-soft);transition:background .15s,color .15s;font-family:DM Sans,system-ui,sans-serif}.top-nav-tab:hover{background:var(--teal-pale);color:var(--ink)}.top-nav-tab.active{background:var(--teal-light);color:var(--teal)}.top-nav-actions{display:flex;align-items:center;gap:12px}.menu-item:hover{background:var(--teal-pale)}.menu-item-danger:hover{background:var(--state-error-bg)}.avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--teal-light);color:var(--teal);display:grid;place-items:center;font-weight:600;font-size:.875rem;cursor:pointer;border:2px solid var(--line);transition:border-color .15s}.avatar:hover{border-color:var(--teal-mid)}.contextual-sidebar{display:none}@media (min-width:1024px){.contextual-sidebar{display:block;width:240px;flex-shrink:0}}.contextual-sidebar-inner{position:-webkit-sticky;position:sticky;top:88px;background:var(--white);border-radius:var(--radius-lg);border:.5px solid var(--line);padding:20px;box-shadow:var(--shadow-sm)}.contextual-sidebar-title{font-family:DM Sans,system-ui,sans-serif;font-weight:500;font-size:.875rem;color:var(--ink);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contextual-sidebar-meta{font-size:.75rem;color:var(--ink-soft);margin-bottom:16px}.contextual-sidebar-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:400;color:var(--ink-soft);transition:background .15s,color .15s}.contextual-sidebar-link:hover{background:var(--teal-pale);color:var(--ink)}.contextual-sidebar-link.active{background:var(--teal-light);color:var(--teal)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;height:56px}@media (min-width:768px){.bottom-nav{display:none}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1 1;height:100%;color:var(--ink-soft);font-size:.7rem;font-weight:500;transition:color .15s}.bottom-nav-item.active{color:var(--teal-mid)}.app-layout{padding-top:88px;padding-bottom:40px}@media (max-width:767px){.app-layout{padding-top:72px;padding-bottom:72px}}@media (min-width:1280px){.container-with-sidebar{max-width:1440px}}@media (min-width:1536px){.container-with-sidebar{max-width:1600px}}.layout-sidebar-gap{gap:16px}@media (min-width:1024px){.layout-sidebar-gap{gap:24px}}@media (min-width:1536px){.layout-sidebar-gap{gap:32px}}.app-grid{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}@media (min-width:1024px){.app-grid{grid-template-columns:240px 1fr;gap:32px}}@media (min-width:1536px){.app-grid{grid-template-columns:260px 1fr;gap:48px}}.itinerary-grid{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}.tutor-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);grid-gap:24px;gap:24px;max-width:1200px;margin:0 auto}.tutor-message{max-width:80ch}.tutor-table-wrapper{overflow-x:auto;max-width:100%}.tutor-table-wrapper table{width:100%;min-width:auto}.font-playfair{font-family:Playfair Display,Georgia,serif}.font-dm{font-family:DM Sans,system-ui,sans-serif}.main-content{padding-bottom:80px}@media (min-width:768px){.main-content{padding-bottom:40px}}.page-header{margin-bottom:32px}.page-header h1{margin-bottom:8px}.page-header p{color:var(--ink-soft)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in{animation:fade-in .3s ease}.animate-slide-up{animation:slide-up .4s ease}.animate-spin{animation:spin 1s linear infinite}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.text-center{text-align:center}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.relative{position:relative}.overflow-hidden{overflow:hidden}.hidden{display:none}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}:focus-visible{outline:2px solid var(--teal-mid);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card.dashboard-card{box-shadow:0 2px 6px rgba(13,27,42,.05),0 8px 24px rgba(13,27,42,.04)}.card.dashboard-card:hover{box-shadow:0 6px 16px rgba(13,27,42,.07),0 20px 48px rgba(13,27,42,.05)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--warm);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:rgba(13,27,42,.18);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:rgba(13,27,42,.28)}