@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Noto+Sans+SC:wght@400;500;700&display=swap";:root{--bg-a: #f2f6f7;--bg-b: #e8f0ed;--card: #ffffff;--card-soft: #f8fbfa;--line: #d2dfdb;--text: #1c2926;--muted: #5c726c;--accent: #136f63;--accent-soft: #d8f2ec;--danger: #b73c3c;--shadow: 0 14px 35px rgba(20, 48, 43, .08)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Noto Sans SC,sans-serif;color:var(--text);background:radial-gradient(circle at 12% 10%,rgba(95,177,164,.2),transparent 32%),radial-gradient(circle at 82% 8%,rgba(28,82,74,.11),transparent 28%),linear-gradient(150deg,var(--bg-a),var(--bg-b))}.layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{border-right:1px solid var(--line);background:#ffffffd1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px 16px;display:grid;grid-template-rows:auto 1fr auto;gap:16px;height:100vh;overflow:hidden}.brand-title{margin:0;font-family:Space Grotesk,sans-serif;font-size:20px;line-height:1.2}.brand-sub{margin:6px 0 0;color:var(--muted);font-size:12px}.nav-list{display:grid;gap:8px;align-content:start;min-height:0;overflow-y:auto;padding-right:2px}.nav-item{text-align:left;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:12px;padding:10px 12px;cursor:pointer;transition:.2s ease}.nav-item:hover{border-color:#aec7c1;transform:translateY(-1px)}.nav-item.active{background:var(--accent-soft);border-color:#8fcfbe;color:#114f46}.nav-item-label{display:block;font-weight:700;font-size:14px}.nav-item-hint{display:block;margin-top:2px;color:var(--muted);font-size:11px}.sidebar-foot{font-size:12px;color:var(--muted);border-top:1px solid #dde8e4;padding-top:10px;background:#ffffffe6}.workspace{padding:20px;min-width:0}.workspace-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.workspace-head h1{margin:0;font-family:Space Grotesk,sans-serif;font-size:28px}.workspace-head p{margin:8px 0 0;color:var(--muted)}.pill{display:inline-block;border:1px solid #9bc9bf;color:#0f6054;background:var(--accent-soft);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;border:1px solid var(--line)}.status-dot{width:8px;height:8px;border-radius:50%;background:#9ca3af}.status-online{background:#e8f8ef;border-color:#9fdfb5;color:#1d7e3c}.status-online .status-dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.status-offline{background:#f5f6f8;border-color:#d4d8de;color:#5b6470}.status-hint{color:#1d7e3c;font-weight:700}.workspace-body{margin-top:16px;background:#ffffffa8;border:1px solid #dce7e3;border-radius:16px;box-shadow:var(--shadow);padding:16px;min-width:0}.page{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.metric-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px}.metric-title{color:var(--muted);font-size:12px}.metric-value{margin-top:4px;font-size:28px;font-family:Space Grotesk,sans-serif;font-weight:700}.panel{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}input,select,textarea,button{font-family:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card-soft);color:var(--text);padding:10px}textarea{resize:vertical}button{border:1px solid #a7cfc5;background:#e5f7f2;color:#0b5c4f;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}button:hover{background:#d7f1ea}button:disabled{cursor:not-allowed;opacity:.72}.action-feedback{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}.action-feedback-running{color:#0d4f45;background:#e4f6f1;border-color:#96d3c4}.action-feedback-success{color:#1f6a2f;background:#eaf8ee;border-color:#a8ddba}.action-feedback-error{color:#8b1f1f;background:#fdeeee;border-color:#efb8b8}.action-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(16,111,99,.22);border-top-color:#136f63;animation:action-spin .75s linear infinite;flex:0 0 auto}@keyframes action-spin{to{transform:rotate(360deg)}}body.app-busy{cursor:progress}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-scroll-hint{display:none;font-size:12px;color:var(--muted);margin:2px 0 6px}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:var(--card)}.table-scroll>table{margin:0;border:0;border-radius:0;min-width:100%}.table-wide-account{min-width:1520px}.table-wide-proxy{min-width:860px}th,td{border-bottom:1px solid #e6efec;text-align:left;padding:10px;font-size:13px;vertical-align:top}th{background:#f2f8f6;color:#35564f}pre{margin:0;border:1px solid var(--line);border-radius:12px;background:#0f1f1c;color:#d0ece6;padding:12px;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto}.task-progress-wrap{border:1px solid var(--line);border-radius:12px;background:#f8fbfa;padding:10px}.task-progress-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:#35564f;font-weight:700;font-size:12px}.task-progress-bar{width:100%;height:12px;border-radius:999px;background:#deebe7;overflow:hidden}.task-progress-fill{height:100%;background:linear-gradient(90deg,#18a379,#2ab57d);transition:width .25s ease}.task-ok{color:#1d7e3c;font-weight:700}.task-fail{color:#b73c3c;font-weight:700}.channel-center-tabs{display:inline-flex;width:fit-content;padding:4px;gap:4px;border:1px solid var(--line);border-radius:10px;background:#edf5f2}.channel-center-tabs button{min-width:108px;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:8px 14px}.channel-center-tabs button:hover{background:#ffffffb8}.channel-center-tabs button.active{background:var(--card);color:var(--accent);box-shadow:0 2px 8px #14302b1a}.channel-center-error{border:1px solid #efb8b8;border-radius:8px;background:#fdeeee;color:#8b1f1f;padding:10px 12px;font-size:13px}.subscriber-control-panel{display:grid;gap:14px}.subscriber-toolbar{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(190px,1.2fr);gap:10px;align-items:end}.subscriber-toolbar label{display:grid;gap:6px;min-width:0}.subscriber-toolbar label>span{color:var(--muted);font-size:12px;font-weight:700}.subscriber-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.subscriber-summary{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));border-top:1px solid #e4ece9;border-bottom:1px solid #e4ece9}.subscriber-summary>div{min-width:0;padding:12px;border-right:1px solid #e4ece9}.subscriber-summary>div:last-child{border-right:0}.subscriber-summary span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.subscriber-summary strong{display:block;color:var(--text);font-size:20px;line-height:1.25}.subscriber-summary .subscriber-time{font-size:13px;padding-top:5px}.subscriber-progress{padding:0;border:0;background:transparent}.subscriber-results-panel{min-width:0}.subscriber-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.subscriber-results-head h3{margin:0}.subscriber-results-head span{color:var(--muted);font-size:12px;font-weight:700}.subscriber-table-scroll{max-height:66vh;overflow:auto}.subscriber-table{min-width:980px!important}.subscriber-table thead th{position:sticky;top:0;z-index:1;box-shadow:inset 0 -1px #dce7e3}.subscriber-table th:nth-child(1){width:54px}.subscriber-table th:nth-child(2){width:190px}.subscriber-table th:nth-child(3){width:175px}.subscriber-table th:nth-child(5){width:125px;text-align:right}.subscriber-table th:nth-child(6){width:240px}.subscriber-table a{color:var(--accent);overflow-wrap:anywhere}.subscriber-table code{white-space:nowrap}.subscriber-channel-title{font-weight:700}.subscriber-count-cell{text-align:right;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:700}.subscriber-empty{height:120px;text-align:center;vertical-align:middle;color:var(--muted)}.optimization-workspace,.optimization-controls{display:grid;gap:14px;min-width:0;width:100%;max-width:100%}.optimization-heading,.optimization-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.optimization-heading h3,.optimization-section-head h3{margin:0}.optimization-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}.optimization-metrics,.optimization-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}.optimization-filter-grid{display:grid;grid-template-columns:minmax(180px,1.15fr) repeat(3,minmax(140px,.8fr)) minmax(220px,1.35fr);gap:10px;min-width:0;width:100%;max-width:100%}.optimization-filter-grid label,.optimization-plan-grid label{display:grid;gap:6px;min-width:0}.optimization-filter-grid label>span,.optimization-plan-grid label>span,.optimization-article-plan>span{color:var(--muted);font-size:12px;font-weight:700}.optimization-notice{padding:9px 11px;border-left:3px solid #b98218;background:#fff8e8;color:#66490f;font-size:13px}.optimization-section-head{align-items:center;margin-bottom:10px}.optimization-section-head>span{color:var(--muted);font-size:12px;font-weight:700}.optimization-table-scroll{max-height:64vh;max-width:100%;overflow:auto}.optimization-channel-panel,.optimization-preview-panel,.optimization-results-panel{min-width:0}.optimization-table{min-width:1620px!important}.optimization-table thead th{position:sticky;top:0;z-index:1;box-shadow:inset 0 -1px #dce7e3}.optimization-table th:nth-child(1){width:64px;text-align:center}.optimization-table th:nth-child(2){width:190px}.optimization-table th:nth-child(3){width:170px}.optimization-table th:nth-child(4){width:180px}.optimization-table th:nth-child(5),.optimization-table th:nth-child(6){width:105px}.optimization-table th:nth-child(7){width:210px}.optimization-table th:nth-child(8){width:135px}.optimization-table th:nth-child(9){width:145px}.optimization-table th:nth-child(10){width:165px}.optimization-table td:first-child{text-align:center}.optimization-table tr.selected td{background:#f0faf7}.optimization-table input[type=checkbox],.optimization-checkbox input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.optimization-table a{color:var(--accent)}.optimization-table code,.optimization-plan code,.optimization-result-row code{white-space:nowrap}.optimization-channel-title{font-weight:700}.optimization-right{display:inline-flex;min-width:64px;justify-content:center;padding:4px 7px;border-radius:6px;font-size:12px;font-weight:700}.optimization-right.allowed{background:#e1f4e7;color:#27643a}.optimization-right.denied{background:#fde9e7;color:#8b2d27}.optimization-right.unknown{background:#f1f2f4;color:#59616a}.optimization-empty{height:120px;text-align:center;vertical-align:middle;color:var(--muted)}.optimization-plan-list,.optimization-result-list{border-top:1px solid var(--border)}.optimization-plan{padding:14px 0;border-bottom:1px solid var(--border)}.optimization-plan:last-child,.optimization-result-row:last-child{border-bottom:0}.optimization-plan.failed{background:snow}.optimization-plan header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.optimization-plan header>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.optimization-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.optimization-plan-grid .wide{grid-column:1 / -1}.optimization-checkbox{display:flex!important;grid-template-columns:auto 1fr;flex-direction:row;align-items:center}.optimization-article-plan{padding:10px 0;border-top:1px dashed var(--border);color:var(--text);font-size:13px}.optimization-article-plan>span{display:block;margin-bottom:5px}.optimization-plan-error{margin:0;color:#8b2d27}.optimization-result-row{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,.8fr);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.optimization-result-row>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.optimization-username-verify{display:grid!important;grid-template-columns:minmax(180px,1fr) auto;gap:8px!important}@media (max-width: 1000px){.layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line);grid-template-rows:auto auto auto;height:auto;overflow:visible}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.workspace{padding:12px}.workspace-head h1{font-size:22px}.table-scroll-hint{display:block}.grid-2,.grid-3{grid-template-columns:1fr}.subscriber-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.subscriber-search-field{grid-column:1 / -1}.subscriber-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.subscriber-summary>div,.subscriber-summary>div:last-child{border-right:0;border-bottom:1px solid #e4ece9}.subscriber-summary>div:nth-last-child(-n+2){border-bottom:0}.optimization-heading,.optimization-section-head{align-items:stretch;flex-direction:column}.optimization-filter-grid,.optimization-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.optimization-search-field{grid-column:1 / -1}.optimization-result-row{grid-template-columns:1fr}}@media (max-width: 620px){.channel-center-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.channel-center-tabs button{min-width:0;width:auto;padding:8px 5px;white-space:normal}.subscriber-toolbar,.subscriber-summary{grid-template-columns:1fr}.subscriber-search-field{grid-column:auto}.subscriber-summary>div,.subscriber-summary>div:nth-last-child(-n+2){border-bottom:1px solid #e4ece9}.subscriber-summary>div:last-child{border-bottom:0}.subscriber-actions button{flex:1 1 140px}.optimization-filter-grid,.optimization-plan-grid,.optimization-username-verify{grid-template-columns:1fr}.optimization-search-field,.optimization-plan-grid .wide{grid-column:auto}.optimization-actions button{flex:1 1 180px}}
