/* EXO 3.1 — shared across every public page and authenticated workspace.
   Edit this source, then run node tools/sync-design-system.cjs. */
@font-face{font-family:"Exomind Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("fonts/Manrope-Variable.ttf") format("truetype")}
:root{--exo-bg:#f4f6f3;--exo-surface:#fff;--exo-ink:#17372d;--exo-muted:#64756c;--exo-primary:#245744;--exo-primary-hover:#193f31;--exo-accent:#d6edb0;--exo-soft:#edf3e9;--exo-border:#dce4dd;--exo-danger:#b13d32;--exo-danger-bg:#fff0ee;--exo-warning:#866014;--exo-warning-bg:#fff6dc;--exo-info:#3d665b;--exo-radius:12px;--exo-radius-sm:8px;--exo-radius-lg:18px;--exo-sidebar:248px;--exo-topbar:72px;--exo-shadow:0 8px 28px rgba(23,55,45,.05);--exo-font:"Exomind Sans",Manrope,system-ui,-apple-system,"Segoe UI",sans-serif}
body.exo-app,body.exo-site{font-family:var(--exo-font)!important;font-size:14px;font-weight:400;color:var(--exo-ink);background:var(--exo-bg);font-synthesis:none;-webkit-font-smoothing:antialiased}
.exo-app *,.exo-app *::before,.exo-app *::after{box-sizing:border-box}
.exo-app :where(h1,h2,h3,h4,h5,h6,button,input,select,textarea),.exo-site :where(h1,h2,h3,h4,h5,h6,button,input,select,textarea){font-family:var(--exo-font)!important}
.exo-app :where(h1,h2,h3,h4){color:var(--exo-ink);font-weight:700;letter-spacing:-.035em}
.exo-app h1{font-size:32px;line-height:1.2}.exo-app h2{font-size:21px;line-height:1.35}.exo-app h3{font-size:16px;line-height:1.4}
.exo-app :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible,.exo-site :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--exo-primary)!important;outline-offset:3px}
.exo-app :where(button,input,select,textarea){font-size:13px}.exo-app :where(button,a,summary){touch-action:manipulation}
.exo-app :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea){color:var(--exo-ink);border-color:var(--exo-border);border-radius:var(--exo-radius-sm);background:var(--exo-surface);box-shadow:none}
.exo-app :where(input,select,textarea)::placeholder{color:#819087;opacity:1}
.exo-app :where(button,input,select,textarea):disabled{cursor:not-allowed}
.exo-app :where(button[aria-pressed=true],button[aria-current=page],a[aria-current=page]){font-weight:700}
.exo-brand{display:flex;align-items:center;gap:12px;min-height:var(--exo-topbar);text-decoration:none;color:var(--exo-ink);padding:0 24px;border-bottom:1px solid var(--exo-border)}
.exo-brand img{display:block;width:156px;height:34px;object-fit:contain;object-position:left center}
.exo-sidebar{position:fixed;inset:0 auto 0 0;width:var(--exo-sidebar);height:100dvh;background:var(--exo-surface);border-right:1px solid var(--exo-border);padding:0;z-index:80;display:flex;flex-direction:column;overflow-y:auto;box-shadow:none}
.exo-nav-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--exo-muted);padding:0 24px;margin:28px 0 12px}
.exo-section-nav{display:flex;flex-direction:column;gap:5px;padding:0 14px}
.exo-section-nav>a,.exo-section-nav>button{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 13px;border:0;border-radius:var(--exo-radius-sm);text-decoration:none;color:var(--exo-muted);background:transparent;text-align:left;font:600 13px/1.4 var(--exo-font);cursor:pointer}
.exo-section-nav>a>span[aria-hidden],.exo-section-nav>button>span[aria-hidden]{width:20px;text-align:center;font-size:17px;flex:none}
.exo-section-nav>a:hover,.exo-section-nav>button:hover{color:var(--exo-ink);background:var(--exo-soft)}
.exo-section-nav>[aria-current=page],.exo-section-nav>.active{background:var(--exo-soft);color:var(--exo-primary);box-shadow:inset 3px 0 var(--exo-primary)}
.exo-account{margin:auto 14px 18px;padding:16px 12px;border-top:1px solid var(--exo-border);display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;color:var(--exo-muted);line-height:1.5}
.exo-account strong{display:block;font-size:12px;color:var(--exo-ink)}.exo-account img{width:32px;height:32px}
.exo-shell{margin-left:var(--exo-sidebar);min-height:100dvh;min-width:0;background:var(--exo-bg)}
.exo-topbar{height:var(--exo-topbar);min-height:var(--exo-topbar);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;background:var(--exo-surface);border-bottom:1px solid var(--exo-border);color:var(--exo-ink);position:relative;z-index:20;box-shadow:none}
.exo-breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--exo-muted)}.exo-breadcrumb strong{font-weight:600;color:var(--exo-ink)}.exo-breadcrumb>span[aria-hidden]{color:#b2bfb5}
.exo-header-link{font-size:12px;font-weight:600;color:var(--exo-primary);text-decoration:none;display:inline-flex;align-items:center;gap:10px;padding:10px 0;min-height:44px}
.exo-page-content{padding:32px;max-width:1500px;margin:0 auto;width:100%}.exo-page-heading{margin:0 0 28px}.exo-page-heading h1{margin:6px 0 12px}.exo-page-heading p{max-width:760px;color:var(--exo-muted);line-height:1.75;font-size:14px}
.exo-eyebrow{font:700 10px/1.5 var(--exo-font);letter-spacing:.13em;text-transform:uppercase;color:var(--exo-muted)}
.exo-menu-button{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--exo-border);border-radius:var(--exo-radius-sm);background:#fff;color:var(--exo-primary);font-size:22px;cursor:pointer;flex:none}
.exo-mobile-overlay{display:none}.exo-sidebar-close,.exo-nav-close{display:none}
.exo-button,.exo-button-secondary{font:600 13px/1.4 var(--exo-font);min-height:44px;padding:12px 18px;border:1px solid var(--exo-primary);border-radius:var(--exo-radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;cursor:pointer;background:var(--exo-primary);color:#fff;box-shadow:none}
.exo-button:hover{background:var(--exo-primary-hover);border-color:var(--exo-primary-hover)}.exo-button-secondary{background:#fff;color:var(--exo-primary);border-color:var(--exo-border)}.exo-button-secondary:hover{background:var(--exo-soft)}
.exo-card{border:1px solid var(--exo-border);border-radius:var(--exo-radius);background:var(--exo-surface);box-shadow:none;padding:24px}
.exo-app .exo-auth-card{width:100%;max-width:440px;background:#fff;padding:36px;border:1px solid var(--exo-border);border-radius:var(--exo-radius-lg);box-shadow:var(--exo-shadow)}
.exo-app .exo-auth-card h1,.exo-app .exo-auth-card h2{font-size:28px;line-height:1.25;letter-spacing:-.035em}
.exo-app .exo-auth-brand{display:block;width:170px;height:36px;margin:0 0 32px}
.exo-app .exo-auth-card p{font-size:13px;line-height:1.75;color:var(--exo-muted)}
.exo-app dialog,.exo-app .modal-box{border-color:var(--exo-border);border-radius:var(--exo-radius-lg);box-shadow:0 20px 70px rgba(23,55,45,.18)}
.exo-app dialog::backdrop{background:rgba(17,37,28,.42);backdrop-filter:blur(3px)}
@media(max-width:960px){.exo-sidebar{transform:translateX(-100%);transition:transform .2s ease;z-index:1000;max-width:calc(100vw - 48px)}body.exo-nav-open .exo-sidebar{transform:translateX(0)}.exo-shell{margin-left:0}.exo-topbar{padding:0 18px;gap:12px}.exo-menu-button{display:inline-flex}.exo-mobile-overlay{position:fixed;inset:0;border:0;background:rgba(17,37,28,.4);z-index:999;backdrop-filter:blur(2px)}body.exo-nav-open .exo-mobile-overlay{display:block}body.exo-nav-open{overflow:hidden}.exo-page-content{padding:24px 18px}.exo-breadcrumb{font-size:11px;flex:1;gap:8px}.exo-header-link{font-size:11px}.exo-app h1{font-size:28px}.exo-sidebar-close{display:flex;position:absolute;right:8px;top:15px;align-items:center;justify-content:center;width:38px;height:38px;border:0;background:transparent;color:var(--exo-muted);font-size:24px}}
@media(max-width:480px){.exo-app .exo-auth-card{padding:28px 24px}.exo-page-content{padding:24px 16px}.exo-topbar .exo-breadcrumb>span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.exo-app *, .exo-app *::before,.exo-app *::after,.exo-site *, .exo-site *::before,.exo-site *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(max-width:960px){.exo-sidebar{visibility:hidden}.exo-nav-open .exo-sidebar{visibility:visible}.exo-nav-close{display:flex;position:absolute;right:8px;top:15px;align-items:center;justify-content:center;width:38px;height:38px;border:0;background:transparent;color:var(--exo-muted);font-size:24px}.exo-mobile-overlay:hover{background:rgba(17,37,28,.4)}}
@media(max-width:480px){.exo-topbar .exo-breadcrumb>span[aria-hidden]{display:none}}
@media(max-width:960px){.exo-sidebar-close,.exo-nav-close{width:44px;height:44px;right:4px;top:14px}}
@media(max-width:600px){.exo-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),.exo-app select,.exo-app textarea{font-size:16px!important}}
