:root{--nav-dark: #24364e;--nav-dark-hover: #34506f;--seeyon-blue: #2f6bbf;--link: #2f7cd6;--th-bg: #e8eef7;--label-bg: #f2f5fa;--border: #c9d4e3;--text: #333;--muted: #808a99;--required: #fff7e6;--danger: #bf3b2b;--ok: #2c6e3f}*{box-sizing:border-box;margin:0}body{font-family:Microsoft YaHei,Meiryo,Segoe UI,sans-serif;font-size:13px;color:var(--text);background:#eef1f5}a,.lnk{color:var(--link);cursor:pointer;text-decoration:none}.logo-bar{background:#fff;height:52px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid #e3e8ef}.logo-bar .mark{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#6fa8e8,var(--seeyon-blue));margin-right:10px}.logo-bar .company{font-size:16px;font-weight:700;color:#1f3a5f}.logo-bar .sys{color:var(--muted);margin-left:12px;font-size:12px}.logo-bar .right{margin-left:auto;display:flex;gap:14px;align-items:center;color:var(--muted);font-size:12px}.logo-bar .right .lnk{font-size:12px}.main-nav{background:var(--nav-dark);height:40px;display:flex;align-items:stretch;padding:0 12px}.main-nav button{background:none;border:none;color:#c6d2e2;font-size:14px;padding:0 18px;cursor:pointer}.main-nav button.on,.main-nav button:hover{background:var(--nav-dark-hover);color:#fff}.body-wrap{display:flex;min-height:calc(100vh - 92px)}.side{width:190px;background:#fff;border-right:1px solid var(--border);padding:10px 0;flex-shrink:0}.side .grp{color:var(--muted);font-size:12px;padding:8px 16px 4px}.side button{display:block;width:100%;text-align:left;background:none;border:none;border-left:3px solid transparent;padding:8px 16px 8px 24px;font-size:13px;color:var(--text);cursor:pointer}.side button.on{background:#ecf3fc;border-left-color:var(--seeyon-blue);color:var(--seeyon-blue);font-weight:600}.side button .cnt{float:right;background:#e6463a;color:#fff;border-radius:8px;font-size:11px;padding:0 6px;margin-top:1px}.main{flex:1;padding:14px 18px;max-width:1080px}.card{background:#fff;border:1px solid var(--border);border-radius:4px;margin-bottom:14px}.card .hd{display:flex;align-items:center;padding:9px 14px;border-bottom:1px solid var(--border)}.card .hd b{color:var(--seeyon-blue);font-size:14px;flex:1}.card .bd{padding:10px 14px}table.tbl{width:100%;border-collapse:collapse;background:#fff}.tbl th{background:var(--th-bg);color:#445;font-weight:600;padding:7px 10px;border:1px solid var(--border);text-align:left;font-size:13px}.tbl td{padding:6px 10px;border:1px solid var(--border);font-size:13px}.tbl tr:hover td{background:#f5f9ff}.tag{display:inline-block;padding:1px 8px;border-radius:3px;font-size:12px}.tag.running{background:#e7f0fa;color:var(--seeyon-blue)}.tag.completed{background:#e9f5ec;color:var(--ok)}.tag.rejected,.tag.cancelled,.tag.terminated{background:#faeae7;color:var(--danger)}button.b{background:#fff;border:1px solid #b9c8dd;color:#33517a;border-radius:3px;padding:5px 16px;font-size:13px;cursor:pointer}button.b:hover{background:#f0f6ff;border-color:var(--seeyon-blue)}button.b.primary{background:var(--seeyon-blue);border-color:var(--seeyon-blue);color:#fff}button.b.primary:hover{background:#285da6}button.b.danger{color:var(--danger);border-color:#d9a49c}button.b.sm{padding:2px 10px;font-size:12px}.form-tb{width:100%;border-collapse:collapse;background:#fff}.form-tb th{background:var(--label-bg);color:#445;font-weight:600;text-align:right;padding:8px 12px;border:1px solid var(--border);width:140px;font-size:13px}.form-tb th.req{background:var(--required)}.form-tb th.req:after{content:" *";color:#e08e00}.form-tb td{padding:6px 10px;border:1px solid var(--border)}input,select,textarea{padding:5px 8px;border:1px solid var(--border);border-radius:3px;font-size:13px;font-family:inherit;width:100%;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--seeyon-blue)}.form-bar{background:#f7f9fc;border:1px solid var(--border);border-bottom:none;padding:8px 12px;display:flex;gap:8px;align-items:center}.form-title{background:var(--th-bg);border:1px solid var(--border);border-top:none;padding:8px 14px;font-weight:700;color:#1f3a5f;font-size:14px}.err{background:#faeae7;color:var(--danger);border:1px solid #e5c4bd;border-radius:3px;padding:7px 10px;margin:8px 0;font-size:13px}.ok{background:#e9f5ec;color:var(--ok);border:1px solid #bfe0c8;border-radius:3px;padding:7px 10px;margin:8px 0;font-size:13px}.muted{color:var(--muted);font-size:12px}.page-hd{display:flex;align-items:center;margin-bottom:10px}.page-hd b{font-size:15px;color:#1f3a5f;flex:1}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1f4e8c,#2f6bbf 45%,#7fb0e4)}.login-box{width:380px;background:#fff;border-radius:6px;box-shadow:0 10px 40px #0a1e3c59;padding:30px 34px 24px}.login-box .t{text-align:center;color:#1f3a5f;font-size:19px;font-weight:700;margin-bottom:2px}.login-box .s{text-align:center;color:var(--muted);font-size:12px;margin-bottom:18px}.login-box label{display:block;margin-bottom:12px;font-size:12px;color:var(--muted)}.login-box input{margin-top:4px}.kv{display:flex;gap:22px;flex-wrap:wrap;margin:6px 0 10px}.kv div b{display:block;font-size:20px;color:#1f3a5f}.kv div span{font-size:11px;color:var(--muted)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e3266;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:#fff;border-radius:4px;width:min(760px,94vw);max-height:88vh;overflow:auto}
