:root{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2d36;background:#f4f7f6;font-synthesis:none;text-rendering:optimizeLegibility;--brand:#2c8885;--brand-dark:#226d6b;--slate:#243746;--muted:#687b83;--line:#dce7e5;--soft:#eaf4f3;--surface:#fff}
*{box-sizing:border-box}body{margin:0;min-width:320px}.page{max-width:1440px;margin:auto;padding:0 32px}.topbar{height:78px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--surface);padding:0 max(24px,calc((100vw - 1376px)/2));margin:0 -32px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--slate)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px 13px 4px 13px;background:var(--brand);color:#fff;font-family:"Songti SC",serif;font-size:22px}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.5px}.brand small{font-size:11px;color:var(--muted);margin-top:3px}.top-actions{display:flex;align-items:center;gap:16px}.top-actions a{color:var(--brand);font-size:13px;text-decoration:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:38px 0 22px}.page-heading h1,.login-copy h1{margin:0;font-size:28px;line-height:1.4;letter-spacing:.2px}.page-heading>div>p:not(.eyebrow),.login-copy>p:last-child,.create-card>div>p,.table-heading p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.eyebrow{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:1.7px;color:var(--brand)}.heading-user{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(24,53,75,.035)}.button{border:0;border-radius:8px;padding:10px 16px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(44,136,133,.25);outline-offset:2px}.button-primary{background:var(--brand);color:#fff}.button-primary:hover{background:var(--brand-dark)}.button-secondary{background:var(--soft);color:var(--brand-dark)}.button-secondary:hover{background:#d7ebe9}.button-quiet{background:transparent;color:var(--muted)}.button-quiet:hover{background:var(--soft);color:var(--brand-dark)}.hidden{display:none!important}.login-panel{min-height:calc(100vh - 140px);display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;max-width:1000px;margin:auto;padding:40px 0}.login-copy h1{font-size:38px}.login-form{display:grid;gap:18px;padding:28px}.login-form label,.create-form label{display:grid;gap:8px;font-size:12px;color:var(--muted);font-weight:600}.login-form input,.create-form input,.search-label input{width:100%;height:40px;border:1px solid #cfdedc;border-radius:8px;padding:0 11px;font:inherit;font-size:14px;color:var(--slate);background:#fff}.message{min-height:18px;margin:0;font-size:12px;color:#b34d49}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.summary{padding:18px 20px}.summary strong{display:block;font-size:24px;color:var(--slate)}.summary span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.create-card{display:grid;grid-template-columns:1fr;gap:18px;padding:22px;margin-bottom:16px}.create-card h2,.table-heading h2{margin:0;font-size:17px}.create-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.table-card{padding:22px 0}.table-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 22px 18px}.search-label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.search-label input{width:220px;height:36px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:13px 12px;border-top:1px solid #edf2f1;font-size:12px}th:first-child,td:first-child{padding-left:22px}th{font-weight:600;color:var(--muted);background:#fafcfb}td{vertical-align:middle}.employee strong,.employee span{display:block}.employee strong{font-size:13px;color:var(--slate)}.employee span{margin-top:3px;color:var(--muted);font-size:11px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#aab5b5}.status.active:before{background:#39a77a}.grant-control{display:flex;align-items:center;gap:6px}.grant-control select{max-width:110px;height:32px;border:1px solid #d5e1df;border-radius:7px;background:#fff;padding:0 7px;color:var(--slate);font:inherit;font-size:11px}.grant-control button{width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:7px;background:var(--soft);color:var(--brand-dark);font-size:17px;cursor:pointer}.grant-control button:hover{background:#d5eae8}.grant-control button.revoke{background:#fff0ef;color:#a54c46}.grant-none{font-size:11px;color:#a0aaaa}.row-actions{display:flex;gap:5px}.row-actions button{border:1px solid #d5e1df;border-radius:7px;background:#fff;padding:7px 9px;color:var(--slate);font:inherit;font-size:11px;cursor:pointer}.row-actions button:hover{border-color:var(--brand);color:var(--brand-dark)}.row-actions button.danger{color:#a54c46}.row-actions button.danger:hover{border-color:#d29591}.audit-card{margin:16px 0;padding:18px 22px}.audit-card summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--slate)}.audit-card ol{max-height:260px;overflow:auto;margin:14px 0 0;padding-left:22px;color:var(--muted);font-size:12px;line-height:1.9}.denied{max-width:720px;margin:100px auto;padding:30px}.denied h1{font-size:22px}.denied p{color:var(--muted);font-size:14px}footer{display:flex;justify-content:space-between;gap:12px;padding:24px 0 30px;color:#849296;font-size:11px}
.message.success{color:var(--brand-dark)}
@media(max-width:900px){.page{padding:0 18px}.topbar{margin:0 -18px;padding:0 20px}.login-panel{grid-template-columns:1fr;gap:26px;max-width:520px;align-content:center}.login-copy h1{font-size:30px}.create-form{grid-template-columns:1fr 1fr}.create-form .button{height:40px}.page-heading{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.page{padding:0 13px}.topbar{height:68px;margin:0 -13px;padding:0 14px}.brand-mark{width:38px;height:38px}.brand strong{font-size:14px}.top-actions{gap:8px}.top-actions a{font-size:12px}.page-heading{margin:28px 0 18px}.page-heading h1{font-size:23px}.heading-user{width:100%;justify-content:space-between}.summary-grid{gap:8px}.summary{padding:13px 11px}.summary strong{font-size:20px}.summary span{font-size:10px}.create-form{grid-template-columns:1fr}.table-heading{align-items:flex-start;flex-direction:column}.search-label{width:100%;justify-content:space-between}.search-label input{width:min(65%,260px)}.table-card{padding-top:18px}.login-panel{min-height:calc(100vh - 130px)}.login-copy h1{font-size:27px}footer{font-size:10px}}
