:root{--ink:#172e38;--muted:#667780;--line:#e0e7e8;--accent:#087f75;--canvas:#f4f7f7;--sidebar:#152d34}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}a{color:var(--accent)}h1{font-size:28px;font-weight:650;margin:2px 0 10px}h2{font-size:17px;font-weight:600}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #68c8bd;outline-offset:3px}.sidebar{width:220px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);color:#dde8ea;padding:30px 22px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:21px;font-weight:600;margin-bottom:42px}.brand:hover{color:#fff}.brand-mark{display:inline-grid;place-items:center;width:39px;height:39px;background:#18a897;border-radius:11px;color:white;font-size:24px;font-weight:700}.brand-sub{display:block;font-size:11px;font-weight:400;color:#a8bdc2;letter-spacing:2px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:11px 14px;border-radius:7px;color:#b7c9ce}.sidebar nav a.active{background:#25494f;color:#fff}.sidebar nav a:hover{background:#203e45;color:#fff}.sidebar-note{position:absolute;bottom:20px;font-size:12px;color:#9bb4bb}.workspace{margin-left:220px}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 35px;color:var(--muted)}.topbar>div{display:flex;align-items:center;gap:15px}.logout{display:inline}#content{padding:32px;max-width:1680px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:1.8px;color:var(--accent);margin:0 0 6px}.timezone{font-size:12px;color:var(--muted)}.panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:11px;margin-bottom:20px}.editor summary{cursor:pointer;color:var(--accent);font-weight:600}.editor[open] summary{margin-bottom:24px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px 22px;margin-bottom:18px}.field{display:block;margin-bottom:16px;min-width:0}.field>span{display:block;font-weight:550;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #cbd6d9;border-radius:5px;padding:9px 11px;height:41px;color:var(--ink)}.field textarea{height:auto;resize:vertical;word-break:break-all}.field small{display:block;color:var(--muted);font-size:11px;min-height:16px;margin-top:5px}.layui-btn{background:var(--accent);border-radius:6px;min-height:40px}.cancel{margin-left:18px}.muted{color:var(--muted);font-size:12px;margin:8px 0 16px}.notice{border-left:3px solid #499a90;background:#e8f2f0;padding:13px 17px;margin-bottom:20px;font-size:12px;color:#395d57}.table-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.table-heading span{color:var(--muted);font-size:12px}.table-scroll{overflow:auto}.layui-table{min-width:760px;margin:0;white-space:nowrap;color:var(--ink)}.layui-table th{background:#f4f7f8;color:#697b81;font-size:12px}.layui-table td{font-size:13px;max-width:400px;overflow-wrap:anywhere;white-space:normal}.layui-table td,.layui-table th{padding:13px 12px;border-color:#e5ecee}.actions{min-width:180px}.actions form{display:inline-block;margin:2px 7px 2px 0}.link-button{border:0;background:none;color:var(--accent);padding:4px 0;cursor:pointer}.pagination{display:flex;justify-content:flex-end;gap:20px;padding-top:20px;color:var(--muted)}.empty{padding:60px;text-align:center;color:var(--muted)}.search form{display:flex;align-items:center;gap:20px}.search .field{flex:1;max-width:500px;margin:0}.global-message{position:fixed;bottom:22px;right:24px;max-width:600px;background:var(--ink);color:white;border-radius:8px;padding:12px 20px;display:none;z-index:30}.global-message.visible{display:block}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#edf5f3,#f5f7fa)}.login-card{width:420px;max-width:calc(100vw - 36px);padding:40px;border:1px solid var(--line);background:white;border-radius:16px;box-shadow:0 15px 60px #1633320a}.login-card>.brand-mark{margin-bottom:26px}.login-card h1{font-size:25px}.login-card form{margin-top:26px}.login-button{width:100%;margin-top:4px}.login-foot{color:#89999e;text-align:center;font-size:12px;margin:25px 0 0}.form-message{color:#b33a3a;margin-top:12px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}dialog{border:1px solid var(--line);border-radius:12px;width:650px;max-width:calc(100vw - 30px);padding:25px;color:var(--ink)}dialog::backdrop{background:#152d3477}button[disabled]{opacity:.6;cursor:wait}#search-result{margin-top:18px}@media(max-width:1100px){.form-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.sidebar{width:190px;padding:25px 15px}.workspace{margin-left:190px}#content{padding:22px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:15px}.brand{font-size:18px;margin:0 0 16px}.brand-mark{width:32px;height:32px;font-size:21px}.sidebar nav{display:flex;gap:6px;overflow:auto}.sidebar nav a{white-space:nowrap;font-size:12px;padding:8px 10px}.sidebar-note{display:none}.workspace{margin:0}.topbar{height:52px;padding:0 18px}.page-heading{align-items:flex-start;gap:12px}.timezone{font-size:10px}h1{font-size:23px}#content{padding:20px 14px}.panel{padding:17px}.form-grid{grid-template-columns:1fr;gap:4px}.search form{display:block}.search button{margin-top:12px}.login-card{padding:28px}.global-message{left:14px;right:14px;bottom:14px}}

.settings-version{border-top:1px solid var(--line);padding:16px 0}.settings-version summary{cursor:pointer;font-weight:600;color:var(--accent)}.settings-version[open] summary{margin-bottom:18px}
/* 系统服务页的回执按钮由状态控制，优先于组件库按钮的display规则。 */
#system-services [hidden] { display: none !important; }
