:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8;color:#142026;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.72}.screen{min-height:100vh}.center{display:grid;place-items:center}.login-screen{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(26,131,122,.16),transparent 35%),linear-gradient(315deg,rgba(209,82,64,.14),transparent 36%),#f4f6f8}.login-panel{width:min(420px,100%);display:grid;gap:22px;padding:32px;border:1px solid rgba(20,32,38,.1);border-radius:8px;background:#ffffffeb;box-shadow:0 18px 60px #19272f1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-mark{width:56px;height:56px;display:grid;place-items:center;color:#fff;border-radius:8px;background:#1a837a;box-shadow:0 12px 26px #1a837a47}.eyebrow{margin:0 0 6px;color:#1a837a;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2rem,6vw,3.6rem);line-height:1}.login-panel h1{font-size:2.2rem}h2{margin-bottom:8px;font-size:1.25rem}.muted,.editor-head p{margin-bottom:0;color:#65737b}.login-form{display:grid;gap:12px}.login-form label{color:#43525a;font-size:.9rem;font-weight:700}.password-field,.url-field{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid #d9e0e4;border-radius:8px;background:#fff;color:#69777e}.password-field:focus-within,.url-field:focus-within{border-color:#1a837a;box-shadow:0 0 0 4px #1a837a1f}input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#142026}input::placeholder{color:#a1adb4}.primary-button,.secondary-button,.danger-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:8px;font-weight:800}.primary-button{padding:0 18px;color:#fff;background:#d15240;box-shadow:0 12px 22px #d1524038}.secondary-button{padding:0 16px;color:#142026;background:#fff;border:1px solid rgba(20,32,38,.12)}.danger-button{padding:0 16px;color:#b83025;background:#fff;border:1px solid rgba(184,48,37,.24)}.icon-button{width:42px;color:#31434c;background:#fff;border:1px solid rgba(20,32,38,.12)}.icon-button.ghost{width:34px;min-height:34px;border:0;background:transparent}.error-text{margin:0;color:#b83025;font-size:.9rem;font-weight:700}.app-shell{position:relative;display:grid;gap:18px;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 54px}.topbar,.summary-band,.editor,.results,.metrics{border-radius:8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 2px}.topbar h1{margin-bottom:0}.summary-band{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;color:#fff;background:#142026;box-shadow:0 16px 40px #1420262e}.summary-copy{display:flex;align-items:center;gap:14px;min-width:0}.summary-copy p{margin-bottom:4px;color:#ffffffb3;font-size:.86rem;font-weight:700}.summary-copy strong{display:block;overflow:hidden;max-width:72vw;text-overflow:ellipsis;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(20,32,38,.1);background:#1420261a}.metrics div{display:grid;gap:8px;padding:16px;background:#fff}.metrics span{color:#66757d;font-size:.82rem;font-weight:800}.metrics strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs{display:inline-flex;width:fit-content;padding:4px;border:1px solid rgba(20,32,38,.1);border-radius:8px;background:#fff}.tabs button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:0;border-radius:6px;color:#53636b;background:transparent;font-weight:900}.tabs button.active{color:#fff;background:#1a837a}.editor{padding:20px;border:1px solid rgba(20,32,38,.1);background:#fff}.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.client-list{display:grid;gap:12px}.client-row{display:grid;grid-template-columns:160px minmax(0,1fr) 120px;align-items:center;gap:12px;min-height:68px;padding:12px;border:1px solid #e1e7ea;border-radius:8px;background:#fbfcfd}.client-title{display:inline-flex;align-items:center;gap:10px;font-weight:900}.client-dot{width:12px;height:12px;border-radius:50%;background:#1a837a}.client-dot.shadowrocket{background:#4e73df}.client-dot.surfboard{background:#00a8a8}.client-dot.quantumx{background:#233a78}.client-dot.clash{background:#4d5b66}.client-dot.surge4{background:#8b65d6}.status{justify-self:end;padding:7px 10px;border-radius:8px;font-size:.82rem;font-weight:800;white-space:nowrap}.status.saved{color:#126a48;background:#dff5ea}.status.empty{color:#7b5e19;background:#fff2cf}.results{display:grid;gap:1px;overflow:hidden;border:1px solid rgba(20,32,38,.1);background:#1420261a}.result-row{display:grid;grid-template-columns:24px 140px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 16px;background:#fff}.result-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-row em{color:#65737b;font-style:normal;font-weight:800}.ok-icon{color:#14915d}.bad-icon{color:#c2382c}.analytics-metrics strong{font-size:1.7rem}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.analysis-panel{padding:18px;border:1px solid rgba(20,32,38,.1);border-radius:8px;background:#fff}.analysis-title{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:#1a837a}.analysis-title h2{margin-bottom:0;color:#142026}.analysis-empty{margin:0;color:#65737b}.bar-list{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:120px minmax(0,1fr) 36px;align-items:center;gap:10px;font-size:.92rem}.bar-row span{overflow:hidden;color:#43525a;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.bar-row div{height:9px;overflow:hidden;border-radius:999px;background:#e8eef0}.bar-row i{display:block;height:100%;border-radius:inherit;background:#d15240}.bar-row strong{text-align:right}.button-group{display:inline-flex;flex-wrap:wrap;gap:10px}.empty-state{display:grid;place-items:center;gap:10px;min-height:180px;color:#65737b;border:1px dashed #ccd6db;border-radius:8px;background:#fbfcfd}.ip-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.ip-card{display:grid;gap:6px;padding:13px;border:1px solid #e1e7ea;border-radius:8px;background:#fbfcfd}.ip-card span,.ip-card em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ip-card span{color:#43525a;font-weight:900}.ip-card strong{font-size:1.25rem}.ip-card em{color:#65737b;font-size:.82rem;font-style:normal;font-weight:700}.log-table-wrap{overflow-x:auto;border:1px solid #e1e7ea;border-radius:8px}.log-table{width:100%;min-width:980px;border-collapse:collapse;background:#fff}.log-table th,.log-table td{padding:12px;border-bottom:1px solid #e8eef0;text-align:left;vertical-align:top}.log-table th{color:#65737b;background:#fbfcfd;font-size:.78rem;font-weight:900}.log-table td{color:#273941;font-size:.88rem;font-weight:700}.log-table small{display:block;max-width:220px;overflow:hidden;margin-top:5px;color:#728188;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.location-cell{display:inline-flex;align-items:center;gap:5px}.ua-cell{max-width:260px;overflow:hidden;color:#65737b;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-flex;min-width:44px;justify-content:center;padding:5px 8px;border-radius:999px;font-size:.78rem;font-weight:900}.pill.ok{color:#126a48;background:#dff5ea}.pill.bad{color:#b83025;background:#ffe4df}.refresh-fab{position:fixed;right:22px;bottom:22px;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:8px;color:#fff;background:#1a837a;box-shadow:0 16px 36px #1a837a4d}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.app-shell{width:min(100% - 20px,1180px);padding-top:18px}.topbar{align-items:flex-start}.summary-band,.editor-head{align-items:stretch;flex-direction:column}.summary-copy strong{max-width:100%}.metrics{grid-template-columns:1fr}.tabs{width:100%}.tabs button{flex:1}.analytics-grid,.ip-list{grid-template-columns:1fr}.bar-row{grid-template-columns:90px minmax(0,1fr) 32px}.client-row{grid-template-columns:1fr}.status{justify-self:start}.result-row{grid-template-columns:24px minmax(0,1fr)}.result-row em{grid-column:2}}
