:root{font-family:Inter,system-ui;color:#e5edf3;background:#071019}*{box-sizing:border-box}body{margin:0}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{position:fixed;width:230px;height:100vh;background:#0b1620;border-right:1px solid #1b303d;padding:24px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:8px}.brand i,.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#4cd8b5;color:#062019;font-weight:900;font-style:normal}.brand small,footer small,td small{display:block;color:#718796}nav{display:grid;margin-top:30px}nav a{padding:12px;color:#8296a5;text-decoration:none;border-radius:8px}nav a.router-link-active{background:#102d2e;color:#59dfbd}footer{margin-top:auto;padding:12px;background:#10202a;border-radius:8px}main{grid-column:2;padding:32px 38px}main>header,section>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{font-size:25px;margin:0}header em,td i{font-style:normal;color:#56dcb9;background:#14332e;padding:7px 11px;border-radius:99px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.cards.six{grid-template-columns:repeat(3,1fr)}.cards article,section{background:#0d1a24;border:1px solid #1b303d;border-radius:12px;padding:20px}.cards span{color:#7e93a1}.cards b{display:block;font-size:24px;margin-top:12px}.green{color:#56dcb9}section{margin-bottom:16px}form{display:flex;gap:10px;margin:18px 0}input,select{flex:1;background:#08131c;border:1px solid #29414f;border-radius:7px;padding:11px;color:#fff}button{border:0;border-radius:7px;background:#4cd8b5;padding:10px 15px;font-weight:700;cursor:pointer}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #1b2d38}.list>div{display:grid;grid-template-columns:1fr 2fr auto;padding:15px;border-bottom:1px solid #1b2d38}.token{padding:15px;background:#172d36;border:1px solid #315463;border-radius:8px;margin:14px 0}.token code{display:block;overflow-wrap:anywhere;color:#5ce0bd;margin:10px 0}.chart{height:320px}.protocol-now{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.protocol-now span{padding:12px;background:#091620;border-radius:8px;color:#7e93a1}.protocol-now b{display:block;color:#e5edf3;margin-top:5px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.fields label{display:grid;gap:7px;color:#8fa4b1}.target-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.target-options label{display:flex;gap:8px;padding:12px;background:#091620;border-radius:8px}.target-options input{flex:0}.apply-row{display:flex;align-items:center;gap:12px}.apply-row i{color:#56dcb9}.login{min-height:100vh;display:grid;place-items:center}.login form{width:380px;display:grid;background:#0d1a24;border:1px solid #1b303d;border-radius:14px;padding:34px}.login h1{margin:18px 0 4px}.login p{color:#718796}.login input,.login button{margin-top:10px}.login em{color:#ff7b82;margin-top:10px}@media (max-width:1000px){.cards,.cards.six{grid-template-columns:repeat(2,1fr)}.fields,.target-options{grid-template-columns:1fr}.protocol-now{grid-template-columns:repeat(2,1fr)}}.policy-editor h3{margin:24px 0 8px;color:#9bb0bd;font-size:15px}.modal-panel.policy-editor{width:min(1540px,98vw)}.policy-editor .modal-scroll>.fields,.policy-editor .egress-rule .fields{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.policy-editor .fields label{min-width:0;font-size:12px}.policy-editor .fields input,.policy-editor .fields select{width:100%;min-width:0;height:40px;padding:9px 10px}.policy-editor .fields label.switch{align-self:end;height:40px;min-height:40px;padding:8px 10px}.policy-editor .modal-scroll>h3{padding-top:14px;border-top:1px solid #1b303d}.policy-editor .modal-scroll>h3:first-child{border-top:0}.fields label.switch{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;background:#091620;border-radius:7px}.fields label.switch input{flex:0 0 auto;width:18px;height:18px}.policy-note{color:#d5ae62;background:#2b2416;border:1px solid #514020;border-radius:8px;padding:12px}.policy-create{padding:16px;background:#091620;border-radius:10px}.policy-table th:nth-child(1){width:24%}.policy-table th:nth-child(2){width:15%}.policy-table th:nth-child(4){width:250px}.policy-table td{vertical-align:middle}.policy-table td:nth-child(3){color:#8fa4b1}.apply-section.standalone{margin-top:4px;border-top:0}.apply-target-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.apply-target-header h3{margin:12px 0}.apply-section.standalone .target-options label{align-items:center;border:1px solid transparent;cursor:pointer}.apply-section.standalone .target-options label.selected{border-color:#3c9f88;background:#12342f}.apply-section.standalone .target-options span{min-width:0}.apply-section.standalone .apply-row{justify-content:flex-end;padding-top:16px;border-top:1px solid #1b303d}.apply-section.standalone .apply-row>span{margin-right:auto;color:#8fa4b1}.apply-section.standalone .apply-row>span b{color:#e5edf3}button:disabled{opacity:.5;cursor:not-allowed}.policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.policy-card{display:flex;flex-direction:column;min-height:250px;padding:20px;border:1px solid #24404f;border-radius:12px;background:linear-gradient(145deg,#10202b,#0a1720)}.policy-card.builtin{border-color:#315c55;background:linear-gradient(145deg,#112a29,#0b1b22)}.policy-card-head,.policy-meta{display:flex;justify-content:space-between;align-items:center}.policy-card h3{margin:18px 0 8px;font-size:20px}.policy-card p{min-height:48px;color:#8296a5}.policy-card button{margin-top:18px}.policy-meta{margin-top:auto;padding-top:14px;border-top:1px solid #1b303d;color:#8296a5}.badge{display:inline-block;width:max-content;padding:5px 10px;border-radius:999px;font-size:12px}.builtin-badge{color:#62e1c1;background:#163b34}.custom-badge{color:#8dc8ff;background:#17324a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:28px;background:#02080dd1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-panel{width:min(1080px,96vw);max-height:92vh;margin:0;padding:0;overflow:hidden;box-shadow:0 24px 80px #00000080}.modal-header{margin:0!important;padding:22px 26px;border-bottom:1px solid #1b303d}.modal-header h2{margin:10px 0 4px}.modal-header p{margin:0;color:#8296a5}.modal-close{width:38px;height:38px;padding:0;color:#9bb0bd;background:#172936;font-size:25px}.modal-scroll{max-height:calc(92vh - 115px);padding:8px 26px 28px;overflow-y:auto}.policy-editor input:disabled,.policy-editor select:disabled{opacity:.72;cursor:not-allowed}.editor-actions{display:flex;justify-content:flex-end;margin:18px 0}.apply-section{margin-top:24px;padding-top:8px;border-top:1px solid #24404f}.uninstall-box{display:grid;gap:12px;margin-top:24px;padding:18px;border:1px solid #5a3035;border-radius:10px;background:#25171c}.uninstall-box p{margin:6px 0 0;color:#b89298}.uninstall-box code{overflow-wrap:anywhere;color:#f0bdc3}.danger-button{width:max-content;color:#fff;background:#a63c49}@media (max-width: 1000px){.policy-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}}@media (max-width: 1200px){.policy-editor .modal-scroll>.fields,.policy-editor .egress-rule .fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.policy-editor .modal-scroll>.fields,.policy-editor .egress-rule .fields{grid-template-columns:1fr}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(420px,.85fr);background:radial-gradient(circle at 18% 20%,rgba(76,216,181,.16),transparent 34%),linear-gradient(135deg,#071019,#091722 55%,#071019)}.login-page section{margin:0;border:0;border-radius:0;background:transparent}.login-intro{min-height:100vh;padding:54px 8vw!important;display:flex;flex-direction:column;justify-content:space-between}.login-brand{display:flex;align-items:center;gap:13px;font-size:18px}.login-kicker,.eyebrow{color:#59dfbd;font-size:12px;font-weight:800;letter-spacing:.16em}.login-intro h1{margin:20px 0;font-size:clamp(38px,4.4vw,68px);line-height:1.12;letter-spacing:-.04em}.login-intro p{max-width:590px;color:#8ba0ae;font-size:17px;line-height:1.8}.login-points{display:flex;flex-wrap:wrap;gap:10px}.login-points span{padding:10px 14px;border:1px solid #24404f;border-radius:99px;color:#a8bbc7;background:#091620a8}.login-panel{display:grid;place-items:center;padding:48px!important;border-left:1px solid rgba(41,65,79,.72)!important;background:#050d148c!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-card{width:min(430px,100%);display:grid;gap:17px;margin:0;padding:38px;border:1px solid #203847;border-radius:18px;background:#0d1a24;box-shadow:0 28px 80px #00000052}.login-card-title span{color:#59dfbd;font-size:13px;font-weight:700}.login-card-title h2{margin:9px 0 6px;font-size:30px}.login-card-title p,.login-card>small{margin:0;color:#718796}.login-card label,.password-form label{display:grid;gap:8px;color:#9eb0bc;font-size:13px}.login-card input{min-height:46px}.login-card button{min-height:46px;margin-top:4px}.login-card button:disabled,.password-form button:disabled{opacity:.62;cursor:wait}.login-card em,.form-error{color:#ff858c;font-style:normal}.topbar-actions{display:flex;align-items:center;gap:13px}.account{position:relative}.account-trigger{display:flex;align-items:center;gap:10px;min-width:205px;padding:7px 10px;color:#e5edf3;border:1px solid #1e3543;background:#0d1a24;text-align:left}.account-trigger>span:nth-child(2){flex:1;min-width:0}.account-trigger b,.account-trigger small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-trigger small{max-width:145px;margin-top:2px;color:#718796;font-weight:400}.account-trigger i{color:#718796;font-style:normal}.avatar{width:34px;height:34px;display:grid;flex:0 0 34px;place-items:center;border-radius:50%;color:#062019;background:#4cd8b5;font-weight:900}.account-dropdown{position:absolute;z-index:50;top:calc(100% + 8px);right:0;width:205px;display:grid;padding:7px;border:1px solid #29414f;border-radius:10px;background:#0d1a24;box-shadow:0 16px 40px #0000005c}.account-dropdown button{color:#dce7ed;background:transparent;text-align:left}.account-dropdown button:hover{background:#172936}.account-dropdown .logout-action{color:#ff9298}.password-modal{width:min(520px,96vw)}.password-form{display:grid;gap:16px;margin:0;padding:24px 26px 26px}.password-form input{width:100%;min-height:44px}.form-success{color:#59dfbd;font-style:normal}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.secondary-button{color:#b5c4cd;background:#172936}@media (max-width: 900px){.login-page{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100vh;padding:22px!important;border-left:0!important}.topbar-actions>em{display:none}.account-trigger{min-width:48px}.account-trigger>span:nth-child(2),.account-trigger>i{display:none}.account-dropdown{width:180px}}.resource-summary{display:flex;flex-wrap:wrap;gap:6px;min-width:220px}.resource-summary>span{padding:6px 8px;border-radius:7px;color:#8296a5;background:#091620;font-size:12px}.resource-summary b{color:#e5edf3}.resource-summary small{display:inline;margin-left:5px}.resource-cell{min-width:86px}.resource-cell>b{display:block;margin-bottom:4px}.resource-cell>small{min-height:16px}.resource-cell>span{display:block;width:76px;height:5px;margin-top:6px;overflow:hidden;border-radius:5px;background:#172936}.resource-cell>span>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4cd8b5,#4d91ff)}.offline-resource{color:#627886;font-weight:700}.page-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.page-description{margin:0 0 18px;color:#8296a5}.page-toolbar .page-description{margin:0}.export-toolbar{justify-content:flex-end;margin-bottom:14px}.export-toolbar button:disabled{opacity:.62;cursor:wait}.table-scroll{overflow-x:auto}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;color:#8296a5}.pagination b{color:#dce7ed;font-size:13px}.pagination button{padding:8px 12px}.object-list table{min-width:1180px}.os-cell{max-width:180px;color:#a8bac5}.inline-policy{width:185px;min-width:185px;padding:8px}.current-policy{margin-top:5px;max-width:185px}.row-actions{min-width:128px;display:grid;gap:7px}.row-actions button{padding:8px 10px}.row-actions .danger-button{width:100%}.row-actions small{min-height:16px;color:#ff858c}.row-actions small.success{color:#59dfbd}.object-list td>i.online{color:#56dcb9;background:#14332e}.object-list td>i.offline{color:#ff8d95;background:#3a1d25;border:1px solid #69303b}td i.offline{color:#ff8b92;background:#3a1c24;border:1px solid #6b2f3a}.policy-name{color:#59dfbd;white-space:nowrap}.row-actions.compact{min-width:174px;display:flex;align-items:center;gap:7px}.row-actions.compact button{width:auto;padding:7px 10px;white-space:nowrap;font-size:12px}.policy-picker{width:min(680px,96vw)}.policy-picker-body{padding:22px 26px 26px}.policy-options{display:grid;gap:10px;max-height:52vh;overflow-y:auto}.policy-options label{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #29414f;border-radius:10px;background:#091620;cursor:pointer;transition:.15s ease}.policy-options label:hover,.policy-options label.selected{border-color:#4cd8b5;background:#102d2e}.policy-options input{flex:0 0 auto;width:16px;height:16px}.policy-options span{flex:1}.policy-options b,.policy-options small{display:block}.policy-options small{margin-top:5px;color:#718796}.policy-options i{color:#8fa4b1;font-size:12px;font-style:normal}.egress-rule-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.egress-rule-title h3{margin-bottom:4px}.egress-rules{display:grid;gap:12px}.egress-rule{border:1px solid #253d4b;border-radius:12px;padding:14px;background:#0d1c25}.egress-rule header{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:12px;margin-bottom:12px}.egress-rule header input[type=text],.egress-rule header input:not([type]){margin:0}.egress-rule .fields{margin:0}@media (max-width:800px){.egress-rule header{grid-template-columns:1fr}.egress-rule-title{align-items:flex-start;flex-direction:column}}.disposition-tag{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:6px 11px!important;border-radius:6px!important;font-weight:700;white-space:nowrap}.disposition-tag.disposition-warning{color:#f6c453;background:#493b16;border:1px solid #766024}.disposition-tag.disposition-blocked{color:#ff9a9f;background:#4b1e25;border:1px solid #7c303b}.disposition-tag.disposition-observe{color:#8ed8ff;background:#183a50;border:1px solid #285c79}.disposition-tag.disposition-rate-limit{color:#cad3da;background:#303a42;border:1px solid #4d5a64}.disposition-tag.disposition-default{color:#56dcb9;background:#14332e;border:1px solid #245448}.cidr-editor{max-width:620px}.cidr-edit-form{display:grid;grid-template-columns:1fr 2fr;gap:16px}.cidr-edit-form label{display:grid;gap:7px;color:#8fa4b1}.cidr-edit-form label:nth-of-type(3),.cidr-edit-form label:nth-of-type(4),.cidr-edit-form .form-error,.cidr-edit-form .modal-actions{grid-column:1/-1}.cidr-edit-form small{color:#718796}@media (max-width:640px){.cidr-edit-form{grid-template-columns:1fr}}
