:root{color:#121f33;font-synthesis:none;--teal:#008b99;--muted:#7b879d;--line:#e3e9f0;background:#fff;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:#647187;background:#fff;border:1px solid #dbe3ed;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-weight:500;display:inline-flex}button:disabled{cursor:wait;opacity:.6}button:hover{filter:brightness(.97)}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #80ced5}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.app{min-height:100vh;display:flex}aside{color:#fff;background:#192638;flex-shrink:0;width:208px;min-height:100vh}.brand{align-items:center;gap:12px;padding:18px 22px 25px;font-size:24px;display:flex}.brand svg{color:#00b9c9}nav{flex-direction:column;gap:1px;display:flex}nav button{color:#e0e6ef;background:0 0;border:0;border-radius:0;justify-content:flex-start;height:47px;padding-left:25px;font-size:14px;font-weight:400}nav button svg{margin-right:10px}nav button.selected{color:#fff;background:#164858;border-left:5px solid #00b3c4;padding-left:20px}main{width:calc(100% - 208px);padding:17px 23px 32px}header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.breadcrumb{color:var(--muted);margin:0 0 8px;font-size:13px}h1{margin:0;font-size:30px;font-weight:700;line-height:1.25}h2{margin:0 0 6px;font-size:18px;line-height:1.4}.refresh{padding:10px 18px}.warning{color:#7e4a08;background:#fff8e3;border-radius:4px;gap:17px;margin-bottom:16px;padding:15px 20px;display:flex}.warning strong{font-size:15px}.warning p{margin:5px 0 0;font-size:13px}.summaries{border:1px solid var(--line);border-radius:4px;margin-bottom:16px;padding:14px 0;display:flex}.summary{border-right:1px solid var(--line);flex:1;align-items:center;gap:18px;padding:0 28px;display:flex}.summary:last-child{border-right:0}.round-icon{width:60px;height:60px;color:var(--teal);background:#eaf6f7;border-radius:50%;justify-content:center;align-items:center;display:flex}.summary span{color:var(--muted);margin-bottom:4px;display:block}.summary strong{font-size:21px}.panel{border:1px solid var(--line);border-radius:4px;margin-bottom:18px;padding:17px 20px}.help{color:var(--muted);margin:0 0 16px;font-size:13px}.fields{grid-template-columns:1fr 1fr;gap:20px 48px;margin:12px 0 23px;display:grid}.field{grid-template-columns:135px minmax(0,1fr);align-items:center;gap:10px;min-width:0;font-size:13px;font-weight:600;display:grid}.field>div{min-width:0;display:flex}.field input,.field select,select{color:#1b2941;background:#fff;border:1px solid #dce3ed;border-radius:4px;width:100%;min-width:0;padding:11px 14px;font-size:14px;font-weight:400}.field input::placeholder{color:#8a95a7}.field:has(.suffix) input{border-radius:4px 0 0 4px}.suffix{color:#5b6981;background:#f5f7fa;border:1px solid #dce3ed;border-left:0;border-radius:0 4px 4px 0;padding:11px 12px;font-weight:400}.actions{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.actions>span{color:var(--muted);font-size:13px}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th{background:#f2f5f8;font-weight:600}th,td{white-space:nowrap;border:1px solid #e6ebf2;padding:9px 14px}td:nth-child(4){white-space:normal;color:#7b879d}.status{color:#68758b;background:#f0f3f7;border-radius:12px;align-items:center;gap:7px;padding:3px 9px;font-size:12px;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:7px;height:7px}.status.amber{color:#c9841c;background:#fff7e8}.status.danger{color:#e54b61;background:#fff0f2}.link{color:var(--teal);background:0 0;border:0;padding:0;font-size:13px}.no-data{text-align:center;color:var(--muted);padding:30px}.empty{text-align:center;color:var(--muted);padding:60px 20px}.empty svg{color:var(--teal);margin-bottom:12px}.empty h2{color:#1b2941}.notice{background:#eaf8f5;justify-content:space-between;align-items:center;margin-bottom:14px;padding:12px 18px;display:flex}.notice.error{color:#ad3349;background:#fff1f2}.notice button{background:0 0;border:0;padding:0}.login{background:#f4f7fa;place-items:center;min-height:100vh;display:grid}.login form{border:1px solid var(--line);background:#fff;border-radius:6px;width:420px;max-width:95%;padding:32px}.login p{color:var(--muted)}.login .field{margin:25px 0;display:block}.login .field>span{margin-bottom:10px;display:block}.login button{width:100%}@media (min-width:1500px){main{padding:20px 30px}}@media (max-width:1050px){.fields{column-gap:22px}.field{grid-template-columns:100px minmax(0,1fr)}.summary{gap:10px;padding:0 14px}.round-icon{width:45px;height:45px}}@media (max-width:760px){.app{display:block}aside{width:100%;min-height:auto}.brand{padding:12px 18px;font-size:20px}nav{flex-direction:row;padding-bottom:7px;overflow:auto}nav button{flex-shrink:0;height:40px;padding:8px 13px;font-size:12px}nav button svg{width:17px;margin-right:0}nav button.selected{border-bottom:3px solid #00b3c4;border-left:0;padding-left:13px}main{width:100%;padding:20px 14px}h1{font-size:25px}.fields{grid-template-columns:1fr;gap:14px}.field{grid-template-columns:110px minmax(0,1fr)}.summaries{flex-wrap:wrap}.summary{border-right:0;flex-basis:100%;padding:10px 18px}.summary strong{font-size:18px}.panel{padding:17px 14px}.actions>span{flex-basis:100%}.warning{gap:10px;padding:14px}.warning svg{flex-shrink:0}.warning strong{font-size:13px}.refresh{padding:9px 12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:root{--concept-gutter:23px}@media (min-width:1500px){main{padding:17px var(--concept-gutter) 32px}}.field{grid-template-columns:127px minmax(0,1fr);font-size:14px}td{padding-top:6px;padding-bottom:6px}.actions button{font-size:15px}@media (max-width:1050px){.field{grid-template-columns:100px minmax(0,1fr)}}@media (max-width:760px){.field{grid-template-columns:110px minmax(0,1fr)}.table-scroll table{min-width:700px}.table-scroll td:nth-child(4){min-width:240px}.actions button{font-size:14px}}.rule-source{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fa;max-height:280px;padding:16px;overflow:auto}.field textarea{width:100%;min-height:100px;font:inherit;border:1px solid #dce3e8;border-radius:4px;padding:12px}.rule-bucket{border-bottom:1px solid #e8edf0;padding:14px 0}.rule-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}
