
:root { --background:#f7f8fb; --foreground:#26344c; --card:#fff; --card-foreground:#26344c; --popover:#fff; --popover-foreground:#26344c; --primary:#ea7d9b; --primary-foreground:#fff; --secondary:#f5f6fa; --secondary-foreground:#34415a; --muted:#f5f6fa; --muted-foreground:#8891a2; --accent:#fff0f4; --accent-foreground:#cc617e; --destructive:#c44d64; --border:#e9ecf2; --input:#e6e9ef; --ring:#ea7d9b; --radius:0.75rem; --pink:#e87c9b; --navy:#26344c; --line:#e9ecf2; --muted-text:#8490a3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { margin:0; background:var(--background); color:var(--foreground); font-family:"Inter","PingFang SC","Microsoft YaHei",system-ui,sans-serif; font-size:14px; line-height:1.6; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
button:disabled { cursor:default; opacity:.58; }
button:focus-visible,a:focus-visible { outline:3px solid #eab0c4; outline-offset:4px; }
input:focus,select:focus { outline:none; border-color:#dc91aa; box-shadow:0 0 0 3px #fcecf2; }
input::placeholder { color:#a5adba; }
input:disabled { background:#fafbfc; color:#8a93a3; }
button { transition:background .18s,box-shadow .18s,transform .18s; }
.workspace { display:flex; min-height:100vh; }
.sidebar { width:228px; flex-shrink:0; background:#fff; border-right:1px solid var(--line); padding:35px 20px 21px; min-height:100vh; display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; z-index:10; }
.brand { display:flex; align-items:center; gap:11px; padding:0 9px; color:#27364e; font-size:18px; font-weight:750; letter-spacing:.02em; margin-bottom:48px; }
.brand small { display:block; font-size:8px; font-weight:600; letter-spacing:1.9px; color:#a4adbb; margin-top:1px; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; background:var(--pink); width:36px; height:36px; border-radius:11px; flex-shrink:0; box-shadow:0 4px 10px #e87c9b18; position:relative; }
.brand-mark::before,.brand-mark::after { content:""; position:absolute; width:4px; height:14px; border-radius:2px; background:#fff; top:11px; transform:skew(-13deg); }
.brand-mark::before { left:11px; height:11px; }
.brand-mark::after { left:21px; top:13px; height:11px; }
.brand-mark span { width:15px; height:5px; border:2px solid #fff; border-top:0; border-radius:0 0 4px 4px; position:absolute; bottom:8px; transform:skew(-13deg); }
.brand-mark.small { width:26px; height:26px; border-radius:8px; box-shadow:none; }
.brand-mark.small::before { left:7px; top:7px; height:9px; width:3px; }
.brand-mark.small::after { left:15px; top:9px; height:8px; width:3px; }
.brand-mark.small span { bottom:5px; width:12px; height:4px; }
.sidebar-label { font-size:10px; letter-spacing:1.5px; color:#a4adba; margin:0 16px 15px; }
.sidebar nav { display:flex; flex-direction:column; gap:8px; }
.nav-item { min-height:46px; display:flex; align-items:center; gap:13px; color:#7b879a; border-radius:9px; padding:12px 16px; font-size:13px; }
.nav-item:hover { background:#f7f8fb; color:#344159; }
.nav-item.active { background:#fff0f4; color:#ce6a88; font-weight:600; }
.nav-active-dot { width:5px; height:5px; border-radius:50%; background:#e580a0; margin-left:auto; }
.sidebar-bottom { margin-top:auto; padding-top:50px; }
.sidebar-tip { border:1px solid #f3e9ed; background:linear-gradient(145deg,#fff7f9,#fffcfd); border-radius:12px; margin:0 7px 23px; padding:19px 17px; }
.tip-heart { color:#e19ab0; display:block; margin-bottom:12px; }
.sidebar-tip strong { font-size:12px; color:#68748a; font-weight:600; }
.sidebar-tip p { font-size:11px; color:#a1a7b3; line-height:1.9; margin:7px 0 0; }
.preview-nav { display:flex; justify-content:space-between; align-items:center; color:#8a95a7; font-size:11px; padding:0 14px 21px; }
.preview-nav:hover { color:#cf6d8d; }
.sidebar-version { border-top:1px solid #f0f1f5; display:flex; align-items:center; gap:7px; color:#a0aaba; font-size:10px; padding:18px 14px 0; letter-spacing:.4px; }
.status-dot { background:#8bc4ae; width:5px; height:5px; border-radius:50%; }
.main-column { margin-left:228px; min-width:0; width:calc(100% - 228px); }
.topbar { height:78px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 44px; }
.breadcrumb { font-size:11px; color:#6e7b90; }
.breadcrumb span { color:#d1d6df; margin:0 13px; }
.topbar-right { display:flex; align-items:center; gap:21px; }
.private-pill { display:flex; align-items:center; gap:6px; color:#8d97a7; font-size:10px; }
.avatar { width:31px; height:31px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#9a7890; background:#f5edf3; font-size:11px; border:3px solid #fbf8fb; }
.workspace-main { padding:35px 43px 0; max-width:1470px; margin:0 auto; }
.page-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; gap:20px; }
.page-heading h2 { font-size:23px; letter-spacing:-.4px; line-height:1.4; font-weight:700; margin:0 0 5px; }
.page-heading p { margin:0; color:#929bac; font-size:11px; }
.page-heading-tag { font-size:10px; color:#9aa3b2; display:flex; align-items:center; gap:7px; }
.tiny-dot { display:inline-block; background:#e789a5; width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.welcome-panel { background:linear-gradient(110deg,#fff 38%,#fffafb 100%); border:1px solid #ebedf2; border-radius:17px; display:grid; grid-template-columns:1.05fr 1fr; min-height:448px; padding:44px 40px 38px; overflow:hidden; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:10px; letter-spacing:1.5px; font-weight:500; color:#a07e8d; }
.eyebrow.muted { color:#a0a8b6; font-size:9px; letter-spacing:1.7px; }
.welcome-copy { position:relative; z-index:1; padding:6px 0 0; }
.welcome-copy h1 { font-size:46px; font-weight:700; letter-spacing:-1.3px; line-height:1.35; margin:19px 0 17px; }
.pink-text { color:#e58baa; }
.welcome-copy>p { font-size:12px; line-height:1.95; color:#8490a2; margin:0; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin:25px 0 18px; }
.button { border:1px solid transparent; border-radius:8px; padding:11px 17px; font-size:12px; font-weight:500; display:inline-flex; align-items:center; justify-content:center; gap:10px; line-height:1.5; white-space:nowrap; min-height:41px; }
.button-primary { color:#fff; background:#e9809e; box-shadow:0 4px 10px #de8caa18; }
.button-primary:hover:enabled,.button-primary[href]:hover { background:#df708f; box-shadow:0 6px 15px #df819d25; }
.button-secondary { background:#fff; color:#728098; border-color:#e5e9f0; }
.button-secondary:hover:enabled,.button-secondary[href]:hover { background:#f9fafc; color:#37465f; border-color:#d9dfe9; }
.button-sm { padding:8px 12px; font-size:10px; min-height:34px; gap:7px; border-radius:7px; }
.text-link { display:inline-flex; align-items:center; gap:7px; color:#8d95a6; font-size:11px; border:0; padding:0; background:transparent; }
.text-link:hover { color:#d47493; }
.quiet-note { font-size:9px; color:#a8afbd; display:flex; align-items:center; gap:6px; }
.preview-scene { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:5px 0 0; }
.preview-scene::before { content:""; position:absolute; width:350px; height:350px; border-radius:50%; background:#faeef3; box-shadow:0 0 0 31px #fdf4f7,0 0 0 64px #fffbfc; left:50%; top:50%; transform:translate(-50%,-50%); }
.scene-caption { position:relative; font-size:9px; color:#b08a9d; display:flex; align-items:center; gap:5px; margin-bottom:13px; }
.mini-form-card { width:275px; background:#fff; border:1px solid #f0e9ef; box-shadow:0 14px 35px #b889a214; border-radius:13px; padding:22px 25px 16px; position:relative; transform:rotate(2deg); }
.mini-card-top { display:flex; align-items:center; gap:7px; font-size:8px; font-weight:600; color:#7e7d90; }
.mini-card-top .badge { margin-left:auto; font-size:6px; padding:2px 5px; }
.mini-form-card h2 { font-size:21px; font-weight:650; line-height:1.5; letter-spacing:-.4px; margin:19px 0 8px; }
.mini-context { color:#aaa6b3; font-size:7px; border-bottom:1px solid #f2eef2; padding-bottom:12px; margin-bottom:14px; }
.mini-label { font-size:8px; font-weight:600; margin:12px 0 6px; }
.mini-input { font-size:8px; border:1px solid #edf0f4; border-radius:6px; background:#fbfcfd; color:#bac1cb; padding:9px 10px; }
.mini-submit { display:flex; justify-content:center; align-items:center; gap:12px; margin:17px 0 11px; border-radius:6px; background:#eb91ad; color:white; padding:9px; font-size:9px; }
.mini-foot { display:flex; justify-content:center; align-items:center; gap:3px; color:#a7afbc; font-size:7px; }
.floating-tag { position:absolute; display:flex; align-items:center; gap:6px; color:#78908d; font-size:9px; border:1px solid #eef0ef; border-radius:8px; background:#fff; padding:9px 13px; box-shadow:0 7px 20px #7d8b9f0d; bottom:12px; right:-8px; transform:rotate(-4deg); }
.floating-tag svg { color:#91b4a5; }
.workflow-section { margin-top:33px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:18px; }
.section-heading h2 { font-size:17px; margin:4px 0 0; font-weight:600; letter-spacing:-.4px; }
.section-side-note { font-size:10px; color:#a1a9b8; }
.workflow-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.workflow-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:23px 23px 20px; position:relative; }
.workflow-icon { color:#d38ca3; display:inline-flex; background:#fcf3f6; border:1px solid #f7edf1; width:39px; height:39px; border-radius:10px; align-items:center; justify-content:center; }
.workflow-card:nth-child(2) .workflow-icon { background:#f1f6fb; border-color:#eaf1f8; color:#8da7c9; }
.workflow-card:nth-child(3) .workflow-icon { background:#f1f8f5; border-color:#e9f3ee; color:#8bae9c; }
.step-number { position:absolute; right:23px; top:24px; color:#edf0f5; font-size:30px; font-weight:500; line-height:1; letter-spacing:-1px; }
.workflow-card h3 { font-size:13px; font-weight:600; margin:19px 0 8px; }
.workflow-card p { margin:0; font-size:10px; line-height:1.9; color:#929eaf; }
.workflow-card>a { font-size:9px; display:inline-flex; align-items:center; gap:6px; color:#9aa4b4; margin-top:19px; }
.workflow-card>a:hover { color:#d07894; }
.scope-note { border:1px solid #e9ecf2; background:#f2f4f8; border-radius:9px; padding:15px 19px; display:flex; justify-content:space-between; align-items:center; margin-top:22px; color:#9aa4b4; }
.scope-note>div { display:flex; gap:11px; align-items:center; }
.scope-note svg { flex-shrink:0; color:#a0aabd; }
.scope-note p { font-size:9px; margin:0; line-height:1.9; }
.scope-note strong { color:#7e8aa0; font-weight:500; margin-right:7px; }
.scope-arrow { opacity:.4; }
.workspace-footer { display:flex; justify-content:space-between; align-items:center; font-size:9px; color:#a6aebc; padding:25px 0 24px; gap:18px; }
.footer-dot { margin:0 6px; color:#c5cad4; }
.badge { display:inline-flex; align-items:center; justify-content:center; gap:4px; font-size:9px; font-weight:500; border:1px solid transparent; border-radius:5px; padding:3px 7px; line-height:1.5; white-space:nowrap; }
.badge-neutral { background:#f5f6f9; color:#929aab; border-color:#eef0f4; }
.badge-green { background:#f0f8f3; color:#77a88f; border-color:#e6f1ea; }
.badge-amber { background:#fff7e9; color:#b89b61; border-color:#f8ecd8; }
.registration-page { min-height:100vh; padding:42px 20px 30px; background:radial-gradient(ellipse at 20% 8%,#fff4f8 0,transparent 40%),radial-gradient(ellipse at 85% 65%,#eff3fb 0,transparent 40%),#f7f8fb; }
.registration-brand { display:flex; justify-content:center; align-items:center; gap:10px; font-size:17px; font-weight:650; color:#465169; margin-bottom:28px; }
.registration-brand .brand-mark { width:33px; height:33px; border-radius:10px; }
.registration-brand .brand-mark::before { left:10px; top:9px; }
.registration-brand .brand-mark::after { left:19px; top:11px; }
.registration-brand .brand-mark span { bottom:7px; }
.registration-card { width:100%; max-width:460px; padding:37px 39px 31px; background:#fff; border:1px solid #eaeaf1; border-radius:18px; box-shadow:0 15px 60px #4a63800a; margin:0 auto; }
.demo-banner { margin:-17px -19px 28px; border:1px solid #f2e8ed; border-radius:7px; padding:8px 10px; background:#fff8fb; color:#b28b9d; display:flex; justify-content:center; align-items:center; gap:7px; font-size:10px; }
.registration-kicker { color:#ae8296; font-size:10px; letter-spacing:1px; display:flex; align-items:center; gap:7px; }
.registration-title { font-size:31px; letter-spacing:-.8px; line-height:1.5; font-weight:650; margin:16px 0 12px; }
.registration-intro { font-size:12px; line-height:1.9; color:#939dad; margin:0 0 24px; }
.group-context { display:flex; align-items:center; gap:12px; background:#f7f8fb; border:1px solid #edf0f4; border-radius:9px; padding:14px; margin-bottom:27px; }
.context-icon { display:flex; justify-content:center; align-items:center; background:#fff; width:36px; height:36px; border:1px solid #edf0f5; color:#98a7be; border-radius:9px; flex-shrink:0; }
.group-context>div { min-width:0; }
.group-context>div>span { font-size:10px; color:#9ba5b6; display:block; overflow-wrap:anywhere; }
.group-context strong { font-size:12px; font-weight:550; color:#637088; display:block; overflow-wrap:anywhere; }
.group-context small { font-size:9px; color:#a2acbc; }
.context-lock { color:#bdc5d1; margin-left:auto; }
.field { margin-bottom:21px; }
.field label { font-size:12px; font-weight:550; display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; color:#475570; }
.field label>span { font-size:9px; color:#aeb6c3; font-weight:400; }
.field input { height:45px; border-radius:8px; border:1px solid #e4e8ef; width:100%; padding:11px 13px; color:#4a5770; background:#fff; font-size:12px; transition:border-color .2s,box-shadow .2s; }
.field input[aria-invalid=true] { border-color:#db8ba0; background:#fffafb; }
.field-help { font-size:9px; color:#a3adbc; margin:8px 0 0; }
.field-error { font-size:10px; color:#c16c85; margin:8px 0 0; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.submit-button { width:100%; min-height:45px; margin:4px 0 14px; font-size:12px; }
.submit-button:disabled { opacity:.65; }
.form-privacy { display:flex; align-items:flex-start; gap:7px; font-size:9px; color:#a0a9b7; line-height:1.9; margin:0; }
.form-privacy svg { margin-top:2px; flex-shrink:0; color:#a8b4c3; }
.registration-footer { display:flex; flex-direction:column; gap:13px; align-items:center; margin:23px auto 0; color:#aab3c1; max-width:460px; }
.registration-footer>span { font-size:9px; display:flex; align-items:center; gap:5px; }
.registration-footer small { font-size:8px; color:#b3bdc9; letter-spacing:.3px; }
.registration-footer>a { font-size:10px; display:flex; align-items:center; gap:6px; }
.form-state { display:flex; align-items:center; flex-direction:column; text-align:center; min-height:330px; justify-content:center; padding:20px 0; color:#b096a5; }
.form-state h1 { color:#536078; font-size:21px; font-weight:600; margin:19px 0 9px; }
.form-state p { color:#97a1b2; font-size:12px; line-height:1.9; margin:0 0 20px; }
.state-icon { width:62px; height:62px; display:flex; align-items:center; justify-content:center; background:#fff5f7; border:1px solid #f7eaf0; border-radius:50%; color:#d994ac; }
.form-error { font-size:10px; color:#bd6e86; background:#fff5f8; padding:10px 11px; border-radius:6px; display:flex; align-items:center; gap:7px; margin-bottom:10px; }
.success-state { text-align:center; padding:15px 0 8px; }
.success-symbol { width:73px; height:73px; background:#f0f8f4; border:1px solid #e5f1ea; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#8fb8a0; margin:0 auto 25px; }
.success-state .eyebrow { font-size:7px; }
.success-state h1 { font-size:27px; font-weight:600; margin:12px 0 10px; }
.success-state>p { font-size:11px; color:#96a1b2; margin:0 0 27px; }
.success-details { background:#f8f9fb; border:1px solid #eceff4; padding:17px; border-radius:9px; text-align:left; display:flex; flex-direction:column; gap:13px; }
.success-details>div { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.success-details span { color:#9ba5b5; font-size:10px; flex-shrink:0; }
.success-details strong { color:#65748c; font-size:11px; font-weight:500; overflow-wrap:anywhere; }
.success-note { margin:23px 0 0; font-size:9px; color:#a7b0bd; display:flex; align-items:flex-start; gap:8px; line-height:1.9; text-align:left; }
.success-note svg { flex-shrink:0; margin-top:2px; }
.panel { background:#fff; border:1px solid var(--line); border-radius:13px; margin-bottom:22px; overflow:hidden; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; padding:23px 25px; gap:20px; }
.panel-heading h2 { font-size:15px; font-weight:600; display:flex; align-items:center; gap:9px; margin:0 0 5px; }
.panel-heading p { font-size:10px; color:#99a3b4; margin:0; }
.count-label { font-size:9px; color:#9ba6b8; background:#f5f6fa; border:1px solid #eceff4; border-radius:4px; padding:0 5px; min-width:19px; text-align:center; line-height:17px; }
.loading-panel { padding:65px 25px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:15px; font-size:12px; color:#a0a9ba; }
.notice { display:flex; gap:10px; align-items:center; padding:12px 16px; margin:0 0 18px; font-size:11px; border-radius:9px; border:1px solid; }
.notice>svg { flex-shrink:0; }
.notice>span { flex:1; }
.notice.error { background:#fff5f8; border-color:#f5dce5; color:#b56e86; }
.notice.success { background:#f1f8f4; border-color:#e1f0e7; color:#7c9e8e; }
.notice .icon-button { color:inherit; }
.setup-panel { display:grid; grid-template-columns:1.1fr 1fr; background:linear-gradient(115deg,#fff,#fffafb); border:1px solid var(--line); border-radius:15px; overflow:hidden; padding:49px 43px; gap:55px; }
.setup-copy h1 { margin:19px 0 19px; font-size:35px; line-height:1.45; font-weight:650; letter-spacing:-.8px; }
.setup-copy>p { font-size:12px; line-height:1.9; color:#94a0b2; margin:0 0 25px; }
.setup-check { font-size:10px; color:#96a1b3; display:flex; align-items:center; gap:8px; margin:12px 0; }
.setup-check svg { color:#96b9a6; }
.setup-action { align-self:center; background:#fff; border:1px solid #eee8ef; border-radius:12px; padding:32px 29px 24px; box-shadow:0 12px 30px #a3769710; }
.setup-icon { width:52px; height:52px; border:1px solid #f6e6ee; border-radius:13px; background:#fff6f9; color:#df94ae; display:flex; align-items:center; justify-content:center; margin-bottom:23px; }
.setup-action h2 { font-size:18px; font-weight:600; margin:0 0 11px; }
.setup-action p { font-size:11px; color:#98a2b2; line-height:2; margin:0 0 25px; }
.setup-action .button { width:100%; font-size:11px; }
.setup-foot { display:flex; align-items:center; gap:5px; justify-content:center; margin-top:15px; font-size:9px; color:#b2a7b3; }
.admin-private-note { background:#f8f4f7; color:#a28d9d; border:1px solid #eee6ed; display:flex; align-items:center; padding:12px 17px; gap:9px; border-radius:9px; font-size:10px; margin-bottom:22px; }
.admin-private-note>svg { flex-shrink:0; }
.admin-private-note strong { font-weight:500; padding-right:7px; }
.admin-private-note>a { display:flex; align-items:center; gap:4px; margin-left:auto; white-space:nowrap; font-size:9px; color:#b78ba1; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; margin-bottom:25px; }
.stat-card { padding:24px; display:flex; gap:17px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.stat-icon { display:flex; align-items:center; justify-content:center; background:#fcf2f6; border:1px solid #f9eaf0; width:41px; height:41px; border-radius:10px; color:#da93ab; margin-top:4px; }
.stat-icon.blue { background:#f0f5fc; border-color:#e8eff8; color:#8ca7ca; }
.stat-icon.amber { background:#fcf7eb; border-color:#f7efdc; color:#bba26b; }
.stat-card>div>span { font-size:10px; color:#98a2b3; }
.stat-card strong { display:block; font-size:29px; font-weight:600; color:#465570; letter-spacing:-1px; line-height:1.5; margin:2px 0; }
.stat-card small { color:#a4afbf; font-size:10px; font-weight:400; margin-left:8px; }
.stat-card p { font-size:9px; color:#a5aebe; margin:0; }
.empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:45px 24px 47px; text-align:center; }
.group-empty { padding:27px 24px 35px; }
.empty-icon { width:64px; height:64px; background:#f9fafc; border:1px solid #eef1f5; border-radius:17px; color:#c1c9d6; display:flex; align-items:center; justify-content:center; margin-bottom:15px; transform:rotate(-5deg); }
.empty-icon>svg { transform:rotate(5deg); }
.empty-state h3 { color:#8390a5; font-size:12px; font-weight:550; margin:0 0 8px; }
.empty-state p { color:#adb5c2; font-size:10px; line-height:1.9; margin:0; }
.empty-state .text-link { margin-top:15px; color:#d48ca5; font-size:10px; }
.create-group-form { margin:0 25px 22px; padding:20px; border:1px solid #f0e5ec; border-radius:9px; background:#fffbfd; }
.create-form-title { display:flex; align-items:baseline; gap:11px; margin-bottom:18px; }
.create-form-title>span { font-size:12px; font-weight:550; color:#8a7387; }
.create-form-title>small { font-size:9px; color:#afa4b1; }
.group-form-fields { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.group-form-fields .field { margin-bottom:6px; }
.group-form-fields .field input { height:39px; font-size:10px; }
.group-form-fields .field label { font-size:10px; }
.group-form-fields .field label span { font-size:8px; }
.create-form-actions { display:flex; justify-content:flex-end; margin-top:13px; }
.group-list { padding:0 25px 9px; }
.group-row { display:flex; align-items:center; padding:18px 0; gap:13px; border-top:1px solid #f0f2f6; }
.group-symbol { width:37px; height:37px; background:#f6f8fc; border:1px solid #edf0f5; display:flex; align-items:center; justify-content:center; border-radius:9px; color:#a8b5ca; flex-shrink:0; }
.group-info { min-width:0; flex:1; }
.group-info h3 { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#65718a; font-size:12px; margin:0 0 3px; font-weight:550; overflow-wrap:anywhere; }
.group-info h3 .badge { font-size:8px; padding:1px 5px; }
.group-info p { font-size:9px; color:#a2adbd; margin:0; overflow-wrap:anywhere; }
.inline-divider { color:#d3d8e1; margin:0 9px; }
.group-row-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.group-toggle { border:0; background:transparent; font-size:9px; color:#a1a9b8; min-width:30px; padding:6px 0; }
.group-toggle:hover { color:#cf839f; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; border-radius:5px; background:transparent; border:0; padding:4px; color:#a6afbd; }
.icon-button:hover { background:#f6f7fa; color:#75849c; }
.copy-fallback { max-width:430px; margin-top:10px; }
.copy-fallback label { display:block; font-size:9px; color:#b397a8; margin-bottom:5px; }
.copy-fallback input { width:100%; border:1px solid #ebdce5; background:#fffbfd; color:#9d7f94; font-size:9px; padding:6px 9px; border-radius:5px; }
.records-actions { display:flex; align-items:center; gap:10px; }
.record-toolbar { border-top:1px solid #f2f3f6; padding:17px 25px; display:flex; align-items:center; gap:11px; }
.search-field { display:flex; align-items:center; gap:9px; padding:0 11px; height:36px; border:1px solid #e9ecf2; border-radius:7px; width:290px; background:#fcfdfe; color:#aeb7c6; }
.search-field:focus-within { border-color:#dda0b5; }
.search-field input { border:0; background:transparent; outline:0; width:100%; color:#7f8ba0; font-size:10px; padding:0; min-width:0; box-shadow:none; }
.search-field .icon-button { margin-right:-6px; }
.filter-select { position:relative; color:#a0aaba; margin-left:auto; }
.filter-select select { appearance:none; width:155px; border:1px solid #e8ecf2; border-radius:7px; background:#fff; color:#929eb1; font-size:10px; height:36px; padding:0 31px 0 11px; }
.filter-select svg { position:absolute; right:11px; top:11px; pointer-events:none; }
.review-filter { border:1px solid #e8ecf2; border-radius:7px; background:#fff; color:#a0a9b9; font-size:10px; padding:7px 10px; min-height:36px; display:flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; }
.review-filter.selected { border-color:#eadab9; background:#fffbf2; color:#b79a62; }
.table-scroll { overflow-x:auto; }
.records-table { width:100%; border-collapse:collapse; text-align:left; font-size:10px; }
.records-table th { color:#a0aabc; font-size:9px; font-weight:500; background:#fafbfc; border-top:1px solid #eef1f5; border-bottom:1px solid #eef1f5; padding:12px 20px; white-space:nowrap; }
.records-table th:first-child,.records-table td:first-child { padding-left:25px; }
.records-table td { padding:17px 20px; border-bottom:1px solid #f0f2f6; color:#7d8ba2; vertical-align:middle; }
.records-table tr:last-child td { border-bottom:0; }
.records-table tbody tr:hover { background:#fdfdfe; }
.numeric-cell { font-variant-numeric:tabular-nums; white-space:nowrap; letter-spacing:.2px; }
.table-group-name { display:block; color:#8490a4; font-size:10px; font-weight:500; min-width:75px; }
.table-up-name { display:block; color:#b1b9c7; font-size:9px; margin-top:3px; }
.review-reason { display:block; font-size:8px; color:#b3a58a; line-height:1.7; max-width:165px; margin-top:5px; min-width:110px; }
.date-cell { color:#aab3c2!important; font-size:9px; white-space:nowrap; }
.table-footer { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #eef0f5; padding:14px 25px; color:#aeb7c5; font-size:9px; gap:15px; }
.table-footer>span:last-child { display:flex; align-items:center; gap:5px; }
.spin { animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@media(min-width:1500px) { .welcome-panel { min-height:490px; padding:52px; }.welcome-copy h1 { font-size:51px; }.mini-form-card { width:290px; padding:27px; }.mini-form-card h2 { font-size:24px; }.workflow-card { padding:26px; }.workflow-card h3 { font-size:14px; }.workflow-card p { font-size:11px; } }
@media(max-width:1200px) { .sidebar { width:205px; padding-left:15px; padding-right:15px; }.main-column { margin-left:205px; width:calc(100% - 205px); }.brand { font-size:16px; gap:9px; }.topbar { padding:0 30px; }.workspace-main { padding:30px 29px 0; }.welcome-panel { padding:34px 28px; gap:8px; }.welcome-copy h1 { font-size:40px; }.mini-form-card { width:244px; padding:19px 21px 14px; }.mini-form-card h2 { font-size:19px; }.floating-tag { right:-10px; bottom:4px; }.welcome-copy>p { font-size:11px; }.hero-actions { gap:15px; }.quiet-note { font-size:8px; }.workflow-card { padding:20px; }.stat-card { padding:20px; gap:11px; }.stat-icon { width:35px; height:35px; }.stat-card p { font-size:8px; }.setup-panel { gap:25px; padding:34px 29px; }.setup-action { padding:27px 23px; }.group-row-actions { gap:6px; } }
@media(max-width:980px) { .sidebar { width:183px; padding:30px 12px 17px; }.main-column { margin-left:183px; width:calc(100% - 183px); }.brand { gap:8px; font-size:14px; padding:0 5px; }.brand small { font-size:6px; letter-spacing:1.4px; }.brand-mark { width:31px; height:31px; }.brand-mark::before { left:9px; top:8px; }.brand-mark::after { left:18px; top:10px; }.brand-mark span { bottom:6px; }.sidebar-tip { margin:0 4px 22px; padding:15px; }.sidebar-tip strong { font-size:10px; }.sidebar-tip p { font-size:9px; }.nav-item { font-size:11px; padding:11px 14px; gap:10px; }.topbar { padding:0 24px; height:70px; }.workspace-main { padding:27px 23px 0; }.page-heading { margin-bottom:23px; }.page-heading-tag { display:none; }.welcome-panel { padding:30px 24px; min-height:410px; }.welcome-copy h1 { font-size:34px; }.welcome-copy .eyebrow { font-size:8px; letter-spacing:.5px; }.welcome-copy>p { font-size:10px; }.hero-actions { gap:11px; margin-top:22px; }.hero-actions .button { font-size:10px; padding:10px 12px; }.hero-actions .text-link { font-size:9px; }.quiet-note { font-size:7px; align-items:flex-start; max-width:170px; line-height:1.7; }.quiet-note svg { flex-shrink:0; }.mini-form-card { width:210px; padding:16px 18px 13px; }.mini-card-top { font-size:7px; gap:5px; }.mini-card-top .badge { display:none; }.mini-form-card h2 { font-size:17px; margin-top:15px; }.mini-label { font-size:7px; margin-top:10px; }.mini-context { font-size:6px; }.mini-input { font-size:7px; padding:8px; }.mini-submit { font-size:8px; margin-top:14px; padding:8px; }.floating-tag { right:-9px; bottom:15px; font-size:7px; padding:8px; }.scene-caption { font-size:7px; }.preview-scene::before { width:270px; height:270px; box-shadow:0 0 0 23px #fdf4f7,0 0 0 48px #fffbfc; }.workflow-grid { gap:12px; }.workflow-card { padding:17px; }.workflow-card h3 { font-size:11px; }.workflow-card p { font-size:9px; }.step-number { right:17px; top:20px; font-size:25px; }.section-heading h2 { font-size:15px; }.section-side-note { display:none; }.scope-note { padding:13px; }.scope-note p { font-size:8px; }.stats-grid { gap:12px; }.stat-card { padding:17px 13px; gap:10px; }.stat-icon { width:29px; height:29px; border-radius:8px; }.stat-icon svg { width:16px; height:16px; }.stat-card strong { font-size:26px; }.stat-card>div>span { font-size:9px; }.stat-card p { font-size:7px; }.setup-panel { padding:28px 25px; gap:22px; }.setup-copy h1 { font-size:28px; }.setup-copy>p { font-size:10px; }.setup-check { font-size:9px; }.setup-action { padding:24px 20px; }.setup-action h2 { font-size:15px; }.setup-action p { font-size:10px; }.setup-action .button { font-size:9px; }.setup-foot { font-size:8px; }.panel-heading { padding:20px; }.group-list { padding:0 20px 7px; }.record-toolbar { padding:15px 20px; gap:8px; flex-wrap:wrap; }.search-field { width:100%; }.filter-select { margin-left:0; flex:1; }.filter-select select { width:100%; }.review-filter { flex:1; }.create-group-form { margin:0 20px 20px; }.group-form-fields { grid-template-columns:1fr; gap:10px; }.create-form-title { flex-direction:column; gap:4px; }.group-info h3 { font-size:11px; }.group-row { gap:9px; }.group-row-actions { gap:3px; }.group-row-actions .button { padding:7px 8px; font-size:9px; }.group-row-actions>.icon-button { display:none; }.group-symbol { width:30px; height:30px; }.group-toggle { font-size:8px; }.admin-private-note { font-size:9px; }.admin-private-note>a { display:none; } }
@media(max-width:720px) { .sidebar { position:relative; width:100%; min-height:0; inset:auto; padding:17px 19px 11px; border-right:0; border-bottom:1px solid var(--line); display:block; }.workspace { display:block; }.brand { font-size:16px; margin-bottom:17px; padding:0; gap:9px; }.brand small { display:none; }.brand-mark { width:30px; height:30px; border-radius:9px; }.sidebar-label,.sidebar-bottom { display:none; }.sidebar nav { flex-direction:row; gap:8px; }.nav-item { font-size:11px; flex:1; justify-content:center; padding:8px 9px; min-height:36px; border-radius:7px; gap:7px; }.nav-item svg { width:15px; height:15px; }.nav-active-dot { display:none; }.main-column { margin-left:0; width:100%; }.topbar { display:none; }.workspace-main { padding:24px 19px 0; }.page-heading h2 { font-size:21px; }.page-heading p { font-size:10px; }.welcome-panel { padding:31px 25px; grid-template-columns:1fr .9fr; min-height:405px; }.welcome-copy h1 { font-size:36px; }.welcome-copy>p { font-size:10px; }.welcome-copy .eyebrow { font-size:8px; }.mini-form-card { width:215px; }.preview-scene { transform:scale(.9); margin-right:-21px; }.hero-actions { display:flex; align-items:flex-start; flex-direction:column; gap:13px; }.hero-actions .button { font-size:10px; }.quiet-note { font-size:7px; max-width:180px; }.floating-tag { bottom:11px; right:-9px; }.workflow-grid { gap:11px; }.workflow-card { padding:15px; }.workflow-icon { width:32px; height:32px; border-radius:8px; }.workflow-icon svg { width:18px; height:18px; }.workflow-card h3 { font-size:11px; margin-top:15px; }.workflow-card p { font-size:8px; }.step-number { font-size:21px; right:12px; top:18px; }.workflow-card>a { font-size:8px; gap:3px; margin-top:16px; }.workflow-card>a svg { width:11px; }.section-heading h2 { font-size:15px; }.scope-note>div { gap:9px; }.scope-arrow { display:none; }.workspace-footer { font-size:8px; padding:22px 0; }.setup-panel { padding:30px 24px; }.setup-copy h1 { font-size:29px; }.setup-check { font-size:8px; }.setup-action { padding:24px 19px; }.setup-foot { font-size:7px; }.stat-card { gap:9px; padding:16px 13px; }.stat-icon { width:28px; height:28px; }.stat-card strong { font-size:26px; }.panel-heading p { font-size:9px; }.table-footer { padding:14px 20px; }.table-footer>span:last-child { font-size:8px; } }
@media(max-width:500px) { .workspace-main { padding:23px 16px 0; }.page-heading { margin-bottom:20px; }.welcome-panel { display:flex; flex-direction:column; padding:29px 25px 18px; min-height:0; }.welcome-copy .eyebrow { font-size:9px; letter-spacing:.6px; }.welcome-copy h1 { font-size:40px; margin:17px 0; line-height:1.3; }.welcome-copy>p { font-size:11px; }.desktop-break { display:none; }.hero-actions { flex-direction:row; align-items:center; gap:19px; margin:22px 0 15px; }.hero-actions .button { font-size:11px; padding:10px 14px; }.hero-actions .text-link { font-size:10px; }.quiet-note { max-width:100%; font-size:8px; }.preview-scene { transform:scale(.94); margin:25px 0 0; padding-top:10px; min-height:325px; }.scene-caption { font-size:8px; margin-bottom:15px; }.mini-form-card { width:238px; }.mini-card-top { font-size:8px; }.mini-form-card h2 { font-size:20px; }.mini-context { font-size:7px; }.mini-label { font-size:8px; }.mini-input { font-size:8px; }.mini-submit { font-size:9px; padding:9px; }.mini-foot { font-size:7px; }.floating-tag { bottom:13px; right:1px; font-size:8px; }.workflow-section { margin-top:29px; }.workflow-grid { grid-template-columns:1fr; gap:12px; }.workflow-card { padding:20px; }.workflow-card h3 { font-size:13px; margin:12px 0 6px; }.workflow-card p { font-size:10px; }.workflow-card p br { display:none; }.workflow-icon { width:34px; height:34px; }.step-number { font-size:29px; top:21px; right:22px; }.workflow-card>a { margin-top:12px; font-size:9px; }.section-heading { margin-bottom:15px; }.section-heading h2 { font-size:15px; }.scope-note { margin-top:19px; padding:13px; align-items:flex-start; }.scope-note>div { align-items:flex-start; }.scope-note svg { margin-top:3px; width:15px; }.scope-note p { font-size:8px; line-height:1.9; }.scope-note strong { margin-right:0; display:block; }.workspace-footer { font-size:7px; gap:9px; }.workspace-footer>span:first-child { max-width:72%; }.registration-page { padding:27px 16px 24px; }.registration-brand { margin-bottom:22px; font-size:15px; }.registration-card { padding:29px 25px 26px; border-radius:15px; }.registration-title { font-size:28px; }.registration-intro { font-size:11px; }.registration-kicker { font-size:9px; }.group-context { margin-bottom:25px; }.field input { font-size:12px; height:47px; }.field label { font-size:11px; }.field-help { font-size:8px; }.form-privacy { font-size:8px; }.submit-button { height:46px; }.registration-footer small { font-size:7px; }.demo-banner { margin:-10px -9px 25px; font-size:8px; }.success-state h1 { font-size:25px; }.success-details strong { font-size:10px; }.setup-panel { display:flex; flex-direction:column; gap:28px; padding:29px 24px 24px; }.setup-copy h1 { font-size:32px; margin:15px 0; }.setup-copy>p { font-size:11px; margin-bottom:20px; }.setup-check { font-size:9px; margin:9px 0; }.setup-action { width:100%; padding:26px 24px 22px; }.setup-action h2 { font-size:17px; }.setup-action p { font-size:10px; }.setup-action .button { font-size:10px; }.setup-foot { font-size:8px; }.setup-icon { width:45px; height:45px; margin-bottom:18px; }.admin-private-note { padding:11px 13px; font-size:8px; margin-bottom:18px; }.stats-grid { gap:9px; margin-bottom:19px; }.stat-card { padding:14px 11px 12px; flex-direction:column; gap:10px; }.stat-card p { font-size:7px; line-height:1.7; min-height:24px; }.stat-card>div>span { font-size:9px; }.stat-card strong { font-size:25px; margin:3px 0; }.stat-card small { font-size:8px; margin-left:5px; }.stat-icon { margin:0; }.panel-heading { padding:19px 17px; align-items:flex-start; gap:10px; }.panel-heading h2 { font-size:13px; }.panel-heading p { font-size:8px; line-height:1.8; }.panel-heading .button-sm { font-size:9px; min-height:31px; padding:7px 9px; gap:4px; }.panel-heading .button svg { width:13px; height:13px; }.count-label { font-size:8px; line-height:15px; }.empty-state { padding:32px 20px; }.empty-state h3 { font-size:11px; }.empty-state p { font-size:9px; }.empty-icon { width:53px; height:53px; border-radius:14px; }.empty-icon svg { width:23px; }.record-toolbar { padding:14px 17px; }.search-field input { font-size:9px; }.filter-select select,.review-filter { font-size:9px; }.table-footer { padding:12px 17px; font-size:8px; flex-direction:column; align-items:flex-start; gap:7px; }.table-footer>span:last-child { font-size:7px; }.records-actions { gap:4px; }.records-actions .icon-button { width:25px; min-width:25px; }.records-actions .button { padding:7px 9px; }.group-list { padding:0 17px 5px; }.group-row { flex-wrap:wrap; gap:10px; padding:16px 0; }.group-info { flex:1; }.group-row-actions { padding-left:40px; width:100%; justify-content:flex-end; gap:9px; }.group-row-actions>.icon-button { display:inline-flex; margin-right:auto; }.group-row-actions .button { font-size:9px; padding:6px 9px; }.group-toggle { font-size:9px; min-width:38px; }.create-group-form { margin:0 17px 18px; padding:16px; }.group-form-fields .field input { font-size:10px; height:40px; }.create-form-title small { font-size:8px; }.notice { padding:11px 13px; font-size:9px; gap:8px; }.notice .text-link { font-size:9px; }.table-scroll { scrollbar-width:thin; }.records-table th,.records-table td { padding:12px 14px; }.records-table th:first-child,.records-table td:first-child { padding-left:17px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

.badge-blue { background:#edf5ff; color:#6c93bc; border-color:#e0ecfa; }
.badge-expired { background:#f7f1f4; color:#ac8396; border-color:#eee2e8; }
.membership-import-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(230px,1fr); gap:30px; border-top:1px solid #f0f2f6; padding:25px; }
.membership-import-form { min-width:0; }
.membership-import-form .field { margin-bottom:17px; }
.membership-import-form .field label { font-size:11px; }
.membership-import-form textarea { width:100%; min-height:170px; resize:vertical; border:1px solid #e4e8ef; border-radius:8px; padding:13px; background:#fff; color:#4a5770; font-size:11px; line-height:1.8; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.membership-import-form textarea::placeholder { color:#a3adbc; font-family:inherit; }
.membership-import-form textarea:focus,.membership-select select:focus { outline:2px solid #f7d9e3; outline-offset:2px; }
.membership-select { position:relative; }
.membership-select select { width:100%; appearance:none; border:1px solid #e4e8ef; border-radius:8px; height:42px; padding:0 35px 0 12px; font-size:11px; color:#53627c; background:#fff; }
.membership-select>svg { position:absolute; right:13px; top:14px; color:#9ba7b9; pointer-events:none; }
.membership-context { margin:8px 0 0; color:#8392a9; font-size:10px; line-height:1.8; }
.membership-context span { display:block; }
.membership-import-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; }
.membership-import-guide { padding:21px; background:linear-gradient(135deg,#fff8fb,#f7faff); border:1px solid #f0edf4; border-radius:10px; align-self:start; }
.membership-import-guide .eyebrow { color:#ba879c; font-size:8px; letter-spacing:.5px; }
.membership-import-guide h3 { font-size:14px; margin:11px 0 14px; font-weight:600; color:#52617a; }
.membership-import-guide ol { list-style:decimal; padding-left:17px; margin:0; font-size:10px; color:#8a97aa; line-height:2; }
.membership-import-guide li { padding-left:3px; margin-bottom:4px; }
.membership-import-guide>p { color:#8d99ac; line-height:1.9; font-size:10px; margin:15px 0 0; }
.membership-source-note { display:flex; align-items:flex-start; gap:8px; margin-top:17px; padding-top:15px; border-top:1px solid #ece9f1; font-size:9px; color:#9c8b9d; line-height:1.8; }
.membership-source-note>svg { flex-shrink:0; margin-top:2px; }
.membership-file-name { font-size:9px; color:#8d99ac; word-break:break-all; margin:10px 0 0; }
.membership-result { margin:15px 0 0; font-size:10px; line-height:1.8; }
.membership-summary { display:grid; grid-template-columns:.7fr .7fr 1.3fr; margin:0 25px 17px; padding:17px 20px; gap:18px; border:1px solid #edf0f6; background:#fbfcfe; border-radius:9px; }
.membership-summary>div { min-width:0; }
.membership-summary>div>span { display:block; font-size:9px; color:#a0aabd; margin-bottom:7px; }
.membership-summary strong { font-size:23px; color:#65748e; font-weight:500; line-height:1.4; }
.membership-summary small { font-size:9px; color:#9aa6b9; margin-left:6px; }
.membership-summary strong.membership-summary-date { font-size:12px; display:block; padding-top:5px; }
.membership-metadata { margin:0 25px 19px; font-size:9px; line-height:1.9; color:#96a2b5; }
.membership-table-note { margin-left:auto; color:#a2adbe; font-size:9px; }
.membership-missing { color:#b0b9c7; white-space:nowrap; }
.membership-date { white-space:nowrap; font-variant-numeric:tabular-nums; }
.membership-table { min-width:1000px; }
.membership-registration-table { min-width:1380px; }
.membership-table .badge,.membership-registration-table .badge { white-space:nowrap; }
.membership-empty { padding-top:36px; padding-bottom:36px; }
@media(max-width:1050px) { .membership-import-layout { grid-template-columns:minmax(0,1fr); gap:20px; padding:20px; }.membership-import-guide { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }.membership-import-guide .eyebrow,.membership-import-guide h3 { grid-column:1/-1; }.membership-import-guide>p { margin-top:0; }.membership-source-note { grid-column:1/-1; }.membership-summary { margin-left:20px; margin-right:20px; }.membership-metadata { margin-left:20px; margin-right:20px; } }
@media(max-width:720px) { .sidebar nav { flex-wrap:wrap; }.sidebar nav .nav-item { min-width:calc(50% - 4px); }.membership-summary { gap:12px; padding:15px; }.membership-summary strong.membership-summary-date { font-size:10px; }.memberships-panel .panel-heading>.text-link { white-space:nowrap; font-size:9px; }.membership-table-note { margin-left:0; } }
@media(max-width:500px) { .membership-import-layout { padding:17px; gap:18px; }.membership-import-form .field label { font-size:10px; }.membership-import-form textarea { min-height:155px; font-size:10px; }.membership-select select { font-size:10px; }.membership-import-guide { display:block; padding:17px; }.membership-import-guide h3 { font-size:12px; }.membership-import-guide>p { margin-top:13px; }.membership-context { font-size:9px; }.membership-summary { margin:0 17px 13px; padding:14px; grid-template-columns:1fr 1fr; }.membership-summary>div:last-child { grid-column:1/-1; }.membership-summary strong { font-size:22px; }.membership-summary strong.membership-summary-date { font-size:11px; padding-top:0; }.membership-metadata { margin:0 17px 15px; font-size:8px; }.membership-import-actions .button { font-size:9px; padding:9px 11px; }.memberships-panel .panel-heading>.text-link { display:none; }.membership-table-note { font-size:8px; } }

.expiry-panel .panel-heading { align-items:flex-start; gap:18px; }
.expiry-panel .panel-heading>div:first-child { min-width:0; }
.expiry-panel .panel-heading p { max-width:660px; line-height:1.85; }
.expiry-panel .records-actions { flex-shrink:0; }
.expiry-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0 25px 21px; }
.expiry-summary>div { background:#fbfcfe; border:1px solid #edf0f6; border-radius:9px; padding:15px 17px 13px; min-width:0; }
.expiry-summary>div:first-child { background:#fff9fc; border-color:#f5e8ee; }
.expiry-summary>div>span { display:block; color:#94a0b4; font-size:9px; line-height:1.7; margin-bottom:8px; }
.expiry-summary strong { display:block; font-size:25px; color:#63728d; font-weight:500; line-height:1.3; font-variant-numeric:tabular-nums; }
.expiry-summary small { margin-left:6px; color:#a0aabd; font-size:9px; font-weight:400; }
.expiry-filters { display:grid; grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(120px,1fr)); gap:12px; padding:18px 25px; border-top:1px solid #f0f2f6; background:#fdfdff; }
.expiry-filter-field { min-width:0; }
.expiry-filter-field>label { display:block; margin-bottom:8px; font-size:9px; color:#929fb3; }
.expiry-filter-field .search-field { margin:0; width:100%; height:38px; min-width:0; border-radius:7px; }
.expiry-filter-field .search-field input { min-width:0; font-size:10px; width:100%; }
.expiry-filter-field .search-field>svg { flex-shrink:0; }
.expiry-filter-field .membership-select select { height:38px; font-size:10px; border-radius:7px; padding-left:10px; padding-right:30px; text-overflow:ellipsis; }
.expiry-filter-field .membership-select>svg { top:12px; right:10px; }
.expiry-guidance { display:flex; align-items:flex-start; gap:8px; margin:0 25px 17px; color:#9b8d9e; font-size:9px; line-height:1.9; }
.expiry-guidance>svg { flex-shrink:0; margin-top:2px; }
.expiry-guidance p { margin:0; }
.expiry-notice { margin:0 25px 16px; }
.expiry-notice>.text-link { margin-left:auto; white-space:nowrap; font-size:10px; }
.expiry-unregistered { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:0 25px 18px; padding:12px 14px; border:1px solid #edf0f6; border-radius:8px; background:#fafcff; color:#8c9ab0; font-size:9px; line-height:1.9; }
.expiry-unregistered>.text-link { font-size:9px; white-space:nowrap; }
.expiry-loading { display:flex; gap:9px; justify-content:center; align-items:center; min-height:150px; padding:30px; font-size:11px; color:#9ca8ba; }
.expiry-table { min-width:1000px; }
.expiry-table th,.expiry-table td { vertical-align:top; }
.expiry-table .badge { white-space:nowrap; }
.expiry-reason-cell { min-width:260px; max-width:350px; }
.expiry-reason-cell p { margin:7px 0 0; font-size:10px; line-height:1.85; color:#8d9ab0; white-space:normal; }
.expiry-reason-cell>small { display:block; font-size:9px; color:#a5afbf; margin-top:5px; line-height:1.8; }
.expiry-empty { padding-top:30px; padding-bottom:30px; }
.membership-pagination { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.membership-pagination .button { min-height:28px; padding:5px 9px; font-size:9px; }
@media(max-width:1100px) { .expiry-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }.expiry-search { grid-column:1/-1; }.expiry-summary { gap:9px; }.expiry-summary>div { padding:13px 12px 11px; } }
@media(max-width:980px) { .expiry-summary { padding-left:20px; padding-right:20px; }.expiry-filters { padding-left:20px; padding-right:20px; }.expiry-guidance,.expiry-notice,.expiry-unregistered { margin-left:20px; margin-right:20px; }.expiry-summary>div>span { font-size:8px; }.expiry-summary strong { font-size:23px; } }
@media(max-width:720px) { .expiry-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.expiry-unregistered { flex-direction:column; gap:5px; }.expiry-panel .panel-heading { gap:12px; }.expiry-panel .records-actions { gap:4px; }.expiry-panel .records-actions .button { padding:8px 10px; font-size:9px; } }
@media(max-width:500px) { .expiry-panel .panel-heading { flex-wrap:wrap; gap:13px; }.expiry-panel .panel-heading>div:first-child { width:100%; }.expiry-panel .records-actions { margin-left:auto; }.expiry-summary { padding:0 17px 17px; gap:9px; }.expiry-summary>div { padding:12px 13px; }.expiry-summary strong { font-size:23px; }.expiry-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px 17px; gap:13px 10px; }.expiry-filter-field:last-child { grid-column:1/-1; }.expiry-filter-field>label { font-size:8px; margin-bottom:7px; }.expiry-filter-field .search-field input,.expiry-filter-field .membership-select select { font-size:9px; }.expiry-guidance,.expiry-notice,.expiry-unregistered { margin-left:17px; margin-right:17px; }.expiry-guidance { font-size:8px; }.expiry-unregistered { font-size:8px; padding:10px 12px; }.expiry-unregistered>.text-link { font-size:8px; }.expiry-loading { font-size:10px; min-height:130px; } }

.registration-import-panel .panel-heading { align-items:flex-start; gap:15px; }
.registration-import-tag { flex-shrink:0; border:1px solid #f1e5ec; background:#fff8fb; color:#b890a3; border-radius:5px; font-size:8px; padding:5px 8px; margin-top:2px; }
.registration-import-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(230px,1fr); gap:30px; padding:25px; border-top:1px solid #f0f2f6; }
.registration-import-form { min-width:0; }
.registration-import-form .field { margin-bottom:17px; }
.registration-import-form .field label { font-size:11px; }
.registration-import-file { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin:19px 0 12px; }
.registration-import-file>span { font-size:9px; color:#a1acbd; }
.registration-import-file-name { margin:0 0 19px; color:#7f8fa8; font-size:10px; line-height:1.9; overflow-wrap:anywhere; }
.registration-import-file-name>small { display:block; color:#a2acbc; font-size:9px; }
.registration-import-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:20px; }
.registration-import-columns .field { min-width:0; margin-bottom:0; }
.registration-import-columns select { text-overflow:ellipsis; font-size:10px; }
.registration-import-column-help { margin:9px 0 0; line-height:1.9; }
.registration-import-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:22px; }
.registration-import-actions>span { font-size:9px; color:#a4adbc; }
.registration-import-result { margin:17px 0 0; font-size:10px; line-height:1.9; }
.registration-import-guide { padding:21px; background:linear-gradient(135deg,#fff8fb,#f7faff); border:1px solid #f0edf4; border-radius:10px; align-self:start; }
.registration-import-guide .eyebrow { color:#ba879c; font-size:8px; letter-spacing:.5px; }
.registration-import-guide h3 { font-size:14px; margin:11px 0 14px; font-weight:600; color:#52617a; }
.registration-import-guide ol { list-style:decimal; padding-left:17px; margin:0; font-size:10px; color:#8a97aa; line-height:2; }
.registration-import-guide li { padding-left:3px; margin-bottom:5px; }
.registration-import-guide>p { color:#8d99ac; line-height:1.9; font-size:10px; margin:15px 0 0; }
.registration-import-guide-note { display:flex; align-items:flex-start; gap:8px; margin-top:17px; padding-top:15px; border-top:1px solid #ece9f1; color:#9c8b9d; font-size:9px; line-height:1.8; }
.registration-import-guide-note>svg { flex-shrink:0; margin-top:2px; }
.registration-import-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:17px; }
.registration-import-links .text-link { font-size:9px; }
.registration-import-preview { border-top:1px solid #f0f2f6; padding-top:22px; }
.registration-import-preview-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin:0 25px; }
.registration-import-preview-heading>div { min-width:0; }
.registration-import-preview-heading h3 { font-size:13px; font-weight:550; color:#53627c; margin:0 0 9px; }
.registration-import-preview-heading p { color:#8c99ac; font-size:10px; line-height:1.8; margin:0; }
.registration-import-preview-heading p>span { display:block; color:#a4adbc; overflow-wrap:anywhere; font-size:9px; }
.registration-import-preview-heading>span { flex-shrink:0; color:#b08ca0; font-size:9px; background:#fff8fb; border:1px solid #f3e7ee; border-radius:5px; padding:5px 8px; }
.registration-import-row-count { color:#a0aabd; font-size:9px; margin:14px 25px 12px; line-height:1.8; }
.registration-import-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 25px 20px; }
.registration-import-counts>div { border:1px solid #edf0f6; border-radius:8px; background:#fbfcfe; padding:13px 16px; min-width:0; }
.registration-import-counts>div:first-child { background:#fff9fc; border-color:#f4e7ee; }
.registration-import-counts>div>span { display:block; font-size:9px; color:#97a3b6; margin-bottom:8px; }
.registration-import-counts strong { color:#63728d; font-size:24px; line-height:1.3; font-weight:500; font-variant-numeric:tabular-nums; }
.registration-import-counts small { font-size:9px; font-weight:400; color:#a1acbd; margin-left:6px; }
.registration-import-sample-label { font-size:9px; color:#a0aabd; margin:0 25px 12px; }
.registration-import-sample { min-width:520px; }
.registration-import-sample .badge { white-space:nowrap; }
.registration-import-confirm { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 25px; border-top:1px solid #f0f2f6; background:#fdfdff; }
.registration-import-confirm>p { font-size:9px; color:#9ba7b8; margin:0; line-height:1.9; }
.registration-import-confirm>.button { flex-shrink:0; }
.registration-import-saved { display:flex; gap:13px; align-items:flex-start; padding:21px 25px 23px; border-top:1px solid #f0f2f6; background:#fbfefd; }
.registration-import-saved-icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; border:1px solid #e2eee8; border-radius:9px; color:#79a38c; background:#f0f8f3; }
.registration-import-saved h3 { font-size:13px; color:#648973; margin:1px 0 9px; font-weight:550; }
.registration-import-saved p { font-size:10px; color:#91a79b; line-height:1.9; margin:0 0 10px; }
.registration-import-saved .text-link { font-size:9px; }
@media(max-width:1050px) { .registration-import-layout { grid-template-columns:minmax(0,1fr); gap:20px; padding:20px; }.registration-import-guide { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }.registration-import-guide .eyebrow,.registration-import-guide h3 { grid-column:1/-1; }.registration-import-guide>p { margin-top:0; }.registration-import-guide-note { grid-column:1/-1; }.registration-import-links { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; gap:13px; }.registration-import-preview-heading,.registration-import-counts { margin-left:20px; margin-right:20px; }.registration-import-row-count,.registration-import-sample-label { margin-left:20px; margin-right:20px; }.registration-import-confirm,.registration-import-saved { padding-left:20px; padding-right:20px; } }
@media(max-width:720px) { .registration-import-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }.registration-import-tag { display:none; }.registration-import-confirm { flex-wrap:wrap; gap:12px; }.registration-import-confirm>.button { margin-left:auto; } }
@media(max-width:500px) { .registration-import-layout { padding:17px; gap:18px; }.registration-import-form .field label { font-size:10px; }.registration-import-file { margin-top:17px; }.registration-import-file>.button { font-size:9px; padding:9px 11px; }.registration-import-file>span { font-size:8px; }.registration-import-file-name { font-size:9px; }.registration-import-columns { grid-template-columns:minmax(0,1fr); gap:14px; margin-top:17px; }.registration-import-columns select { font-size:9px; }.registration-import-actions>span { font-size:8px; }.registration-import-guide { display:block; padding:17px; }.registration-import-guide h3 { font-size:12px; }.registration-import-guide>p { margin-top:13px; }.registration-import-links { display:flex; flex-direction:column; gap:10px; }.registration-import-preview { padding-top:19px; }.registration-import-preview-heading,.registration-import-counts { margin-left:17px; margin-right:17px; }.registration-import-preview-heading h3 { font-size:12px; }.registration-import-preview-heading p { font-size:9px; }.registration-import-preview-heading>span { font-size:8px; padding:4px 6px; }.registration-import-row-count,.registration-import-sample-label { margin-left:17px; margin-right:17px; font-size:8px; }.registration-import-counts>div { padding:12px 13px; }.registration-import-counts>div>span { font-size:8px; }.registration-import-counts strong { font-size:23px; }.registration-import-confirm,.registration-import-saved { padding:17px; }.registration-import-confirm>p { font-size:8px; }.registration-import-saved h3 { font-size:12px; }.registration-import-saved p { font-size:9px; } }

.expiry-panel:focus { outline:2px solid #f4d9e5; outline-offset:3px; }
.expiry-panel .expiry-filters { grid-template-columns:minmax(180px,1.35fr) repeat(4,minmax(115px,1fr)); }
.expiry-processing-summary { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin:0 25px 17px; color:#9aa7ba; font-size:9px; line-height:1.8; }
.expiry-processing-summary>span { white-space:nowrap; }
.expiry-processing-summary strong { font-size:13px; font-weight:500; color:#6d7c96; margin-left:5px; font-variant-numeric:tabular-nums; }
.expiry-processing-summary>small { font-size:8px; color:#b0b9c7; }
.expiry-processing-table { min-width:1350px; }
.expiry-processing-table td:last-child>.button { font-size:9px; white-space:nowrap; padding:7px 9px; }
.expiry-action-cell { min-width:180px; max-width:250px; }
.expiry-action-cell>small { display:block; font-size:8px; color:#a5afbf; margin-top:7px; line-height:1.8; }
.expiry-action-cell>p { font-size:10px; line-height:1.9; color:#8997ac; margin:7px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.expiry-action-editor { margin:0 25px 22px; border:1px solid #f0dfe8; background:#fffafd; border-radius:10px; box-shadow:0 6px 20px #4d254808; }
.expiry-action-heading { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; padding:20px 21px 0; }
.expiry-action-heading>div { min-width:0; }
.expiry-action-heading h3 { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:550; color:#66748d; margin:0 0 12px; }
.expiry-action-heading p { color:#8c99af; line-height:1.9; font-size:10px; margin:0; overflow-wrap:anywhere; }
.expiry-action-heading strong { font-weight:500; }
.expiry-action-heading p>span { display:block; color:#9ba6b8; font-size:9px; }
.expiry-action-heading>.icon-button { flex-shrink:0; margin-top:-4px; }
.expiry-action-note { margin:13px 21px 18px; color:#a18d9d; font-size:9px; line-height:1.9; }
.expiry-action-editor>form { padding:0 21px 18px; }
.expiry-action-fields { display:grid; grid-template-columns:minmax(140px,.7fr) minmax(0,1.7fr); gap:17px; align-items:start; }
.expiry-action-fields .field { margin:0; min-width:0; }
.expiry-action-fields .field>label { font-size:10px; }
.expiry-action-fields textarea { width:100%; min-height:86px; resize:vertical; border:1px solid #e5e8ef; border-radius:8px; padding:10px 12px; font-size:10px; line-height:1.8; color:#73829b; background:#fff; font-family:inherit; }
.expiry-action-fields textarea::placeholder { color:#b0b8c5; }
.expiry-action-fields textarea:focus { outline:2px solid #f7d9e3; outline-offset:2px; }
.expiry-action-controls { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:16px; }
.expiry-action-controls>span { color:#a4aabd; font-size:9px; line-height:1.8; }
.expiry-action-controls>.button { flex-shrink:0; }
.expiry-action-editor form>.notice { margin:15px 0 0; }
.expiry-action-history { padding:17px 21px 19px; border-top:1px solid #f0e5eb; background:#ffffff91; border-radius:0 0 10px 10px; }
.expiry-action-history h4 { display:flex; align-items:center; gap:7px; color:#8a98ad; font-size:10px; font-weight:500; margin:0 0 13px; }
.expiry-action-history h4>span { color:#b0b9c7; font-size:8px; margin-left:3px; }
.expiry-action-history ol { list-style:none; margin:0; padding:0; max-height:280px; overflow:auto; scrollbar-width:thin; }
.expiry-action-history li { border-left:2px solid #efe5ed; padding:0 0 17px 13px; margin:0; }
.expiry-action-history li:last-child { padding-bottom:0; }
.expiry-action-history li>div { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.expiry-action-history time { font-size:8px; color:#a5afbf; }
.expiry-action-history li p { margin:7px 0 5px; color:#8796ac; font-size:10px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.expiry-action-history li>small { color:#aab4c3; font-size:8px; line-height:1.8; overflow-wrap:anywhere; }
.expiry-history-loading { display:flex; align-items:center; gap:7px; color:#a5afbf; font-size:9px; margin:0; }
.expiry-history-empty { color:#acb5c4; font-size:9px; margin:0; }
.expiry-action-history .notice { margin:0; font-size:9px; }
.expiry-action-history .notice>.text-link { margin-left:auto; font-size:9px; white-space:nowrap; }
@media(max-width:1250px) { .expiry-panel .expiry-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.expiry-panel .expiry-search { grid-column:1/-1; }.expiry-panel .expiry-filter-field:last-child { grid-column:auto; } }
@media(max-width:980px) { .expiry-processing-summary { margin-left:20px; margin-right:20px; gap:13px; }.expiry-action-editor { margin-left:20px; margin-right:20px; } }
@media(max-width:720px) { .expiry-action-fields { grid-template-columns:minmax(0,1fr); gap:15px; }.expiry-action-controls { flex-wrap:wrap; gap:12px; }.expiry-action-controls>.button { margin-left:auto; }.expiry-processing-summary>small { width:100%; } }
@media(max-width:500px) { .expiry-processing-summary { margin-left:17px; margin-right:17px; font-size:8px; gap:9px 15px; }.expiry-action-editor { margin-left:17px; margin-right:17px; }.expiry-action-heading { padding:17px 16px 0; gap:9px; }.expiry-action-heading h3 { font-size:12px; }.expiry-action-heading p { font-size:9px; }.expiry-action-heading p>span { font-size:8px; }.expiry-action-note { margin:12px 16px 15px; font-size:8px; }.expiry-action-editor>form { padding:0 16px 16px; }.expiry-action-fields .field>label { font-size:9px; }.expiry-action-fields textarea { font-size:9px; }.expiry-action-controls>span { font-size:8px; }.expiry-action-history { padding:15px 16px 17px; }.expiry-action-history li p { font-size:9px; } }

.membership-preview { margin-top:19px; border:1px solid #f0dfe8; border-radius:9px; background:#fffafd; overflow:hidden; }
.membership-preview-heading { padding:17px 16px 0; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.membership-preview-heading h3 { margin:0 0 8px; font-size:12px; font-weight:550; color:#64728b; }
.membership-preview-heading p { margin:0; color:#8c98ad; font-size:10px; line-height:1.9; overflow-wrap:anywhere; }
.membership-preview-heading p>span { display:block; color:#a2abbb; font-size:9px; }
.membership-preview-heading>span { font-size:8px; color:#b48ca0; border:1px solid #f1dfe9; border-radius:5px; padding:4px 6px; white-space:nowrap; }
.membership-preview-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:15px 16px; }
.membership-preview-counts>div { border:1px solid #eee7ef; border-radius:7px; background:#ffffffb3; padding:11px 10px; min-width:0; }
.membership-preview-counts>div>span { display:block; color:#9aa5b7; font-size:8px; margin-bottom:7px; white-space:nowrap; }
.membership-preview-counts strong { font-size:22px; line-height:1.3; font-weight:500; color:#6d7891; font-variant-numeric:tabular-nums; }
.membership-preview-counts small { font-size:8px; font-weight:400; margin-left:4px; color:#adb4c2; }
.membership-preview-table { min-width:510px; font-size:9px; }
.membership-preview-table th,.membership-preview-table td { padding:11px 12px; }
.membership-preview-table th:first-child,.membership-preview-table td:first-child { padding-left:16px; }
.membership-preview-table td>small { display:block; font-size:8px; color:#a5afbf; margin-top:4px; white-space:nowrap; }
.membership-preview-note { margin:14px 16px 12px; font-size:9px; line-height:1.9; color:#a18e9e; }
.membership-preview-cancel { display:flex; gap:12px; align-items:center; justify-content:space-between; border-top:1px solid #f0e5ec; padding:12px 16px; background:#ffffffa6; }
.membership-preview-cancel>span { font-size:8px; color:#a7adbc; line-height:1.8; }
.membership-preview-cancel>.text-link { flex-shrink:0; font-size:9px; }
.membership-refresh-saved { margin-top:12px; }
.membership-filters { display:grid; grid-template-columns:minmax(190px,1.45fr) minmax(120px,.8fr) minmax(155px,1fr) auto; align-items:end; gap:12px; padding:18px 25px; border-top:1px solid #f0f2f6; background:#fdfdff; }
.membership-filter-field { min-width:0; }
.membership-filter-field>label { display:block; margin-bottom:8px; font-size:9px; color:#929fb3; }
.membership-filter-field .search-field { width:100%; height:38px; min-width:0; }
.membership-filter-field .search-field input { font-size:10px; min-width:0; }
.membership-filter-field .search-field>svg { flex-shrink:0; }
.membership-filter-field .membership-select select { height:38px; font-size:10px; border-radius:7px; text-overflow:ellipsis; }
.membership-filter-field .membership-select>svg { top:12px; }
.membership-filter-actions { display:flex; align-items:center; gap:12px; min-height:38px; justify-content:flex-end; }
.membership-filter-actions>.text-link { font-size:9px; white-space:nowrap; }
.membership-filter-actions>.button { white-space:nowrap; min-height:38px; }
.membership-filter-actions .text-link:disabled { opacity:.45; cursor:default; }
.membership-filter-context { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:#a4aebf; font-size:9px; line-height:1.8; padding:0 25px 15px; }
.membership-export-error { margin:0 25px 15px; }
@media(max-width:1250px) { .membership-filters { grid-template-columns:minmax(190px,1.4fr) minmax(120px,.8fr) minmax(155px,1fr); }.membership-filter-actions { grid-column:1/-1; min-height:30px; }.membership-filter-actions>.button { min-height:32px; } }
@media(max-width:980px) { .membership-filters { padding-left:20px; padding-right:20px; }.membership-filter-context { padding-left:20px; padding-right:20px; }.membership-export-error { margin-left:20px; margin-right:20px; } }
@media(max-width:720px) { .membership-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.membership-search { grid-column:1/-1; }.membership-filter-actions { grid-column:1/-1; }.membership-preview-counts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:500px) { .membership-filters { padding:16px 17px; gap:13px 10px; }.membership-filter-field>label { font-size:8px; }.membership-filter-field .search-field input,.membership-filter-field .membership-select select { font-size:9px; }.membership-filter-actions { gap:14px; }.membership-filter-actions>.button { font-size:9px; }.membership-filter-context { padding-left:17px; padding-right:17px; font-size:8px; gap:5px; }.membership-export-error { margin-left:17px; margin-right:17px; }.membership-preview-heading { padding:15px 13px 0; }.membership-preview-heading p { font-size:9px; }.membership-preview-heading p>span { font-size:8px; }.membership-preview-counts { margin:13px; }.membership-preview-note { margin-left:13px; margin-right:13px; font-size:8px; }.membership-preview-cancel { padding:12px 13px; flex-wrap:wrap; gap:8px; }.membership-preview-cancel>.text-link { margin-left:auto; } }

.expiry-batch-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; margin:0 25px 18px; padding:14px 16px; border:1px solid #e9eaf3; border-radius:9px; background:#fafbff; }
.expiry-batch-toolbar>div { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.expiry-batch-toolbar strong { color:#73829c; font-size:11px; font-weight:550; font-variant-numeric:tabular-nums; }
.expiry-batch-toolbar span { color:#a2adbf; font-size:9px; line-height:1.8; }
.expiry-batch-toolbar .text-link { font-size:9px; white-space:nowrap; }
.expiry-batch-toolbar .text-link:disabled { color:#bac2ce; cursor:default; }
.expiry-batch-table { min-width:1405px; }
.expiry-check-cell { width:50px; min-width:50px; text-align:center; }
.expiry-check-cell input { width:15px; height:15px; margin:2px 0 0; accent-color:#d08eaa; cursor:pointer; }
.expiry-check-cell input:disabled { cursor:default; opacity:.45; }
.expiry-check-cell input:focus-visible { outline:2px solid #e5adc6; outline-offset:3px; }
.expiry-row-selected td { background:#fff8fc; }
.expiry-batch-editor:focus { outline:2px solid #f4d9e5; outline-offset:3px; }
.maintenance-dialog { width:min(540px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); padding:26px; margin:auto; border:1px solid #ece4ed; border-radius:16px; background:#fff; color:#60718b; overflow:auto; box-shadow:0 22px 90px #37435d33; }
.maintenance-dialog::backdrop { background:#26364e66; backdrop-filter:blur(3px); }
.maintenance-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.maintenance-heading h2 { margin:0; font-size:19px; font-weight:550; }
.maintenance-description { font-size:12px; color:#8794a9; line-height:1.9; margin:13px 0 22px; }
.maintenance-fields { display:grid; gap:19px; }
.maintenance-fields .field label { font-size:12px; }
.maintenance-fields .field input { height:44px; font-size:14px; }
.maintenance-context { font-size:12px; line-height:1.8; margin:0; overflow-wrap:anywhere; }
.maintenance-hint { font-size:11px; color:#8794a9; line-height:1.9; margin:0; }
.maintenance-delete-summary { padding:17px; border:1px solid #f1e1e9; background:#fff9fc; border-radius:9px; overflow-wrap:anywhere; }
.maintenance-delete-summary strong { font-size:14px; font-weight:550; }
.maintenance-delete-summary p { font-size:12px; line-height:1.9; margin:12px 0 0; }
.maintenance-error { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.8; color:#b55a77; margin:20px 0 0; }
.maintenance-error svg { flex-shrink:0; margin-top:3px; }
.maintenance-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:26px; }
.button-trash { color:#b65e7d; border:1px solid #e8c8d6; background:#fff4f8; }
.button-trash:hover { background:#fce8f0; }
.maintenance-trash-link { color:#b67e94; }
.maintenance-record-actions { white-space:nowrap; }
.maintenance-record-actions,.records-table .maintenance-record-heading { position:sticky; right:0; background:#fff; box-shadow:-5px 0 9px #68738b0a; min-width:130px; }
.records-table .maintenance-record-heading { z-index:1; background:#fafbfe; }
.maintenance-record-actions .text-link { font-size:10px; margin-right:14px; }
.maintenance-tier-note { font-size:9px; color:#b0b8c7; }
.group-row-actions { flex-wrap:wrap; }
.group-row-actions .maintenance-trash-link { font-size:10px; }
.membership-registration-table { min-width:1500px; }
.recycle-panel .panel-heading h2 { display:flex; align-items:center; gap:9px; }
.recycle-content { padding:0 25px 24px; }
.recycle-content h3 { font-size:12px; font-weight:550; margin:22px 0 12px; color:#73829c; }
.recycle-content h3>span { color:#a2adbe; margin-left:6px; }
.recycle-list { border:1px solid #eceef4; border-radius:9px; overflow:hidden; }
.recycle-row { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:15px 17px; border-bottom:1px solid #eff0f5; }
.recycle-row:last-child { border-bottom:none; }
.recycle-row>div { min-width:0; overflow-wrap:anywhere; }
.recycle-row strong { font-size:12px; font-weight:550; }
.recycle-row p { font-size:10px; line-height:1.9; margin:6px 0 3px; color:#8a98ad; }
.recycle-row small { font-size:9px; color:#a5afbf; line-height:1.8; }
.recycle-row .button { flex-shrink:0; }
.recycle-empty,.recycle-loading { font-size:11px; color:#a0abbd; line-height:1.8; margin:0; }
.recycle-loading { display:flex; align-items:center; gap:8px; margin-top:16px; }
@media(max-width:720px) { .maintenance-dialog { padding:22px; }.recycle-content { padding:0 17px 20px; }.recycle-row { padding:13px; flex-wrap:wrap; }.recycle-row .button { margin-left:auto; }.group-row-actions { justify-content:flex-start; padding-left:0; } }
.expiry-batch-confirm { padding:0 21px 18px; }
.expiry-batch-result { padding:13px 15px; margin-bottom:15px; border:1px solid #eee4ed; border-radius:8px; background:#ffffffb3; }
.expiry-batch-result>span { font-size:9px; color:#a1aabd; margin-right:12px; }
.expiry-batch-result>strong { font-size:12px; font-weight:550; color:#77839a; }
.expiry-batch-result>p { margin:9px 0 0; color:#95a0b3; font-size:10px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.receipt-link { margin-top:20px; text-align:left; }
.receipt-link>label { display:block; color:#8693a8; font-size:11px; margin-bottom:9px; }
.receipt-link>div { display:flex; align-items:center; gap:8px; }
.receipt-link input { min-width:0; width:100%; height:39px; border:1px solid #e7eaf0; border-radius:7px; padding:9px 11px; color:#7a879d; background:#fafbfe; font-size:11px; }
.receipt-link .button { flex-shrink:0; font-size:10px; padding:10px; }
.receipt-link>p { margin:9px 0 0; color:#b16a83; font-size:11px; line-height:1.8; }
.receipt-open { display:flex; width:100%; margin-top:22px; }
.receipt-return { display:flex; align-items:center; gap:7px; margin:-9px 0 22px; color:#b17792; font-size:11px; line-height:1.8; }
.receipt-result-card { max-width:500px; }
.receipt-result-content { margin-top:27px; }
.receipt-decision-icon { display:flex; align-items:center; justify-content:center; width:69px; height:69px; border-radius:21px; margin:0 auto 24px; color:#a2a6ce; background:#f3f3fb; }
.receipt-approved { color:#78aa97; background:#eff8f4; }
.receipt-rejected { color:#b77a8f; background:#fcf0f5; }
.receipt-result-content h1 { font-size:26px; font-weight:600; text-align:center; margin:0 0 13px; }
.receipt-result-intro { font-size:12px; line-height:1.9; text-align:center; color:#8f9bb0; margin:0 0 25px; }
.receipt-group-number { text-align:center; border:1px solid #ead9e3; background:#fff8fc; border-radius:12px; margin-top:22px; padding:23px 20px 17px; }
.receipt-group-number>span { display:block; font-size:11px; color:#a6879b; }
.receipt-group-number>strong { display:block; color:#a36583; font-size:31px; font-weight:550; letter-spacing:2px; margin:13px 0 19px; overflow-wrap:anywhere; }
.receipt-group-number .button { font-size:12px; }
.receipt-group-number>p { font-size:11px; line-height:1.9; color:#9f8799; margin:17px 0 0; }
.receipt-refresh { display:flex; align-items:center; flex-direction:column; gap:12px; margin-top:24px; }
.receipt-refresh .button { font-size:12px; }
.receipt-refresh>small { font-size:10px; color:#9ca7b9; line-height:1.8; }
.admission-panel .panel-heading { align-items:flex-start; }
.admission-panel .panel-heading .eyebrow { display:block; font-size:8px; margin-bottom:8px; }
.admission-panel .panel-heading p { line-height:1.9; max-width:700px; }
.admission-panel .panel-heading>.button { flex-shrink:0; }
.admission-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0 25px 23px; }
.admission-counts>button { text-align:left; border:1px solid #e9ecf3; border-radius:9px; background:#fafbfe; padding:16px 18px; cursor:pointer; }
.admission-counts>button.selected { border-color:#e5c7d7; background:#fff8fc; }
.admission-counts span { display:block; color:#8e9bb0; font-size:11px; margin-bottom:8px; }
.admission-counts strong { color:#78879f; font-size:28px; font-weight:500; font-variant-numeric:tabular-nums; }
.admission-filters { padding:18px 25px; display:grid; grid-template-columns:minmax(130px,.7fr) minmax(160px,1fr) minmax(210px,1.3fr); gap:13px; border-top:1px solid #eff0f5; background:#fdfdff; }
.admission-filters>label { display:block; font-size:10px; color:#94a0b4; min-width:0; }
.admission-filters select,.admission-filters .search-field { display:flex; width:100%; height:38px; min-width:0; margin-top:8px; border:1px solid #e7eaf1; border-radius:7px; background:#fff; color:#7c8ba2; }
.admission-filters select { padding:0 11px; font-size:11px; }
.admission-filters .search-field input { font-size:11px; min-width:0; }
.admission-note,.admission-error,.admission-notice { display:flex; align-items:flex-start; gap:8px; margin:0 25px 18px; font-size:11px; line-height:1.9; color:#98a2b5; }
.admission-note svg,.admission-error svg,.admission-notice svg { flex-shrink:0; margin-top:3px; }
.admission-error { color:#b86b86; }
.admission-notice { color:#7c9c8f; padding:12px 14px; background:#f4faf7; border:1px solid #e1eee7; border-radius:8px; }
.admission-table { min-width:940px; font-size:12px; }
.admission-table th,.admission-table td { padding:16px 14px; }
.admission-table th { font-size:11px; }
.admission-table td { vertical-align:top; }
.admission-table th:last-child,.admission-table td:last-child:not([colspan]) { position:sticky; right:0; background:#fff; box-shadow:-5px 0 9px #68738b0a; }
.admission-table th:last-child { z-index:1; background:#fafbfc; }
.admission-table td>strong { display:block; font-weight:500; color:#66758a; font-size:12px; }
.admission-table td>small { display:block; font-size:11px; color:#78879c; margin-top:9px; line-height:1.8; }
.admission-table td>small.admission-block-reason { max-width:190px; color:#a7785f; white-space:normal; }
.admission-table td>.badge { margin-top:9px; }
.admission-charging>div+div { border-top:1px dashed #eceef4; margin-top:13px; padding-top:13px; }
.admission-charging>div>div { display:flex; align-items:center; gap:9px; }
.admission-charging strong { font-size:12px; font-weight:500; white-space:nowrap; }
.admission-charging p { font-size:11px; line-height:1.8; margin:7px 0 0; color:#78879c; }
.admission-charging small { display:block; font-size:10px; line-height:1.8; margin-top:7px; color:#8c98aa; }
.admission-missing { display:block; max-width:200px; font-size:11px; line-height:1.9; color:#78879c; }
.admission-actions { display:flex; align-items:flex-start; flex-direction:column; gap:13px; min-width:125px; }
.admission-actions .button { font-size:11px; padding:8px 11px; min-height:32px; }
.admission-actions .text-link { font-size:11px; display:flex; align-items:center; gap:4px; }
.admission-actions button:disabled { opacity:.45; cursor:default; }
.admission-empty { text-align:center; font-size:11px; padding:30px!important; color:#a4aec0!important; }
.admission-pagination { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:17px 25px; color:#a2acbd; font-size:10px; }
.admission-pagination>div { display:flex; gap:19px; }
.admission-pagination button { font-size:10px; }
.admission-pagination button:disabled { opacity:.4; cursor:default; }
.admission-receipt-summary { margin-top:23px; }
.admission-receipt-dialog .maintenance-description { margin-top:19px; }
@media(max-width:720px) { .admission-counts { padding:0 17px 20px; gap:9px; }.admission-counts>button { padding:13px; }.admission-filters { padding:16px 17px; grid-template-columns:repeat(2,minmax(0,1fr)); }.admission-filters>label:last-child { grid-column:1/-1; }.admission-note,.admission-error,.admission-notice { margin-left:17px; margin-right:17px; }.admission-panel .panel-heading { flex-wrap:wrap; }.admission-panel .panel-heading>.button { margin-left:auto; }.admission-pagination { padding:16px 17px; }.admission-receipt-dialog .maintenance-actions { flex-wrap:wrap; }.receipt-result-content h1 { font-size:24px; } }
@media(max-width:420px) { .receipt-link>div { flex-direction:column; align-items:stretch; }.receipt-link .button { justify-content:center; }.receipt-group-number { padding-left:14px; padding-right:14px; }.receipt-group-number>strong { font-size:28px; }.admission-counts span { font-size:10px; }.admission-counts strong { font-size:24px; } }

.tier-group-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tier-config-hint { color:#8794a8; font-size:10px; line-height:1.9; margin:8px 0 0; }
.tier-group-config { display:flex; flex-wrap:wrap; gap:5px 16px; margin-top:8px; font-size:10px; color:#8794a8; line-height:1.9; }
.tier-group-config>span { display:inline-flex; flex-wrap:wrap; gap:6px; }
.tier-group-config strong { color:#67758b; font-weight:500; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.tier-admission-route { max-width:300px; min-width:230px; padding:12px; border:1px solid #e7edf0; border-radius:8px; background:#f8fbfa; margin-bottom:16px; white-space:normal; }
.tier-admission-route.tier-route-blocked { background:#fffaf4; border-color:#f2e8d8; }
.tier-admission-route>.badge { margin:0; }
.tier-admission-route p { font-size:11px; line-height:1.8; margin:8px 0 0; color:#78879c; }
.tier-admission-route small { display:block; margin-top:5px; font-size:10px; line-height:1.8; color:#8c98aa; }
.tier-result-freshness { display:flex; flex-direction:column; gap:5px; color:#9f8799; margin:-3px 0 18px; }
.tier-result-freshness small { font-size:11px; line-height:1.6; }
.tier-result-blocked { font-size:11px; background:#fffaf4; border:1px solid #f2e8d8; border-radius:9px; padding:14px; color:#a17e5a; }
.tier-result-blocked strong { display:block; margin-bottom:5px; font-weight:500; }
.tier-result-blocked small { display:block; margin-top:8px; font-size:10px; }
@media(max-width:650px) { .tier-group-fields { grid-template-columns:1fr; }.tier-group-config { flex-direction:column; gap:2px; }.tier-admission-route { min-width:210px; } }
.expiry-batch-list { max-height:300px; overflow:auto; border:1px solid #eee7ef; border-radius:8px; scrollbar-width:thin; background:#fff; }
.expiry-batch-list .records-table { min-width:600px; }
.expiry-batch-list caption { text-align:left; padding:12px 15px; font-size:9px; line-height:1.8; color:#9b8b9d; background:#fffafd; }
.expiry-batch-list .records-table th,.expiry-batch-list .records-table td { padding:11px 15px; }
.expiry-batch-confirm>.notice { margin:14px 0 0; }
@media(max-width:980px) { .expiry-batch-toolbar { margin-left:20px; margin-right:20px; } }
@media(max-width:720px) { .expiry-batch-toolbar>div:last-child { width:100%; justify-content:flex-end; }.expiry-batch-toolbar>div:first-child { gap:7px 12px; }.expiry-batch-toolbar span { font-size:8px; } }
@media(max-width:500px) { .expiry-batch-toolbar { margin:0 17px 16px; padding:13px 12px; }.expiry-batch-toolbar>div { gap:11px; }.expiry-batch-toolbar strong { font-size:10px; }.expiry-batch-toolbar .text-link { font-size:8px; }.expiry-batch-toolbar .button { padding:8px 10px; font-size:9px; }.expiry-batch-confirm { padding:0 16px 16px; }.expiry-batch-result { padding:12px; }.expiry-batch-result>p { font-size:9px; }.expiry-batch-list { max-height:260px; } }

.server-filing{padding:24px 20px;display:flex;align-items:center;justify-content:center;gap:10px 22px;flex-wrap:wrap;font-size:11px;color:#8e94a4;background:#fafbfe;border-top:1px solid #edf0f5;line-height:1.8}.server-filing a{color:#697990}.server-filing a:hover{text-decoration:underline}.server-login{min-height:calc(100vh - 82px);padding:60px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.server-home-link{color:#758398;letter-spacing:2px;font-size:14px}.server-login-card{width:min(100%,440px);padding:42px;background:#fff;border:1px solid #e8ecf3;border-radius:18px;box-shadow:0 14px 45px #27334908}.server-login-card h1{font-size:29px;font-weight:500;letter-spacing:-.8px;margin:15px 0 10px;color:#29364c}.server-login-card>p{color:#8c94a5;font-size:12px;line-height:1.9;margin-bottom:25px}.server-login-card form>.button{width:100%;margin-top:22px;justify-content:center}.server-login-card .field input{width:100%;min-height:46px;border:1px solid #e6e8ef;border-radius:8px;padding:10px 12px}.server-login-icon{display:flex;align-items:center;justify-content:center;width:55px;height:55px;background:#fff1f5;color:#d88da4;border-radius:15px;margin-bottom:22px}.server-login-note{font-size:11px!important;color:#8f98a8!important;line-height:1.9!important;margin-top:23px!important;margin-bottom:0!important}.server-landing{max-width:840px;margin:auto;padding:55px 30px 70px;min-height:calc(100vh - 80px)}.server-landing>.brand{margin-bottom:65px;width:max-content}.server-landing h1{font-size:55px;line-height:1.25;font-weight:500;letter-spacing:-2px;margin:22px 0}.server-lead{font-size:16px;line-height:1.9;color:#7c899b}.server-landing-note{padding:22px 26px;margin:30px 0;border:1px solid #e9eaf1;background:#fff;border-radius:13px;max-width:650px}.server-landing-note h2{font-size:15px;font-weight:500;margin:0 0 10px}.server-landing-note p{font-size:12px;line-height:1.95;color:#8b95a5}.server-logout-button{border:1px solid #e5e8f0;border-radius:7px;padding:7px 13px;font-size:10px;background:#fff;color:#6a7890}.server-logout-button:hover{background:#fff4f7;border-color:#edccd9}.server-session-error{position:fixed;bottom:22px;right:25px;max-width:360px;background:#fff3f4;border:1px solid #ebc9cd;border-radius:9px;padding:13px 18px;z-index:150;color:#b75b68}.server-session-progress{position:fixed;top:75px;right:25px;background:#fff;border:1px solid #ece4ea;border-radius:8px;padding:10px 16px;color:#8b7991;z-index:150;font-size:12px}@media(max-width:600px){.server-login{padding:35px 17px}.server-login-card{padding:30px 25px}.server-landing{padding:30px 24px 45px}.server-landing>.brand{margin-bottom:45px}.server-landing h1{font-size:43px}.server-filing{flex-direction:column;gap:3px;font-size:10px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
