:root {
  --ink:#18231e;
  --ink-2:#33433b;
  --forest:#27352e;
  --forest-2:#35483e;
  --moss:#6d826f;
  --sage:#a9b8a6;
  --chestnut:#a5663b;
  --chestnut-dark:#7d4728;
  --sand:#f2ede3;
  --sand-2:#e6ddcf;
  --cream:#fbf9f4;
  --paper:#ffffff;
  --line:#ddd9cf;
  --line-dark:rgba(255,255,255,.12);
  --muted:#718077;
  --danger:#a84d45;
  --warning:#b47a28;
  --success:#43705a;
  --blue:#486d7e;
  --shadow:0 16px 38px rgba(24,35,30,.08);
  --shadow-soft:0 8px 24px rgba(24,35,30,.06);
  --radius:18px;
  --sidebar:248px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.icon{flex:0 0 auto}
::selection{background:var(--sand-2);color:var(--forest)}

/* Brand and buttons */
.brand{display:inline-flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.12em}
.brand img{width:42px;height:42px}
.brand span{display:flex;flex-direction:column;line-height:1.1}
.brand b{font-size:13px;letter-spacing:.17em}
.brand small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-top:4px}
.brand--light{color:#fff}.brand--light small{color:rgba(255,255,255,.62)}
.btn{border:0;border-radius:999px;background:var(--forest);color:#fff;min-height:40px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;letter-spacing:.01em;transition:.18s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(24,35,30,.12)}
.btn:disabled{opacity:.55;cursor:wait;transform:none}
.btn--primary{background:var(--chestnut);color:#fff}.btn--primary:hover{background:var(--chestnut-dark)}
.btn--secondary{background:var(--sand);color:var(--forest);border:1px solid var(--sand-2)}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn--ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.btn--light{background:#fff;color:var(--forest)}
.btn--danger{background:var(--danger);color:#fff}
.btn--text{background:transparent;color:var(--chestnut);padding:0;min-height:32px;box-shadow:none}
.btn--small{min-height:32px;padding:0 13px;font-size:12px;background:var(--sand);color:var(--forest);border:1px solid var(--sand-2)}
.btn--icon{width:34px;min-height:34px;padding:0;background:transparent;color:var(--ink);border:1px solid var(--line)}
.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:inline-grid;place-items:center;transition:.15s}
.icon-btn:hover{background:var(--sand)}

/* Shared typography */
.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--chestnut);margin:0 0 8px}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.025em}
h1{font-size:38px;line-height:1.05;margin-bottom:9px}
h2{font-size:24px;line-height:1.14;margin-bottom:7px}
h3{font-size:15px;line-height:1.25;margin-bottom:5px}
p{color:var(--muted)}
.muted{color:var(--muted);font-size:12px}
.num{text-align:right;font-variant-numeric:tabular-nums}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750;letter-spacing:.025em;white-space:nowrap;background:#f0f0ec;color:#5b655f;border:1px solid #e6e5df}
.badge--success{background:#e7f0ea;color:#38624e;border-color:#d5e6da}
.badge--warning{background:#f7edda;color:#8b611f;border-color:#ebd8b7}
.badge--danger{background:#f6e3e1;color:#92463f;border-color:#ebcfcc}
.badge--neutral{background:#f0f0ec;color:#5c675f;border-color:#e2e2dc}
.avatar{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;background:var(--forest);color:#fff;font-weight:800;font-size:11px;letter-spacing:.04em;flex:0 0 auto}
.avatar--sand{background:var(--sand);color:var(--forest);border:1px solid var(--sand-2)}
.avatar--green{background:var(--forest);color:#fff}
.person-line{display:flex;align-items:center;gap:10px}

/* Loader / fatal */
.loading-screen,.fatal{min-height:100vh;display:grid;place-content:center;justify-items:center;text-align:center;gap:20px;background:var(--sand)}
.loading-screen p{margin:0}.loader{display:flex;gap:6px}.loader span{width:8px;height:8px;border-radius:50%;background:var(--chestnut);animation:pulse 1s infinite}.loader span:nth-child(2){animation-delay:.15s}.loader span:nth-child(3){animation-delay:.3s}
@keyframes pulse{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
.fatal>div{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#f6e3e1;color:var(--danger)}.fatal h1{margin:0}.fatal code{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px}

/* Access selector */
.access-page{min-height:100vh;display:grid;grid-template-columns:minmax(330px,42%) 1fr;background:var(--cream)}
.access-aside{background:var(--forest);color:#fff;position:relative;overflow:hidden;padding:48px 58px}
.access-aside:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 18%,rgba(165,102,59,.22),transparent 32%),linear-gradient(135deg,transparent 0 63%,rgba(255,255,255,.035) 63% 64%,transparent 64% 100%);pointer-events:none}
.access-aside>div{position:relative;z-index:1;height:100%;display:flex;flex-direction:column}
.access-copy{margin:auto 0}.access-copy .eyebrow{color:#d7b596}.access-copy h1{font-size:58px;line-height:.98;margin:0 0 28px}.access-copy p:last-child{font-size:17px;color:rgba(255,255,255,.68);max-width:460px}
.access-quote{border-top:1px solid var(--line-dark);padding-top:24px;max-width:460px}.access-quote p{font-family:var(--serif);font-size:17px;color:#fff;line-height:1.45;margin-bottom:9px}.access-quote span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.5)}
.access-main{padding:54px clamp(36px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.access-main>header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:38px}.access-main h2{font-size:35px;margin-bottom:8px}.access-main header p:last-child{max-width:600px}
.profile-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px}
.profile-choice__card{border:1px solid var(--line);border-radius:20px;background:#fff;text-align:left;padding:24px;display:grid;grid-template-columns:50px 1fr 24px;align-items:center;gap:17px;min-height:142px;color:var(--ink);transition:.2s;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.profile-choice__card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--sage)}
.profile-choice__icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--sand);color:var(--chestnut)}
.profile-choice__card p{margin:0 0 5px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--chestnut)}
.profile-choice__card h3{font-family:var(--serif);font-size:21px;margin:0 0 4px}.profile-choice__card span{font-size:12px;color:var(--muted)}
.access-note{display:flex;align-items:center;gap:9px;margin-top:26px;color:var(--muted);font-size:12px}

/* Public site */
.public-site{background:var(--cream);min-height:100vh}
.public-nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,90px);border-bottom:1px solid var(--line);background:rgba(251,249,244,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}
.public-nav nav{display:flex;gap:30px}.public-nav nav a{font-size:12px;font-weight:650;color:var(--ink-2)}.public-nav>div{display:flex;gap:10px}
.public-hero{min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:72px clamp(24px,7vw,105px) 82px;overflow:hidden}
.public-hero__copy h1{font-size:67px;line-height:.98;max-width:670px;margin-bottom:28px}.public-hero__copy h1 em{font-weight:400;color:var(--chestnut)}.public-hero__copy>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:570px;margin-bottom:28px}
.public-hero__actions{display:flex;align-items:center;gap:22px}.public-hero__actions>a{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}
.public-proof{display:flex;gap:28px;margin-top:52px}.public-proof span{display:flex;flex-direction:column;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.public-proof b{font-family:var(--serif);font-size:25px;color:var(--ink);font-weight:500;letter-spacing:0}
.public-hero__visual{position:relative}.arena-card{height:520px;border-radius:48% 48% 22px 22px;background:#cfc3b0;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.arena-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#aebcae 0 48%,#d4c4a8 48% 100%)}
.arena-card:after{content:"";position:absolute;left:-15%;right:-15%;bottom:18%;height:35%;border-radius:50%;background:rgba(243,232,210,.45);transform:rotate(-5deg)}
.arena-sun{position:absolute;width:78px;height:78px;border-radius:50%;background:#f6ddaa;right:18%;top:15%;z-index:2;box-shadow:0 0 80px rgba(246,221,170,.7)}
.arena-fence{position:absolute;left:0;right:0;bottom:29%;height:82px;z-index:3;background:repeating-linear-gradient(90deg,transparent 0 15%,rgba(83,69,48,.7) 15% 16%,transparent 16% 31%),linear-gradient(transparent 28%,rgba(83,69,48,.7) 28% 34%,transparent 34% 67%,rgba(83,69,48,.7) 67% 73%,transparent 73%)}
.arena-horse{position:absolute;z-index:4;left:42%;top:41%;color:var(--forest);transform:translate(-50%,-50%) scale(1.35)}
.arena-caption{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(255,255,255,.9);z-index:5;border-radius:16px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:3px 15px;backdrop-filter:blur(8px)}.arena-caption span{font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--chestnut);grid-column:1/3}.arena-caption strong{font-family:var(--serif);font-size:20px}.arena-caption small{align-self:center;color:var(--muted)}
.floating-note{position:absolute;left:-35px;top:75px;background:#fff;border-radius:16px;padding:14px 17px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);z-index:6}.floating-note>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7f0ea;color:var(--success)}.floating-note div{display:flex;flex-direction:column}.floating-note small{color:var(--muted)}
.public-programs{background:var(--forest);color:#fff;padding:100px clamp(24px,7vw,105px)}.public-section-title{max-width:640px;margin-bottom:48px}.public-section-title .eyebrow{color:#d7b596}.public-section-title h2{font-size:48px}.public-section-title>p:last-child{color:rgba(255,255,255,.65);font-size:16px}
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}.program-grid article{padding:34px 26px 10px 0;border-right:1px solid rgba(255,255,255,.15);margin-right:26px;min-height:270px;display:flex;flex-direction:column}.program-grid article:last-child{border:0}.program-grid span{color:#d7b596;font-family:var(--serif);font-size:18px}.program-grid h3{font-family:var(--serif);font-size:25px;margin:30px 0 14px}.program-grid p{color:rgba(255,255,255,.62);line-height:1.6}.program-grid a{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700}
.public-schedule{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;padding:100px clamp(24px,7vw,105px);align-items:start}.public-schedule h2{font-size:48px}.public-schedule>div:first-child>p:not(.eyebrow){font-size:16px}.public-class-list{border-top:1px solid var(--line)}.public-class-list article{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.public-class-list time{display:flex;flex-direction:column;text-align:center}.public-class-list time b{font-family:var(--serif);font-size:28px;font-weight:500}.public-class-list time span{text-transform:uppercase;font-size:9px;letter-spacing:.12em}.public-class-list p{margin:0 0 3px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--chestnut);font-weight:800}.public-class-list h3{font-family:var(--serif);font-size:19px;margin:0 0 3px}.public-class-list div>span{font-size:12px;color:var(--muted)}
.public-portals{padding:100px clamp(24px,7vw,105px);background:var(--sand)}.public-portals .public-section-title h2{color:var(--ink)}.public-portals .public-section-title .eyebrow{color:var(--chestnut)}
.portal-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.portal-cards button{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;text-align:left;min-height:220px;display:flex;flex-direction:column;color:var(--ink);transition:.18s}.portal-cards button:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.portal-cards button>div{width:46px;height:46px;border-radius:13px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.portal-cards span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted);margin:28px 0 9px}.portal-cards h3{font-family:var(--serif);font-size:23px;margin:0 0 20px}.portal-cards button>svg{margin-top:auto;color:var(--chestnut)}
.public-footer{background:#1b2822;color:#fff;padding:34px clamp(24px,7vw,105px);display:flex;align-items:center;justify-content:space-between}.public-footer p{margin:0;color:rgba(255,255,255,.55)}.public-footer>button{background:none;border:0;color:#fff;font-weight:700}

/* Application shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr;background:#f6f4ef}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--forest);color:#fff;padding:24px 16px 18px;display:flex;flex-direction:column;z-index:30}
.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:0 7px 22px;border-bottom:1px solid var(--line-dark)}.sidebar-brand .brand img{width:38px;height:38px}.demo-pill{font-size:8px;font-weight:800;letter-spacing:.14em;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 7px;color:rgba(255,255,255,.7)}
.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:17px 0;overflow:auto}.sidebar nav a{display:flex;align-items:center;gap:11px;border-radius:10px;padding:10px 11px;color:rgba(255,255,255,.68);font-size:12px;font-weight:600;transition:.14s}.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff}.sidebar nav a.active{background:#fff;color:var(--forest);box-shadow:0 5px 14px rgba(0,0,0,.12)}.sidebar nav a b{margin-left:auto;font-size:9px;border-radius:999px;background:var(--sand);color:var(--chestnut);padding:3px 6px}
.sidebar-foot{margin-top:auto;border-top:1px solid var(--line-dark);padding-top:14px}.sidebar-foot>button{width:100%;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:36px 1fr 16px;gap:10px;align-items:center;text-align:left;padding:8px;border-radius:10px}.sidebar-foot>button:hover{background:rgba(255,255,255,.06)}.sidebar-foot>button span{display:flex;flex-direction:column;min-width:0}.sidebar-foot>button strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot>button small{font-size:9px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.environment{display:flex;align-items:center;gap:7px;padding:10px 9px 0;color:rgba(255,255,255,.45);font-size:9px}.environment i{width:7px;height:7px;border-radius:50%;background:#78b08d;box-shadow:0 0 0 3px rgba(120,176,141,.12)}
.workspace{grid-column:2;min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);position:sticky;top:0;z-index:18;display:flex;align-items:center;justify-content:space-between;padding:0 28px;backdrop-filter:blur(12px)}
.breadcrumb{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.breadcrumb i{font-style:normal;color:var(--line)}.breadcrumb strong{color:var(--ink)}
.topbar-actions{display:flex;align-items:center;gap:9px}.search-trigger{height:36px;width:300px;border:1px solid var(--line);background:#f9f8f5;color:var(--muted);border-radius:999px;padding:0 12px;display:flex;align-items:center;gap:8px;text-align:left}.search-trigger span{flex:1;font-size:11px}.search-trigger kbd{border:1px solid var(--line);background:#fff;border-radius:5px;padding:2px 6px;font-size:9px}.has-dot{position:relative}.has-dot:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--chestnut);right:5px;top:4px;border:2px solid #fff}
.top-profile{height:38px;border:0;background:transparent;display:flex;align-items:center;gap:7px;color:var(--ink);padding:0 3px}.top-profile .avatar{width:30px;height:30px}.top-profile span{font-size:11px;font-weight:700}.mobile-brand,.mobile-menu{display:none}
.page-content{padding:32px 32px 16px;max-width:1600px;margin:0 auto}.page-footer{border-top:1px solid var(--line);margin-top:44px;padding:18px 2px 6px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.page-footer button{border:0;background:none;color:var(--chestnut);font-weight:700}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:27px}.page-head h1{margin-bottom:8px}.page-lead{margin:0;max-width:720px;font-size:13px}.page-actions{display:flex;align-items:center;gap:10px}
.segmented{display:inline-flex;background:var(--sand);padding:3px;border-radius:999px;border:1px solid var(--sand-2)}.segmented button{border:0;background:transparent;border-radius:999px;padding:7px 13px;font-size:11px;color:var(--muted)}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08);font-weight:700}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-title h2{font-size:20px;margin:0}.section-title p{font-size:11px;margin:4px 0 0}.content-section{margin-top:30px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 1px 0 rgba(0,0,0,.015)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.two-col--wide{grid-template-columns:1.35fr .65fr}.span-2{grid-column:span 2}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.stat-row,.feature-summary,.horse-overview,.crm-summary,.activity-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;flex-direction:column;min-height:105px}.stat>span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:750}.stat strong{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.15;margin:9px 0 5px}.stat small{font-size:10px;color:var(--muted)}.stat--green{border-top:3px solid var(--success)}.stat--warning{border-top:3px solid var(--warning)}.stat--danger{border-top:3px solid var(--danger)}

/* Progress and utility */
.progress-wrap{width:100%}.progress-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:6px}.progress-label strong{color:var(--ink)}.progress{height:6px;background:#eae9e4;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--success);border-radius:999px}.progress--warning span{background:var(--warning)}.progress--danger span{background:var(--danger)}.progress--green span{background:var(--success)}
.policy-strip{border:1px solid var(--line);background:#fff;border-radius:14px;display:flex;align-items:center;gap:26px;padding:13px 17px;margin-bottom:24px}.policy-strip span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.policy-strip b{color:var(--ink)}
.callout{background:var(--sand);border:1px solid var(--sand-2);border-radius:16px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.callout>div{display:flex;align-items:center;gap:13px}.callout p,.callout h3{margin:2px 0 0}.callout--payment{background:#f2ebe4;border-color:#e3d3c4}
.success-box{padding:15px;background:#e7f0ea;border-radius:12px;display:flex!important;gap:12px;color:var(--success)}.success-box p{margin:2px 0 0;color:#5a7768}
.empty-state{min-height:170px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);padding:20px}.empty-state h3{color:var(--ink);margin:12px 0 4px}.empty-state p{margin:0;max-width:340px}

/* Student */
.student-hero{display:grid;grid-template-columns:1.35fr .65fr;background:var(--forest);border-radius:22px;color:#fff;overflow:hidden;box-shadow:var(--shadow)}
.student-hero__main{padding:28px 30px;position:relative}.student-hero__main:after{content:"";position:absolute;right:-40px;bottom:-70px;width:230px;height:230px;border:1px solid rgba(255,255,255,.08);border-radius:50%}.student-hero__main .eyebrow{color:#d7b596}.student-hero__side{background:rgba(255,255,255,.07);padding:28px;display:flex;flex-direction:column;align-items:flex-start}.student-hero__side .eyebrow{color:#d7b596}.student-hero__side h3{font-family:var(--serif);font-size:19px;margin-bottom:14px}.next-class{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.next-class h2{font-size:30px;margin-bottom:3px}.next-class p{color:rgba(255,255,255,.65)}.next-class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:23px 0}.next-class-grid div{border-left:1px solid rgba(255,255,255,.15);padding-left:13px;display:flex;flex-direction:column}.next-class-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.5)}.next-class-grid strong{font-size:12px;margin-top:4px}.hero-note{color:rgba(255,255,255,.58);font-size:11px}.card-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.balance-ring{width:100px;height:100px;border-radius:50%;border:8px solid rgba(255,255,255,.13);display:grid;place-content:center;text-align:center;margin:7px 0 18px}.balance-ring strong{font-family:var(--serif);font-size:35px;line-height:1}.balance-ring span{font-size:9px;color:rgba(255,255,255,.6)}.balance-list{width:100%;display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.balance-list>span{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.62)}.balance-list b{color:#fff}
.competency-list{display:flex;flex-direction:column;gap:0;margin-top:14px}.competency-list>div{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.status-dot{width:7px;height:7px;border-radius:50%;background:#c8cbc7}.status-dot--achieved{background:var(--success)}.status-dot--in-progress{background:var(--warning)}
.notice-list{display:flex;flex-direction:column;gap:10px}.notice{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px}.notice-icon{width:34px;height:34px;border-radius:10px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.notice-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.notice p{font-size:10px;margin:4px 0}.notice small{font-size:9px;color:var(--muted)}.notice--critical{border-color:#ebcfcc;background:#fffafa}
.class-list{display:flex;flex-direction:column;gap:11px}.class-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;display:grid;grid-template-columns:55px 1fr auto;gap:17px;align-items:center}.date-chip{width:50px;height:58px;border-radius:12px;background:var(--sand);display:flex;flex-direction:column;align-items:center;justify-content:center}.date-chip strong{font-family:var(--serif);font-size:24px;line-height:1}.date-chip span{text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:var(--muted)}.class-card__head{display:flex;justify-content:space-between;gap:20px}.class-card__head h3{font-family:var(--serif);font-size:19px;margin:0}.class-details{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0}.class-details span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.class-card__body>p{font-size:10px;margin:0}.class-card__actions{min-width:100px;display:flex;justify-content:flex-end}.class-card .eyebrow{margin-bottom:2px}
.progress-hero{background:var(--forest);color:#fff;border-radius:20px;padding:28px;display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:center}.progress-hero .eyebrow{color:#d7b596}.progress-hero h2{font-size:35px}.progress-hero p{color:rgba(255,255,255,.55)}.progress-hero .progress{background:rgba(255,255,255,.12)}.progress-hero .progress span{background:#d7b596}.progress-hero .progress-label{color:rgba(255,255,255,.6)}.progress-hero .progress-label strong{color:#fff}.exam-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:18px;display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center}.exam-card>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#d7b596}.exam-card div{display:flex;flex-direction:column}.exam-card small{font-size:8px;letter-spacing:.11em;color:rgba(255,255,255,.5)}.exam-card strong{font-size:15px;margin:4px 0}.exam-card p{margin:0;font-size:10px}
.skill-map{display:flex;flex-direction:column}.skill{display:grid;grid-template-columns:32px 1fr 18px;gap:11px;align-items:center;border-top:1px solid var(--line);padding:13px 0;color:var(--muted)}.skill>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#efefea;font-size:10px}.skill div{display:flex;flex-direction:column}.skill strong{color:var(--ink)}.skill small{font-size:9px}.skill--done>span{background:#e7f0ea;color:var(--success)}.skill--active>span{background:#f7edda;color:var(--warning)}
.requirements>div{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:12px 0;color:var(--warning)}.theory-modules{margin-top:20px}.theory-modules h3{font-family:var(--serif);font-size:17px}.theory-modules>div{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:9px 0}.theory-modules p{margin:0;font-size:11px;color:var(--ink)}
.feedback-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.feedback-card{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fff}.feedback-date{font-size:9px;text-transform:uppercase;color:var(--chestnut);letter-spacing:.1em}.feedback-card h3{font-family:var(--serif);font-size:18px;margin:8px 0 14px}.feedback-card dl{margin:0}.feedback-card dl div{border-top:1px solid var(--line);padding:10px 0}.feedback-card dt{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.feedback-card dd{margin:4px 0 0;font-size:11px}.feedback-card>small{color:var(--muted)}
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800;padding:10px 12px;border-bottom:1px solid var(--line)}.table-wrap td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:11px}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap td small{color:var(--muted);margin-top:3px}.actions-cell{text-align:right}.payment-method{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 20px;margin-top:18px}.payment-method>div{display:flex;align-items:center;gap:13px}.payment-method h3,.payment-method p{margin:0}.payment-method p{font-size:10px}
.event-grid{display:flex;flex-direction:column;gap:12px}.event-card{display:grid;grid-template-columns:64px 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px}.event-card__date{width:58px;height:65px;border-radius:14px;background:var(--forest);color:#fff;display:grid;place-content:center;text-align:center}.event-card__date strong{font-family:var(--serif);font-size:27px;line-height:1}.event-card__date span{text-transform:uppercase;font-size:9px;color:rgba(255,255,255,.6)}.event-card h3{font-family:var(--serif);font-size:20px}.event-card p{font-size:11px;margin-bottom:8px}.event-tags,.participant-chips{display:flex;gap:6px;flex-wrap:wrap}.event-note{margin-top:9px!important}.eligibility-line{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.document-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.document-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px;display:grid;grid-template-columns:42px 1fr auto 38px;gap:12px;align-items:center}.document-icon{width:42px;height:42px;border-radius:12px;background:var(--sand);color:var(--chestnut);display:grid;place-items:center}.document-card h3,.document-card p{margin:0}.document-card p{font-size:10px}.settings-list{display:flex;flex-direction:column}.settings-list label{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-size:11px}.settings-list input[type=checkbox]{appearance:none;width:36px;height:20px;border-radius:999px;background:#d8dad6;position:relative;transition:.2s}.settings-list input[type=checkbox]:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.settings-list input:checked{background:var(--success)}.settings-list input:checked:after{left:18px}
.messages-layout{display:grid;grid-template-columns:330px 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:620px}.thread-list{border-right:1px solid var(--line);padding:8px}.thread{width:100%;border:0;background:transparent;border-radius:12px;padding:13px;display:grid;grid-template-columns:36px 1fr 7px;gap:10px;text-align:left;color:var(--ink)}.thread.active{background:var(--sand)}.thread div:nth-child(2){min-width:0}.thread strong{font-size:11px}.thread p{font-size:9px;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread small{font-size:8px;color:var(--muted)}.unread{width:7px;height:7px;border-radius:50%;background:var(--chestnut)}.conversation{display:flex;flex-direction:column}.conversation-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.conversation-head h2{font-size:20px}.conversation-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;background:#fbfaf7}.bubble{max-width:68%;background:#fff;border:1px solid var(--line);border-radius:15px 15px 15px 4px;padding:12px}.bubble--mine{align-self:flex-end;background:var(--forest);color:#fff;border-color:var(--forest);border-radius:15px 15px 4px 15px}.bubble p{margin:0 0 5px;font-size:11px;color:inherit}.bubble small{font-size:8px;color:inherit;opacity:.6}.message-compose{border-top:1px solid var(--line);padding:13px;display:flex;gap:9px}.message-compose input{flex:1;border:1px solid var(--line);border-radius:999px;padding:0 15px;outline:none}
.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px}.profile-card .avatar{width:44px;height:44px}.profile-card h3,.profile-card p{margin:0}.profile-card p{font-size:10px;margin:3px 0 7px}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line);padding:12px 0}.detail-list dt{color:var(--muted);font-size:10px}.detail-list dd{margin:0;font-size:11px;font-weight:600}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.help-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.help-grid article>div{width:40px;height:40px;border-radius:11px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.help-grid h3{font-family:var(--serif);font-size:17px;margin:17px 0 8px}.help-grid p{font-size:11px;line-height:1.55;margin:0}

/* Instructor */
.teacher-hero{background:var(--forest);color:#fff;border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:center}.teacher-hero .eyebrow{color:#d7b596}.teacher-hero h2{font-size:31px}.teacher-hero p{color:rgba(255,255,255,.58)}.hero-actions{display:flex;gap:9px}.teacher-hero__metric{width:155px;height:155px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.04)}.teacher-hero__metric strong{font-family:var(--serif);font-size:39px}.teacher-hero__metric span{font-size:9px;color:rgba(255,255,255,.6)}.teacher-hero__metric small{font-size:8px;color:#d7b596;margin-top:5px}
.compact-schedule{display:flex;flex-direction:column}.compact-schedule button{border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);display:grid;grid-template-columns:50px 1fr auto 18px;gap:11px;align-items:center;padding:13px 0;text-align:left}.compact-schedule time{font-family:var(--serif);font-size:17px}.compact-schedule div{display:flex;flex-direction:column}.compact-schedule span{font-size:9px;color:var(--muted)}
.alert-list{display:flex;flex-direction:column}.alert-list>div{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border-top:1px solid var(--line);padding:12px 0}.horse-avatar{width:52px;height:52px;border-radius:15px;background:var(--sand);display:grid;place-items:center;font-family:var(--serif);font-size:18px;color:var(--chestnut);border:1px solid var(--sand-2)}.horse-avatar--small{width:34px;height:34px;border-radius:10px;font-size:12px}.horse-avatar--tiny{width:28px;height:28px;border-radius:8px;font-size:10px}.alert-list>div>div:nth-child(2){display:flex;flex-direction:column}.alert-list span{font-size:9px;color:var(--muted)}
.task-list,.task-board{display:flex;flex-direction:column}.task{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);display:grid;grid-template-columns:25px 1fr auto;gap:10px;align-items:center;text-align:left;padding:11px 0}.task-check{width:21px;height:21px;border-radius:7px;border:1px solid var(--line);display:grid;place-items:center}.task div{display:flex;flex-direction:column}.task small{font-size:9px;color:var(--muted)}.task--done{opacity:.52}.task--done strong{text-decoration:line-through}.task--done .task-check{background:var(--success);color:#fff;border-color:var(--success)}
.class-workspace{display:grid;grid-template-columns:280px 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:650px}.class-selector{border-right:1px solid var(--line);padding:8px;background:#fbfaf7}.class-selector>button{width:100%;border:0;background:transparent;color:var(--ink);border-radius:12px;padding:12px;display:grid;grid-template-columns:58px 1fr 17px;align-items:center;gap:9px;text-align:left}.class-selector>button.active{background:var(--forest);color:#fff}.class-selector time{display:flex;flex-direction:column;font-size:8px;color:inherit;opacity:.65}.class-selector time b{font-size:15px;color:inherit;opacity:1}.class-selector div{display:flex;flex-direction:column}.class-selector strong{font-size:11px}.class-selector span{font-size:9px;color:inherit;opacity:.6}.class-console{padding:24px}.console-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.console-head h2{font-size:25px}.console-head p{margin:0}.console-head>div:last-child{display:flex;align-items:flex-start;gap:5px}.roster{margin-top:8px}.roster-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,.75fr) minmax(255px,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.roster-person{display:flex;align-items:center;gap:10px}.roster-person>div{display:flex;flex-direction:column}.roster-person span{font-size:9px;color:var(--muted)}.horse-assignment{border:1px solid var(--line);background:#fff;border-radius:11px;min-height:44px;color:var(--ink);display:grid;grid-template-columns:28px 1fr 16px;align-items:center;gap:8px;text-align:left;padding:6px 9px}.horse-assignment div{display:flex;flex-direction:column}.horse-assignment small{font-size:8px;color:var(--muted)}.attendance{display:flex;background:var(--sand);border-radius:999px;padding:3px}.attendance button{border:0;background:transparent;border-radius:999px;padding:6px 8px;font-size:9px;color:var(--muted);display:flex;align-items:center;gap:4px}.attendance button.active{background:#fff;color:var(--success);box-shadow:0 2px 5px rgba(0,0,0,.08);font-weight:700}.session-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.session-checks>div{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px}.session-checks strong{font-size:10px}.session-checks p{font-size:8px;margin:2px 0 0}.switch input{display:none}.switch span{width:32px;height:18px;border-radius:999px;background:#d7d9d5;display:block;position:relative}.switch span:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s}.switch input:checked+span{background:var(--success)}.switch input:checked+span:after{left:16px}.console-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.filter-bar{display:flex;align-items:center;gap:7px;margin-bottom:17px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:10px;color:var(--muted)}.filter.active{background:var(--forest);color:#fff;border-color:var(--forest)}.filter-bar>span{flex:1}.filter-bar label{border:1px solid var(--line);background:#fff;border-radius:999px;display:flex;align-items:center;gap:7px;padding:0 11px;height:36px}.filter-bar input{border:0;outline:none;background:transparent;width:160px;font-size:10px}
.horse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.horse-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.horse-card__top{display:grid;grid-template-columns:52px 1fr auto;gap:11px;align-items:center}.horse-card h3{font-family:var(--serif);font-size:19px;margin:0}.horse-card p{font-size:9px;margin:2px 0}.horse-meta{display:flex;gap:12px;margin:14px 0 12px;color:var(--muted);font-size:9px}.horse-meta span{display:flex;align-items:center;gap:4px}.horse-load>div:first-child{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:6px}.horse-note{min-height:26px;margin-top:10px!important}.horse-card .card-actions{border-top:1px solid var(--line);padding-top:11px;justify-content:space-between}
.student-progress-list{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.student-progress-list>article{display:grid;grid-template-columns:1fr .75fr .55fr auto;gap:18px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.student-progress__person{display:flex;align-items:center;gap:10px}.student-progress__person h3,.student-progress__person p{margin:0}.student-progress__person p{font-size:9px}.student-progress__bar small{font-size:8px;color:var(--muted)}.student-progress__status{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.student-progress__status>span{font-size:9px;color:var(--muted)}
.credential-list,.service-list,.automation-list,.integration-list{display:flex;flex-direction:column}.credential-list article,.service-list article,.integration-list article{display:grid;grid-template-columns:35px 1fr auto auto;gap:9px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.credential-list article>div:first-child,.service-list article>div:first-child,.integration-list article>div:first-child{width:34px;height:34px;border-radius:10px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.credential-list article>div:nth-child(2),.service-list article>div:nth-child(2),.integration-list article>div:nth-child(2){display:flex;flex-direction:column}.credential-list span,.service-list span,.integration-list span{font-size:9px;color:var(--muted)}
.hours-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.hours-strip div{background:var(--sand);border-radius:12px;padding:13px;display:flex;flex-direction:column}.hours-strip span{font-size:9px;text-transform:uppercase;color:var(--muted)}.hours-strip strong{font-family:var(--serif);font-size:19px;margin-top:4px}
.special-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}.special-groups article{min-height:260px;border-radius:20px;background:var(--forest);color:#fff;padding:28px;display:flex;flex-direction:column}.special-groups article:nth-child(2){background:var(--sand);color:var(--ink);border:1px solid var(--sand-2)}.special-groups .eyebrow{color:#d7b596}.special-groups h2{font-size:31px}.special-stats{display:flex;gap:25px;margin:23px 0}.special-stats span{display:flex;flex-direction:column;font-size:9px;color:rgba(255,255,255,.55)}.special-groups article:nth-child(2) .special-stats span{color:var(--muted)}.special-stats strong{font-family:var(--serif);font-size:23px;color:inherit}.special-groups .btn{margin-top:auto;align-self:flex-start}
.message-cards{display:flex;flex-direction:column;gap:10px}.message-cards article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}.message-card__icon{width:42px;height:42px;border-radius:12px;background:var(--sand);color:var(--chestnut);display:grid;place-items:center}.message-cards article>div:nth-child(2)>div{display:flex;justify-content:space-between;gap:15px}.message-cards h3,.message-cards p{margin:0}.message-cards h3{font-size:13px}.message-cards p{font-size:10px;margin:5px 0}.message-cards span,.message-cards small{font-size:8px;color:var(--muted)}
.incident-list{display:flex;flex-direction:column;gap:12px}.incident-list>article{display:grid;grid-template-columns:48px 1fr;gap:15px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.severity{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--sand);color:var(--warning)}.severity--high{background:#f6e3e1;color:var(--danger)}.severity--low{background:#e7f0ea;color:var(--success)}.incident-head{display:flex;justify-content:space-between;gap:20px}.incident-head h3{font-family:var(--serif);font-size:19px}.incident-list p{font-size:11px}.incident-meta{display:flex;gap:18px;font-size:9px;color:var(--muted)}.incident-list details{margin-top:12px;border-top:1px solid var(--line);padding-top:9px}.incident-list summary{font-size:10px;font-weight:700;cursor:pointer;color:var(--chestnut)}.action-log{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 0}.action-log time{font-size:8px;color:var(--muted)}.action-log p{margin:0}

/* Management */
.executive-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:15px}.executive-main{background:var(--forest);border-radius:20px;padding:28px;color:#fff;min-height:250px}.executive-main .eyebrow{color:#d7b596}.executive-main h2{font-size:31px;max-width:700px}.executive-kpis{display:flex;gap:35px;margin:25px 0}.executive-kpis div{display:flex;flex-direction:column}.executive-kpis strong{font-family:var(--serif);font-size:27px}.executive-kpis span{font-size:9px;color:rgba(255,255,255,.55)}.executive-actions{display:flex;gap:9px}.cash-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;display:flex;flex-direction:column}.cash-card>strong{font-family:var(--serif);font-size:35px}.cash-card>span{font-size:10px;color:var(--muted)}.cash-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0;padding:14px 0}.cash-split div{display:flex;flex-direction:column}.cash-split b{font-family:var(--serif);font-size:18px}.cash-split small{font-size:8px;color:var(--muted)}
.operations-timeline{display:flex;flex-direction:column}.operations-timeline>div{display:grid;grid-template-columns:48px 13px 1fr auto 70px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.operations-timeline time{font-family:var(--serif);font-size:16px}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.operations-timeline div>div{display:flex;flex-direction:column}.operations-timeline p{font-size:9px;margin:2px 0}.operations-timeline>div>span:last-child{font-size:9px;color:var(--muted);text-align:right}
.funnel,.bar-chart{display:flex;flex-direction:column;gap:12px}.funnel>div,.bar-chart>div{display:grid;grid-template-columns:85px 1fr 40px;gap:10px;align-items:center}.funnel span,.bar-chart span{font-size:9px;color:var(--muted)}.funnel div>div,.bar-chart div>div{height:8px;background:#ecebe6;border-radius:999px;overflow:hidden}.funnel i,.bar-chart i{height:100%;background:var(--chestnut);display:block;border-radius:999px}.funnel strong,.bar-chart strong{font-size:10px;text-align:right}
.kanban{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:10px;overflow:auto;padding-bottom:8px}.kanban>section{background:#efede7;border-radius:14px;padding:9px;min-height:520px}.kanban>section>header{display:flex;justify-content:space-between;padding:8px 6px 12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.kanban>section>header b{background:#fff;border-radius:999px;padding:2px 7px}.kanban>section>div{display:flex;flex-direction:column;gap:8px}.kanban article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.kanban article .eyebrow{font-size:8px;margin-bottom:5px}.kanban h3{font-family:var(--serif);font-size:16px}.kanban p{font-size:9px;margin-bottom:9px}.kanban small{font-size:8px;color:var(--muted)}.lead-actions{display:flex;justify-content:space-between;margin-top:12px}
.planner-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:13px}.planner-toolbar>div:nth-child(2){display:flex;align-items:center;gap:10px}.planner-toolbar>div:last-child{text-align:right}.week-planner{height:475px;background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:55px repeat(6,1fr);overflow:auto}.week-planner>aside,.week-planner>section{min-width:130px}.week-planner>aside{min-width:55px}.week-planner header{height:42px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);display:grid;place-items:center;font-size:10px;font-weight:700}.week-planner aside>div{height:42px;border-bottom:1px solid var(--line)}.week-planner aside time{height:70px;display:block;padding:5px;color:var(--muted);font-size:8px;border-bottom:1px solid #eee}.planner-day{height:420px;position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(180deg,transparent 0 69px,#eee 69px 70px)}.planner-event{position:absolute;left:5px;right:5px;border:0;border-radius:9px;background:#e7f0ea;color:var(--success);padding:7px;text-align:left;overflow:hidden}.planner-event--1{background:#f7edda;color:#8b611f}.planner-event--2{background:#eee7df;color:var(--chestnut-dark)}.planner-event strong,.planner-event span,.planner-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-event strong{font-size:8px}.planner-event span,.planner-event small{font-size:7px;opacity:.75}
.exception-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exception-list article{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center}.exception-list h3,.exception-list p{margin:0}.exception-list p{font-size:9px;margin-top:3px}
.customer-list{display:flex;flex-direction:column}.customer-list article{display:grid;grid-template-columns:36px minmax(190px,1.2fr) minmax(120px,.8fr) 60px auto 38px;gap:12px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.customer-list h3,.customer-list p{margin:0}.customer-list p{font-size:9px}.customer-list article>div:nth-child(4){display:flex;flex-direction:column}.customer-list article>div:nth-child(4) strong{font-family:var(--serif);font-size:18px}.customer-list article small{font-size:8px;color:var(--muted)}
.horse-grid--management{grid-template-columns:repeat(4,1fr)}
.boarder-list{display:flex;flex-direction:column}.boarder-list article{display:grid;grid-template-columns:44px 1.2fr .6fr 1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.boarder-list h3,.boarder-list p{margin:0}.boarder-list p{font-size:9px}.boarder-list article>div:nth-child(3),.boarder-list article>div:nth-child(4){display:flex;flex-direction:column}.boarder-list span{font-size:8px;color:var(--muted)}.boarder-list strong{font-size:10px}
.finance-hero{display:grid;grid-template-columns:repeat(4,1fr);background:var(--forest);border-radius:18px;color:#fff;overflow:hidden;margin-bottom:18px}.finance-hero>div{padding:22px;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}.finance-hero small{font-size:8px;letter-spacing:.12em;color:rgba(255,255,255,.52)}.finance-hero strong{font-family:var(--serif);font-size:27px;font-weight:500;margin:8px 0 3px}.finance-hero span{font-size:9px;color:rgba(255,255,255,.48)}.finance-hero .danger{background:rgba(168,77,69,.22)}
.automation-list>div{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.automation-list span{font-size:10px}
.staff-grid{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.staff-grid article{display:grid;grid-template-columns:40px minmax(270px,1.4fr) .5fr .7fr auto;gap:14px;align-items:center;padding:15px 19px;border-bottom:1px solid var(--line)}.staff-main h3,.staff-main p{margin:0}.staff-main p{font-size:9px;margin:3px 0 7px}.staff-grid article>div:nth-child(3),.staff-grid article>div:nth-child(4){display:flex;flex-direction:column}.staff-grid span{font-size:8px;color:var(--muted)}.staff-grid strong{font-size:10px}
.coverage-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.coverage-grid>div{border:1px solid var(--line);border-radius:11px;padding:12px}.coverage-grid strong,.coverage-grid span,.coverage-grid small{display:block}.coverage-grid strong{font-size:10px}.coverage-grid span,.coverage-grid small{font-size:8px;color:var(--muted)}.coverage-bar{height:5px;background:#ecebe6;border-radius:999px;margin:9px 0}.coverage-bar i{display:block;height:100%;background:var(--success);border-radius:999px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.trust-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:flex;flex-direction:column}.trust-grid svg{color:var(--chestnut)}.trust-grid strong{font-family:var(--serif);font-size:27px;margin:15px 0 3px}.trust-grid span{font-size:10px;font-weight:700}.trust-grid small{font-size:8px;color:var(--muted)}
.audit-log{display:flex;flex-direction:column}.audit-log>div{display:grid;grid-template-columns:140px 140px 1fr auto;gap:10px;border-top:1px solid var(--line);padding:10px 0;font-size:9px}.audit-log time,.audit-log span{color:var(--muted)}.audit-log code{background:var(--sand);padding:3px 6px;border-radius:5px}
.competition-table{display:flex;flex-direction:column;gap:10px}.competition-table article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;grid-template-columns:145px 1.5fr .55fr .55fr auto;gap:15px;align-items:center}.competition-date{display:flex;flex-direction:column}.competition-date strong{font-family:var(--serif);font-size:18px}.competition-date span{font-size:9px;color:var(--muted)}.competition-table h3{font-family:var(--serif);font-size:18px}.competition-table article>div:nth-child(3),.competition-table article>div:nth-child(4){display:flex;flex-direction:column}.competition-table article>div:nth-child(3) span,.competition-table article>div:nth-child(4) span{font-size:8px;color:var(--muted)}
.marketing-hero{display:grid;grid-template-columns:1fr .8fr;gap:30px;align-items:center;background:var(--forest);color:#fff;border-radius:20px;padding:30px}.marketing-hero .eyebrow{color:#d7b596}.marketing-hero h2{font-size:31px}.marketing-hero p{color:rgba(255,255,255,.58)}.site-preview{background:#fff;border-radius:13px;overflow:hidden;color:var(--ink);box-shadow:0 20px 40px rgba(0,0,0,.18)}.preview-browser{height:25px;background:#e9e6df;display:flex;gap:5px;align-items:center;padding:0 10px}.preview-browser span{width:6px;height:6px;border-radius:50%;background:#aaa}.preview-content{height:160px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#edf1eb,#f5eee4)}.preview-logo{width:44px;height:44px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-family:var(--serif)}.preview-content>div:last-child{display:flex;flex-direction:column}.preview-content i{display:block;width:110px;height:5px;background:#d5d4ce;border-radius:999px;margin-top:8px}.preview-content i:last-child{width:75px}
.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.report-grid>article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;min-height:265px}.report-grid header{display:flex;justify-content:space-between;align-items:center;font-weight:700}.column-chart{height:185px;display:flex;align-items:flex-end;gap:15px;padding:20px 10px 0;border-bottom:1px solid var(--line)}.column-chart div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.column-chart i{width:70%;background:var(--forest);border-radius:6px 6px 0 0}.column-chart span{font-size:8px;color:var(--muted)}.donut{--value:68;width:150px;height:150px;border-radius:50%;margin:20px auto 10px;background:conic-gradient(var(--success) calc(var(--value)*1%),#ecebe6 0);display:grid;place-items:center}.donut:before{content:"";grid-area:1/1;width:105px;height:105px;border-radius:50%;background:#fff}.donut>div{grid-area:1/1;position:relative;display:flex;flex-direction:column;text-align:center}.donut strong{font-family:var(--serif);font-size:28px}.donut span{font-size:8px;color:var(--muted)}.legend{display:flex;justify-content:center;gap:12px;font-size:8px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:4px}.legend i{width:6px;height:6px;border-radius:50%;background:var(--success)}.legend span:nth-child(2) i{background:var(--warning)}.legend span:nth-child(3) i{background:var(--danger)}
.retention-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:25px}.retention-grid i{aspect-ratio:1;border-radius:7px;background:var(--success);color:#fff;display:grid;place-items:center;font-size:8px;font-style:normal}.line-chart{margin-top:25px;color:var(--chestnut)}.line-chart svg{width:100%;height:145px}.line-chart>div{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.line-chart b{color:var(--ink)}.metric-matrix{display:flex;flex-direction:column}.metric-matrix>div{display:grid;grid-template-columns:150px 1fr 1fr;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.metric-matrix span,.metric-matrix p{font-size:9px}.metric-matrix p{margin:0}
.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field--full{grid-column:1/-1}.field>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--moss);box-shadow:0 0 0 3px rgba(109,130,111,.1)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.role-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.role-matrix article{background:var(--sand);border:1px solid var(--sand-2);border-radius:12px;padding:13px}.role-matrix p{font-size:9px;min-height:42px;margin:4px 0 10px}.danger-zone{border:1px solid #ebcfcc;background:#fffafa;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between}.danger-zone h3,.danger-zone p{margin:0}.danger-zone p{font-size:10px;margin-top:3px}

/* Owner */
.owner-hero{display:grid;grid-template-columns:1.15fr .85fr;background:var(--forest);color:#fff;border-radius:22px;overflow:hidden}.owner-horse{padding:28px;display:flex;align-items:center;gap:20px}.horse-portrait{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--chestnut);font-family:var(--serif);font-size:34px;border:7px solid rgba(255,255,255,.12)}.owner-horse .eyebrow{color:#d7b596}.owner-horse h1{font-size:42px;margin-bottom:4px}.owner-horse p{color:rgba(255,255,255,.58)}.owner-horse>div:last-child>div{display:flex;gap:6px}.owner-status{background:rgba(255,255,255,.07);display:grid;grid-template-columns:1fr 1fr;gap:1px}.owner-status>div{padding:20px;border-left:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:center}.owner-status>div:last-child{grid-column:1/-1}.owner-status span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5)}.owner-status strong{font-family:var(--serif);font-size:26px;font-weight:500}.owner-status strong small{font-family:var(--sans);font-size:9px;color:rgba(255,255,255,.5)}.owner-status .text-value{font-size:16px}.owner-status .progress{margin-top:8px;background:rgba(255,255,255,.12)}.owner-status .progress span{background:#d7b596}
.timeline{display:flex;flex-direction:column}.timeline article{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:start;border-top:1px solid var(--line);padding:12px 0}.timeline-icon{width:34px;height:34px;border-radius:10px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.timeline h3,.timeline p{margin:0}.timeline p{font-size:9px}.timeline small{font-size:8px;color:var(--muted)}
.health-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.health-summary article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center}.health-summary svg{color:var(--chestnut)}.health-summary div{display:flex;flex-direction:column}.health-summary span,.health-summary small{font-size:8px;color:var(--muted)}.health-summary strong{font-size:12px;margin:3px 0}
.medical-timeline{display:flex;flex-direction:column}.medical-timeline article{display:grid;grid-template-columns:90px 14px 1fr auto;gap:12px;align-items:start;padding:13px 0}.medical-timeline time{font-size:9px;color:var(--muted);text-align:right}.medical-timeline>article>span{width:10px;height:10px;border-radius:50%;background:var(--chestnut);margin-top:3px;position:relative}.medical-timeline>article>span:after{content:"";position:absolute;width:1px;height:70px;background:var(--line);left:4px;top:10px}.medical-timeline article:last-child>span:after{display:none}.medical-timeline h3{font-family:var(--serif);font-size:17px}.medical-timeline p{font-size:10px;margin-bottom:4px}.medical-timeline small{font-size:8px;color:var(--muted)}
.care-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.care-plan-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px}.care-plan-grid header{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px}.care-plan-grid header svg{color:var(--chestnut)}.care-plan-grid dl{margin:16px 0 0}.care-plan-grid dl>div{display:grid;grid-template-columns:95px 1fr;border-top:1px solid var(--line);padding:10px 0}.care-plan-grid dt{font-size:9px;color:var(--muted)}.care-plan-grid dd{margin:0;font-size:10px;font-weight:650}
.activity-feed{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.activity-feed article{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:110px 1fr}.activity-media{background:linear-gradient(135deg,var(--sand),#d8e0d8);display:grid;place-items:center;color:var(--forest)}.activity-feed article>div:last-child{padding:17px}.activity-head{display:flex;justify-content:space-between;gap:12px}.activity-head h3{font-family:var(--serif);font-size:17px}.activity-head time{font-size:8px;color:var(--muted)}.activity-feed p{font-size:10px}.activity-feed small{font-size:8px;color:var(--muted)}
.service-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.service-catalog button{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;text-align:left;color:var(--ink);transition:.16s}.service-catalog button:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.service-catalog button>div{width:40px;height:40px;border-radius:11px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.service-catalog h3{font-family:var(--serif);font-size:17px;margin:14px 0 6px}.service-catalog p{font-size:9px;min-height:28px}.service-catalog strong{color:var(--chestnut);font-size:11px}
.service-history{display:flex;flex-direction:column}.service-history article{display:grid;grid-template-columns:1.2fr .5fr auto auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.service-history h3,.service-history p{margin:0}.service-history p{font-size:9px}.service-history article>div:nth-child(2){display:flex;flex-direction:column}.service-history article>div:nth-child(2) span{font-size:8px;color:var(--muted)}
.booking-resources{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-resources article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.booking-resources article>div:first-child{width:45px;height:45px;border-radius:12px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.booking-resources h3{font-family:var(--serif);font-size:19px;margin:15px 0 4px}.booking-resources p{font-size:10px}.slot-row{display:flex;gap:7px;margin-top:17px;flex-wrap:wrap}.slot-row button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 10px;font-size:9px}.slot-row .busy{opacity:.4;text-decoration:line-through}
.reservation-list article{display:grid;grid-template-columns:50px 1fr auto auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.reservation-list h3,.reservation-list p{margin:0}.reservation-list p{font-size:9px}.access-list{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.access-list article{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line)}.access-list h3,.access-list p{margin:0}.access-list p{font-size:9px}.urgent-box{background:#fffafa;border:1px solid #ebcfcc;border-radius:16px;padding:18px;margin-top:18px;display:flex;align-items:center;justify-content:space-between}.urgent-box>div{display:flex;align-items:center;gap:13px}.urgent-box svg{color:var(--danger)}.urgent-box h3,.urgent-box p{margin:0}.urgent-box p{font-size:10px}

/* Functional map */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;text-align:left;color:var(--ink);display:flex;flex-direction:column;min-height:195px;transition:.16s}.feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:var(--sage)}.feature-id{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--chestnut)}.feature-card h3{font-family:var(--serif);font-size:17px;margin:12px 0 7px}.feature-card p{font-size:9.5px;line-height:1.55}.feature-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.feature-foot>span{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}

/* Modals and forms */
.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:rgba(15,24,20,.58);z-index:100;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal--wide{width:min(820px,100%)}.modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 17px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal>header h2{margin:0;font-size:23px}.modal-body{padding:22px 24px}.modal-intro{color:var(--ink);font-size:12px}.modal-note{display:flex;align-items:flex-start;gap:8px;background:var(--sand);border-radius:11px;padding:11px;margin-top:15px;font-size:9px;color:var(--muted)}.modal-note svg{color:var(--chestnut)}
.payment-review{background:var(--forest);color:#fff;border-radius:15px;padding:20px;margin-bottom:14px;display:flex;flex-direction:column}.payment-review span{font-size:9px;color:rgba(255,255,255,.55)}.payment-review strong{font-family:var(--serif);font-size:34px}.payment-review p{color:rgba(255,255,255,.65);margin:4px 0 0}.payment-option{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:18px 46px 1fr;gap:10px;align-items:center}.payment-option div{display:flex;flex-direction:column}.payment-option small{color:var(--muted)}.fake-card{height:28px;background:#23417a;color:#fff;border-radius:5px;display:grid;place-items:center;font-weight:800;font-size:8px}
.modal-profile-list{display:flex;flex-direction:column}.modal-profile-list>button{border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);padding:13px 4px;display:grid;grid-template-columns:36px 1fr 20px;gap:11px;align-items:center;text-align:left}.modal-profile-list>button.active{background:var(--sand);padding-left:10px;padding-right:10px;border-radius:11px}.modal-profile-list>button>div{display:flex;flex-direction:column}.modal-profile-list span,.modal-profile-list small{font-size:9px;color:var(--muted)}
.search-modal label{height:48px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 14px}.search-modal input{border:0;outline:none;flex:1;font-size:14px}.search-results{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.search-results button{border:1px solid var(--line);background:#fff;border-radius:11px;color:var(--ink);display:grid;grid-template-columns:34px 1fr 18px;gap:9px;align-items:center;padding:11px;text-align:left}.search-results button>span{width:34px;height:34px;border-radius:9px;background:var(--sand);display:grid;place-items:center;color:var(--chestnut)}.search-results button div{display:flex;flex-direction:column}.search-results small{font-size:8px;color:var(--chestnut);text-transform:uppercase;letter-spacing:.08em}.search-results strong{font-size:11px}.search-results p{font-size:8px;margin:2px 0 0}

/* Toast */
#toast-root{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{min-width:280px;max-width:430px;background:var(--forest);color:#fff;border-radius:12px;padding:13px 15px;display:flex;align-items:center;gap:10px;box-shadow:0 16px 35px rgba(0,0,0,.2);transform:translateY(20px);opacity:0;transition:.22s}.toast.show{transform:translateY(0);opacity:1}.toast p{margin:0;color:#fff;font-size:11px}.toast--danger{background:var(--danger)}

/* Responsive */
@media(max-width:1180px){
  .horse-grid--management{grid-template-columns:repeat(3,1fr)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .program-grid,.portal-cards{grid-template-columns:repeat(2,1fr);gap:20px}.program-grid article:nth-child(2){border-right:0}
  .public-hero__copy h1{font-size:56px}
  .roster-row{grid-template-columns:1fr 1fr}.attendance{grid-column:1/2}.roster-row>.btn{justify-self:end}
  .role-matrix{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:960px){
  :root{--sidebar:218px}.page-content{padding:25px 20px}.topbar{padding:0 20px}.search-trigger{width:220px}.search-trigger kbd{display:none}
  .stat-row,.feature-summary,.horse-overview,.crm-summary,.activity-stats{grid-template-columns:repeat(2,1fr)}
  .student-hero,.owner-hero,.progress-hero,.executive-grid,.marketing-hero{grid-template-columns:1fr}.student-hero__side{align-items:center}.balance-list{max-width:280px}.owner-status{min-height:180px}
  .two-col,.two-col--wide,.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:auto}
  .horse-grid,.horse-grid--management{grid-template-columns:repeat(2,1fr)}
  .class-workspace{grid-template-columns:220px 1fr}.roster-row{grid-template-columns:1fr}.roster-row>.btn{justify-self:start}.session-checks{grid-template-columns:1fr}
  .settings-layout{grid-template-columns:1fr}.danger-zone,.settings-layout .span-2{grid-column:auto}.role-matrix{grid-template-columns:repeat(2,1fr)}
  .public-hero{grid-template-columns:1fr;padding-top:55px}.public-hero__visual{max-width:650px}.public-schedule{grid-template-columns:1fr}.access-page{grid-template-columns:1fr}.access-aside{min-height:390px}.access-copy h1{font-size:45px}.access-quote{display:none}
  .care-plan-grid{grid-template-columns:1fr}.service-catalog{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.22s;width:260px}.sidebar.open{transform:translateX(0);box-shadow:30px 0 60px rgba(0,0,0,.25)}.workspace{width:100%}.topbar{height:62px}.mobile-brand{display:block}.mobile-brand .brand img{width:34px;height:34px}.mobile-brand .brand span{display:none}.mobile-menu{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:50%}.breadcrumb,.search-trigger,.top-profile span,.top-profile>svg{display:none}.page-content{padding:22px 14px}.page-head{align-items:flex-start;flex-direction:column}.page-actions{width:100%;flex-wrap:wrap}.page-actions>.btn{flex:1}
  .public-nav{padding:0 18px}.public-nav nav,.public-nav .btn--ghost{display:none}.public-hero{padding:48px 20px}.public-hero__copy h1{font-size:46px}.public-proof{gap:15px}.public-hero__visual{padding-left:20px}.floating-note{left:0}.public-programs,.public-schedule,.public-portals{padding:70px 20px}.public-section-title h2,.public-schedule h2{font-size:38px}.program-grid,.portal-cards{grid-template-columns:1fr}.program-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.public-footer{padding:28px 20px;align-items:flex-start;flex-direction:column;gap:18px}.public-footer p{font-size:10px}
  .access-main{padding:38px 20px}.access-main>header{flex-direction:column}.profile-choice{grid-template-columns:1fr}.access-aside{padding:35px 28px}.access-copy h1{font-size:42px}
  .student-hero__main,.student-hero__side{padding:22px}.next-class-grid{grid-template-columns:1fr}.teacher-hero{align-items:flex-start}.teacher-hero__metric{display:none}.hero-actions{flex-wrap:wrap}
  .class-card{grid-template-columns:48px 1fr}.class-card__actions{grid-column:2;justify-content:flex-start}.class-details{gap:8px}.event-card{grid-template-columns:55px 1fr}.event-card__action{grid-column:2}.document-grid,.profile-grid,.help-grid,.feedback-grid,.activity-feed,.booking-resources,.health-summary,.special-groups,.report-grid{grid-template-columns:1fr}
  .messages-layout{grid-template-columns:1fr}.thread-list{display:none}.class-workspace{grid-template-columns:1fr}.class-selector{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.class-selector>button{min-width:220px}.class-console{padding:16px}.console-head{flex-direction:column}.attendance{overflow:auto}.horse-grid,.horse-grid--management{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap}.filter-bar>span{display:none}.filter-bar label{width:100%}.filter-bar input{width:100%}
  .student-progress-list>article{grid-template-columns:1fr}.competition-table article,.staff-grid article,.boarder-list article,.service-history article{grid-template-columns:1fr}.coverage-grid{grid-template-columns:repeat(2,1fr)}.finance-hero{grid-template-columns:1fr 1fr}.week-planner{grid-template-columns:55px repeat(6,160px)}.planner-toolbar{grid-template-columns:1fr;gap:10px}.planner-toolbar>div:last-child{text-align:left}.exception-list{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}.audit-log>div{grid-template-columns:1fr 1fr}.audit-log code{grid-column:1/-1}.marketing-hero{padding:22px}.metric-matrix>div{grid-template-columns:1fr}.role-matrix{grid-template-columns:1fr}
  .owner-horse{flex-direction:column;align-items:flex-start}.owner-status{grid-template-columns:1fr}.owner-status>div:last-child{grid-column:auto}.service-catalog{grid-template-columns:1fr}.reservation-list article{grid-template-columns:50px 1fr}.reservation-list .badge,.reservation-list .btn{grid-column:2}.medical-timeline article{grid-template-columns:55px 12px 1fr}.medical-timeline .badge{grid-column:3}.document-card{grid-template-columns:42px 1fr auto}.document-card>.icon-btn{display:none}
  .feature-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.search-results{grid-template-columns:1fr}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px);border-radius:16px}.modal>header,.modal-body{padding:18px}.page-footer{flex-direction:column;gap:8px}
}

/* Defensive grid sizing: prevents content from forcing horizontal scroll on narrow screens. */
.page-content > *,
.two-col > *,
.dashboard-grid > *,
.executive-grid > *,
.owner-hero > *,
.student-hero > *,
.progress-hero > *{min-width:0}

@media(max-width:960px){
  .student-hero,.owner-hero,.progress-hero,.executive-grid,.marketing-hero,
  .two-col,.two-col--wide,.dashboard-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  .policy-strip{flex-wrap:wrap;gap:8px 14px;padding:12px 14px}
  .policy-strip span{min-width:0;max-width:100%;white-space:normal}
}
