:root{--business-accent:#176f68}
.season-mode{display:flex;gap:10px;flex-wrap:wrap;padding:18px;background:#e8f1f0;border-radius:12px;margin:10px 0 18px}
body[class] .season-mode button[aria-pressed=true]{background:#176f68;color:white;border-color:#176f68}
body[class] [hidden]{display:none!important}
body[class] .business-header{display:flex;gap:24px;align-items:center;padding:14px 28px;background:white;border-bottom:1px solid #d3dfe5}
.business-header nav{display:flex;gap:10px;flex-wrap:wrap;flex:1}.business-header img{display:block;object-fit:contain;filter:brightness(0);opacity:.85}
body[class] .business-shell{padding:22px 30px;min-width:0;max-width:none}.business-title h1{font-size:28px;margin:6px 0 18px}
body[class] .business-filters,.grid-tools{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:18px;background:white;border:1px solid #d3dfe5;border-radius:12px;margin:0 0 16px}
body[class] .business-filters label,.grid-tools label{display:flex;flex-direction:column;gap:7px;min-width:150px;font-size:14px}
body[class] .business-filters input,.business-filters select,.grid-tools input,.grid-tools select{height:42px;min-width:0;width:100%;background:#fff}
.grid-tools label:first-child{flex:1;max-width:420px}.grid-count{margin-left:auto;align-self:center;white-space:nowrap}
.grid-pager{display:flex;justify-content:flex-end;gap:14px;align-items:center;margin:16px 0}.grid-pager>span:first-child{margin-right:auto}
body[class] .data-grid{min-width:0;width:100%}.data-grid .table-box{max-height:62vh}.data-grid td{vertical-align:top;max-width:520px;overflow-wrap:anywhere}.data-grid td a{font-weight:600}
body[class] .data-grid th{position:sticky;top:0;z-index:1;background:#eaf1f3}.data-grid tr:hover td{background:#f3f8f7}
body[class] .business-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0}
body[class] .business-kpi{padding:18px 20px;background:#fff;border:1px solid #d3dfe5;border-radius:12px;min-width:0;display:flex;flex-direction:column;gap:10px}
.business-kpi>span{font-size:14px;color:#526775}.business-kpi>strong{font-size:28px;font-variant-numeric:tabular-nums}.business-kpi>small{font-size:13px;color:#526775}
body[class] .hall-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:12px}
body[class] .hall-card{background:white;border:1px solid #d3dfe5;border-top:4px solid #176f68;border-radius:12px;padding:22px;min-width:0}
.hall-card h3{font-size:23px;margin:10px 0 18px;min-height:28px}.hall-card>strong{font-size:28px}.hall-stats{display:grid;gap:10px;margin:20px 0;color:#526775}.hall-stats b{color:#203441;margin-right:8px}.hall-card>p{min-height:42px;color:#526775}.hall-card>button{width:100%}
.business-note{font-size:14px;color:#526775;margin:14px 0;line-height:1.5}.profile-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hall-card{display:flex;flex-direction:column}.hall-card>button{margin-top:auto}
@media(min-width:1100px){body.business-page{overflow:hidden}body.business-page #app{height:100dvh;display:flex;flex-direction:column}.business-header{flex-shrink:0}.business-shell{flex:1;min-height:0;display:flex;flex-direction:column}.business-title,.business-filters{flex-shrink:0}#business-message:empty{display:none}#business-results{min-height:0;flex:1;display:flex;flex-direction:column}#business-results>.section-tabs{min-height:0;flex:1;display:flex;flex-direction:column}#business-results>.section-tabs>.section-content{overflow:auto;min-height:0;padding:0 8px 24px 0}.hall-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
body[class] .profile-columns>.panel{margin:0;padding:22px}.profile-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:18px 0}.profile-bar progress{grid-column:1/-1;width:100%;height:8px;accent-color:#176f68}.profile-bar small{grid-column:1/-1;color:#526775}
body[class] .season-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px}.season-chart article{display:grid;gap:12px;padding:18px;background:#f2f7f6;border-radius:10px}.season-chart progress{width:100%;accent-color:#176f68}.season-chart strong{font-size:22px}
body[class] .event-calendar{background:white;padding:22px;border:1px solid #d3dfe5;border-radius:14px;min-width:0}
.calendar-toolbar{display:flex;align-items:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}.calendar-toolbar>div:first-child{margin-right:auto}.calendar-toolbar h2{font-size:26px;margin:6px 0}.calendar-toolbar>div:nth-child(2){display:flex;gap:8px}.calendar-toolbar label{display:flex;gap:10px;align-items:center}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:22px}.calendar-layout>div{min-width:0}.calendar-week,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week{margin-bottom:10px;text-align:center;color:#526775;font-size:14px}
body[class] .calendar-day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;padding:12px;min-height:115px;border:1px solid #dde6e9;background:#fafcfc;border-radius:10px;min-width:0;gap:8px}.calendar-day-top{display:flex;justify-content:space-between;gap:5px}.calendar-day-top>b{font-size:18px}.calendar-day-top em{font-size:12px;font-style:normal;border-radius:12px;background:#176f68;color:white;padding:2px 7px}
body[class] .calendar-day.has-events{background:#eaf5f1;border-color:#b7d8ce}body[class] .calendar-day.selected{outline:2px solid #176f68;outline-offset:0}.calendar-halls{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.calendar-day small{font-size:12px;margin-top:auto}.calendar-legend{font-size:13px;color:#526775}.calendar-legend i{display:inline-block;width:10px;height:10px;background:#176f68;border-radius:50%;margin-right:6px}
.calendar-agenda{border-left:1px solid #d3dfe5;padding-left:20px;max-height:650px;overflow:auto}.calendar-agenda article{display:grid;gap:12px;border:1px solid #d3dfe5;border-radius:10px;padding:16px;margin-bottom:12px}.calendar-agenda a{font-weight:600;line-height:1.5}.calendar-agenda p{margin:0;color:#526775}.hall-chip,.reason-chip{display:inline-block;border-radius:6px;padding:6px 9px;background:#eaf3f2;color:#285c55;font-size:13px;margin:2px}
body[class] .calendar-day-top em{color:#fff!important;min-width:20px;text-align:center}
@media(min-width:1100px){body[class] .calendar-day{min-height:86px;padding:8px;gap:5px}.calendar-halls{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
body[class] .contact-grid{gap:16px;align-items:stretch;margin:16px 0}body[class] .contact-grid>div{padding:18px 20px;min-width:0;border:1px solid #d3dfe5;border-radius:12px;background:white;display:flex;flex-direction:column;gap:10px;align-items:flex-start}body[class] .contact-grid>div>b{font-size:25px}body[class] .contact-grid small{display:block}
body[class] .loss-analysis h2{margin:8px 0 20px}body[class] .loss-analysis .metric{min-height:110px;padding:18px 20px}.loss-columns{gap:24px}.loss-reason{margin:18px 0}.loss-reason>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:8px}.loss-reason progress{width:100%;height:8px;accent-color:#176f68}
body[class] .admin-dialog{padding:0;width:min(1440px,94vw);max-height:92dvh;overflow:hidden}body[class] .admin-head{padding:22px 26px;margin:0;border-bottom:1px solid #d3dfe5}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;padding:14px 24px;background:#f3f6f7;border-bottom:1px solid #d3dfe5}body[class] .admin-content{padding:22px 24px;max-height:calc(92dvh - 170px);overflow:auto;display:block}.admin-content>section{margin:0!important;padding:0!important;border:0!important}
body[class] .admin-nav button[aria-selected=true],body[class] .personnel-tabs button[aria-selected=true]{background:#176f68;color:white}.admin-content .personnel-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:410px;overflow:auto;padding:4px;margin:12px 0 22px}
body[class] .admin-content .personnel-list>button{display:grid;grid-template-columns:1fr;align-content:start;gap:6px;padding:14px;text-align:left;min-width:0}.personnel-list>button b{font-size:16px;overflow-wrap:anywhere}.personnel-list>button span{font-size:13px!important;line-height:1.4;color:#526775}
body[class] .admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}body[class] .admin-fields label{min-width:0}body[class] .admin-fields :is(input,select){width:100%;min-width:0}.admin-content form{padding:18px;background:#f5f8f8;border-radius:12px;margin:16px 0}.admin-content h4{font-size:18px;margin:12px 0}.admin-content .user-form{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.admin-content .user-form>div{min-width:190px;margin-right:auto}.admin-content .user-form small{display:block}.admin-content .employment-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.admin-content .roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
@media(min-width:2200px){body[class] .hall-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-layout{grid-template-columns:minmax(0,1fr) 400px}.calendar-day{min-height:100px!important}}
@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr}.calendar-agenda{border-left:0;border-top:1px solid #d3dfe5;padding:18px 0 0}.business-header{flex-wrap:wrap}.business-header nav{order:2;flex-basis:100%}.business-header>button{margin-left:auto}}
@media(max-width:760px){body[class] .business-shell{padding:16px}body[class] .business-header{padding:12px;gap:12px}body[class] .business-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.business-kpi strong{font-size:23px}.profile-columns{grid-template-columns:1fr}.business-filters>*{flex:1;min-width:130px}.grid-tools>*{flex:1;min-width:140px}.grid-count{margin:0}.grid-pager{gap:8px;flex-wrap:wrap}.calendar-week,.calendar-month{gap:4px}body[class] .event-calendar{padding:12px}body[class] .calendar-day{min-height:72px;padding:6px;gap:5px}.calendar-day .calendar-halls,.calendar-day small{display:none}.calendar-day-top{flex-wrap:wrap}.calendar-day-top>b{font-size:15px}.calendar-day-top em{font-size:10px;padding:1px 5px}body[class] .admin-dialog{width:98vw;max-width:98vw}.admin-nav{padding:10px;gap:6px}.admin-content{padding:12px!important;max-height:65dvh!important}body[class] .admin-content .personnel-list,body[class] .admin-fields,body[class] .admin-content .roster-list{grid-template-columns:1fr}.admin-head h2{font-size:21px}.hall-cards{grid-template-columns:1fr!important}}

.today-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.today-heading h1{margin-bottom:0}.today-event-list article{padding:14px 0;border-bottom:1px solid #d3dfe5}.today-event-list a{font-size:17px;font-weight:650}.today-event-list p{margin:8px 0}.today-focus{display:grid;gap:0}.today-focus>span{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid #d3dfe5}.today-focus strong{font-size:19px;text-align:right}.today-plan-value{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:18px 0}.today-plan-value>strong{font-size:32px}.today-plan-value>b{margin-left:auto;font-size:24px}.today-page progress{width:100%;height:10px;accent-color:#19736f}.today-range{display:block;margin-top:8px}.today-page .profile-columns{margin:18px 0}.today-page .panel h2{margin-top:0}.today-page .business-kpi strong{font-variant-numeric:tabular-nums}.today-page [role=status]:empty{display:none}
@media(max-width:650px){.today-focus>span{align-items:flex-start;flex-direction:column;gap:8px}.today-focus strong{text-align:left}.today-plan-value>strong{font-size:26px}.today-plan-value>b{margin-left:0}}

body[class] .portrait.has-photo{position:relative;overflow:hidden;background:#eaf1f3}body[class] .portrait.has-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 18%;filter:none;opacity:1}body[class] .business-header a.active{background:#176f68;color:#fff;border-color:#176f68;font-weight:650}

body[class] .portrait.has-photo svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}
body[class] th .table-sort-button{border:0;background:transparent;color:inherit;box-shadow:none;padding:0;min-height:30px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font:inherit;cursor:pointer;border-radius:4px}body[class] th .table-sort-button:hover{color:#176f68;background:#dcebe9}body[class] th .table-sort-button:focus-visible{outline:2px solid #176f68;outline-offset:4px}.sort-indicator{white-space:nowrap;opacity:.65}th[aria-sort=ascending] .sort-indicator,th[aria-sort=descending] .sort-indicator{opacity:1;font-weight:800}
/* Team cards: a stable photo/statistics stage, independent of theme layouts. */
body[class] .team-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;align-items:start}
body[class] .team-card{min-width:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);text-align:left;box-shadow:0 3px 12px #213b4810;transition:box-shadow .22s,border-color .22s}
body[class] .team-card:hover,body[class] .team-card:focus-within{border-color:#91b7b0;box-shadow:0 12px 28px #213b4818}
body[class] .team-card-stage{height:270px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 90%,#cbded7 0,transparent 68%),linear-gradient(135deg,#f2f5ef,#e6efed);overflow:hidden}
body[class] .team-card-photo{position:absolute;inset:16px 16px 42px;display:flex;justify-content:center;transition:opacity .22s,transform .3s}
body[class] .team-card-photo .portrait.large{width:156px!important;height:192px!important;min-height:0!important;max-height:none!important;flex:none;border:4px solid #fff;border-radius:18px!important;box-shadow:0 6px 16px #233a4524;overflow:hidden}
body[class] .team-card-photo .portrait.has-photo svg{width:100%;height:100%}
body[class] .team-card-facts{position:absolute;inset:0;padding:18px 20px 48px;background:#edf4f2;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .22s,transform .25s,visibility .25s;color:var(--ink)}
body[class] .team-card-eyebrow{display:block;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
body[class] .team-card-facts dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0}
body[class] .team-card-facts dl>div{min-width:0;display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;border-bottom:1px solid #d3e1dd;padding-bottom:6px}
body[class] .team-card-facts dt{font-size:13px;line-height:1.2;color:var(--muted);margin-top:3px}
body[class] .team-card-facts dd{font-size:22px;font-weight:650;line-height:1.1;margin:0;font-variant-numeric:tabular-nums}
body[class] .team-card.shows-stats .team-card-facts{opacity:1;visibility:visible;transform:translateY(0)}
body[class] .team-card.shows-stats .team-card-photo{opacity:0;transform:translateY(-6px) scale(.97)}
body[class] .team-card-peek{position:absolute;z-index:2;bottom:8px;right:12px;min-height:32px;padding:5px 11px;font-size:12px;border-radius:20px;background:#ffffffed;color:var(--accent);border-color:#b6cdc7}
body[class] .team-card-body{padding:18px 20px 0}
body[class] .team-card-rank{min-height:22px;color:var(--muted);font-size:13px;line-height:1.3}
body[class] .team-card-rank .person-rank{margin:0;font-size:13px;line-height:1.3}
body[class] .team-card-rank .first{color:var(--accent);font-weight:700}
body[class] .team-card h3{margin:3px 0 10px;font-size:20px;min-height:32px}
body[class] .team-card h3 button{width:100%;min-height:32px;padding:0;border:0;box-shadow:none;border-radius:4px;background:transparent;text-align:left;justify-content:space-between;align-items:flex-start;font:inherit;line-height:1.2;color:var(--ink)}
body[class] .team-card h3 button span{font-size:18px;color:var(--accent);padding-left:8px}
body[class] .team-card-result{display:grid;gap:3px;margin-bottom:17px}
body[class] .team-card-result>span{font-size:13px;color:var(--muted)}
body[class] .team-card-result>strong{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.6px}
body[class] .team-card-result>small{font-size:13px;color:var(--muted)}
body[class] .team-card-plan{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:var(--muted)}
body[class] .team-card-plan b{font-size:17px;color:var(--accent);white-space:nowrap}
body[class] .team-card-progress,body[class] .team-card-no-plan{height:5px;background:#edf2f3;border-radius:8px;margin:9px 0 18px;overflow:hidden}
body[class] .team-card-progress i{height:100%;display:block;background:var(--accent);border-radius:inherit}
body[class] .team-card-no-plan{background:transparent}
body[class] .team-card-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:61px}
body[class] .team-card-footer>span{font-size:12px;color:var(--muted)}
body[class] .team-card-footer .has-risks{color:#98462f}
body[class] .team-card-footer button{font-size:13px;min-height:36px;padding:6px 10px;border-color:#cfddda;background:#f3f8f6;color:var(--accent);white-space:nowrap}
@media(min-width:1800px){body[class] .team-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){body[class] .team-card-grid{gap:16px}body[class] .team-card-stage{height:280px}body[class] .team-card h3{min-height:0}body[class] .team-card h3 button{min-height:32px}}
@media(prefers-reduced-motion:reduce){body[class] :is(.team-card,.team-card-photo,.team-card-facts){transition:none}}
