.login-screen{background:var(--paper);height:100%;display:flex}.login-left{flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{width:100%;max-width:360px}.login-brand{margin-bottom:34px}.login-brand__mark{letter-spacing:.14em;font-size:19px;font-weight:700}.login-brand__sub{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-top:8px}.login-form{flex-direction:column;gap:16px;display:flex}.login-form .input{width:100%;min-width:0;padding:10px 12px}.login-form .btn{margin-top:6px;padding:10px 16px}.login-error{font-size:var(--fs-sm);color:var(--red);min-height:20px}.login-foot{font-size:var(--fs-xs);color:var(--faint);margin-top:30px;line-height:1.7}.login-right{background:var(--ink);color:#ffffffe6;flex-direction:column;justify-content:flex-end;width:38%;max-width:560px;padding:56px;display:flex}.login-right__big{letter-spacing:-.02em;font-size:44px;font-weight:700;line-height:1.1}.login-right__sub{letter-spacing:.18em;text-transform:uppercase;color:#ffffff6b;margin-top:18px;font-size:12px}@media (width<=860px){.login-right{display:none}}.shell{height:100%;min-height:0;display:flex}.side{width:var(--side-w);background:var(--ink);color:#fff;flex-direction:column;flex:none;display:flex}.brand{border-bottom:1px solid #ffffff24;padding:24px 16px 20px}.brand__mark{letter-spacing:.16em;font-size:12px;font-weight:700}.brand__sub{font-size:var(--fs-tiny);letter-spacing:.12em;color:#ffffff6b;text-transform:uppercase;margin-top:5px}.menu{flex:1;padding:14px 0;overflow-y:auto}.menu__label{font-size:var(--fs-tiny);letter-spacing:.16em;color:#ffffff52;text-transform:uppercase;padding:12px 16px 6px}.menu__item{text-align:left;width:100%;font-size:var(--fs-md);color:#ffffff94;transition:color var(--ease), background-color var(--ease);background:0 0;border:none;align-items:center;gap:9px;padding:10px 16px;display:flex}.menu__item:hover{color:#fff;background:#ffffff0f}.menu__item.is-active{color:#fff;background:#ffffff1a;font-weight:600}.menu__dot{opacity:.5;background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.menu__item.is-active .menu__dot{opacity:1}.menu__item--child{padding-left:34px;font-size:13px}.menu__item--child .menu__dot{width:4px;height:4px}.side__foot{border-top:1px solid #ffffff24;align-items:center;gap:8px;padding:12px;display:flex}.avatar{background:#ffffff24;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:flex}.who{flex:1;min-width:0;overflow:hidden}.who b{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;display:block;overflow:hidden}.who span{color:#ffffff6b;font-size:9.5px}.logout{color:#ffffffb3;transition:var(--ease);background:0 0;border:1px solid #ffffff3d;flex:none;padding:2px 6px;font-size:10px}.logout:hover{color:#fff;border-color:#fff}.main{background:var(--paper);flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.page-head{padding:34px var(--gutter) 0;max-width:var(--content-max);width:100%}.page-kicker{letter-spacing:.18em;color:var(--faint);text-transform:uppercase;font-size:10px}.page-title{font-size:var(--fs-xl);letter-spacing:-.01em;margin-top:6px;font-weight:700}.page-desc{color:var(--mute);max-width:620px;margin-top:6px;font-size:13px}.page-body{padding:26px var(--gutter) 56px;max-width:var(--content-max);width:100%}.placeholder{color:var(--faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:calc(100vh - 120px);display:flex}.placeholder__kicker{letter-spacing:.2em;text-transform:uppercase;font-size:10px}.placeholder__title{color:var(--mute);font-size:17px;font-weight:600}.placeholder__desc{font-size:12.5px}.boot-screen{height:100%;color:var(--faint);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;display:flex}.settings-stack{flex-direction:column;max-width:820px;display:flex}.settings-form{flex-direction:column;gap:16px;max-width:420px;padding:18px 22px;display:flex}.settings-form .input,.settings-form .select{width:100%;min-width:0}.settings-actions{align-items:center;gap:10px;display:flex}.settings-saved{font-size:var(--fs-xs);color:var(--green)}.member-name{font-weight:600}.member-actions{gap:2px;display:flex}.link-act{font-size:var(--fs-sm);color:var(--mute);background:0 0;border:none;padding:0 8px}.link-act:hover:not(:disabled){color:var(--ink);text-decoration:underline}.link-act:disabled{opacity:.35}.link-act--danger:hover:not(:disabled){color:var(--red)}.pw-reveal{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.1em;-webkit-user-select:all;user-select:all;background:#fafaf8;padding:14px 16px;font-size:18px}.pw-note{font-size:var(--fs-xs);color:var(--mute);margin-top:10px;line-height:1.6}.danger-box{background:#fdf7f7;align-items:center;gap:18px;padding:18px 22px;display:flex}.danger-box__text{flex:1;min-width:0}.danger-box__text b{font-size:var(--fs-md);font-weight:600;display:block}.danger-box__text span{font-size:var(--fs-xs);color:var(--mute)}.modal-form{flex-direction:column;gap:16px;display:flex}.modal-form .input,.modal-form .select{width:100%;min-width:0}.form-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.confirm-input{margin-top:12px}.audit-detail{text-overflow:ellipsis;vertical-align:bottom;max-width:320px;color:var(--mute);font-family:var(--font-mono);font-size:11.5px;display:inline-block;overflow:hidden}:root{--paper:#f7f7f5;--card:#fff;--ink:#141414;--line:#e2e2dd;--line-soft:#efefeb;--mute:#78776f;--faint:#a3a29a;--green:#1f6f4a;--amber:#b45309;--red:#a83232;--side-w:150px;--content-max:1760px;--gutter:44px;--font-sans:"PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SF Mono", Menlo, monospace;--fs-xl:26px;--fs-lg:21px;--fs-base:14px;--fs-md:13.5px;--fs-sm:12.5px;--fs-xs:11px;--fs-tiny:9.5px;--ease:.16s ease}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3,h4,p,figure{margin:0}button{font:inherit;cursor:pointer}a{color:inherit;cursor:pointer;text-decoration:none}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}::selection{background:var(--ink);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d6d5cf padding-box content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:#b9b8b1 padding-box content-box;border:3px solid #0000}.mono{font-family:var(--font-mono)}.btn{font-size:var(--fs-sm);background:var(--card);color:var(--ink);transition:border-color var(--ease), background-color var(--ease), color var(--ease);white-space:nowrap;border:1px solid #c9c9c2;padding:7px 16px;line-height:1.5}.btn:hover:not(:disabled){border-color:var(--ink)}.btn:disabled{opacity:.4}.btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn--primary:hover:not(:disabled){background:#000}.btn--danger{color:var(--red);border-color:#d9b4b4}.btn--danger:hover:not(:disabled){border-color:var(--red)}.btn--ghost{color:var(--mute);background:0 0;border-color:#0000;padding-left:8px;padding-right:8px}.btn--ghost:hover:not(:disabled){color:var(--ink);text-decoration:underline}.btn--sm{font-size:var(--fs-xs);padding:4px 10px}.btn--block{width:100%}.input,.select{font:inherit;font-size:var(--fs-md);color:var(--ink);min-width:220px;transition:border-color var(--ease);background:#fff;border:1px solid #c9c9c2;padding:7px 10px}.input:focus,.select:focus{border-color:var(--ink);outline:none}.input::placeholder{color:#c0bfb7}.input:disabled,.select:disabled{color:var(--mute);background:#f3f3ef}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--mute) 50%), linear-gradient(135deg, var(--mute) 50%, transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:32px}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--faint);text-transform:uppercase}.field__error{font-size:var(--fs-xs);color:var(--red)}.tag{font-size:var(--fs-xs);letter-spacing:.06em;white-space:nowrap;border:1px solid;padding:2px 9px;line-height:1.5;display:inline-block}.tag--ink{color:var(--ink)}.tag--green{color:var(--green)}.tag--amber{color:var(--amber)}.tag--red{color:var(--red)}.tag--mute{color:var(--faint)}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-md);font-variant-numeric:tabular-nums}.tbl th{text-align:left;font-size:var(--fs-tiny);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 22px;font-weight:500}.tbl td{border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:13px 22px}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:#fafaf8}.tbl .num{text-align:right}.tbl .empty-cell{padding:0}.sec{background:var(--card);border:1px solid var(--line);margin-bottom:22px}.sec__head{border-bottom:1px solid var(--ink);align-items:center;gap:14px;padding:15px 22px;display:flex}.sec__title{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-right:auto}.sec__note{font-size:var(--fs-xs);color:var(--faint)}.sec__body{padding:0}.tabs{border-bottom:1px solid var(--line);align-items:stretch;gap:26px;display:flex}.tabs__item{font-size:var(--fs-md);color:var(--mute);transition:color var(--ease);background:0 0;border:none;align-items:center;gap:7px;padding:11px 0 10px;display:flex;position:relative}.tabs__item:hover{color:var(--ink)}.tabs__item.is-active{color:var(--ink);font-weight:600}.tabs__item.is-active:after{content:"";background:var(--ink);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tabs__count{font-size:var(--fs-tiny);color:var(--faint);font-variant-numeric:tabular-nums;font-weight:500}.tabs__item.is-active .tabs__count{color:var(--ink)}.modal-mask{z-index:200;background:#1414146b;justify-content:center;align-items:flex-start;padding:8vh 20px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--card);border:1px solid var(--line);width:100%;max-width:640px;box-shadow:0 18px 60px #0000002e}.modal--wide{max-width:980px}.modal--full{max-width:1180px}.modal__head{border-bottom:1px solid var(--ink);align-items:baseline;gap:16px;padding:18px 24px;display:flex}.modal__title{margin-right:auto;font-size:17px;font-weight:600}.modal__close{color:var(--mute);background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.modal__close:hover{color:var(--ink)}.modal__body{padding:22px 24px}.modal__foot{border-top:1px solid var(--line-soft);background:#fafaf8;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.drawer-mask{z-index:210;background:#14141452;position:fixed;inset:0}.drawer{background:var(--card);border-left:1px solid var(--line);z-index:211;flex-direction:column;width:min(460px,92vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 44px #00000024}.drawer__head{border-bottom:1px solid var(--ink);align-items:baseline;gap:16px;padding:18px 22px;display:flex}.drawer__title{margin-right:auto;font-size:16px;font-weight:600}.drawer__close{color:var(--mute);background:0 0;border:none;font-size:18px}.drawer__close:hover{color:var(--ink)}.drawer__body{flex:1;padding:20px 22px;overflow-y:auto}.pager{border-top:1px solid var(--line-soft);align-items:center;gap:6px;padding:14px 22px;display:flex}.pager__btn{min-width:28px;height:28px;color:var(--mute);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:0 8px}.pager__btn:hover:not(:disabled){border-color:var(--line);color:var(--ink)}.pager__btn:disabled{opacity:.35}.pager__btn.is-active{border-color:var(--ink);color:var(--ink);font-weight:600}.pager__info{font-size:var(--fs-xs);color:var(--faint);margin-left:auto}.empty{color:var(--faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:56px 20px;display:flex}.empty__title{color:var(--mute);font-size:13px}.empty__desc{font-size:var(--fs-xs)}.frow{border-bottom:1px solid var(--line-soft);align-items:center;gap:24px;padding:16px 22px;display:flex}.frow:last-child{border-bottom:none}.frow__label{flex:none;width:150px}.frow__label b{font-size:var(--fs-md);font-weight:600;display:block}.frow__label span{font-size:var(--fs-xs);color:var(--faint)}.frow__value{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.frow__value .val{font-size:var(--fs-md)}.hint{font-size:var(--fs-xs);color:var(--faint);border-top:1px solid var(--line-soft);background:#fafaf8;padding:12px 22px}.error-line{font-size:var(--fs-sm);color:var(--red)}
