:root{font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif;color:#182c40;background:#f4f7f9;font-size:14px;line-height:1.5;--navy: #122435;--navy-soft: #1b3448;--teal: #128478;--teal-dark: #0d6b61;--border: #e1e7ed;--muted: #6a7887;--surface: #fff}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}.muted{color:#98a4b0}input,textarea{width:100%;border:1px solid #d4dee7;border-radius:7px;background:#fff;padding:10px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #1284781f}input[readonly]{background:#f1f5f8;color:#63727f}textarea{resize:vertical;line-height:1.65}label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#35485a}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 16px;border:1px solid #d3dde6;border-radius:7px;background:#fff;color:#263c4f;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s}button:hover{background:#f4f8fa;border-color:#b6c4d0}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8ad1c8;outline-offset:2px}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark);border-color:var(--teal-dark)}.full{width:100%;min-height:44px;font-size:14px}.icon-button{width:32px;min-height:32px;padding:0;border:0;background:transparent;font-size:20px;color:#6d7e8d}.icon-button:hover{background:#eef2f5}.login-page{min-height:100vh;display:grid;grid-template-columns:44% 56%}.login-intro{position:relative;display:flex;flex-direction:column;padding:46px 58px;background:radial-gradient(circle at 82% 18%,rgba(18,132,120,.28),transparent 34%),radial-gradient(circle at 10% 92%,rgba(94,211,194,.12),transparent 36%),var(--navy);color:#eef5fa;overflow:hidden}.login-intro:after{content:"";position:absolute;right:-90px;bottom:-130px;width:340px;height:340px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 26px #ffffff09,0 0 0 56px #ffffff05}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:12px;background:linear-gradient(145deg,#1aa393,#0d6b61);color:#fff;font-size:19px;font-weight:700;letter-spacing:1px;box-shadow:0 6px 18px #09625859}.brand strong{display:block;font-size:17px;letter-spacing:.2px}.brand span{display:block;margin-top:2px;font-size:11px;color:#a7bdcc;letter-spacing:1.2px}.login-copy{margin:auto 0;position:relative;z-index:1}.login-copy h1{font-size:40px;line-height:1.55;font-weight:700;letter-spacing:-.5px}.login-copy p{margin-top:26px;font-size:14px;line-height:2;color:#a9c0d0}.login-footer{font-size:11px;letter-spacing:2px;color:#7e9aad}.login-main{display:flex;align-items:center;justify-content:center;padding:40px;background:#f4f7f9}.login-form{width:360px;max-width:100%}.login-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:20px;border-radius:10px;background:#e3f3f0;color:var(--teal);font-weight:700}.login-form h1{font-size:27px;letter-spacing:-.4px}.login-form>p{margin-top:9px;color:var(--muted);font-size:13px}.login-form label{margin-top:26px}.login-form .notice{margin-top:18px}.login-form .full{margin-top:20px}.login-form .hint{margin-top:16px;font-size:11px;color:#8b98a4;line-height:1.8}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;height:66px;padding:0 32px;background:var(--navy);color:#edf5fa;box-shadow:0 1px #ffffff0a}.app-header .brand-mark{width:34px;height:34px;font-size:16px;border-radius:9px}.app-header .brand strong{font-size:16px}.app-header .brand span{color:#9db4c4}.header-actions{display:flex;align-items:center;gap:14px;font-size:12px;color:#b9cbd8}.status-dot{width:7px;height:7px;border-radius:50%;background:#4ed3be;box-shadow:0 0 0 4px #4ed3be21}.header-link{color:#cfe0ea;font-size:12px;padding:5px 10px;border-radius:6px}.header-link:hover{background:#ffffff14}.header-button{min-height:32px;padding:5px 12px;background:transparent;border-color:#3a5468;color:#e6f0f6;font-size:12px}.header-button:hover{background:#1c3a4f;border-color:#4d6a80}main{max-width:1180px;margin:0 auto;padding:30px 28px 56px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading h1{font-size:27px;letter-spacing:-.5px}.page-heading p{margin-top:7px;color:var(--muted);font-size:13px}.page-heading .primary{min-height:42px;padding:9px 20px}.toolbar{display:flex;gap:10px;align-items:center;padding:14px;margin-bottom:16px;background:#fff;border:1px solid var(--border);border-radius:10px}.search-box{position:relative;flex:1}.search-box>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8a98a5;font-size:17px;pointer-events:none}.search-box input{padding-left:38px;min-height:40px}.toolbar button{min-height:40px;padding:8px 18px}.table-panel{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:13px 18px;background:#f7fafb;border-bottom:1px solid var(--border);color:#5d6f7e;font-size:12px;font-weight:650;white-space:nowrap}td{padding:15px 18px;border-bottom:1px solid #eef2f5;font-size:13px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .12s}tbody tr:hover{background:#f8fbfc}.item-id{display:inline-block;padding:4px 9px;border-radius:5px;background:#eef6f5;color:#106e64;font-family:Consolas,SFMono-Regular,monospace;font-size:12.5px;letter-spacing:.3px}.remark-cell{max-width:430px;white-space:normal;overflow-wrap:anywhere;line-height:1.65;color:#394d5f}.time-cell{color:#71808d;font-size:12px;white-space:nowrap}.action-cell{width:76px;text-align:right}.text-button{min-height:30px;padding:4px 10px;border:0;background:transparent;color:var(--teal);font-size:12.5px}.text-button:hover{background:#eaf6f3}.empty{display:flex;flex-direction:column;align-items:center;padding:58px 20px 64px;text-align:center;color:#8a97a3}.empty-mark{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:14px;background:#eef3f6;color:#a7b4c0;font-size:22px;font-weight:700}.empty h3{margin-top:18px;font-size:17px;color:#3a4e61;font-weight:600}.empty p{margin-top:8px;max-width:380px;font-size:12.5px;line-height:1.9;color:#8391a0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-top:1px solid var(--border);background:#fcfdfe;color:#687a89;font-size:12px}.pagination>div{display:flex;gap:8px}.pagination button{min-height:32px;padding:5px 12px;font-size:12px}.notice{display:flex;align-items:center;gap:8px;padding:11px 14px;margin-bottom:14px;border-radius:8px;font-size:12.5px;line-height:1.7}.notice.error{background:#fff1f1;border:1px solid #f3d3d5;color:#a23842}.notice.success{background:#eaf8f3;border:1px solid #cae9df;color:#267b60}.drawer-layer{position:fixed;inset:0;z-index:40}.drawer-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#0c1c2961;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer-backdrop:hover{background:#0c1c2961}.drawer{position:absolute;top:0;right:0;bottom:0;width:420px;max-width:100%;padding:26px 26px 30px;background:#fff;box-shadow:-18px 0 50px #0f233429;overflow:auto;animation:slide-in .22s ease-out}@keyframes slide-in{0%{transform:translate(26px);opacity:.4}to{transform:translate(0);opacity:1}}.drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:20px;border-bottom:1px solid #edf1f4}.drawer h2{font-size:20px;letter-spacing:-.3px}.drawer header p{margin-top:6px;font-size:12px;color:var(--muted)}.drawer form{display:grid;gap:18px;margin-top:22px}.drawer-actions{display:flex;gap:10px;margin-top:4px}.drawer-actions .primary{flex:1}.drawer-actions button{min-height:42px}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-intro{padding:26px 30px;min-height:120px}.login-copy,.login-footer{display:none}.login-main{padding:46px 24px}.app-header{padding:0 18px}.header-meta,.header-link{display:none}main{padding:22px 16px 46px}.page-heading{flex-wrap:wrap;align-items:flex-start}.remark-cell{max-width:240px}}@media(max-width:560px){.toolbar{flex-wrap:wrap}.search-box{flex:1 1 100%}.toolbar button{flex:1}.drawer{width:100%}.login-copy h1{font-size:32px}.page-heading h1{font-size:23px}}
