/* EA Equestrian: shared palette, scale and accessible components. */
:root{--ea-hunter:#3F6B4F;--ea-sage:#A7B89A;--ea-cream:#F6EFE3;--ea-orange:#CC6A3D;--ea-saddle:#8B6A4A;--ea-taupe:#C7B59E;--ea-charcoal:#4B4B46;--ea-error:#a12b32;--ea-error-soft:#fff0f0;--ea-warning:#8a4a16;--ea-warning-soft:#fff4df;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius:8px;--cream:var(--ea-cream);--paper:#fffefa;--ink:var(--ea-charcoal);--muted:#69675f;--brown:var(--ea-hunter);--brown-dark:#2d503a;--green:var(--ea-hunter);--forest:var(--ea-hunter);--sage:var(--ea-hunter);--sage-soft:#e8eee3;--green-soft:#e8f0e8;--tan:var(--ea-saddle);--tan-soft:#eee5d8;--rose:var(--ea-error);--rose-soft:var(--ea-error-soft);--line:#e1d8cb;--shadow:none;--font-body:'DM Sans',system-ui,sans-serif;--font-display:'Libre Baskerville',Georgia,serif}
*{box-sizing:border-box}body{font:400 16px/1.55 var(--font-body);color:var(--ink);background:var(--cream)}img{max-width:100%;display:block}a{color:var(--ea-hunter)}button,input,select,textarea{font:inherit}input,select,textarea{max-width:100%}h1,h2,h3{line-height:1.2;text-wrap:balance}h1{font-size:clamp(1.8rem,3vw,2.6rem)}h2{font-size:1.25rem}h3{font-size:1.1rem}.content h1,.content h2,.content h3{font-family:var(--font-body)}p{line-height:1.65}.eyebrow,.public-kicker{font-size:.75rem;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--ea-hunter)}small,.field-help{font-size:.875rem;line-height:1.5}small{color:var(--muted)}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ea-hunter);outline-offset:3px}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px 20px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn,.public-button{min-height:46px;padding:11px 18px;gap:8px;border:1px solid transparent;border-radius:6px;font-size:.9375rem;font-weight:700;line-height:1.35;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.btn-primary{background:var(--ea-hunter);color:white}.btn-primary:hover{background:#2d503a;color:white}.btn-cta,.public-button{background:var(--ea-orange);color:#fff;border:0}.btn-cta:hover,.public-button:hover{background:#a94c26;color:white}.btn-secondary,.btn-light{background:#eee7dc;border-color:var(--line);color:#49443c}.btn-light:hover,.btn-secondary:hover{background:#e1d5c4}.btn-danger{background:var(--ea-error);color:white}.btn-ghost{background:transparent;color:var(--ea-hunter)}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}.link-button{background:none;border:0;padding:10px;color:var(--ea-error);text-decoration:underline;min-height:44px}
.panel,.public-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--paper);box-shadow:none}.panel h2{margin-bottom:16px}.panel>p:last-child{margin-bottom:0}.notice,.public-notice{display:block;padding:16px 20px;margin-bottom:24px;border:1px solid #d1dccd;border-radius:6px;background:#edf1e8;color:#465244}.notice p{font-size:.9375rem;margin:0}.notice-error,.notice-danger,.public-notice.notice-error{background:var(--ea-error-soft);border-color:#e2b1b3;color:var(--ea-error)}.notice-error :where(p,strong,small,li){color:inherit}.notice-success{background:#e8f0e8;border-color:#b6cdb8;color:#2d573b}.notice-warning{background:var(--ea-warning-soft);border-color:#e6c387;color:var(--ea-warning)}.notice-info,.notice-message{background:#edf0f1;border-color:#cbd4d8;color:#40545b}.field-error,.form-field .field-error{color:var(--ea-error);font-size:.875rem}.form-control[aria-invalid=true]{border-color:var(--ea-error);background:#fffafa}
.form-card{padding:32px;max-width:850px}.form-grid{gap:24px}.form-field{gap:8px;min-width:0;font-size:.9375rem;font-weight:600}.form-field>span>small{display:inline;font-weight:400}.form-field :where(input,select,textarea),.form-control,.form-select{width:100%;min-height:48px;border:1px solid #c9bdac;border-radius:6px;padding:11px 12px;background:white;color:var(--ink);font-size:1rem}.form-field textarea{min-height:136px}.form-field input[type=checkbox],.form-field input[type=radio]{width:22px;height:22px;min-height:22px;accent-color:var(--ea-hunter)}.form-field>small{font-weight:400}.form-actions{flex-wrap:wrap;gap:12px;padding-top:24px;margin-top:28px}.inline-form{display:inline-block}.auth-page{min-height:100vh;background:radial-gradient(ellipse at top left,#e4eadb,transparent 60%),var(--cream)}.auth-header{max-width:1200px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.auth-header>a:last-child{padding:10px 0}.auth-content{max-width:600px;padding:24px 24px 72px;margin:auto}.auth-content.wide{max-width:760px}.auth-content .form-card{margin:0}.auth-content h1{margin-top:20px}.auth-content .page-subtitle{margin-bottom:28px}.auth-footer{margin-top:24px;color:var(--muted);font-size:.9375rem}.auth-footer a{text-decoration:underline}
.content{max-width:1440px;padding:36px clamp(20px,4vw,48px) 64px}.page-header{margin-bottom:28px;align-items:center}.page-subtitle{font-size:1rem;max-width:70ch;margin:8px 0 0}.page-header>div:last-child:has(.btn){display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.brand-mark{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font:700 1rem var(--font-display);color:var(--ea-hunter)}.sidebar{width:256px;padding:24px 16px;background:#f0ece3;border-color:var(--line);overflow-y:auto}.sidebar .brand{padding:0 8px 22px;gap:12px}.sidebar .brand strong{font-family:var(--font-body);font-size:1rem}.sidebar .brand small{font-size:.75rem}.page-area{margin-left:256px}.main-nav{gap:6px;padding-top:20px}.nav-group{margin-bottom:12px}.nav-group-label{font-size:.75rem;color:#686459;letter-spacing:.08em;padding:8px 12px;text-transform:uppercase;cursor:pointer}.nav-link{padding:10px 12px;min-height:46px;font-size:.9375rem;gap:12px;border-radius:6px;color:#56564e}.nav-link.active{background:var(--ea-hunter);color:white;font-weight:600}.nav-link:hover{background:#e2e8dc;color:#294c34}.nav-dot{opacity:.5}.sidebar-tools{display:grid;gap:10px;margin-top:24px}.sidebar-is-collapsed .sidebar{width:76px}.sidebar-is-collapsed .page-area{margin-left:76px}.sidebar-is-collapsed .sidebar :where(.brand>span:last-child,.nav-link>span:last-child,.nav-group-label){display:none}.sidebar-is-collapsed .sidebar-tools button{font-size:0;padding:12px}.sidebar-is-collapsed .sidebar-tools button:after{content:'↔';font-size:20px}
.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.stat-card{border-radius:8px;padding:24px;box-shadow:none}.stat-card:hover{transform:none;box-shadow:none}.stat-card strong{font-family:var(--font-body);font-size:2rem}.stat-card small{font-size:.875rem}.detail-grid{gap:24px}.helpful-empty{padding:36px 24px;color:var(--muted)}.helpful-empty h2{color:var(--ink);margin-bottom:10px}.helpful-empty p{margin-bottom:20px;max-width:58ch}.helpful-empty:only-child{text-align:center}.panel .helpful-empty{padding:20px 0;font-size:.9375rem}.table-panel{padding:0}.responsive-table{max-width:100%;overflow:auto}.responsive-table:focus-visible{outline:3px solid var(--ea-hunter)}table{font-size:.9375rem}th{padding:14px 20px;font-size:.75rem;color:#5a5b52;background:#f0eee7;position:sticky;top:0}td{padding:16px 20px;line-height:1.45}tbody tr:hover{background:#f5f7f1}.row-link{display:inline-flex;align-items:center;min-height:44px;padding:4px 10px;border-radius:4px}.directory-toolbar{gap:16px;flex-wrap:wrap;align-items:flex-end}.directory-toolbar>label{flex:1;min-width:150px;font-size:.875rem}.directory-toolbar .search-box{min-width:240px;min-height:48px;flex:2}.status-badge,.count-pill{font-size:.8125rem;padding:5px 10px;background:#e8eee3;color:#38533e}.setup-row{min-height:76px}.back-link{min-height:44px;display:inline-flex;align-items:center}.panel-heading{gap:16px;flex-wrap:wrap}.panel-heading>div p{margin:8px 0 0}.panel.barn-section{margin-top:24px}
.portal-page{background:#f4f3ed}.portal-header{background:var(--paper);border-bottom:1px solid var(--line);padding:20px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-header nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-header nav>a{min-height:44px;display:flex;align-items:center;padding:8px 12px;border-radius:6px}.portal-content{max-width:1248px}.portal-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px}.portal-shortcuts a{min-height:46px;padding:10px 16px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.portal-content .detail-grid .panel{scroll-margin-top:20px}.portal-content .detail-grid .panel>p{padding:12px 0;border-bottom:1px solid var(--line);margin:0}.portal-content .detail-grid .panel>p:last-child{border:0}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.calendar-toolbar .view-switch{margin:0;flex-wrap:wrap;gap:4px;background:#e9e8df}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);overflow:hidden}.calendar-day{min-height:140px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.calendar-day>time{display:block;font-weight:600;margin-bottom:10px}.calendar-day.is-today{background:#f0f4e9}.calendar-day.is-outside{background:#f0eee8}.calendar-event{display:block;padding:8px 10px;border-left:3px solid var(--ea-hunter);border-radius:4px;background:#e9eee4;margin-bottom:8px;font-size:.8125rem;color:#294c34;overflow-wrap:anywhere}.calendar-event small{font-size:.75rem;color:#49634f}.calendar-week .calendar-day{min-height:340px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#eee9de;text-align:center;padding:10px 0;font-size:.8125rem;font-weight:700}.calendar-agenda article{display:grid;grid-template-columns:160px 1fr auto;gap:20px;padding:20px;border-bottom:1px solid var(--line);align-items:center}.calendar-agenda article:last-child{border-bottom:0}.calendar-agenda time{font-size:.9375rem}.calendar-agenda small{display:block}.calendar-day-view{display:grid;grid-template-columns:64px 1fr;gap:0 16px}.calendar-hour{min-height:70px;border-bottom:1px solid var(--line);padding:10px}.calendar-hour-label{padding-top:10px;font-size:.875rem;color:var(--muted)}
.terminal-product{background:#f3f1e9;font-size:18px;min-height:100vh}.terminal-top{display:flex;justify-content:space-between;align-items:center;background:#284734;color:white;padding:24px 32px;gap:24px}.terminal-top a{color:white}.terminal-top strong{display:block;font-size:24px}.terminal-top span{display:block;font-size:16px;color:#e4eddd}.terminal-top>div{text-align:right}.terminal-top #terminalClock{font-size:36px;font-variant-numeric:tabular-nums}.terminal-main{max-width:1600px;margin:auto;padding:32px}.terminal-heading{margin-bottom:28px}.terminal-heading h1{font:700 clamp(30px,4vw,48px)/1.15 var(--font-body);margin:12px 0}.terminal-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.terminal-module-grid a{min-height:180px;padding:28px;border:1px solid #bbc9b5;background:#fffefa;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;color:#284734}.terminal-module-grid a:hover{background:#e2ead9}.terminal-module-grid a>span{width:54px;height:54px;border-radius:8px;background:#e4ecdd;display:grid;place-items:center;font-size:24px}.terminal-module-grid a>strong{font-size:24px}.terminal-product .terminal-nav{display:flex;flex-wrap:wrap;gap:8px;padding:16px 32px;background:#e4e9dc}.terminal-product .terminal-nav a{padding:14px 20px;min-height:56px;border-radius:6px;font-size:18px;color:#284734;background:#fffefa}.terminal-product .terminal-nav a.active{background:#284734;color:white}.terminal-list article{background:#fffefa;border:1px solid var(--line);padding:24px;margin-bottom:16px;border-radius:8px}.terminal-list article>strong{font-size:24px;display:block}.terminal-list article>span{display:block;margin-top:8px}.terminal-empty{padding:48px;border:1px solid var(--line);background:#fffefa;border-radius:8px}.terminal-inline-action{display:flex;flex-wrap:wrap;gap:12px}.terminal-inline-action :where(input,select){flex:1;min-width:160px;min-height:56px;padding:12px;border:1px solid #aab49f;border-radius:6px;background:white}.terminal-product button,.terminal-quick-actions a{min-height:56px;padding:14px 24px;border:0;border-radius:6px;background:#284734;color:white;font-weight:700}.terminal-quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.terminal-product .notice{margin:24px 32px}.terminal-action-form{max-width:900px;display:grid;gap:20px}.terminal-action-form label{display:grid;gap:8px}.terminal-action-form :where(input,select,textarea){min-height:56px;padding:12px;border:1px solid #aab49f;border-radius:6px}.terminal-inline-action input[type=password]{max-width:200px}
@media(max-width:1100px){.page-header{align-items:flex-start;flex-wrap:wrap}.calendar-week .calendar-day{min-height:250px}.sidebar{width:232px}.page-area{margin-left:232px}}
@media(max-width:900px){.sidebar,.sidebar-is-collapsed .sidebar{width:270px;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.page-area,.sidebar-is-collapsed .page-area{margin-left:0}.mobile-header{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:14px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.menu-button{min-height:46px;min-width:46px;border:1px solid var(--line);background:white;border-radius:6px}.sidebar-is-collapsed .sidebar :where(.brand>span:last-child,.nav-link>span:last-child,.nav-group-label){display:block}.sidebar-is-collapsed .sidebar-tools button{font-size:.9375rem}.sidebar-is-collapsed .sidebar-tools button:after{content:none}.calendar-week{grid-template-columns:1fr}.calendar-week .calendar-day{min-height:120px}.calendar-weekdays.week-labels{display:none}}
@media(max-width:640px){.content{padding:24px 16px 48px}.panel,.form-card{padding:22px}.table-panel{padding:0}.form-grid,.detail-grid,.dashboard-grid,.notes-grid,.content-grid-wide{grid-template-columns:1fr}.form-field.full{grid-column:auto}.page-header{gap:18px}.page-header>div:last-child:has(.btn){justify-content:flex-start}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:18px}.stat-card strong{font-size:1.7rem}.auth-header{padding:20px}.auth-content{padding:16px 16px 48px}.auth-header .brand strong{font-size:.9375rem}.portal-header{padding:16px;flex-direction:column;align-items:flex-start}.portal-header nav{gap:4px}.portal-shortcuts{gap:8px}.portal-shortcuts a{flex:1 1 120px}.calendar-grid:not(.calendar-week){grid-template-columns:1fr}.calendar-grid:not(.calendar-week) .calendar-day{min-height:100px}.calendar-weekdays{display:none}.calendar-day.is-outside{display:none}.calendar-agenda article{grid-template-columns:1fr;gap:8px;padding:18px 0}.calendar-agenda .status-badge{justify-self:start}.calendar-toolbar .view-switch{width:100%}.calendar-toolbar .view-switch a{flex:1;padding:10px}.terminal-top{padding:20px;align-items:flex-start}.terminal-top strong{font-size:20px}.terminal-top #terminalClock{font-size:28px}.terminal-top span{font-size:14px}.terminal-main{padding:24px 16px}.terminal-module-grid,.terminal-module-grid.count-1,.terminal-module-grid.count-2,.terminal-module-grid.count-3{grid-template-columns:1fr}.terminal-module-grid a{min-height:150px}.terminal-product .terminal-nav{padding:12px 16px}.terminal-product .terminal-nav a{flex:1 1 130px}.terminal-inline-action :where(input,select,button){max-width:none;width:100%;flex:1 1 100%}.terminal-empty{padding:28px}.terminal-product .notice{margin:16px}.lesson-row{grid-template-columns:1fr;gap:8px}.lesson-rule{display:none}.lesson-meta{text-align:left}.directory-toolbar .search-box{min-width:100%}.helpful-empty{padding:28px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.editor-navigation{display:flex;gap:10px;flex-wrap:wrap}.editor-page-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line)}.editor-page-row:last-child{border-bottom:0}.editor-page-row>div{flex:1;min-width:180px}.editor-page-row>span{width:40px;height:40px;border-radius:6px;background:var(--sage-soft);color:var(--ea-hunter);display:grid;place-items:center}.editor-page-row small{margin-top:6px}.editor-page-row p{margin:8px 0 0;font-size:.9375rem}fieldset{border:0;padding:0;min-width:0}legend{margin-bottom:20px;font-weight:600}fieldset .form-field{margin-bottom:20px}.sidebar-is-collapsed .sidebar-tools{display:grid}.nav-link.active .nav-dot{color:#e1ebd9}.helpful-empty a.btn{display:inline-flex;color:white}.terminal-clock-card{padding:24px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:20px;display:flex;align-items:end;gap:16px;flex-wrap:wrap}.terminal-clock-card h2{width:100%;font-size:24px;margin:0}.terminal-clock-card label{display:grid;gap:8px}.terminal-clock-card input{min-height:56px;border:1px solid #aab49f;border-radius:6px;padding:12px}.terminal-action-form input[type=checkbox]{min-height:24px;width:24px}.notice-error h1,.notice-error .eyebrow{color:var(--ea-error)}.auth-header .brand{padding:0;border:0}.portal-header .brand{padding:0;border:0}.public-account{margin-left:0}
@media(max-width:640px){.editor-page-row{gap:12px}.editor-page-row>div{flex-basis:100%}.setup-row{grid-template-columns:32px 1fr;padding:18px 16px}.setup-row>span:last-child{grid-column:2}.permission-grid{grid-template-columns:1fr}.terminal-clock-card :where(label,button){flex:1 1 100%}.terminal-clock-card input{width:100%}.directory-toolbar.panel{padding:18px}.calendar-event strong{display:block}}
.directory-toolbar{display:grid;grid-template-columns:minmax(200px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:end}.directory-toolbar>label{min-width:0;width:100%;margin:0}.directory-toolbar .search-box{min-width:0;width:100%;height:48px}.directory-toolbar .form-select{margin-top:6px}.directory-toolbar .btn{height:48px}
@media(max-width:640px){.directory-toolbar{grid-template-columns:1fr 1fr;gap:16px}.directory-toolbar .search-box{grid-column:1/-1}.directory-toolbar .btn{grid-column:1/-1;width:100%}.directory-toolbar>label{width:100%}}
.terminal-calendar-card time{display:block;font-size:20px;font-weight:600;margin-bottom:12px;color:#36523d}.terminal-product .terminal-heading>p{font-size:18px;color:#5a6254}.terminal-product .terminal-module-grid.count-1 a{min-height:240px}.terminal-product .terminal-main .terminal-list article>p{font-size:18px;line-height:1.6}.terminal-product .terminal-search{max-width:600px;width:100%;min-height:58px;padding:14px;border:1px solid #aab49f;border-radius:6px;background:white;margin:0 0 24px}
/* The official orange needs dark text at normal sizes for WCAG AA. */
.btn-cta,.public-button{color:#24180e}.btn-cta:hover,.public-button:hover{color:white}.btn-cta:focus-visible,.public-button:focus-visible{outline-color:#294b35}.terminal-product .notice-error h1{color:var(--ea-error)}.helpful-empty .btn-light{color:var(--ink)}.danger-zone .btn{color:var(--ea-error);border-color:#e2b1b3;background:#fff0f0}
.detail-grid>*{min-width:0}.detail-list dd{overflow-wrap:anywhere;max-width:65%}.panel{min-width:0}.terminal-module-switcher{margin:16px 32px}.terminal-module-switcher>summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#e4e9dc;color:#284734;border:1px solid #bdcbb4;border-radius:6px;font-size:18px;font-weight:600;cursor:pointer}.terminal-module-switcher>summary:after{content:'+';font-size:26px}.terminal-module-switcher[open]>summary:after{content:'−'}.terminal-product .terminal-module-switcher .terminal-nav{padding:16px 0;background:transparent}.calendar-event strong{display:block}
@media(max-width:640px){.terminal-module-switcher{margin:16px}.terminal-main .terminal-heading{margin-bottom:24px}.full-panel{grid-column:1/-1}.detail-list>div{gap:16px}}
.invoice-summary strong{display:block;font-size:2rem;line-height:1.2;margin-top:12px;color:var(--ea-hunter);font-variant-numeric:tabular-nums}.invoice-payment-row{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.invoice-payment-row:last-child{border-bottom:0}.content>.panel+.panel,.content>form.panel+section.panel,.content>nav.panel+section.panel{margin-top:24px}.panel form .form-grid+.btn{margin-top:20px}.empty-state{padding:32px 24px;color:var(--muted)}.empty-state h3{color:var(--ink)}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tabs a{min-height:44px;padding:10px 14px;background:#eee7dc;border:1px solid var(--line);border-radius:6px}
.calendar-date{display:block;color:var(--ink);min-height:44px;margin-bottom:10px;font-weight:600}.calendar-date:hover{text-decoration:underline}.calendar-month-count{display:none}.calendar-day-view{max-height:65vh;overflow:auto;scrollbar-gutter:stable}.calendar-day-view:focus-visible{outline:3px solid var(--ea-hunter);outline-offset:4px}
@media(max-width:640px){.calendar-grid.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month .calendar-day{min-height:92px;padding:4px}.calendar-month .calendar-day.is-outside{display:block;background:#eae7df}.calendar-month .calendar-date{min-height:44px;margin:0;display:grid;place-items:center;font-size:.9375rem}.calendar-month .calendar-date .calendar-weekday{display:none}.calendar-month .calendar-event{display:none}.calendar-month-count{display:block;text-align:center;font-size:.75rem;color:#294c34}.calendar-weekdays.month-labels{display:grid}.calendar-month .calendar-day.is-outside .calendar-date{color:#6a675e}}
.detail-list dt{font-size:.75rem}.stat-card small,.finance-stat small,.mini-stat small{font-size:.875rem}.content .panel>h2{margin-bottom:18px}.content .panel>h2+p{margin-top:12px}
.btn[aria-busy=true],.public-button[aria-busy=true]{opacity:.75;cursor:progress}button.btn[aria-busy=true]:after{content:'…'}
@media(max-width:900px){.sidebar-is-collapsed .sidebar .brand span:last-child,.sidebar-is-collapsed .sidebar .nav-link span:last-child,.sidebar-is-collapsed .sidebar .nav-group-label{display:block}}
@media(max-width:640px){.auth-header{flex-wrap:wrap;gap:12px}.auth-header>a:last-child{min-height:44px}}
.calendar-day{display:block;position:relative}.calendar-day .calendar-month-count{position:static;inset:auto;width:auto;height:auto;padding:0;margin:4px 0;background:none;border-radius:0;line-height:1.4}.terminal-top>a{min-width:0;text-decoration:none}.terminal-top>div{flex-shrink:0;min-width:125px}.terminal-top #terminalClock{white-space:nowrap}
@media(max-width:640px){.calendar-grid.calendar-month .calendar-day{min-height:76px;display:block;position:relative;padding:4px;border-radius:0}.terminal-top #terminalClock{font-size:28px}}
.role-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;cursor:pointer;list-style:none}.role-editor>summary>span:first-child{min-width:0}.role-editor>summary strong{display:block;font-size:1.125rem}.role-editor>summary small{display:block;margin-top:6px;font-size:.9375rem}.role-editor>summary>span:last-child{color:var(--ea-hunter);font-size:.875rem;font-weight:600;flex-shrink:0}.role-editor[open]>summary{padding-bottom:24px;border-bottom:1px solid var(--line)}.role-editor .permission-grid{margin-top:24px}.role-editor form .form-actions{margin-bottom:0}
@media(max-width:640px){.role-editor>summary{align-items:flex-start;flex-wrap:wrap;gap:12px}}
.content input[type=checkbox],.permission-grid input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--ea-hunter);vertical-align:-4px;margin-right:6px}
.portal-shortcuts a.active,.portal-header .nav-link.active{background:var(--brand-primary,#244c3a);color:#fff;border-radius:6px;font-weight:700;box-shadow:inset 0 -3px 0 #c4a46b}
.permission-group{margin-block:1rem}.permission-group summary{font-weight:700}.permission-status{font-size:.9rem}.nav-link[aria-current=page]{font-weight:700}
@media(min-width:901px){.sidebar-is-collapsed .sidebar-tools a{font-size:0;min-height:46px}.sidebar-is-collapsed .sidebar-tools a:after{content:'↩';font-size:20px}}
.field-media-preview{height:100px;max-width:200px;object-fit:contain;background:#fffaf3;padding:8px;border:1px solid var(--line);margin-bottom:12px}
/* October usability pass: quiet surfaces and one shared EA component language. */
body:not(.public-page):not(.terminal-product){--radius:6px;--shadow:none}.sidebar{background:#243d32;color:#f6efe3}.sidebar .brand{border-color:#496051}.sidebar .brand strong,.sidebar .brand small,.sidebar .nav-link,.sidebar .nav-group-label{color:#f6efe3}.sidebar .nav-group-label{font-size:.7rem;letter-spacing:.12em;padding:14px 16px 6px}.sidebar .nav-link{min-height:44px;border-radius:4px;margin:2px 10px;padding:10px 14px}.sidebar .nav-link.active{background:#a7b89a;color:#20392c;box-shadow:none}.sidebar .nav-link:hover{background:#365743;color:#fff}.sidebar .nav-group summary{cursor:pointer}.sidebar-tools{border-top:1px solid #496051}.sidebar-tools .btn{background:transparent;color:#f6efe3;border-color:#496051}.sidebar-tools .btn:hover{background:#365743}.brand-mark{flex-shrink:0}.page-area{min-width:0}.content{max-width:1500px}.page-header{margin-bottom:24px}.page-header .eyebrow{margin-bottom:8px}.page-subtitle{max-width:65ch}.panel{border-radius:6px;box-shadow:none}.btn{border-radius:4px;min-height:44px}.btn-danger{background:#fff0f0;border:1px solid #d9a8a9;color:#87242b}.btn-danger:hover{background:#87242b;color:#fff}.btn-primary{background:#3f6b4f;color:#fff;border-color:#3f6b4f}.status-badge{border-radius:4px;background:#e8eee3;color:#304a36;padding:4px 8px;font-size:.8rem}.form-card{max-width:1050px}.form-section{margin-bottom:24px}.form-section legend{font-size:1.1rem;margin-bottom:16px}.form-field{gap:6px}.form-field>span>small{display:none}.advanced-section{margin:16px 0 24px}.advanced-section>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600;color:#3f6b4f}.advanced-section[open]>summary{margin-bottom:16px}.form-section .form-field{margin-bottom:0}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 24px}.filter-tabs a{min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:4px;color:var(--ink)}.filter-tabs a.active,.filter-tabs a[aria-current=page]{background:#e8eee3;border-color:var(--line);font-weight:600}.simple-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:14px 0;border-bottom:1px solid var(--line)}.simple-row:last-child{border-bottom:0}.simple-row time{font-size:.875rem;color:var(--muted)}.simple-row p{margin:0;flex-basis:100%}.simple-row .status-badge{margin-left:auto}.today-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.today-grid .empty-state{padding:16px 0;margin:0}.panel-heading{align-items:center;flex-wrap:wrap;gap:12px}.panel-heading h2{margin:0}.directory-toolbar{grid-template-columns:minmax(160px,1fr) auto auto;gap:16px}.list-options{position:relative;min-width:130px}.list-options summary{cursor:pointer;min-height:44px;padding:10px}.list-options[open]{min-width:180px}.list-options label{display:block;margin-bottom:8px}.responsive-table table th{font-size:.78rem}.responsive-table table td{font-size:.9375rem;vertical-align:middle}.responsive-table table td:first-child{font-weight:600}.row-link,.link-button{display:inline-flex;min-height:44px;align-items:center;padding:8px}.portal-page .portal-header{background:#fffefa;border-bottom:1px solid #c7b59e}.portal-page .portal-content{max-width:1180px;margin:auto}.portal-page h1,.portal-page h2{font-family:var(--font-display);font-weight:400}.portal-page .page-header{padding-bottom:20px;border-bottom:1px solid var(--line)}.portal-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}.portal-shortcuts a{background:transparent;border:1px solid var(--line);padding:10px 14px;min-height:44px;border-radius:4px;color:var(--ink)}.portal-shortcuts a.active{background:#e8eee3;color:#243d32;box-shadow:none}.portal-workspaces{max-width:1180px;margin:0 auto;padding:24px 32px 40px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line)}.portal-workspaces>span{color:var(--muted);font-size:.875rem}.portal-page .helpful-empty{padding:16px 0;background:transparent;border:0;font-size:.9375rem;color:var(--muted)}.portal-header nav{align-items:center;flex-wrap:wrap}.portal-header .nav-link{min-height:44px;display:inline-flex;align-items:center;padding:10px 12px}.portal-header .nav-link.active{background:#e8eee3;color:#243d32;box-shadow:none}.portal-page .panel{border-top:2px solid #a7b89a}.auth-page .auth-panel{border-radius:6px;box-shadow:none}.tabs a.active{background:#e8eee3;border-color:#a7b89a}.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.permission-grid label{padding:8px 0;min-height:44px}.permission-group{margin-bottom:24px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.content :where(p,td,dd,h1,h2){overflow-wrap:anywhere}.content>details.panel{margin-top:24px}
@media(max-width:900px){.sidebar .nav-link{margin:2px 10px}.portal-header{gap:14px}.portal-workspaces{padding:20px}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.today-grid{grid-template-columns:1fr;gap:16px}.content{padding:24px 16px 40px}.panel,.form-card{padding:20px}.table-panel{padding:0}.page-header .inline-actions{width:100%}.directory-toolbar{grid-template-columns:1fr auto;gap:12px}.directory-toolbar .search-box{grid-column:1/-1}.directory-toolbar .btn{grid-column:auto;width:auto}.directory-toolbar .list-options{min-width:0}.permission-grid{grid-template-columns:1fr}.filter-tabs{gap:4px}.filter-tabs a{padding:10px 12px}.portal-header nav{width:100%;gap:4px}.portal-header nav .nav-link{padding:10px 8px}.portal-header nav form{margin-left:auto}.portal-workspaces{padding:20px 16px 32px}.portal-shortcuts a{flex:1 1 42%;text-align:center}.portal-shortcuts a:last-child{flex-basis:100%}.simple-row .status-badge{margin-left:0}.source-upload .form-grid{grid-template-columns:1fr}}
@media(max-width:640px){.table-panel .responsive-table table{min-width:0;width:100%}.table-panel .responsive-table table:has(td[data-label]) thead{display:none}.table-panel .responsive-table table:has(td[data-label]) tr{display:block;border-bottom:1px solid var(--line);padding:12px 16px}.table-panel .responsive-table td[data-label]{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;border:0;padding:7px 0;min-width:0}.table-panel .responsive-table td[data-label]:before{content:attr(data-label);font-weight:400;color:var(--muted);font-size:.8rem}.table-panel .responsive-table td[data-label=Actions]{display:flex;justify-content:flex-end}.table-panel .responsive-table td[data-label=Actions]:before{content:none}}
@media(min-width:901px){.sidebar-is-collapsed .sidebar .nav-link:before{content:attr(data-initial);display:block;font-weight:700;text-align:center}.sidebar-is-collapsed .sidebar .nav-link{margin:2px 8px;padding:10px}.sidebar-is-collapsed .sidebar .nav-link.active:before{color:#20392c}}
.brand-mark:has(img){border:0;border-radius:4px;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain}
/* Personal and tenant experiences use an editorial list, not an empty card grid. */
.portal-page{background:var(--ea-cream)}.portal-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0 28px;border-bottom:1px solid var(--line);margin-bottom:24px}.portal-welcome h1{margin:8px 0 12px;font-size:clamp(2rem,3.5vw,3rem);color:#2b4937}.portal-welcome p{margin:0;color:var(--muted)}.portal-welcome .eyebrow{color:#3f6b4f}.workspace-entry{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portal-page .portal-shortcuts{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.portal-page .portal-shortcuts a{border:0;background:transparent;flex:none;padding:10px 14px;font-size:.9375rem;text-align:left}.portal-page .portal-shortcuts a.active{background:#e8eee3;color:#243d32}.portal-section{padding:26px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.portal-section h2{font-size:1.4rem;color:#2b4937;margin:0 0 16px}.portal-section h3{font-size:1rem;font-family:var(--font-body);font-weight:600}.portal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.portal-section-heading h2{margin:0}.portal-data-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:12px 0}.portal-data-row+p,.portal-data-row+.portal-data-row{border-top:1px solid #e6ded1}.portal-data-row p{width:100%;margin:0}.portal-data-row time,.portal-data-row small{color:var(--muted)}.portal-empty{margin:8px 0 0;color:var(--muted);font-size:.9375rem}.lesson-contact-inline{padding:18px 20px;margin:20px 0;background:#eee7da;border-left:3px solid #a7b89a;display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap}.lesson-contact-inline p{margin:0;width:100%;font-size:.9375rem}.lesson-contact-inline a{min-height:44px;display:inline-flex;align-items:center;font-weight:500}.rent-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:#fffefa;border-block:1px solid var(--line);padding:20px;margin:0 0 20px}.rent-summary dt{font-size:.85rem;color:var(--muted)}.rent-summary dd{font-size:1.35rem;font-weight:600;color:#2b4937;margin:6px 0 0}.portal-announcement{padding:12px 0}.portal-announcement p{margin-bottom:0}.portal-workspaces{border:0}.access-person{margin-bottom:14px}.access-person>summary{min-height:56px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}.access-person>summary>span:first-child{min-width:0}.access-person>summary strong{display:block;font-size:1.05rem}.access-person>summary small{display:block;overflow-wrap:anywhere;color:var(--muted)}.access-person>summary>span:last-child{font-size:.875rem;color:#3f6b4f}.access-person-content{padding-top:24px}.access-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.access-status p{margin:4px 0 0}.access-primary{max-width:560px;margin-bottom:24px}.access-primary small{margin-top:6px}.experience-access fieldset{margin:24px 0}.experience-access legend{font-size:1rem;margin-bottom:12px}.access-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}.access-switches label{display:flex;align-items:center;min-height:44px;gap:8px}.access-switches input[type=checkbox]{width:34px;height:20px;min-height:20px;appearance:none;border:1px solid #adac9c;border-radius:12px;background:#dedcd2;margin:0;cursor:pointer;position:relative;flex-shrink:0}.access-switches input[type=checkbox]:before{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%}.access-switches input[type=checkbox]:checked{background:#3f6b4f;border-color:#3f6b4f}.access-switches input[type=checkbox]:checked:before{left:16px}.access-switches input[type=checkbox]:focus-visible{outline:3px solid #8b6a4a;outline-offset:3px}.access-modules small{display:block;margin-top:12px;color:var(--muted)}.access-scope>.form-field{max-width:560px}.additional-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.additional-roles label{min-height:44px;display:flex;align-items:center}.access-person[open]>summary{padding-bottom:18px;border-bottom:1px solid var(--line)}.portal-page .notice-error.panel{border-top:2px solid var(--ea-error)}
@media(max-width:900px){.access-switches,.additional-roles{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-workspaces{padding-top:12px}}
@media(max-width:640px){.portal-welcome{display:block;padding-top:4px}.workspace-entry{margin-top:20px}.workspace-entry .btn{flex:1;justify-content:center}.portal-section{padding:22px 0}.portal-section h2{font-size:1.25rem}.portal-page .portal-shortcuts a{flex:none;padding:10px 12px}.rent-summary{grid-template-columns:1fr;gap:16px;padding:18px}.rent-summary dd{font-size:1.25rem}.portal-section-heading{align-items:flex-start;flex-wrap:wrap}.access-person>summary,.access-status{align-items:flex-start;flex-direction:column}.access-switches,.additional-roles{grid-template-columns:1fr}.access-person-content{padding-top:20px}.access-status .inline-actions{width:100%}.lesson-contact-inline{padding:14px 16px}.portal-welcome h1{font-size:2rem}.portal-header{padding:16px}.portal-data-row{gap:8px 16px}}
/* Native registration uses the same quiet EA surfaces as the public site. */
.camp-registration{max-width:920px;margin-inline:auto}.camp-registration h1{font-size:clamp(2rem,5vw,3.5rem)}.camp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.camp-registration label{display:block;margin-block:.75rem;font-family:Arial,sans-serif;font-size:1rem}.camp-registration input:not([type=checkbox]),.camp-registration select,.camp-registration textarea{width:100%;min-height:46px;padding:.65rem;border:1px solid #C7B59E;border-radius:4px;background:#fff;color:#4B4B46;font:inherit;box-sizing:border-box}.camp-registration textarea{min-height:85px}.camper-fields{border:0;border-top:1px solid #C7B59E;margin-block:1.5rem;padding:1rem 0}.camper-fields legend{font-size:1.3rem;font-weight:600}.camp-check{display:flex!important;align-items:flex-start;gap:.65rem;min-height:44px}.camp-check input{margin-top:.25rem;width:20px;height:20px;flex:none}.camp-day-options{display:flex;flex-wrap:wrap;gap:1rem}.camp-steps{display:flex;flex-wrap:wrap;gap:.4rem 1rem;border-block:1px solid #C7B59E;padding:1rem 0;margin:1.5rem 0;font-size:.85rem}.camp-steps .active{color:#243D32;font-weight:700;text-decoration:underline;text-underline-offset:5px}.camp-controls{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.camp-notice{border-left:3px solid #CC6A3D;padding:1rem;background:#F6EFE3}.camp-error,.public-notice.notice-error,.public-notice.notice-danger{border-left:3px solid #a82b2b;background:#fff0ed;color:#8b2424;padding:1rem}.public-notice.notice-success{background:#e8f1e5;color:#243D32}.public-notice.notice-warning{background:#f8efdf;color:#654b25}.agreement-reading{max-width:70ch;padding-block:1rem;border-block:1px solid #C7B59E}.agreement-paragraph{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.camp-summary{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;border-block:1px solid #C7B59E;padding:1rem 0}.camp-summary dd{margin:0;text-align:right}.camp-step[hidden],.camper-fields[hidden],.camp-day-options[hidden],.camp-controls[hidden],.camp-controls button[hidden]{display:none!important}.camp-event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-block:1px solid #C7B59E;padding:1.5rem 0}.camp-event-facts p{margin:0}.camp-registration .public-button.secondary{background:#fff;color:#243D32;border:1px solid #C7B59E}.camp-step{scroll-margin-top:100px}.camp-registration button{min-height:44px}
@media(max-width:600px){.camp-fields,.camp-event-facts{grid-template-columns:1fr}.camp-registration{padding-inline:20px}.camp-controls .public-button{padding:.8rem 1rem}.camp-summary{font-size:.95rem}.camp-steps{font-size:.8rem}.camp-registration h1{overflow-wrap:break-word}}
/* Portal sections are editorial rows, not inherited legacy dashboard cards. */
.portal-page .portal-section{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:24px 0;margin:0;overflow:visible}
@media(max-width:640px){.portal-page .portal-section{padding:20px 0}}

.agreement-document{max-width:70ch;background:#fffdf8;padding:clamp(1rem,4vw,2.5rem);border:1px solid #C7B59E}.agreement-reading h3,.agreement-document h3{font-size:1.2rem;margin-top:1.5rem}.camp-summary dd{overflow-wrap:anywhere}.portal-data-row>p{flex-basis:100%;margin:.25rem 0}.camp-registration input[readonly]{background:#eee9e0;color:#4B4B46}@media print{.sidebar,.topbar,.portal-header,.page-header button,.portal-workspaces{display:none!important}.agreement-document{border:0;padding:0;max-width:none}.content{margin:0!important}body{background:white!important}}

.camp-roster :where(td,small){white-space:normal}.camp-roster .camp-cell{min-width:0;overflow-wrap:anywhere}.camp-roster form{display:flex;gap:.5rem;flex-wrap:wrap}.camp-roster select{max-width:100%}

.camp-roster .responsive-table::after{display:none}.camp-overview{margin-block:1.5rem}

/* Customer portal records and contact forms */
.portal-page .portal-section{border-top:1px solid #d7d5ca;padding-top:1.4rem}
.portal-page .portal-horse-card{display:flex;align-items:center;gap:1.2rem;padding:1rem 0;color:#243d32;text-decoration:none;border-bottom:1px solid #d7d5ca}
.portal-horse-card img,.portal-horse-photo{width:110px;height:110px;object-fit:cover;border-radius:4px}
.portal-horse-card h3{margin:0 0 .35rem;font-family:'Libre Baskerville',serif}
.portal-page input:not([type=checkbox]):not([type=hidden]),.portal-page textarea,.portal-page select{width:100%;max-width:100%;border:1px solid #babeb3;background:#fffdf8;padding:.75rem;color:#29332e;border-radius:3px;box-sizing:border-box}
.portal-page .form-field{margin-bottom:1rem}.portal-page .form-field label{display:block;margin-bottom:.4rem}
.portal-page .portal-data-row>*{min-width:0;overflow-wrap:anywhere}.portal-page .notice{background:#eee8db;border-left:3px solid #a66035}
@media(max-width:600px){.portal-header{align-items:flex-start;gap:.7rem;flex-wrap:wrap}.portal-header nav{flex-wrap:wrap;gap:.25rem}.portal-content{padding-left:1rem;padding-right:1rem}.portal-page .portal-data-row{flex-wrap:wrap;gap:.6rem}.portal-horse-card img,.portal-horse-photo{width:88px;height:88px}.portal-shortcuts{overflow-x:auto;white-space:nowrap}.portal-page .portal-welcome{flex-wrap:wrap}}
