:root{color:#0f172a;background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#f8fafc}.admin-login-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1fr) minmax(400px,560px);align-items:center;gap:64px;padding:48px clamp(32px,8vw,128px);background:#28c166}.admin-login-art img{display:block;width:min(100%,520px);aspect-ratio:1;object-fit:contain;image-rendering:auto}.admin-login-card{width:100%;max-width:440px;justify-self:end;border:2px solid #052e1a;box-shadow:10px 10px #052e1a}.admin-login-logo{display:block;width:88px;height:88px;margin:0 auto 16px;border-radius:20px}button,input,select,textarea{font:inherit}:where(a,button,input,select,textarea,[role=button],[tabindex]):focus-visible{outline:3px solid rgba(40,193,102,.34);outline-offset:2px}.admin-shell{background:#f8fafc}.admin-sider{border-right:1px solid rgba(255,255,255,.08)}.admin-brand{height:64px;padding:0 16px;display:flex;align-items:center;gap:10px;color:#fff;overflow:hidden;white-space:nowrap}.admin-brand-mark{width:32px;height:32px;flex:0 0 32px;display:block;object-fit:contain}.admin-brand-name{font-size:16px;font-weight:700;letter-spacing:.02em}.admin-header{height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffffff5;border-bottom:1px solid #e2e8f0;line-height:normal}.admin-content{min-width:0;margin:24px}.admin-content .ant-card{border-color:#e2e8f0;box-shadow:0 1px 2px #0f172a09}.admin-content .ant-statistic-content,.admin-content .ant-table-cell,.admin-content .ant-progress-text{font-variant-numeric:tabular-nums}.occupancy-page{display:grid;gap:16px}.occupancy-hero.ant-card{overflow:hidden;background:linear-gradient(118deg,#28c166,#39c979 64%,#76dda0)}.occupancy-hero .ant-card-body{min-height:164px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 32px}.occupancy-hero .ant-typography{color:#052e1a}.occupancy-hero h2.ant-typography{margin:7px 0 3px}.occupancy-eyebrow{letter-spacing:.24em}.occupancy-filters{justify-content:flex-end}.occupancy-filters .ant-picker,.occupancy-filters .ant-select-selector,.occupancy-filters .ant-btn{border-color:#052e1a38!important;box-shadow:none!important}.occupancy-summary .ant-card{height:100%}.occupancy-level-card.level-BUSY{border-color:#f59e0b}.occupancy-level-card.level-CROWDED{border-color:#ef4444;background:snow}.occupancy-rules{background:#f8fafc}.occupancy-page .ant-table-small .ant-table-thead>tr>th,.occupancy-page .ant-table-small .ant-table-tbody>tr>td{padding-inline:8px}.ant-btn,.ant-card,.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{transition-duration:.16s!important}.exercise-media-thumb,.exercise-media-empty.compact{width:72px;height:54px;border-radius:8px;object-fit:cover;background:#f1f5f9}.exercise-media-empty{min-height:220px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.exercise-media-empty.compact{min-height:54px;border-style:solid;font-size:12px}.exercise-media-preview{width:100%;max-height:320px;object-fit:contain;border-radius:12px;background:#f8fafc}@media(max-width:767px){.admin-login-page{grid-template-columns:1fr;gap:16px;padding:24px 16px}.admin-login-art{display:none}.admin-login-card{justify-self:center;box-shadow:6px 6px #052e1a}.admin-header{padding:0 16px}.admin-header .ant-space:first-child .ant-typography{display:none}.admin-header .ant-select{width:min(44vw,200px)!important}.admin-content{margin:16px}.occupancy-hero .ant-card-body{min-height:0;align-items:stretch;flex-direction:column;padding:22px 18px}.occupancy-filters{justify-content:flex-start}.occupancy-filters .ant-select{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
