/* Web approximation inspired by Liquid Glass; not Apple's native material API. */
:root{--page:#edf2f1;--ink:#1d302f;--muted:#536965;--line:#d9e3e0;--glass:rgba(255,255,255,.84);--glass-shadow:0 8px 28px rgba(31,65,55,.08),inset 0 1px 0 white;--shadow:0 3px 12px rgba(31,65,55,.035)}
body{background:var(--page);-webkit-font-smoothing:antialiased}
.app-shell{grid-template-columns:256px minmax(0,1fr);gap:8px}
.sidebar{top:12px;height:calc(100dvh - 24px);margin:12px 0 12px 12px;border:1px solid white;border-radius:22px;background:linear-gradient(155deg,rgba(255,255,255,.94),rgba(255,255,255,.7));backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);box-shadow:var(--glass-shadow);padding:22px 14px 16px}
.sidebar-brand{margin-bottom:24px}
.nav-list{gap:5px;scrollbar-width:thin}
.nav-list button{min-height:44px;border:1px solid transparent;border-radius:20px;font-weight:600;font-size:14px;padding:10px 13px;transition:background .16s ease,box-shadow .16s ease}
.nav-list button:hover{background:#ffffffdc;border-color:white}
.nav-list button.active{background:#e7f0d2;border-color:#d4e1b3;color:#233b28;box-shadow:inset 0 1px 0 white,0 2px 5px #36502d0a}
.nav-list button.active svg{color:#507328}
.quarter-link{background:#ffffffb0;border-radius:18px;font-weight:600;min-height:40px}
.quarter-link:hover{background:white;border-color:#abbfb4}
.sidebar-footer{gap:8px;margin-top:14px}
.user-box{margin-top:5px;border-color:#d4e0da}
.main{padding:24px 28px 48px 18px}
.system-switch-banner{background:transparent;border:0;border-bottom:1px solid #d5e0db;border-radius:0;padding:0 0 16px;margin-bottom:20px}
.system-switch-banner:hover{background:transparent;border-color:#a8bf9a}
.system-switch-copy small{color:#386955}
.system-switch-copy strong{font-weight:650}
.topbar{padding:16px 18px;border:1px solid white;border-radius:22px;background:var(--glass);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);align-items:center;gap:16px}
.topbar h1{font-size:25px;color:#233c36;font-weight:700}
.topbar .eyebrow{font-size:10px;color:#52756a;font-weight:700}
.period-toolbar{flex-wrap:wrap;justify-content:flex-end}
label{font-weight:600;color:#445f55}
input,select,textarea{border-color:#cfdcd5;border-radius:8px;background:white;min-height:40px}
textarea{line-height:1.75}
input:focus,select:focus,textarea:focus{border-color:#5a856d;box-shadow:0 0 0 3px #56826920}
button:focus-visible,a:focus-visible{outline:3px solid #527d63;outline-offset:3px}
.primary-btn,.secondary-btn,.danger-btn,.small-btn,.icon-btn{min-height:40px;border-radius:20px;font-weight:600;transition:background .16s ease,box-shadow .16s ease}
.primary-btn{background:#254e40;border-color:#254e40;box-shadow:inset 0 1px 0 #ffffff25,0 3px 7px #254e4015}
.primary-btn:hover{background:#1f4136}
.secondary-btn,.small-btn,.icon-btn{background:#ffffffe6;border-color:#d3dfd9;box-shadow:inset 0 1px 0 white}
.icon-btn{width:40px;flex:0 0 40px}
.view{gap:20px}
.panel{border-radius:0;border:0;border-top:1px solid #d5e0db;box-shadow:none;background:white;padding:22px 20px}
.panel-head h2{color:#29483e;font-size:16px;font-weight:650}
.panel-head p{color:#5a6e66;line-height:1.6}
.metric-card{border:1px solid #dce5df;border-top:3px solid #84a35c;border-radius:8px;background:white;box-shadow:none}
.metric-card strong,table{font-variant-numeric:tabular-nums}
thead th{background:#f0f5f1;color:#3e5a4b}
tbody tr:hover{background:#f5f8f3}
.monitoring-modal-backdrop{background:#1b2c363d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.monitoring-modal-card{border:1px solid white;border-radius:22px;background:#fffffff5;box-shadow:0 24px 90px #21382f30}
.monitoring-modal-head{border-bottom:1px solid #dce5df;padding-bottom:16px}
.monitoring-modal-actions{border-top:1px solid #dce5df;padding-top:16px}
.coaching-report-row{color:#254538;border-radius:8px;margin-top:5px}
.coaching-report-row.selected{background:#edf3e3;box-shadow:inset 3px 0 0 #739443}
.coaching-report-frame{border-radius:8px}
.login-panel{border-radius:22px;border-color:white;background:var(--glass);box-shadow:var(--glass-shadow)}
/* Keep operational content compact and opaque; reserve glass for navigation. */
.nav-section-label{display:block;padding:14px 13px 5px;color:#65716d;font-size:11px;font-weight:650;line-height:1.5}
.nav-section-label:first-child{padding-top:0}
.nav-list button{border-radius:8px}
.nav-list button.active{box-shadow:inset 3px 0 0 #739443,inset 0 1px 0 white}
.primary-btn,.secondary-btn,.danger-btn,.small-btn{border-radius:8px}
.secondary-btn:hover,.small-btn:hover{background:#f2f5f3;border-color:#9dadA5}
button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}
input:disabled,select:disabled,textarea:disabled{background:#f3f4f3;color:#626d67;cursor:not-allowed}
.ranking-toolbar{padding:12px;background:#f5f7f6;border:1px solid #e2e7e4;border-radius:6px;gap:12px}
.period-toolbar{gap:12px}
.metric-card span{font-weight:600}
.sidebar-brand{margin-bottom:18px}
.nav-list{gap:3px}
.nav-list button{min-height:44px;padding:8px 13px}
.metric-card{min-height:112px;padding:16px 18px}
.metric-card .label{color:#53625d;font-weight:600;line-height:1.5}
.metric-card strong{font-size:28px;line-height:1.2;font-weight:700;margin-top:9px}
.metric-card small{line-height:1.5;color:#536965}
.panel-head{gap:12px;align-items:center}
.panel-head h2{line-height:1.5}
.panel-head p{margin-top:5px}
thead th{font-size:12px;font-weight:650;white-space:nowrap}
tbody td{line-height:1.6}
tbody tr:nth-child(even){background:#fafbfa}
tbody tr:hover{background:#f0f5ec}
.table-wrap{border-bottom:1px solid #dce5df;scrollbar-width:thin}
.coaching-report-layout aside{padding-right:16px}
.coaching-report-row{padding:14px 12px;border:1px solid transparent;border-bottom-color:#e0e7e3;gap:6px}
.coaching-report-row strong{line-height:1.55;overflow-wrap:anywhere}
.coaching-report-row:hover{background:#f4f7f1}
.coaching-report-row.selected{border-color:#cfddba;background:#edf3e3}
.coaching-report-row small{line-height:1.6;color:#536965}
.monitoring-history-item{border-color:#dce5df;transition:border-color .16s ease}
.monitoring-history-item:hover{border-color:#9fb59d}
.monitoring-history-main{line-height:1.6}
.monitoring-history-main strong{overflow-wrap:anywhere}
.monitoring-history-main:focus-visible{outline-offset:-3px}
.primary-btn,.secondary-btn,.danger-btn,.small-btn{min-height:44px}
@media(min-width:761px) and (max-height:850px){.sidebar{padding-top:16px}.sidebar-brand{margin-bottom:12px}.nav-list button{min-height:44px;padding-top:6px;padding-bottom:6px}.sidebar-footer{margin-top:8px}}
@media(max-width:760px){.nav-section-label{display:none}.nav-list button{min-height:48px;padding:10px 13px}.metric-card{padding:14px;min-height:108px}.metric-card strong{font-size:26px}.coaching-report-layout aside{padding-right:0}.primary-btn,.secondary-btn,.danger-btn{min-height:44px}}
@media(max-width:1100px){.app-shell{grid-template-columns:224px minmax(0,1fr)}.topbar{align-items:flex-start;flex-direction:column}.period-toolbar{width:100%;justify-content:flex-start}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;margin:10px;padding:12px;border-radius:20px}.nav-list{gap:6px;padding-bottom:7px}.nav-list button{flex:0 0 auto}.sidebar-footer{margin-top:7px}.user-box .admin-login-entry{border-radius:20px;background:white;min-height:42px}.main{padding:12px 12px 36px}.topbar{border-radius:20px;padding:16px}.topbar h1{font-size:23px}.period-toolbar label{min-width:0}.panel{padding:18px 14px}.system-switch-copy>span{display:none}.monitoring-modal-card{border-radius:20px}}
@supports not (backdrop-filter:blur(1px)){.sidebar,.topbar,.login-panel{background:white}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.sidebar,.topbar,.login-panel,.monitoring-modal-card{background:white;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#879d8e}.monitoring-modal-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:#1b2c3670}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.sidebar,.topbar,.monitoring-modal-card{background:white;backdrop-filter:none;box-shadow:none}}
