:root{--ink:#192332;--muted:#8691a2;--line:#e9edf3;--paper:#fff;--bg:#f6f8fb;--violet:#6558dc;--violet-dark:#5348c6;--green:#16976a;--red:#d65360;--font:'Vazirmatn',Tahoma,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh}.sidebar{position:fixed;inset:0 0 0 auto;width:252px;padding:25px 18px 16px;background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;padding:1px 8px 29px}.brand b{display:block;font-size:17px;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:13px;margin-top:2px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#7469ee,#5147c6);display:grid;place-items:center;color:white;font-size:24px;font-weight:800;box-shadow:0 7px 18px #6256d833}.nav-caption{padding:0 12px 11px;color:#a6adba;font-size:12px;font-weight:700;letter-spacing:.6px}.sidebar nav{display:grid;gap:5px}.nav-item{height:45px;padding:0 13px;border-radius:10px;display:flex;align-items:center;gap:12px;color:#657184;font-weight:500;transition:.18s}.nav-item>span{width:20px;font-size:20px;text-align:center;color:#929bad}.nav-item:hover{background:#f8f7ff;color:var(--violet)}.nav-item.active{background:#f1efff;color:var(--violet);font-weight:700}.nav-item.active>span{color:var(--violet)}.nav-item i{font-style:normal;margin-right:auto;background:#fff;border:1px solid #ebe9fb;border-radius:7px;padding:1px 7px;font-size:13px}.sidebar-bottom{margin-top:auto}.connection{display:flex;align-items:center;gap:10px;padding:14px 11px;border:1px solid var(--line);border-radius:12px;background:#fcfcfe}.connection b,.connection small{display:block}.connection b{font-size:13px}.connection small{font-size:12px;color:var(--muted);margin-top:3px}.pulse{width:8px;height:8px;background:#25b982;border-radius:50%;box-shadow:0 0 0 4px #25b98219;display:inline-block;flex:none}.logout{width:100%;border:0;background:transparent;color:#8c96a4;text-align:right;padding:15px 12px 5px;font-size:14px}.logout:hover{color:var(--red)}.main{margin-right:252px;padding:31px 38px 60px;max-width:1540px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:13px;color:#a0a9b6;margin-bottom:5px}.topbar h1{font-size:25px;margin:0;font-weight:750;letter-spacing:-.5px}.avatar{border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:#687486;font-size:14px;background:white}.avatar span{margin-right:7px;color:var(--violet)}.welcome{position:relative;overflow:hidden;min-height:216px;padding:27px 31px;border-radius:17px;background:linear-gradient(115deg,#6258d8,#746bea 66%,#8279f0);color:white;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 30px #6358d824}.welcome h2{font-size:25px;margin:14px 0 5px;letter-spacing:-.5px}.welcome p{margin:0 0 18px;color:#e3e0ff;font-size:14px}.tag{display:inline-flex;align-items:center;gap:9px;padding:5px 10px;border-radius:20px;border:1px solid #ffffff45;background:#ffffff15;font-size:12px}.tag .pulse{background:#8bffca;box-shadow:0 0 0 4px #8bffca25}.btn{height:39px;padding:0 15px;border:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:14px;white-space:nowrap;transition:.16s}.btn.primary{background:var(--violet);color:white;box-shadow:0 5px 12px #6558dc24}.btn.primary:hover{background:var(--violet-dark);transform:translateY(-1px)}.btn.light{height:36px;background:white;color:var(--violet)}.btn.light:hover{background:#f4f2ff}.btn.small{height:30px;padding:0 10px;background:#f6f7fa;color:#667286;font-size:12px}.btn.full{width:100%;margin-top:5px;height:44px}.welcome-art{position:relative;width:245px;height:170px;margin-left:30px}.orbit{position:absolute;border:1px solid #ffffff30;border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:236px;height:114px;top:29px;left:0}.orbit-two{width:177px;height:139px;top:14px;left:26px;transform:rotate(50deg)}.paper{position:absolute;top:43px;left:83px;width:83px;height:92px;background:#fff;border-radius:13px;color:var(--violet);display:grid;place-items:center;font-size:35px;box-shadow:0 12px 25px #2f278b3b;transform:rotate(-8deg)}.paper small{position:absolute;bottom:12px;font-size:10px;color:#8790a1}.paper i{position:absolute;top:8px;left:9px;font-size:16px;font-style:normal}.bubble{position:absolute;top:17px;right:30px;width:35px;height:35px;border-radius:12px;background:#8d84ff;display:grid;place-items:center;font-weight:800;font-size:20px;transform:rotate(9deg)}.spark{position:absolute;bottom:24px;left:37px;font-size:22px;color:#d8d4ff}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat,.card{background:var(--paper);border:1px solid var(--line);border-radius:14px}.stat{min-height:126px;padding:16px 17px;position:relative}.stat-icon{position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:17px}.violet{color:#675bdd;background:#f0eeff}.green{color:#1d9d70;background:#e8f8f1}.amber{color:#c88818;background:#fff5df}.rose{color:#d65360;background:#fff0f1}.stat>span{display:block;color:#788496;font-size:13px;margin:1px 0 11px}.stat>b{font-size:27px;line-height:1.15;display:block;letter-spacing:-1px}.stat>small{font-size:12px;color:#a2aab6;display:block;margin-top:6px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:16px}.card{padding:18px 19px;margin-bottom:15px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.card-head h3{margin:0;font-size:15px;font-weight:700}.card-head p{margin:3px 0 0;color:#99a2af;font-size:12px}.text-link{font-size:12px;color:var(--violet);white-space:nowrap}.empty{display:flex;align-items:center;flex-direction:column;text-align:center;padding:20px 10px 15px;gap:5px}.empty>span{display:grid;place-items:center;width:43px;height:43px;background:#f2f0ff;color:var(--violet);border-radius:14px;font-size:22px;margin-bottom:5px}.empty b{font-size:14px}.empty small{font-size:12px;color:#98a2b0}.empty .btn{margin-top:11px}.empty.compact{padding:24px 10px}.rows{display:grid}.row{min-height:59px;display:flex;align-items:center;gap:11px;border-top:1px solid #f1f3f6}.row:first-child{border-top:0}.channel-icon,.log-dot{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f1efff;color:var(--violet);font-weight:700;font-size:16px;flex:none}.log-dot.sent{background:#e8f8f1;color:#159569}.log-dot.error{background:#fff0f1;color:#d65360}.row-main{min-width:0;flex:1}.row-main b{display:block;font-size:13px;font-weight:600}.row-main small{display:block;color:#a0a8b4;font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row time{font-size:12px;color:#a4acb7}.state{font-size:12px;padding:4px 9px;border-radius:20px;white-space:nowrap}.state.on{color:#168a62;background:#e9f8f2}.state.off{color:#b77a1b;background:#fff5e5}.card form .btn{flex:none}.inline-form{display:flex;align-items:flex-end;gap:10px}.inline-form label,.form-stack label,.rule-form label{display:block;min-width:0;color:#586477;font-size:13px;font-weight:600}.inline-form .grow{flex:1}.inline-form input,.form-stack input,.rule-form input{display:block;width:100%;height:41px;border:1px solid #e3e7ed;border-radius:9px;padding:0 12px;margin-top:7px;background:#fff;color:var(--ink);outline:0;font-size:14px}.inline-form input:focus,.form-stack input:focus,.rule-form input:focus{border-color:#958cf0;box-shadow:0 0 0 3px #6558dc12}.hint{font-size:12px;color:#9ba4b0;line-height:1.9;margin:11px 0 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;min-width:590px}th{font-size:12px;color:#9ba4b0;font-weight:600;background:#fafbfd}td,th{padding:12px 13px;border-bottom:1px solid #eff1f5}td{font-size:13px;color:#677386}td small{display:block;color:#aab1bb;font-size:10px;margin-top:3px}.handle{color:#414d60}.actions{display:flex;align-items:center;gap:6px}.icon-btn{border:0;border-radius:8px;background:#f5f6f8;color:#778293;width:30px;height:30px;font-size:17px}.icon-btn.danger:hover{background:#fff0f1;color:var(--red)}.rule-form{display:flex;align-items:flex-end;gap:12px}.rule-form label{flex:1}.rule-form input{direction:auto}.replace-arrow{color:#aaa4e9;font-size:21px;padding-bottom:8px}.rule-row{min-height:62px;border-top:1px solid #f0f2f5;display:flex;align-items:center;gap:10px}.rule-row:first-child{border-top:0}.rule-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#f2f0ff;color:var(--violet)}.rule-row code{font-family:var(--font);direction:auto;unicode-bidi:plaintext;background:#f7f8fa;border:1px solid #eceef2;border-radius:7px;padding:6px 9px;font-size:13px;max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-row code.replacement{color:#188260;background:#f1faf6}.rule-row .state{margin-right:auto}.content-cell{max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-cell{max-width:240px;color:#cc5f64}.code-line{direction:ltr;text-align:left;overflow:auto;background:#f6f7fa;border:1px solid #eceef2;border-radius:8px;padding:11px;font-family:Consolas,monospace;font-size:13px;color:#576479}.notice{padding:11px 14px;border-radius:10px;margin-bottom:15px;font-size:13px}.notice.success{background:#eaf8f2;color:#14875f;border:1px solid #d8f1e7}.notice.error{background:#fff1f2;color:#bc4351;border:1px solid #f8dfe2}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;background:radial-gradient(ellipse at 65% 25%,#f0edff 0%,transparent 50%),var(--bg)}.auth-card{width:min(100%,410px);padding:30px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 18px 60px #28344a0b}.auth-card .brand{padding:0 0 23px;border-bottom:1px solid #f0f2f5;margin-bottom:24px}.auth-card h1{font-size:21px;margin:0 0 4px}.auth-card .sub{font-size:13px;color:#929bab;margin:0 0 19px}.form-stack{display:grid;gap:14px}.form-stack input{height:43px}.auth-foot{font-size:12px;color:#a5adba;margin-top:17px}
@media(max-width:1050px){.main{padding:25px 23px}.sidebar{width:220px}.main{margin-right:220px}.stats{grid-template-columns:repeat(2,1fr)}.welcome-art{width:205px;margin-left:0}}@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;padding:11px 14px;border-left:0;border-bottom:1px solid var(--line)}.sidebar .brand{padding:0}.sidebar .nav-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:11px}.nav-item{height:38px;padding:0 10px;white-space:nowrap;font-size:13px}.nav-item i{display:none}.main{margin:0;padding:22px 14px 45px}.topbar h1{font-size:20px}.welcome{padding:22px;min-height:180px}.welcome h2{font-size:20px}.welcome-art{width:115px;transform:scale(.72);transform-origin:center right;margin-left:-20px}.columns{grid-template-columns:1fr}.rule-form{flex-wrap:wrap}.rule-form label{min-width:40%}.rule-form .btn{margin-right:auto}.rule-row{flex-wrap:wrap;padding:10px 0}.rule-row code{max-width:37%}.stats{gap:9px}.stat{padding:13px;min-height:117px}.stat-icon{left:12px;top:12px;width:29px;height:29px}.inline-form{align-items:stretch;flex-wrap:wrap}.inline-form .btn{margin-right:auto}.inline-form .grow{flex-basis:100%}}@media(max-width:420px){.welcome-art{display:none}.welcome h2{font-size:17px}.stats{grid-template-columns:1fr 1fr}.rule-form .replace-arrow{display:none}}

.scope-label{min-width:145px!important}.rule-form select{display:block;width:100%;height:41px;border:1px solid #e3e7ed;border-radius:9px;padding:0 10px;margin-top:7px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.rule-scope{font-size:12px;color:#8791a0;white-space:nowrap}

/* Clearer action button colors and larger small controls */
.btn.small{background:#edf1f8;color:#3e5068;border:1px solid #dce3ef}.btn.small:hover{background:#e1e9f4;color:#293c55}.btn.success{background:#e5f7ee;color:#12764f;border:1px solid #c6ecd9}.btn.success:hover{background:#d5f1e2}.btn.warning{background:#fff3db;color:#9a6410;border:1px solid #f2dfb6}.btn.warning:hover{background:#ffe9bd}.btn.danger,.icon-btn.danger{background:#fff0f1;color:#b93847;border:1px solid #f2d0d4}.btn.danger:hover,.icon-btn.danger:hover{background:#ffe1e4;color:#a92b3b}.rule-auto{color:#168a62;background:#e9f8f2}
