:root{--bg:#f5f7fb;--surface:#fff;--surface-soft:#f8fafc;--surface-alt:#f1f5f9;--line:#e3e8ef;--line-strong:#d5dce7;--text:#172033;--text-soft:#40516a;--muted:#718096;--muted-2:#94a3b8;--primary:#d32643;--primary-dark:#ab1933;--primary-soft:#fff0f3;--green:#0f9f78;--green-soft:#e9f8f3;--blue:#337ad3;--blue-soft:#ebf3fd;--amber:#bb7b0d;--amber-soft:#fff7e3;--red:#d83b4e;--red-soft:#fff0f2;--purple:#7255c7;--purple-soft:#f3efff;--sidebar:#0f172a;--sidebar-soft:#182238;--sidebar-text:#cbd5e1;--shadow-sm:0 1px 2px rgba(15,23,42,.05);--shadow:0 8px 24px rgba(15,23,42,.07);--shadow-lg:0 24px 64px rgba(15,23,42,.16);--radius:14px;--sidebar-w:264px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,label[for]{cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}.file-input{display:none}.muted{color:var(--muted)}h1,h2,h3,b,.metric-value,.niche-count,.big-domain{font-family:Manrope,Inter,sans-serif}h1,h2,h3,p{margin-top:0}.btn{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:#344258;padding:9px 13px;font-weight:650;letter-spacing:-.01em;box-shadow:var(--shadow-sm);transition:.18s ease}.btn:hover{border-color:#bfc8d6;background:#fafbfc;transform:translateY(-1px)}.btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--primary),#bd1f3a);color:#fff;box-shadow:0 8px 18px rgba(211,38,67,.19)}.btn.primary:hover{background:linear-gradient(135deg,#c51f3b,#a91831)}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none;color:#536176}.btn.ghost:hover{background:var(--surface-alt);transform:none}.btn.subtle{background:var(--surface-soft);box-shadow:none}.btn.small{min-height:34px;padding:7px 10px;font-size:12px}.btn.wide{width:100%}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:#fff;color:#58677c;padding:0}.icon-button:hover{background:#f8fafc}.icon-button.danger{border-color:transparent;background:transparent;color:#94a3b8}.icon-button.danger:hover{background:rgba(255,255,255,.08);color:#fff}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--primary),#9c1530);color:#fff;font:800 16px Manrope,Inter,sans-serif;box-shadow:0 10px 24px rgba(211,38,67,.25)}
/* Login */.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.15fr) minmax(420px,.85fr);background:#fff}.login-visual{position:relative;overflow:hidden;padding:40px;color:#fff;background:radial-gradient(circle at 15% 10%,rgba(211,38,67,.34),transparent 28%),radial-gradient(circle at 90% 85%,rgba(49,120,210,.22),transparent 32%),linear-gradient(145deg,#101a30,#0b1222)}.login-visual:before,.login-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%}.login-visual:before{width:540px;height:540px;right:-210px;top:-170px}.login-visual:after{width:340px;height:340px;left:-170px;bottom:-120px}.login-visual-inner{position:relative;z-index:1;height:100%;max-width:780px;margin:auto;display:flex;flex-direction:column}.login-logo{display:flex;align-items:center;gap:12px;font:700 16px Manrope}.login-logo span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--primary);font-weight:800}.login-promo{margin:auto 0;max-width:690px}.promo-badge,.login-kicker,.eyebrow,.section-eyebrow{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--primary);text-transform:uppercase}.promo-badge{display:inline-flex;color:#ffd7de;background:rgba(211,38,67,.15);border:1px solid rgba(255,255,255,.1);padding:7px 10px;border-radius:999px}.login-promo h1{font-size:clamp(38px,4.2vw,62px);line-height:1.08;letter-spacing:-.045em;margin:22px 0 18px}.login-promo>p{font-size:17px;line-height:1.7;color:#aebbd0;max-width:620px}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.login-features article{display:flex;gap:10px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.04);backdrop-filter:blur(10px)}.login-features article>span{color:#f8798d;font:800 11px Manrope}.login-features b{display:block;font-size:12px}.login-features small{display:block;color:#91a0b7;font-size:10px;margin-top:4px;line-height:1.5}.login-visual-footer{font-size:11px;color:#71829d}.login-panel{position:relative;display:grid;place-items:center;padding:42px;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%)}.login-card{width:min(430px,100%)}.login-mobile-brand{display:none}.login-copy{margin-bottom:28px}.login-kicker{margin-bottom:10px}.login-copy h2{font-size:30px;letter-spacing:-.035em;margin-bottom:8px}.login-copy p{color:var(--muted);line-height:1.65}.login-form{display:grid;gap:18px}.login-form label>span{display:block;font-weight:650;font-size:12px;color:#425168;margin-bottom:7px}.input-shell,.field-shell{position:relative}.input-shell svg,.field-shell svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#94a3b8;width:18px}.input-shell input,.field-shell input{padding-left:41px}.login-form input{width:100%;height:48px;border:1px solid var(--line-strong);border-radius:11px;padding:0 13px;outline:none;background:#fff}.login-form input:focus,input:focus,select:focus,textarea:focus{border-color:#d67989;box-shadow:0 0 0 3px rgba(211,38,67,.09)}.login-submit{height:48px;margin-top:2px}.login-submit span{font-size:18px}.form-error{min-height:20px;color:var(--red);font-size:12px}.login-security{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:11px}.security-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(15,159,120,.1)}
/* App shell */.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:var(--sidebar-w);display:flex;flex-direction:column;background:linear-gradient(180deg,#111b30,#0c1425);color:var(--sidebar-text);border-right:1px solid rgba(255,255,255,.06)}.sidebar-brand{height:74px;display:flex;align-items:center;gap:11px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-brand b{display:block;color:#fff;font-size:14px;letter-spacing:-.02em}.sidebar-brand small{color:#73839e;font-size:10px}.sidebar-nav{flex:1;overflow:auto;padding:18px 12px}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#2b3850;border-radius:9px}.nav-label{padding:14px 11px 7px;color:#5e708c;font-size:9px;font-weight:800;letter-spacing:.13em}.nav-item,.nav-action{width:100%;min-height:42px;border:0;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;background:transparent;color:#9eabc0;text-decoration:none;font-size:12px;font-weight:600;text-align:left;transition:.15s}.nav-item svg,.nav-action svg{width:18px;flex:0 0 auto}.nav-item:hover,.nav-action:hover{background:rgba(255,255,255,.055);color:#fff}.nav-item.active{color:#fff;background:linear-gradient(90deg,rgba(211,38,67,.2),rgba(211,38,67,.07));box-shadow:inset 3px 0 var(--primary)}.sidebar-security{margin:0 12px 13px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.035)}.security-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#75dfbd;background:rgba(15,159,120,.13);font-weight:800}.sidebar-security b{display:block;color:#dce4ef;font-size:11px}.sidebar-security small{display:block;color:#6f819d;font-size:9px;margin-top:2px}.sidebar-user{padding:13px 12px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:5px}.user-button{min-width:0;flex:1;border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:9px;padding:5px;text-align:left}.user-button>span:first-child{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#27334a;color:#fff;font-weight:800}.user-button>span:last-child{min-width:0}.user-button b,.user-button small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-button b{font-size:11px}.user-button small{font-size:9px;color:#7e8da4;text-transform:capitalize}.workspace{min-height:100vh;margin-left:var(--sidebar-w)}.topbar{position:sticky;top:0;z-index:35;height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(15,23,42,.025)}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:8px}.sidebar-toggle{display:none}.page-title span{font-size:9px;color:var(--muted);letter-spacing:.05em}.page-title h1{font-size:17px;margin:1px 0 0;letter-spacing:-.025em}.server-status{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #d8ece5;background:#f3fbf8;color:#29745f;border-radius:999px;font-size:10px;font-weight:700}.server-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(15,159,120,.1)}.sync-button{margin-left:4px}.content{max-width:1840px;margin:auto;padding:22px 24px 32px}.sidebar-backdrop{display:none}
/* Core dashboard */.welcome-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:14px;margin-bottom:14px}.welcome-card,.team-card,.card,.sync-card,.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.welcome-card{min-height:260px;display:grid;grid-template-columns:1.45fr .55fr;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 63%,#fff4f6 100%)}.welcome-content{padding:28px}.welcome-content h2{font-size:clamp(25px,2.2vw,34px);line-height:1.18;letter-spacing:-.04em;max-width:720px;margin:9px 0 11px}.welcome-content>p{color:var(--muted);max-width:760px;line-height:1.65;font-size:13px}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.workflow-grid>div{position:relative;padding:12px 12px 12px 42px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.82)}.workflow-grid span{position:absolute;left:11px;top:11px;width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:var(--primary-soft);color:var(--primary);font-size:9px;font-weight:800}.workflow-grid b{display:block;font-size:11px}.workflow-grid small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.welcome-art{position:relative;min-height:260px;overflow:hidden}.welcome-art:before{content:"";position:absolute;inset:10%;background:radial-gradient(circle,rgba(211,38,67,.18),transparent 64%);filter:blur(14px)}.art-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(211,38,67,.17);border-radius:50%;transform:translate(-50%,-50%)}.orbit-one{width:190px;height:190px}.orbit-two{width:125px;height:125px}.art-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#9c1731);color:#fff;box-shadow:0 20px 44px rgba(211,38,67,.27);font:800 25px Manrope}.art-card{position:absolute;width:78px;padding:10px;border:1px solid rgba(211,38,67,.15);border-radius:11px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);text-align:center}.art-card small{display:block;color:var(--muted);font-size:8px}.art-card b{display:block;color:var(--primary);font-size:16px}.art-a{left:3%;top:24%}.art-b{right:5%;bottom:22%}.team-card{padding:22px}.team-card h3{font-size:17px;letter-spacing:-.025em;margin:5px 0 15px}.team-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.team-card li{display:flex;gap:10px;align-items:flex-start}.team-card li>span{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--surface-alt);color:#60718a;font-size:9px;font-weight:800}.team-card li b{display:block;font-size:11px}.team-card li small{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:2px}.notice{margin-bottom:14px;padding:13px 15px;display:flex;gap:11px;align-items:flex-start;border:1px solid #f0ccd3;border-radius:12px;background:linear-gradient(90deg,#fff5f7,#fff);color:#553039}.notice-icon{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#ffe4e9;color:var(--primary);font-weight:800}.notice b{display:block;font-size:11px}.notice p{margin:2px 0 0;font-size:10px;line-height:1.55;color:#75525a}.sync-grid,.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.sync-card,.kpi-card{position:relative;overflow:hidden;padding:14px 15px}.sync-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.metric-label{color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.075em;text-transform:uppercase}.metric-value{margin-top:5px;font-size:19px;font-weight:800;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-note{margin-top:3px;color:var(--muted-2);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{margin-bottom:14px}.section{padding:19px}.section-head,.filter-header,.table-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-head h3,.filter-header h3,.table-toolbar h3{font-size:17px;margin:3px 0 2px;letter-spacing:-.03em}.section-head p,.filter-header p{font-size:10px;color:var(--muted);margin:0}.niche-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:9px;margin-top:14px}.niche-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:12px;text-align:left;color:var(--text);transition:.17s ease}.niche-card:hover,.niche-card.active{border-color:#e3a2af;background:#fff8f9;box-shadow:0 7px 20px rgba(50,40,45,.06);transform:translateY(-1px)}.niche-card.active{box-shadow:inset 0 0 0 1px #e9b4bd}.niche-head{display:flex;align-items:center;gap:8px;min-width:0}.niche-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--surface-alt);font-size:14px}.niche-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 11px Manrope}.niche-count{margin-top:9px;font-size:18px;font-weight:800}.niche-meta{display:flex;justify-content:space-between;gap:5px;margin-top:2px;color:var(--muted);font-size:8px}.analysis-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.top-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.pick{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;transition:.17s}.pick:hover{transform:translateY(-1px);border-color:#cfd7e3;box-shadow:var(--shadow)}.pick-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.pick-main{min-width:0}.pick-domain{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:750 12px Manrope}.pick-sub,.subtext{color:var(--muted);font-size:8px;margin-top:3px}.score-circle{width:40px;height:40px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;font:800 12px Manrope}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.tag,.status-badge,.score-badge,.niche-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;font-size:8px;font-weight:750}.tag{padding:4px 7px;background:var(--surface-alt);color:#5a687c}.tag.good{background:var(--green-soft);color:#14765b}.tag.warn{background:var(--amber-soft);color:#90610e}.niche-pill{padding:5px 8px;background:#f1f5f9;color:#40516a;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-list{display:grid;gap:11px;margin-top:15px}.bar-row{display:grid;grid-template-columns:130px 1fr 42px;gap:8px;align-items:center;font-size:9px}.bar-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#526178}.bar-row>b{text-align:right;font-size:9px}.bar-track{height:7px;border-radius:99px;background:#eef2f6;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),#ec7185)}
/* Filters */.filters{padding:19px}.filter-grid{display:grid;grid-template-columns:2fr repeat(5,minmax(120px,1fr));gap:9px;margin-top:16px}.filter-grid label{display:block}.filter-grid label>span,.inline-form label{display:block;margin-bottom:5px;color:#65748a;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.filter-grid input,.filter-grid select,.table-actions select,.inline-form input,.inline-form select,.modal select,.code-area{width:100%;height:39px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--text);padding:0 10px;outline:none;font-size:11px}.field-shell input{padding-left:37px}.preset-label{margin-top:14px;color:var(--muted);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.075em}.quick-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.quick-filters button{min-height:32px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#59687c;padding:6px 10px;font-size:9px;font-weight:650}.quick-filters button:hover{background:var(--surface-soft)}.quick-filters button.active{border-color:#e4a5b0;background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 3px 10px rgba(211,38,67,.07)}
/* Table */.table-card{overflow:hidden}.table-toolbar{align-items:center;padding:17px 18px;border-bottom:1px solid var(--line)}.table-title{display:flex;align-items:baseline;gap:8px}.table-title h3{margin:2px 0 0}.table-title small{color:var(--muted);font-size:9px}.table-actions{display:flex;align-items:center;gap:8px}.table-actions .btn svg{width:16px}.count-chip{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:6px;background:#fff;border:1px solid var(--line);font-size:9px}.page-size-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.page-size-label select{width:70px;height:34px}.table-wrap{width:100%;overflow:auto;max-height:68vh}.table-wrap::-webkit-scrollbar{height:9px;width:9px}.table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #fff;border-radius:99px}table{width:100%;min-width:1780px;border-collapse:separate;border-spacing:0}th{position:sticky;top:0;z-index:3;padding:10px 9px;background:#f7f9fc;color:#66758a;border-bottom:1px solid var(--line);font-size:8px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap;cursor:pointer}td{padding:9px;border-bottom:1px solid #edf1f5;color:#344258;font-size:10px;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}tbody tr:nth-child(even){background:#fcfdfe}tbody tr:hover{background:#fff8f9}.domain-link{color:#172033;font:750 11px Manrope;text-decoration:none}.domain-link:hover{color:var(--primary)}.star-btn{border:0;background:transparent;color:#c2cbd7;font-size:17px;padding:0}.star-btn.on{color:#e0a21a}.status-badge,.score-badge{padding:5px 7px}.status-new{background:var(--green-soft);color:#11785b}.status-updated{background:var(--blue-soft);color:#2769b3}.status-active{background:var(--amber-soft);color:#8b620e}.status-missing{background:var(--red-soft);color:#b62e42}.serp-strong{background:var(--green-soft);color:#11785b}.serp-good{background:var(--blue-soft);color:#2769b3}.serp-check{background:var(--amber-soft);color:#8b620e}.serp-weak{background:var(--red-soft);color:#b62e42}.overall-a{background:var(--green-soft);color:#11785b}.overall-b{background:var(--blue-soft);color:#2769b3}.overall-c{background:var(--amber-soft);color:#8b620e}.overall-risk{background:var(--red-soft);color:#b62e42}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.risk-dots{display:flex;gap:3px}.risk-dots i{width:6px;height:6px;border-radius:50%;background:#d5dde8}.risk-dots i.on{background:var(--red);box-shadow:0 0 6px rgba(216,59,78,.3)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.pagination>div{display:flex;gap:6px}.empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:4px}.empty-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--surface-alt);font-size:20px}.empty b{font-size:12px;color:#4a586d}.empty span{font-size:9px}.app-footer{display:flex;justify-content:space-between;padding:7px 2px;color:#94a3b8;font-size:9px}
/* Modal and generated detail */.modal{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.45);backdrop-filter:blur(5px)}.modal-card{width:min(620px,96vw);max-height:92vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-lg)}.modal-card.large{width:min(980px,96vw)}.modal-card.xl{width:min(1240px,97vw)}.modal-head{position:sticky;top:0;z-index:2;min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:13px 17px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}.modal-head b{display:block;font-size:15px;margin-top:2px}.modal-head>button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#64748b;font-size:20px}.modal-body{padding:18px}.detail-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.big-domain{font-size:27px;font-weight:800;letter-spacing:-.04em}.detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.mini{min-width:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.mini label{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.mini b{display:block;margin-top:4px;font-size:10px;word-break:break-word}.detail-source{margin-top:9px}.break-list{display:grid;gap:9px}.break-row{display:grid;grid-template-columns:78px 1fr 35px;gap:8px;align-items:center;font-size:9px}.break-row>b{text-align:right}.notes{display:grid;gap:7px;margin-top:12px}.note-good,.note-warn{padding:9px 10px;border-radius:9px;font-size:9px}.note-good{border:1px solid #ccebdc;background:#effaf5;color:#197056}.note-warn{border:1px solid #f0cdd3;background:#fff5f6;color:#9c3545}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.help-grid article{position:relative;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff}.help-grid article>span{display:inline-flex;padding:5px 7px;border-radius:7px;background:var(--primary-soft);color:var(--primary);font-size:8px;font-weight:800}.help-grid h3{font-size:13px;margin:9px 0 5px}.help-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.inline-form{display:grid;grid-template-columns:1fr 1.2fr .7fr auto;gap:8px;margin-bottom:14px}.modal-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:13px}.modal-actions select{width:auto;min-width:240px}.code-area{height:440px;padding:12px;resize:vertical;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.user-table{min-width:760px}.sync-success{margin:13px 0 0}.loading-overlay{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:rgba(248,250,252,.77);backdrop-filter:blur(5px)}.loading-card{min-width:230px;display:flex;flex-direction:column;align-items:center;padding:24px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-lg)}.loading-card b{font-size:12px;margin-top:10px}.loading-card small{font-size:9px;color:var(--muted);margin-top:3px}.loader{width:34px;height:34px;border:3px solid #f1cbd2;border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;z-index:250;right:22px;bottom:22px;max-width:360px;padding:11px 14px;border-radius:10px;background:#111827;color:#fff;box-shadow:var(--shadow-lg);font-size:10px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}
@media(max-width:1500px){.sync-grid,.kpi-grid{grid-template-columns:repeat(3,1fr)}.niche-grid{grid-template-columns:repeat(4,1fr)}.filter-grid{grid-template-columns:2fr repeat(3,1fr)}}@media(max-width:1180px){.topbar .server-status,.topbar .btn.ghost span{display:none}.welcome-grid,.analysis-grid{grid-template-columns:1fr}.welcome-card{grid-template-columns:1fr .38fr}.top-picks{grid-template-columns:repeat(3,1fr)}.niche-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){:root{--sidebar-w:252px}.sidebar{transform:translateX(-100%);transition:.22s ease}.sidebar-backdrop{position:fixed;z-index:45;inset:0;background:rgba(15,23,42,.45)}body.sidebar-open .sidebar{transform:none}body.sidebar-open .sidebar-backdrop{display:block}.workspace{margin-left:0}.sidebar-toggle{display:grid}.topbar{padding:0 15px}.content{padding:16px}.page-title span{display:none}.sync-button span{display:none}.sync-button{width:40px;padding:0}.welcome-card{grid-template-columns:1fr}.welcome-art{display:none}.filter-grid{grid-template-columns:repeat(2,1fr)}.search-field{grid-column:1/-1}.niche-grid{grid-template-columns:repeat(2,1fr)}.top-picks{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:45px}.login-mobile-brand b,.login-mobile-brand small{display:block}.login-mobile-brand small{color:var(--muted);font-size:10px}.login-panel{padding:25px}.detail-hero{grid-template-columns:1fr}.detail-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.topbar-actions .btn.ghost{display:none}.page-title h1{font-size:14px}.content{padding:12px}.welcome-content{padding:20px}.welcome-content h2{font-size:24px}.workflow-grid{grid-template-columns:1fr}.sync-grid,.kpi-grid{grid-template-columns:repeat(2,1fr)}.niche-grid{grid-template-columns:1fr 1fr}.section,.filters{padding:14px}.filter-grid{grid-template-columns:1fr}.search-field{grid-column:auto}.section-head,.filter-header,.table-toolbar{align-items:flex-start;flex-direction:column}.table-actions{width:100%;justify-content:space-between}.help-grid{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.modal{padding:7px}.modal-body{padding:13px}.detail-metrics{grid-template-columns:1fr 1fr}.app-footer{flex-direction:column;gap:3px}.login-panel{padding:18px}.login-copy h2{font-size:26px}}

/* ===== Domain Hunter UI Refresh ===== */
:root{
  --bg:#f2f5ff;
  --surface:#ffffff;
  --surface-soft:#f7f8ff;
  --surface-alt:#eef2ff;
  --line:#dde4fb;
  --line-strong:#cad4f6;
  --text:#111a2f;
  --text-soft:#31405f;
  --muted:#667897;
  --muted-2:#8ea0bd;
  --primary:#6c63ff;
  --primary-dark:#5146ff;
  --primary-soft:#ecebff;
  --green:#10b981;
  --green-soft:#eafaf4;
  --blue:#3b82f6;
  --blue-soft:#e8f1ff;
  --amber:#d18c1d;
  --amber-soft:#fff6df;
  --red:#e44866;
  --red-soft:#fff1f4;
  --purple:#7c4dff;
  --purple-soft:#f3edff;
  --sidebar:#0b1020;
  --sidebar-soft:#131a31;
  --sidebar-text:#d7def0;
  --shadow-sm:0 8px 18px rgba(43,56,104,.06);
  --shadow:0 16px 38px rgba(28,42,82,.10);
  --shadow-lg:0 28px 70px rgba(20,31,64,.18);
}
.login-shell{background:linear-gradient(90deg,#081126 0 58%,#edf1ff 58% 100%)}
.login-visual{background:radial-gradient(circle at 12% 14%,rgba(125,84,255,.34),transparent 24%),radial-gradient(circle at 80% 18%,rgba(44,161,255,.14),transparent 22%),radial-gradient(circle at 82% 75%,rgba(109,92,255,.16),transparent 25%),linear-gradient(145deg,#071127,#0b1734 55%,#0d1d40)}
.login-visual:before{border-color:rgba(122,146,255,.12)}
.login-visual:after{border-color:rgba(255,255,255,.08)}
.login-logo{margin-bottom:24px}
.login-logo.text-only{display:flex;align-items:center;gap:0}
.login-logo.text-only b,.login-mobile-brand b,.sidebar-brand b{font-size:26px;letter-spacing:-.03em;color:#fff}
.login-logo.text-only small,.login-mobile-brand small{display:block;margin-top:4px;color:#98a8c6;font-size:12px;font-weight:600;letter-spacing:.02em}
.login-promo h1{font-size:clamp(42px,4.4vw,66px)}
.login-promo>p{font-size:18px;color:#b3bfd8}
.login-features article{background:rgba(255,255,255,.045);border-color:rgba(160,180,255,.11);box-shadow:0 18px 30px rgba(6,12,28,.14)}
.login-visual-footer{color:#8fa3c8}
.login-panel{position:relative;display:flex;align-items:center;justify-content:flex-start;padding:42px 58px 42px 54px;overflow:hidden;background:radial-gradient(circle at 76% 22%,rgba(108,99,255,.10),transparent 18%),radial-gradient(circle at 88% 82%,rgba(55,130,246,.10),transparent 16%),linear-gradient(180deg,#f6f8ff,#edf1ff)}
.login-panel:before,.login-panel:after{content:"";position:absolute;border-radius:50%;filter:blur(8px)}
.login-panel:before{width:220px;height:220px;right:-90px;top:-70px;background:radial-gradient(circle,rgba(108,99,255,.16),transparent 68%)}
.login-panel:after{width:200px;height:200px;right:100px;bottom:-80px;background:radial-gradient(circle,rgba(58,130,246,.12),transparent 70%)}
.login-card{position:relative;z-index:2;width:min(460px,100%);padding:34px 32px;border:1px solid rgba(120,136,255,.16);border-radius:28px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);box-shadow:0 24px 60px rgba(25,39,79,.10)}
.login-copy h2{font-size:34px;color:#0d1830}
.login-copy p{font-size:14px;color:#667897}
.login-form label>span{font-size:12px;color:#3f4e71}
.login-form input{height:52px;border-radius:14px;border-color:#d7ddf5;background:rgba(255,255,255,.88)}
.login-submit{height:52px;border-radius:14px;background:linear-gradient(135deg,#6c63ff,#8b5cf6 55%,#ec4899);box-shadow:0 16px 28px rgba(108,99,255,.28)}
.login-submit:hover{background:linear-gradient(135deg,#5d55f3,#7c4dff 55%,#e64097)}
.login-security{margin-top:22px;padding-top:18px;color:#6e7f9f}
.login-character-stage{position:absolute;right:34px;bottom:18px;width:min(340px,29vw);min-width:250px;z-index:1;pointer-events:none}
.login-character-glow{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);width:78%;height:78%;border-radius:50%;background:radial-gradient(circle,rgba(115,101,255,.34),rgba(115,101,255,.08) 46%,transparent 72%);filter:blur(16px);animation:hunterPulse 3.6s ease-in-out infinite}
.login-character{position:relative;display:block;width:100%;height:auto;filter:drop-shadow(0 28px 46px rgba(34,48,94,.22));animation:hunterFloat 4.8s ease-in-out infinite}
.login-float-chip{position:absolute;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(114,124,255,.16);box-shadow:0 16px 36px rgba(20,31,64,.12);backdrop-filter:blur(12px);color:#425270;animation:hunterChip 5.2s ease-in-out infinite}
.login-float-chip span{display:block;font-size:10px;font-weight:700;color:#7d8db0;letter-spacing:.04em;text-transform:uppercase}
.login-float-chip b{display:block;margin-top:3px;font-size:13px;color:#16213d}
.chip-one{left:-10px;top:80px;animation-delay:0s}
.chip-two{right:-8px;top:155px;animation-delay:.9s}
.chip-three{left:30px;bottom:30px;animation-delay:1.6s}
.sidebar{background:linear-gradient(180deg,#08101f,#10172c 45%,#0b1325)}
.sidebar-brand{height:78px;padding:0 22px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.07)}
.sidebar-brand b{font-size:20px;color:#fff}
.sidebar-brand small{display:block;color:#7d8da9;font-size:11px;margin-top:2px}
.nav-item.active{background:linear-gradient(90deg,rgba(108,99,255,.26),rgba(108,99,255,.06));box-shadow:inset 3px 0 #8b5cf6}
.sidebar-security{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.08)}
.user-button>span:first-child{background:linear-gradient(135deg,#6c63ff,#8b5cf6)}
.topbar{background:rgba(255,255,255,.9);box-shadow:0 4px 26px rgba(17,24,39,.05)}
.page-title h1{font-size:20px;color:#16213d}
.server-status{background:#eefaf5;border-color:#d7f0e6;color:#1f7b61}
.welcome-card{background:linear-gradient(135deg,#ffffff 0%,#f9fbff 58%,#f2efff 100%);border-color:#e3e8fb;box-shadow:var(--shadow)}
.welcome-content h2{color:#111a2f}
.welcome-content>p{color:#5f6f8e}
.workflow-grid>div{border-color:#e2e8fb;background:rgba(255,255,255,.86)}
.workflow-grid span{background:#ecebff;color:#5b55ea}
.welcome-art:before{background:radial-gradient(circle,rgba(124,77,255,.16),transparent 62%)}
.art-orbit{border-color:rgba(108,99,255,.16)}
.art-glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:30px;background:linear-gradient(135deg,#6c63ff,#8b5cf6 55%,#ec4899);box-shadow:0 22px 50px rgba(108,99,255,.24);animation:hunterFloat 4s ease-in-out infinite}
.art-card{border-color:rgba(108,99,255,.14);background:rgba(255,255,255,.95)}
.art-card b{color:#5b55ea}
.art-c{left:33%;bottom:10%}
.team-card,.card,.sync-card,.kpi-card{border-color:#e4e9fb;box-shadow:var(--shadow-sm)}
.notice{border-color:#e1dcff;background:linear-gradient(90deg,#faf8ff,#fff)}
.notice-icon{background:#ecebff;color:#5d55f3}
.btn.primary{background:linear-gradient(135deg,#6c63ff,#8b5cf6 55%,#ec4899);box-shadow:0 12px 24px rgba(108,99,255,.24)}
.btn.primary:hover{background:linear-gradient(135deg,#5d55f3,#7c4dff 55%,#e64097)}
.sync-card:before{background:linear-gradient(180deg,#6c63ff,#ec4899)}
.brand-mark,.login-logo span,.art-core{display:none!important}
@keyframes hunterFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes hunterPulse{0%,100%{transform:translateX(-50%) scale(1);opacity:.78}50%{transform:translateX(-50%) scale(1.08);opacity:1}}
@keyframes hunterChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:1360px){.login-panel{justify-content:center;padding:38px}.login-character-stage{width:min(280px,23vw);right:10px;bottom:18px;opacity:.95}.login-card{margin-right:110px}}
@media(max-width:1180px){.login-character-stage{width:250px;right:-8px;bottom:14px}.login-card{margin-right:140px}}
@media(max-width:900px){.login-panel{padding:24px;background:#f4f7ff}.login-card{margin-right:0}.login-character-stage{display:none}.login-mobile-brand{display:flex;align-items:flex-start;gap:0;margin-bottom:28px}.login-mobile-brand b{font-size:24px;color:#111a2f}.login-mobile-brand small{color:#7182a1}.sidebar-brand b{font-size:18px}}


/* Domain Hunter premium login refinements */
.login-panel:before,.login-panel:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(10px)}
.login-panel:before{width:320px;height:320px;right:-120px;top:-70px;background:radial-gradient(circle,rgba(108,99,255,.14),transparent 66%)}
.login-panel:after{width:240px;height:240px;left:30px;bottom:-90px;background:radial-gradient(circle,rgba(236,72,153,.12),transparent 70%)}
.login-card{position:relative;z-index:2;padding:36px;border:1px solid #e5eafe;border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 30px 70px rgba(69,84,160,.14);backdrop-filter:blur(18px)}
.login-copy h2{font-size:34px;color:#13203b}
.login-copy p{max-width:380px}
.login-character-stage{right:24px;bottom:8px;width:min(390px,31vw)}
.login-character{animation:hunterFloat 4.8s ease-in-out infinite,hunterTilt 7s ease-in-out infinite}
.login-character-glow{width:86%;height:80%;bottom:36px;background:radial-gradient(circle,rgba(108,99,255,.32),rgba(236,72,153,.14) 45%,transparent 72%)}
.login-float-chip{border-radius:18px;background:rgba(255,255,255,.85)}
.chip-one{left:-6px;top:75px}
.chip-two{right:-6px;top:164px}
.chip-three{left:26px;bottom:38px}
@keyframes hunterTilt{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-2deg)}}
@media(max-width:1360px){.login-card{padding:32px}.login-character-stage{width:min(300px,24vw);right:10px;bottom:12px}.login-card{margin-right:120px}}
@media(max-width:1180px){.login-card{padding:30px}.login-character-stage{width:250px;right:0;bottom:18px}.login-card{margin-right:150px}}


/* ===== Domain Hunter Login Layout Fix v2 ===== */
.login-visual{min-height:100vh}
.login-visual-inner{max-width:860px;padding:8px 350px 10px 0}
.login-logo.text-only b{font-size:22px;display:block;line-height:1.15}
.login-promo{margin:70px 0 auto;max-width:560px}
.login-promo h1{max-width:520px}
.login-features{max-width:560px}
.login-visual-footer{position:relative;z-index:3;margin-top:22px}
.visual-stage{position:absolute;right:12px;bottom:42px;width:min(350px,31vw);min-width:280px;z-index:2;pointer-events:none}
.visual-stage .login-character{width:100%;height:auto}
.visual-stage .chip-one{left:-14px;top:72px}
.visual-stage .chip-two{right:-8px;top:172px}
.visual-stage .chip-three{left:18px;bottom:40px}
.login-panel{display:flex;align-items:center;justify-content:center;padding:44px 56px;overflow:hidden}
.login-card{width:min(470px,100%);padding:36px 34px;border:1px solid rgba(120,136,255,.16);border-radius:28px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 30px 70px rgba(69,84,160,.14)}
.login-copy{margin-bottom:26px}
.login-copy h2{font-size:36px;line-height:1.1;margin-bottom:10px}
.login-copy p{font-size:14px;line-height:1.75;max-width:380px}
.login-form{gap:16px}
.login-form .input-shell input{width:100%;height:54px;padding:0 16px 0 48px !important;border:1px solid #d7ddf5;border-radius:14px;background:rgba(255,255,255,.94);outline:none}
.login-form .input-shell svg{left:15px;width:18px;height:18px}
.login-form input::placeholder{color:#8ea0bd}
.login-form label>span{margin-bottom:8px}
.login-submit{height:54px;margin-top:4px}
.login-security{margin-top:24px}
@media (max-width:1360px){
  .login-visual-inner{padding-right:290px}
  .visual-stage{width:min(300px,24vw);right:10px;bottom:30px;min-width:240px}
  .login-card{width:min(450px,100%)}
}
@media (max-width:1180px){
  .login-visual-inner{padding-right:240px}
  .login-promo{max-width:500px}
  .visual-stage{width:240px;right:2px;bottom:26px;min-width:220px}
  .login-copy h2{font-size:32px}
}
@media (max-width:900px){
  .login-visual-inner{padding-right:0}
  .visual-stage{display:none}
  .login-panel{padding:28px 20px}
  .login-card{padding:28px 22px;width:min(100%,460px)}
  .login-copy h2{font-size:30px}
}
@media (max-width:560px){
  .login-card{padding:24px 18px;border-radius:22px}
  .login-copy h2{font-size:28px}
  .login-form .input-shell input{height:52px;padding-left:46px !important}
}


/* ===== Domain Hunter login refresh v2 ===== */
#loginView.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(760px,1.15fr) minmax(430px,.85fr);background:linear-gradient(90deg,#071127 0%,#08152d 58%,#08152d 100%)}
#loginView .login-visual{padding:0;overflow:hidden;background:radial-gradient(circle at 10% 8%,rgba(214,38,74,.30),transparent 22%),radial-gradient(circle at 82% 14%,rgba(52,130,246,.13),transparent 22%),radial-gradient(circle at 72% 78%,rgba(214,38,74,.14),transparent 18%),linear-gradient(145deg,#061024,#091a37 60%,#08152b 100%)}
#loginView .login-visual:before{width:520px;height:520px;right:-180px;top:-160px;border-color:rgba(255,255,255,.08)}
#loginView .login-visual:after{width:280px;height:280px;left:-110px;bottom:-120px;border-color:rgba(255,255,255,.06)}
#loginView .login-visual-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(330px,0.9fr) minmax(320px,1fr);grid-template-areas:"brand brand" "promo stage" "footer footer";gap:24px 18px;min-height:100vh;max-width:none;padding:34px 34px 24px 34px}
#loginView .login-logo{grid-area:brand;display:flex;align-items:flex-start;margin:0}
#loginView .login-logo.text-only b{font-size:28px;color:#fff;line-height:1.05}
#loginView .login-logo.text-only small{margin-top:6px;color:#95a7c8;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
#loginView .login-promo{grid-area:promo;align-self:center;max-width:420px;margin:0;padding-left:10px}
#loginView .promo-badge{padding:10px 16px;border-radius:999px;background:rgba(117,30,53,.35);border:1px solid rgba(255,89,127,.22);color:#ffd0d9;font-size:11px;letter-spacing:.16em;box-shadow:0 12px 28px rgba(0,0,0,.15)}
#loginView .login-promo h1{font-size:clamp(52px,4.35vw,76px);line-height:1.07;letter-spacing:-.055em;margin:22px 0 18px;max-width:520px}
#loginView .login-promo h1 span{color:#ff335f}
#loginView .login-promo>p{font-size:16px;line-height:1.7;color:#c5d0e6;max-width:430px}
#loginView .login-features{grid-template-columns:1fr;gap:14px;max-width:300px;margin-top:34px}
#loginView .login-features article{padding:18px 18px 18px 16px;border-radius:18px;background:rgba(8,16,34,.45);border:1px solid rgba(102,129,189,.22);box-shadow:0 20px 34px rgba(0,0,0,.18)}
#loginView .login-features article>span{font-size:24px;line-height:1;color:#ff315e;min-width:34px}
#loginView .login-features b{font-size:17px;color:#fff}
#loginView .login-features small{font-size:13px;line-height:1.55;color:#a7b6d3}
#loginView .login-character-stage{grid-area:stage;position:relative;display:flex;align-items:center;justify-content:center;align-self:center;min-height:680px;width:100%;min-width:0;z-index:1;pointer-events:none}
#loginView .login-character-stage.visual-stage{right:auto;bottom:auto}
#loginView .login-character-glow{position:absolute;left:50%;bottom:62px;transform:translateX(-50%);width:78%;height:62%;border-radius:50%;background:radial-gradient(circle,rgba(255,88,120,.18),rgba(255,88,120,.10) 20%,rgba(64,110,255,.18) 40%,rgba(10,18,44,0) 72%);filter:blur(14px);animation:hunterPulse 4s ease-in-out infinite}
#loginView .login-character{position:relative;display:block;width:min(100%,560px);max-width:560px;height:auto;object-fit:contain;filter:drop-shadow(0 28px 52px rgba(0,0,0,.38));animation:hunterFloat 4.9s ease-in-out infinite,hunterTilt 7s ease-in-out infinite}
#loginView .login-float-chip{position:absolute;padding:10px 14px;border-radius:16px;background:rgba(12,22,48,.72);border:1px solid rgba(102,129,189,.22);box-shadow:0 16px 34px rgba(0,0,0,.18);backdrop-filter:blur(10px);color:#dce5f6}
#loginView .login-float-chip span{font-size:10px;color:#8fa5cb;letter-spacing:.13em}
#loginView .login-float-chip b{font-size:14px;color:#fff;margin-top:4px}
#loginView .chip-one{left:16px;top:88px}
#loginView .chip-two{right:8px;top:168px}
#loginView .chip-three{left:28px;bottom:106px}
#loginView .login-visual-footer{grid-area:footer;align-self:end;padding-left:10px;color:#a1b1cf;font-size:13px}
#loginView .login-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:40px 32px;background:transparent;overflow:visible}
#loginView .login-panel:before,#loginView .login-panel:after{display:none}
#loginView .login-card{width:min(500px,100%);padding:40px 38px;border:1px solid #e6e9f2;border-radius:30px;background:#fff;box-shadow:0 28px 80px rgba(7,17,39,.28)}
#loginView .login-copy{margin-bottom:28px}
#loginView .login-kicker{margin-bottom:14px;font-size:12px;letter-spacing:.16em;color:#ff2b59}
#loginView .login-copy h2{font-size:34px;line-height:1.1;letter-spacing:-.045em;color:#172033;margin:0 0 12px}
#loginView .login-copy p{font-size:17px;color:#637289;line-height:1.65;max-width:390px}
#loginView .login-form{gap:20px}
#loginView .login-form label>span{font-size:13px;font-weight:700;color:#26344d;margin-bottom:10px}
#loginView .input-shell{position:relative}
#loginView .input-shell svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#8a97ae}
#loginView .input-shell input{padding:0 18px 0 50px}
#loginView .login-form input{height:58px;border:1px solid #dbe2ee;border-radius:14px;background:#fff;color:#172033;font-size:15px;box-shadow:none}
#loginView .login-form input::placeholder{color:#8b99b1}
#loginView .login-form input:focus{border-color:#ff2f5d;box-shadow:0 0 0 4px rgba(255,47,93,.10)}
#loginView .login-submit{height:58px;margin-top:4px;border-radius:16px;background:linear-gradient(135deg,#df2554,#ea3768 55%,#ff5f86);font-size:18px;font-weight:800;box-shadow:0 16px 34px rgba(223,37,84,.26)}
#loginView .login-submit:hover{background:linear-gradient(135deg,#c71c48,#e22f5e 55%,#ff507b)}
#loginView .form-error{min-height:18px;font-size:12px;margin-top:-6px}
#loginView .login-security{margin-top:26px;padding-top:18px;border-top:1px solid #edf1f7;justify-content:flex-start;color:#7b89a2;font-size:12px}
#loginView .security-dot{width:8px;height:8px;box-shadow:0 0 0 4px rgba(15,159,120,.12)}
@media (max-width: 1380px){#loginView.login-shell{grid-template-columns:minmax(620px,1fr) minmax(380px,.8fr)}#loginView .login-visual-inner{grid-template-columns:minmax(300px,.85fr) minmax(280px,1fr)}#loginView .login-promo h1{font-size:clamp(44px,4.2vw,64px)}#loginView .login-character-stage{min-height:600px}#loginView .login-card{padding:34px 30px}}
@media (max-width: 1120px){#loginView.login-shell{grid-template-columns:1fr}#loginView .login-visual-inner{grid-template-columns:1fr;grid-template-areas:"brand" "promo" "stage" "footer";min-height:auto;padding-bottom:10px}#loginView .login-promo{max-width:680px}#loginView .login-features{grid-template-columns:repeat(3,1fr);max-width:none}#loginView .login-character-stage{min-height:520px;max-width:520px;margin:0 auto}#loginView .login-panel{padding:10px 24px 34px}#loginView .login-card{width:min(620px,100%)}}
@media (max-width: 820px){#loginView .login-visual-inner{padding:28px 20px 12px}#loginView .login-promo{padding-left:0}#loginView .login-promo h1{font-size:clamp(38px,10vw,52px)}#loginView .login-features{grid-template-columns:1fr}#loginView .login-character-stage{min-height:420px}#loginView .login-character{max-width:380px}#loginView .login-float-chip{transform:scale(.92)}#loginView .login-panel{padding:18px 16px 28px}#loginView .login-card{padding:28px 22px;border-radius:24px}#loginView .login-copy h2{font-size:30px}#loginView .login-copy p{font-size:15px}}
@media (max-width: 560px){#loginView .login-logo.text-only b{font-size:24px}#loginView .promo-badge{font-size:10px;padding:8px 12px}#loginView .login-character-stage{min-height:340px}#loginView .chip-one{left:0;top:40px}#loginView .chip-two{right:0;top:95px}#loginView .chip-three{left:10px;bottom:30px}#loginView .login-form input{height:54px}#loginView .login-submit{height:54px;font-size:17px}}


/* ===== Domain Hunter login v3: layout khusus login, dashboard tidak berubah ===== */
.hunter-login{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(720px,1.55fr) minmax(480px,.85fr);
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 10%,rgba(211,38,67,.26),transparent 24%),
    radial-gradient(circle at 78% 82%,rgba(45,92,190,.16),transparent 28%),
    linear-gradient(135deg,#071020 0%,#0a1428 52%,#0b1730 100%);
}
.hunter-login .login-visual{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  padding:34px 42px 34px 46px;
  color:#fff;
  background:transparent;
}
.hunter-login .login-visual:before{
  width:620px;height:620px;right:-210px;top:-220px;
  border-color:rgba(255,255,255,.07);
}
.hunter-login .login-visual:after{
  width:390px;height:390px;left:-190px;bottom:-155px;
  border-color:rgba(255,255,255,.06);
}
.hunter-login .login-visual-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  height:100%;
  min-height:calc(100vh - 68px);
  margin:0;
  display:flex;
  flex-direction:column;
}
.hunter-login .login-logo{
  position:relative;
  z-index:4;
  margin:0;
  display:block;
}
.hunter-login .login-logo>div{
  display:flex;
  align-items:baseline;
  gap:11px;
  white-space:nowrap;
}
.hunter-login .login-logo b{
  display:block;
  font:800 22px/1 Manrope,Inter,sans-serif;
  color:#fff;
  letter-spacing:-.035em;
}
.hunter-login .login-logo small{
  display:block;
  margin:0;
  color:#96a6c3;
  font-size:11px;
  font-weight:600;
  letter-spacing:.03em;
}
.hunter-login .login-promo{
  position:relative;
  z-index:4;
  width:min(390px,36%);
  margin:auto 0;
  padding:54px 0 30px;
}
.hunter-login .promo-badge{
  color:#ffd8df;
  background:rgba(211,38,67,.13);
  border:1px solid rgba(244,73,102,.26);
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.hunter-login .login-promo h1{
  max-width:390px;
  margin:25px 0 17px;
  font-size:clamp(38px,3.5vw,58px);
  line-height:1.06;
  letter-spacing:-.055em;
}
.hunter-login .login-promo h1 em{
  color:#ef3557;
  font-style:normal;
}
.hunter-login .login-promo>p{
  max-width:370px;
  margin:0;
  color:#bcc7da;
  font-size:15px;
  line-height:1.72;
}
.hunter-login .login-features{
  width:300px;
  margin-top:34px;
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.hunter-login .login-features article{
  min-height:72px;
  padding:13px 15px;
  gap:12px;
  align-items:flex-start;
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  box-shadow:0 14px 32px rgba(0,0,0,.14);
}
.hunter-login .login-features article>span{
  flex:0 0 auto;
  color:#ef3557;
  font-size:11px;
}
.hunter-login .login-features b{
  font-size:12px;
  color:#fff;
}
.hunter-login .login-features small{
  color:#93a2bb;
  font-size:10px;
  line-height:1.5;
}
.hunter-login .login-character-stage{
  position:absolute;
  z-index:3;
  right:-1.5%;
  bottom:-2.5%;
  width:min(57%,680px);
  min-width:480px;
  pointer-events:none;
}
.hunter-login .login-character-glow{
  position:absolute;
  left:48%;
  bottom:10%;
  width:72%;
  height:72%;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(229,45,78,.25),rgba(62,97,190,.13) 46%,transparent 72%);
  filter:blur(28px);
  animation:hunterPulse 4s ease-in-out infinite;
}
.hunter-login .login-character{
  position:relative;
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 35px 48px rgba(0,0,0,.38));
  animation:hunterFloat 5.2s ease-in-out infinite;
}
.hunter-login .login-visual-footer{
  position:relative;
  z-index:4;
  color:#8798b6;
  font-size:10px;
}
.hunter-login .login-panel{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px 48px;
  overflow:hidden;
  background:transparent;
}
.hunter-login .login-panel:before{
  content:"";
  position:absolute;
  inset:8% 7% 8% -12%;
  border-radius:40px;
  background:radial-gradient(circle at 40% 30%,rgba(215,36,70,.13),transparent 42%);
  filter:blur(26px);
  pointer-events:none;
}
.hunter-login .login-panel:after{display:none}
.hunter-login .login-card{
  position:relative;
  z-index:2;
  width:min(470px,100%);
  margin:0;
  padding:42px 40px 34px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:25px;
  background:#fff;
  box-shadow:0 32px 90px rgba(0,0,0,.32),0 0 0 1px rgba(239,53,87,.14);
  backdrop-filter:none;
}
.hunter-login .login-copy{
  margin-bottom:28px;
}
.hunter-login .login-kicker{
  margin-bottom:12px;
  color:#df2347;
  font-size:10px;
  letter-spacing:.14em;
}
.hunter-login .login-copy h2{
  margin:0 0 9px;
  color:#0e1930;
  font-size:34px;
  line-height:1.15;
  letter-spacing:-.045em;
}
.hunter-login .login-copy p{
  max-width:none;
  margin:0;
  color:#687792;
  font-size:13px;
  line-height:1.65;
}
.hunter-login .login-form{
  gap:17px;
}
.hunter-login .login-form label>span{
  margin-bottom:8px;
  color:#263653;
  font-size:11px;
  font-weight:750;
}
.hunter-login .input-shell{
  position:relative;
  width:100%;
}
.hunter-login .input-shell svg{
  position:absolute;
  z-index:2;
  left:16px;
  top:50%;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  color:#8190a9;
  pointer-events:none;
}
.hunter-login .login-form input{
  width:100%;
  height:54px;
  padding:0 16px 0 48px !important;
  border:1px solid #d9dfeb;
  border-radius:12px;
  outline:none;
  background:#f9fbff;
  color:#17223a;
  font-size:13px;
  line-height:54px;
}
.hunter-login .login-form input::placeholder{
  color:#93a0b4;
  opacity:1;
}
.hunter-login .login-form input:focus{
  border-color:#df3556;
  background:#fff;
  box-shadow:0 0 0 4px rgba(223,53,86,.09);
}
.hunter-login .login-submit{
  height:54px;
  margin-top:2px;
  border-radius:12px;
  background:linear-gradient(135deg,#e52045,#d5224d 55%,#ea3d6b);
  box-shadow:0 16px 28px rgba(217,33,72,.24);
}
.hunter-login .login-submit:hover{
  background:linear-gradient(135deg,#cf173b,#c41b44 55%,#df315e);
  transform:translateY(-1px);
}
.hunter-login .login-security{
  margin-top:26px;
  padding-top:19px;
  justify-content:flex-start;
  border-top:1px solid #e7ebf2;
  color:#738099;
  font-size:10px;
}
.hunter-login .security-dot{
  background:#13a67e;
}
.hunter-login .login-mobile-brand{display:none}

@media(max-width:1280px){
  .hunter-login{grid-template-columns:minmax(650px,1.42fr) minmax(430px,.88fr)}
  .hunter-login .login-visual{padding-left:36px;padding-right:25px}
  .hunter-login .login-promo{width:38%}
  .hunter-login .login-character-stage{right:-5%;width:min(58%,620px);min-width:440px}
  .hunter-login .login-panel{padding:36px 32px}
  .hunter-login .login-card{padding:38px 34px 32px}
}
@media(max-width:1020px){
  .hunter-login{grid-template-columns:1fr;overflow:auto}
  .hunter-login .login-visual{display:none}
  .hunter-login .login-panel{
    min-height:100vh;
    padding:26px;
    background:linear-gradient(145deg,#071127,#0b1734 65%,#111d38);
  }
  .hunter-login .login-card{width:min(470px,100%);padding:34px 28px 28px}
  .hunter-login .login-mobile-brand{display:block;margin-bottom:28px}
  .hunter-login .login-mobile-brand b{display:block;color:#111a2f;font-size:24px}
  .hunter-login .login-mobile-brand small{display:block;margin-top:4px;color:#7a879c;font-size:11px}
}
@media(max-width:520px){
  .hunter-login .login-panel{padding:16px}
  .hunter-login .login-card{padding:28px 20px 22px;border-radius:20px}
  .hunter-login .login-copy h2{font-size:29px}
  .hunter-login .login-form input{height:52px;line-height:52px}
}


/* ===== Domain Hunter Login Match v3 ===== */
#loginView.login-shell{
  position:relative;
  min-height:100vh;
  display:block;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 10%, rgba(221,42,86,.24), transparent 20%),
    radial-gradient(circle at 48% 80%, rgba(255,119,0,.10), transparent 20%),
    radial-gradient(circle at 88% 14%, rgba(68,94,255,.14), transparent 20%),
    linear-gradient(180deg, #040b1c 0%, #071127 54%, #040a17 100%);
}
#loginView .login-visual,
#loginView .login-panel{
  background:transparent !important;
}
#loginView .login-visual{
  min-height:100vh;
  padding:34px 42px 30px;
  position:relative;
  z-index:1;
}
#loginView .login-visual:before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  right:290px;top:-190px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
}
#loginView .login-visual:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:220px;
  background:linear-gradient(180deg, rgba(4,10,23,0), rgba(4,10,23,.25));
  pointer-events:none;
}
#loginView .login-visual-inner{
  max-width:none;
  height:100%;
  padding-right:540px;
  display:block;
}
#loginView .login-logo{
  margin:0;
}
#loginView .login-logo.text-only b,
#loginView .login-mobile-brand b{
  display:block;
  font-size:22px;
  line-height:1.1;
  color:#fff;
}
#loginView .login-logo.text-only small,
#loginView .login-mobile-brand small{
  display:block;
  margin-top:5px;
  color:#9cb0d8;
  font-size:12px;
  letter-spacing:.02em;
}
#loginView .promo-badge{
  color:#ffd9e0;
  border:1px solid rgba(255,89,123,.25);
  background:rgba(255,62,96,.10);
  box-shadow:0 10px 24px rgba(13,18,40,.18);
}
#loginView .login-promo{
  margin:88px 0 0;
  max-width:440px;
  position:relative;
  z-index:2;
}
#loginView .login-promo h1{
  max-width:420px;
  margin:18px 0 18px;
  font-size:clamp(48px,4.4vw,78px);
  line-height:.98;
  letter-spacing:-.06em;
  color:#ffffff;
}
#loginView .login-promo h1 em{
  font-style:normal;
  color:#ff416d;
}
#loginView .login-promo>p{
  max-width:420px;
  font-size:16px;
  line-height:1.75;
  color:#c0cbe0;
}
#loginView .login-features{
  width:325px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:34px;
}
#loginView .login-features article{
  display:grid;
  grid-template-columns:88px 1fr;
  align-items:center;
  gap:12px;
  padding:18px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(6,16,39,.44);
  backdrop-filter:blur(12px);
  box-shadow:0 22px 36px rgba(0,0,0,.14);
}
#loginView .login-features article>span{
  width:72px;
  height:72px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  border-radius:18px;
  background:rgba(255,58,96,.06);
  border:1px solid rgba(255,58,96,.18);
  color:#ff4f77;
  font:800 28px/1 Manrope,Inter,sans-serif;
}
#loginView .login-features article>span::after{
  content:attr(data-label);
  font:700 10px/1 Inter,sans-serif;
  letter-spacing:.08em;
}
#loginView .login-features article:nth-child(1)>span::after{content:"SECURE";}
#loginView .login-features article:nth-child(2)>span::after{content:"SYNC";}
#loginView .login-features article:nth-child(3)>span::after{content:"TEAM";}
#loginView .login-features b{
  font-size:22px;
  line-height:1.1;
  color:#ffffff;
}
#loginView .login-features small{
  display:block;
  margin-top:8px;
  color:#a3b2cc;
  font-size:15px;
  line-height:1.65;
}
#loginView .login-character-stage{
  position:absolute;
  left:350px;
  bottom:18px;
  width:min(650px,44vw);
  min-width:470px;
  z-index:1;
  pointer-events:none;
}
#loginView .login-character-glow{
  position:absolute;
  left:50%;
  bottom:88px;
  transform:translateX(-50%);
  width:80%;
  height:70%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(251,90,40,.16) 0%, rgba(251,90,40,.08) 28%, rgba(95,61,255,.20) 54%, transparent 74%);
  filter:blur(30px);
  animation:hunterPulse 4.2s ease-in-out infinite;
}
#loginView .login-character{
  position:relative;
  width:100%;
  height:auto;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.28));
  animation:hunterFloat 5.2s ease-in-out infinite, hunterTilt 8s ease-in-out infinite;
}
#loginView .login-visual-footer{
  position:absolute;
  left:42px;
  bottom:26px;
  color:#b2bfd7;
  font-size:13px;
  z-index:2;
}
#loginView .login-panel{
  position:absolute;
  top:50%;
  right:62px;
  transform:translateY(-50%);
  z-index:3;
  width:min(540px, calc(100vw - 80px));
  padding:0;
}
#loginView .login-card{
  width:100%;
  margin:0;
  padding:42px 40px 32px;
  border-radius:30px;
  border:1px solid rgba(229,69,103,.32);
  background:#ffffff;
  box-shadow:0 28px 70px rgba(0,0,0,.22);
  backdrop-filter:none;
}
#loginView .login-mobile-brand{display:none}
#loginView .login-copy{
  margin-bottom:26px;
}
#loginView .login-kicker{
  margin-bottom:12px;
  color:#ff355f;
  font-size:12px;
  letter-spacing:.14em;
}
#loginView .login-copy h2{
  margin:0 0 10px;
  font-size:clamp(38px,2.4vw,52px);
  line-height:1.04;
  letter-spacing:-.05em;
  color:#18223c;
}
#loginView .login-copy p{
  margin:0;
  color:#6d7a96;
  font-size:16px;
  line-height:1.75;
}
#loginView .login-form{
  gap:16px;
}
#loginView .login-form label>span{
  display:block;
  margin-bottom:8px;
  color:#18223c;
  font-size:13px;
  font-weight:700;
}
#loginView .input-shell{
  position:relative;
}
#loginView .input-shell svg{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:#8c99b5;
  stroke-width:1.8;
}
#loginView .input-shell input{
  width:100%;
  height:56px;
  padding:0 16px 0 48px;
  border-radius:14px;
  border:1px solid #dce4f4;
  background:#fbfcff;
  color:#1c2742;
  font-size:15px;
  box-shadow:none;
}
#loginView .input-shell input::placeholder{
  color:#8d99b3;
}
#loginView .input-shell input:focus{
  border-color:#ff6a8b;
  box-shadow:0 0 0 4px rgba(255,62,96,.08);
}
#loginView .login-submit{
  height:56px;
  margin-top:8px;
  border:none;
  border-radius:15px;
  background:linear-gradient(135deg,#e12d52,#f04176 55%,#ff5c81);
  box-shadow:0 20px 36px rgba(225,45,82,.24);
  font-size:15px;
  font-weight:800;
}
#loginView .login-submit:hover{
  background:linear-gradient(135deg,#d12247,#ea2f67 55%,#ff4d74);
}
#loginView .login-submit span{font-size:19px}
#loginView .form-error{
  min-height:20px;
  font-size:12px;
}
#loginView .login-security{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid #ecf0f7;
  color:#7d8ba7;
  font-size:13px;
}
#loginView .security-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#1fca8a;
  box-shadow:0 0 0 4px rgba(31,202,138,.12);
}
@media (max-width: 1420px){
  #loginView .login-visual-inner{padding-right:490px}
  #loginView .login-character-stage{left:310px;width:min(560px,40vw);min-width:400px}
  #loginView .login-panel{right:34px;width:min(500px,38vw)}
  #loginView .login-promo{max-width:390px}
}
@media (max-width: 1180px){
  #loginView .login-visual-inner{padding-right:0}
  #loginView .login-panel{position:relative;top:auto;right:auto;transform:none;width:min(560px,calc(100vw - 40px));margin:40px auto 60px}
  #loginView .login-visual{padding-bottom:0;min-height:auto}
  #loginView .login-character-stage{position:relative;left:auto;bottom:auto;width:min(520px,88vw);min-width:0;margin:24px auto 0}
  #loginView .login-visual-footer{position:relative;left:auto;bottom:auto;margin-top:20px}
}
@media (max-width: 900px){
  #loginView .login-visual{padding:22px 18px 0}
  #loginView .login-promo{margin-top:34px;max-width:none}
  #loginView .login-promo h1{max-width:none;font-size:clamp(38px,11vw,56px)}
  #loginView .login-promo>p{max-width:none}
  #loginView .login-features{width:100%;max-width:none}
  #loginView .login-features article{grid-template-columns:74px 1fr}
  #loginView .login-character-stage{width:min(420px,92vw);margin:18px auto 0}
  #loginView .login-panel{width:calc(100vw - 28px);margin:18px auto 34px}
  #loginView .login-card{padding:28px 20px 24px;border-radius:24px}
  #loginView .login-copy h2{font-size:clamp(30px,8vw,42px)}
  #loginView .login-copy p{font-size:14px}
  #loginView .login-form label>span{font-size:12px}
  #loginView .input-shell input{height:54px;font-size:14px}
  #loginView .login-visual-footer{font-size:12px}
}
