*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,Arial,sans-serif;background:#0b0f15;color:#e6edf3}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{background:#05080d;padding:24px 22px;border-right:1px solid #242b35;position:sticky;top:0;height:100vh}aside h1{margin:0 0 10px;font-size:30px;line-height:.95;letter-spacing:-1px}aside p{margin:0 0 18px;color:#8b949e;font-size:14px}main{flex:1;padding:24px 28px 40px;max-width:1480px;width:100%}button{background:#238636;border:1px solid rgba(255,255,255,.08);color:#fff;padding:10px 14px;border-radius:12px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:700;transition:transform .12s ease,filter .12s ease,background .12s ease}button:hover{filter:brightness(1.08);transform:translateY(-1px)}button:disabled{opacity:.7;cursor:not-allowed;transform:none}aside button{width:100%;margin-bottom:10px;justify-content:flex-start}.navActive{background:#2ea043!important;box-shadow:0 0 0 3px #2ea0431f}.tabs{display:flex;gap:8px;flex-wrap:wrap}input,textarea,select{background:#0f141c;border:1px solid #2b3440;color:#e6edf3;padding:11px 12px;border-radius:12px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:#2ea043;box-shadow:0 0 0 3px #2ea04324}label span{display:block;margin-bottom:7px;color:#c9d1d9;font-size:13px;font-weight:700}textarea{margin:0;min-height:80px;resize:vertical}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.card,.panel,.projectDetail{background:linear-gradient(180deg,#141a22,#111720);border:1px solid #2b3440;border-radius:18px;box-shadow:0 12px 32px #0000002e}.card{min-height:108px;padding:18px;display:grid;align-content:space-between;gap:8px}.card svg{color:#c9d1d9;opacity:.9}.card b{font-size:32px;line-height:1;letter-spacing:-1px}.card span{color:#8b949e;font-weight:700}.panel{margin-bottom:18px;padding:22px;overflow:auto}.panel h2{display:flex;gap:9px;align-items:center;margin:0 0 18px;font-size:22px;letter-spacing:-.3px}.panelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panelHead h2{margin:0}.row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.domainForm{display:grid;grid-template-columns:1.3fr 1fr auto;gap:10px;align-items:center}.createProjectPanel{border-color:#35533b}.createProjectForm{display:grid;grid-template-columns:1fr 1.2fr 1fr auto;gap:10px;align-items:center}.createProjectForm .wide{grid-column:1 / -1}.projectForm{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:center;margin-bottom:14px}.projectAddBox{background:#0f141c;border:1px solid #2b3440;border-radius:14px;padding:14px;display:grid;gap:10px;margin:14px 0 18px}.projectAddRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.projectHeaderGrid{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(100px,.55fr)) auto;gap:12px;align-items:center;margin-bottom:14px}.projectHeaderGrid h2{margin:0 0 6px}.projectMetric{background:#0f141c;border:1px solid #2b3440;border-radius:14px;padding:12px;display:grid;gap:4px;min-height:66px;align-content:center}.projectMetric b{font-size:24px;line-height:1}.projectMetric span{color:#8b949e;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.rankForm{display:grid;grid-template-columns:.9fr 1fr 1.4fr 1.4fr auto;gap:10px;align-items:center;margin-bottom:14px}.nodeForm{display:grid;grid-template-columns:1fr 1fr .8fr 1.4fr 1fr auto;gap:10px;align-items:center;margin-bottom:14px}.nodeStatusGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nodeStatusCard{background:#0f141c;border:1px solid #2b3440;border-radius:15px;padding:14px;display:grid;gap:10px;align-content:start}.nodeStatusCard b{display:block;margin-bottom:4px;color:#f0f6fc}.nodeStatusCard small{color:#8b949e}.healthBadge{width:fit-content;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:#30363d;color:#c9d1d9}.healthBadge.online{background:#1f6f3a;color:#aff5b4}.healthBadge.offline{background:#8e1519;color:#ffdcd7}.healthBadge.warning{background:#9e6a03;color:#ffdf8b}.healthBadge.unknown{background:#30363d;color:#c9d1d9}.grid{display:grid;grid-template-columns:1fr 1fr 2fr 1fr auto;gap:10px;align-items:center}.settingsGrid{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.settingsGrid .wide{grid-column:1 / 3}.settingsGrid button{min-height:44px}.hint{margin:16px 0;color:#9da7b3;font-size:14px;background:#0f141c;border:1px solid #2b3440;border-radius:12px;padding:12px 14px}.muted{color:#8b949e;font-size:13px}.projectStack{display:grid;gap:16px}.projectDetail{padding:18px;overflow:auto}.projectGrid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.projectCard{background:#0f141c;border:1px solid #2b3440;border-radius:15px;padding:14px;display:grid;gap:7px}.projectCard b{color:#f0f6fc}.projectCard span{color:#c9d1d9;font-weight:700}.projectCard small{color:#8b949e}.alertPanel{border-color:#3b3320}.alertList{display:grid;gap:10px}.alertItem{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;background:#0f141c;border:1px solid #2b3440;border-radius:14px;padding:11px 12px}.alertItem b{display:block;margin-bottom:3px}.alertItem small{color:#8b949e}.filters{display:grid;grid-template-columns:2fr 170px 220px;gap:10px;margin-bottom:14px}.searchBox{position:relative;display:flex;align-items:center}.searchBox svg{position:absolute;left:12px;color:#8b949e}.searchBox input{padding-left:38px}table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}th,td{border-bottom:1px solid #2b3440;padding:12px 10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:#8b949e;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.domainCell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#f0f6fc;font-weight:700}.badge{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;display:inline-flex}.badge.working{background:#1f6f3a;color:#aff5b4}.badge.warning{background:#9e6a03;color:#ffdf8b}.badge.blocked{background:#8e1519;color:#ffdcd7}.badge.unknown{background:#30363d;color:#c9d1d9}.actions{display:flex;gap:7px;align-items:center}.iconBtn,.smallBtn{background:#21262d;border:1px solid #30363d}.iconBtn{width:32px;height:32px;padding:0;border-radius:10px;flex:0 0 auto}.smallBtn{padding:8px 11px;border-radius:10px}.danger{background:#45161a;color:#ffdcd7;border-color:#8e1519}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chips span{background:#0d1117;border:1px solid #30363d;padding:6px 8px 6px 10px;border-radius:999px;display:inline-flex;gap:8px;align-items:center}.chipDelete{width:22px;height:22px;padding:0;border-radius:999px;background:#45161a;color:#ffdcd7;border:1px solid #8e1519}.ghostBtn{background:#21262d;border:1px solid #30363d}.sideNotice{margin-top:8px;padding:11px 12px;border:1px solid #2b3440;background:#0f141c;border-radius:12px;font-size:13px;color:#c9d1d9;line-height:1.4}.loading{min-height:100vh;display:grid;place-items:center;color:#8b949e;background:#0d1117}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#1f2937,#0d1117 55%)}.loginCard{width:min(420px,100%);background:#161b22;border:1px solid #30363d;border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 70px #00000059}.loginCard h1{margin:0}.loginCard p{margin:0 0 8px;color:#8b949e}.loginIcon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#0d1117;border:1px solid #30363d}.errorBox{color:#ffdcd7;background:#8e1519;border:1px solid #ff7b72;padding:10px;border-radius:10px;font-size:13px}.bootError{position:fixed;left:16px;right:16px;bottom:16px;background:#8e1519;color:#ffdcd7;border:1px solid #ff7b72;padding:12px;border-radius:12px;z-index:20}@media (max-width: 1250px){.projectHeaderGrid{grid-template-columns:1fr repeat(2,minmax(110px,.4fr))}.projectHeaderGrid>div:last-child{grid-column:auto}.nodeStatusGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1100px){.cards{grid-template-columns:repeat(2,1fr)}.settingsGrid{grid-template-columns:1fr}.settingsGrid .wide{grid-column:auto}.grid{grid-template-columns:1fr 1fr}.domainForm,.projectForm,.rankForm,.nodeForm,.createProjectForm{grid-template-columns:1fr}.createProjectForm .wide{grid-column:auto}.projectGrid{grid-template-columns:repeat(2,1fr)}.filters,.projectAddRow{grid-template-columns:1fr}}@media (max-width: 760px){html,body{width:100%;overflow-x:hidden}body{font-size:14px}.app{display:block;width:100%;overflow-x:hidden}aside{width:100%;height:auto;position:relative;padding:18px 16px;border-right:0;border-bottom:1px solid #242b35}aside h1{font-size:28px;margin-bottom:6px}aside p{font-size:13px;margin-bottom:14px}aside button{min-height:44px;margin-bottom:8px;border-radius:13px;padding:10px 12px;font-size:14px}main{width:100%;padding:14px 12px 84px;overflow-x:hidden}.cards{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.card{min-height:82px;padding:13px;border-radius:15px}.card b{font-size:24px}.card span{font-size:12px}.panel,.projectDetail{padding:14px;border-radius:16px;margin-bottom:14px;overflow:visible}.panel h2,.projectHeaderGrid h2{font-size:20px;line-height:1.15;margin-bottom:8px}.panelHead{align-items:flex-start;flex-direction:column;gap:10px}.tabs{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tabs button{width:100%}.createProjectForm,.domainForm,.projectForm,.rankForm,.nodeForm,.grid,.settingsGrid,.filters,.projectAddRow{grid-template-columns:1fr;gap:9px}.nodeStatusGrid{grid-template-columns:1fr}.createProjectForm .wide,.settingsGrid .wide{grid-column:auto}input,textarea,select{min-height:44px;padding:10px 12px;border-radius:13px;font-size:16px}textarea{min-height:78px}button{min-height:42px;border-radius:13px}.hint{font-size:13px;padding:10px 12px;margin:12px 0}.sideNotice{font-size:12px;padding:10px}.projectStack{gap:14px}.projectHeaderGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.projectHeaderGrid>div:first-child{grid-column:1 / -1}.projectHeaderGrid>div:last-child{grid-column:1 / -1}.projectMetric{min-height:auto;padding:10px;border-radius:13px}.projectMetric b{font-size:20px}.projectMetric span{font-size:10px}.projectAddBox{padding:11px;gap:9px;margin:10px 0 12px;border-radius:14px}table,thead,tbody,tr,th,td{display:block;width:100%}table{border-collapse:separate;border-spacing:0;font-size:13px}thead{display:none}tbody{display:grid;gap:10px}tr{background:#0f141c;border:1px solid #2b3440;border-radius:14px;padding:11px}td{border-bottom:0;padding:5px 0;display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;overflow-wrap:anywhere}td:nth-child(1):before{content:"Item"}td:nth-child(2):before{content:"Project"}td:nth-child(3):before{content:"Status"}td:nth-child(4):before{content:"Last"}td:nth-child(5):before{content:"Checked"}td:nth-child(6):before{content:"Active"}td:nth-child(7):before{content:"Actions"}td:nth-child(8):before{content:"Reason"}td:before{color:#8b949e;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.domainCell{font-size:13px;line-height:1.35;word-break:break-word}.badge,.healthBadge{width:fit-content;font-size:10px;padding:5px 9px}.actions{justify-content:flex-start;gap:8px;flex-wrap:nowrap}.iconBtn{width:36px;height:36px;border-radius:11px}.smallBtn{width:100%;justify-content:center}.chips{gap:7px}.chips span{width:100%;justify-content:space-between;border-radius:12px}.alertItem{grid-template-columns:1fr;gap:8px}.searchBox input{padding-left:36px}}@media (max-width: 390px){.cards{grid-template-columns:1fr}td{grid-template-columns:76px 1fr;gap:8px}.projectHeaderGrid{grid-template-columns:1fr}}
