:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#18221e;--ink-soft:#50605a;--muted:#7c8984;--line:#dce2df;--surface:#fff;--surface-soft:#f7f9f8;--green:#197965;--green-dark:#145b4e;--green-soft:#dff1ea;--coral:#b3473a;--coral-soft:#fae9e6;--sidebar:#15251f;color:var(--ink);background:var(--surface-soft);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:2px solid var(--green);outline-offset:2px}h1,h2,p{margin:0}.public-shell{flex-direction:column;min-height:100vh;display:flex}.loading-screen,.auth-screen{min-height:0;color:var(--ink-soft);flex:1;place-items:center;gap:10px;padding:24px;display:grid}.auth-form{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:14px;width:min(400px,100%);padding:32px;display:grid;box-shadow:0 20px 50px #18221e14}.auth-form h1{font-size:22px}.auth-form>p{color:var(--ink-soft);font-size:14px;line-height:1.6}.auth-brand{color:var(--green-dark);align-items:center;gap:8px;display:flex}.app-shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#e6efeb;flex-direction:column;gap:20px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand small{letter-spacing:.12em;color:#93a8a0;font-size:10px;display:block}.brand-mark{background:var(--green);border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.sidebar-close{color:inherit;margin-left:auto}.nav-list{gap:4px;display:grid}.nav-list button{color:#c4d3cd;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;display:flex}.nav-list button:hover{background:#ffffff0f}.nav-list button.active{color:#fff;background:#19796559}.sidebar-profile{border-top:1px solid #ffffff1a;align-items:center;gap:8px;margin-top:auto;padding-top:14px;display:flex}.sidebar-profile>span:nth-child(2){flex:1;min-width:0}.sidebar-profile b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-profile small{color:#93a8a0;font-size:12px}.profile-avatar,.entity-avatar{background:var(--green-soft);width:34px;height:34px;color:var(--green-dark);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.workspace-layout{flex-direction:column;min-width:0;display:flex}.workspace{flex:1;align-content:start;gap:18px;min-width:0;padding:28px 32px;display:grid}.site-footer{padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));color:var(--ink-soft);text-align:center;flex:none;font-size:12px;line-height:20px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--green-dark);text-decoration:underline}.menu-button{justify-self:start}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header h1{font-size:22px}.page-header p{color:var(--ink-soft);margin-top:4px;font-size:14px}.action-row{flex-wrap:wrap;gap:8px;display:flex}.back-link{color:var(--green-dark);background:0 0;border:0;justify-self:start;align-items:center;gap:4px;padding:0;font-size:14px;display:inline-flex}.panel{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:14px;padding:20px;display:grid}.panel h2{font-size:16px}.placeholder{color:var(--muted);text-align:center;padding:18px;font-size:14px}.note{color:var(--muted);font-size:13px}.panel h3{color:var(--ink-soft);margin-top:6px;font-size:14px}.panel-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.room-list{gap:10px;display:grid}.room-card{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.room-card header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.anchor-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.anchor-chips li{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;align-items:center;gap:6px;padding:4px 4px 4px 10px;display:flex}.anchor-chips li b{font-size:13px;display:block}.anchor-chips li small{color:var(--muted);font-size:12px}.anchor-chips .icon-button{width:26px;height:26px}.anchor-result{gap:10px;display:grid}.segmented-control{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;display:grid}.segmented-control button{min-height:35px;color:var(--ink-soft);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;font-size:14px;display:inline-flex}.segmented-control button[aria-pressed=true]{background:var(--surface);color:var(--green-dark);font-weight:600;box-shadow:0 1px 3px #18221e14}.anchor-batch-input{resize:vertical;border:1px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:7px;width:100%;min-height:120px;max-height:240px;padding:10px 12px;line-height:1.6}.anchor-batch-input:focus{border-color:var(--green);outline:0}.anchor-batch-input:disabled{background:var(--surface-soft);color:var(--ink-soft)}.batch-input-summary{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.field .batch-limit-error,.batch-invalid-count{color:var(--coral)}.batch-invalid-list{color:var(--coral);gap:6px;min-width:0;font-size:12px;display:grid}.batch-invalid-list strong{font-weight:600}.batch-invalid-list ul{flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none;display:flex}.batch-invalid-list li{overflow-wrap:anywhere;min-width:0;max-width:100%}.batch-progress{color:var(--ink-soft);font-size:13px;line-height:1.5}.anchor-batch-results{border:1px solid var(--line);border-radius:7px;max-height:280px;margin:0;padding:0;list-style:none;overflow:auto}.anchor-batch-results li{justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.anchor-batch-results li+li{border-top:1px solid var(--line)}.batch-result-content{overflow-wrap:anywhere;gap:3px;min-width:0;font-size:13px;display:grid}.batch-result-content strong{font-variant-numeric:tabular-nums;font-weight:600}.batch-result-content>span{color:var(--ink-soft);line-height:1.45}.batch-result-content .batch-result-error{color:var(--coral)}.batch-result-status{color:var(--muted);flex:none;align-items:center;gap:4px;font-size:12px;line-height:18px;display:inline-flex}.batch-result-status.processing,.batch-result-status.success{color:var(--green-dark)}.batch-result-status.error{color:var(--coral)}.date-range{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.date-range input{border:1px solid var(--line);border-radius:7px;height:36px;padding:0 8px}.date-range input:focus{border-color:var(--green);outline:0}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.metric{background:var(--surface-soft);border-radius:8px;gap:4px;padding:12px;display:grid}.metric small{color:var(--ink-soft);font-size:12px}.metric b{font-variant-numeric:tabular-nums;font-size:20px}.metric.highlight{background:var(--green-soft)}.metric.highlight b{color:var(--green-dark)}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--line);padding:9px 12px}.data-table th:first-child,.data-table td:first-child{text-align:left;background:var(--surface);position:sticky;left:0}.data-table th{background:var(--surface-soft);color:var(--ink-soft);font-weight:600}.data-table th:first-child{background:var(--surface-soft)}.data-table tbody tr:last-child td{border-bottom:0}.data-table td{font-variant-numeric:tabular-nums}.search-box{border:1px solid var(--line);max-width:360px;color:var(--muted);border-radius:7px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:38px}.search-box:focus-within{border-color:var(--green)}.user-list{margin:0;padding:0;list-style:none;display:grid}.user-list li+li{border-top:1px solid var(--line)}.user-list button{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;align-items:center;gap:12px;padding:12px 8px;display:flex}.user-list button:hover{background:var(--surface-soft)}.user-main{min-width:0;color:var(--ink);flex:1}.user-main b{display:block}.user-main small{color:var(--ink-soft);font-size:13px}.badge{background:var(--green-soft);color:var(--green-dark);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px}.badge.disabled{color:var(--muted);background:#eceeed}.info-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 24px;margin:0;display:grid}.info-grid dt{color:var(--muted);font-size:13px}.info-grid dd{word-break:break-all;margin:4px 0 0;font-weight:600}.primary-button,.secondary-button{border-radius:7px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.primary-button{background:var(--green);color:#fff;border:0}.primary-button:hover:not(:disabled){background:var(--green-dark)}.secondary-button{border:1px solid var(--line);background:var(--surface)}.secondary-button:hover:not(:disabled){border-color:var(--green)}.icon-button{background:0 0;border:0;border-radius:7px;flex:none;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover{background:#0000000d}.icon-button.dark{color:#c4d3cd}.icon-button.dark:hover{background:#ffffff14}.form-stack{gap:14px;display:grid}.field{gap:6px;font-size:14px;display:grid}.field>span{color:var(--ink-soft);justify-content:space-between;gap:8px;display:flex}.field small{color:var(--muted)}.field input{border:1px solid var(--line);background:var(--surface);border-radius:7px;height:40px;padding:0 12px}.field input:focus{border-color:var(--green);outline:0}.captcha-row{align-items:center;gap:8px;display:flex}.captcha-row input{border:1px solid var(--line);border-radius:7px;flex:1;min-width:0;height:40px;padding:0 12px}.captcha-row input:focus{border-color:var(--green);outline:0}.captcha-row img,.captcha-missing{border:1px solid var(--line);object-fit:contain;background:var(--surface-soft);border-radius:7px;flex:none;width:120px;height:40px}.captcha-missing{color:var(--muted);text-align:center;place-items:center;padding:0 6px;font-size:12px;display:grid}.check-field{color:var(--ink-soft);align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;display:flex}.check-field input{margin-top:3px}.text-button{color:var(--green-dark);background:0 0;border:0;justify-self:start;padding:0;font-size:14px}.text-button.danger{color:var(--coral)}.resigned-tag{color:var(--coral);margin-left:8px;font-weight:600}.user-list li.static-row{color:var(--muted);align-items:center;gap:12px;padding:12px 8px;display:flex}.form-error{background:var(--coral-soft);color:var(--coral);border:1px solid #efc2bb;border-radius:7px;align-items:flex-start;gap:7px;padding:10px 12px;font-size:13px;display:flex}.modal-backdrop{z-index:50;background:#15251f73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:10px;gap:16px;width:min(440px,100%);max-height:calc(100vh - 40px);padding:22px;display:grid;overflow:auto}.modal.anchor-batch-modal{width:min(560px,100%)}.modal header{justify-content:space-between;gap:12px;display:flex}.modal h2{font-size:18px}.modal header p{color:var(--ink-soft);margin-top:4px;font-size:13px;line-height:1.5}.toast{z-index:70;max-width:min(360px,100vw - 44px);color:var(--green-dark);background:#edf8f4;border:1px solid #bad7cc;border-radius:7px;align-items:center;gap:8px;padding:12px 14px;font-size:14px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 15px 38px #18221e21}.toast.error{background:var(--coral-soft);color:var(--coral);border-color:#efc2bb}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.sidebar-backdrop,.icon-button.menu-button,.icon-button.sidebar-close{display:none}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:40;width:260px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.icon-button.sidebar-close,.icon-button.menu-button{display:grid}.sidebar-backdrop{z-index:30;background:#15251f73;border:0;display:block;position:fixed;inset:0}.workspace{padding:16px}}
