:root{color:#1d2433;background:#f4f7f4;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}.app-shell{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:12px 0 40px}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.login-panel{display:grid;gap:14px;width:min(440px,100%);border:1px solid #dce5db;border-radius:8px;padding:28px;background:#fff;box-shadow:0 18px 45px #25372a1f}.login-panel h1{margin:0;color:#17211b;font-size:34px}.login-panel p,.login-tip{margin:0;color:#52605a;line-height:1.65}.login-panel label{display:grid;gap:7px;color:#405047;font-size:13px;font-weight:700}.login-panel input{min-height:42px;border:1px solid #cfdbd1;border-radius:8px;padding:0 12px;color:#21332a;background:#fbfdfb}.form-error,.form-message{border-radius:8px;padding:9px 10px;font-size:13px;font-weight:700}.form-error{color:#8a2d42;background:#f8dfe6}.form-message{color:#17633f;background:#dff4e6}.hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:12px 0 14px}.eyebrow,.section-title span{display:inline-flex;align-items:center;gap:7px;color:#557061;font-size:13px;font-weight:700;text-transform:uppercase}.hero h1,.section-title h2,.achievement-card h3,.selected-event h3,.mini-stats h3{margin:0;letter-spacing:0}.hero h1{margin-top:8px;font-size:clamp(30px,5vw,52px);line-height:1.08;color:#17211b}.hero p{max-width:760px;margin:12px 0 0;color:#52605a;font-size:16px;line-height:1.7}.hero-actions{display:grid;justify-items:end;gap:8px;color:#53645b}.hero-actions strong{color:#17211b;font-size:20px}.role-chip{min-height:28px;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}.role-chip.admin{color:#fff;background:#1d6b4b}.role-chip.viewer{color:#52605a;background:#e9eee9}.logout-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #d7e1d8;border-radius:8px;padding:0 10px;color:#274136;background:#fff;font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 18px}.stat-card,.calendar-panel,.filters,.top-filter-panel,.achievement-card,.honor-panel{border:1px solid #dce5db;background:#fff;box-shadow:0 12px 30px #25372a14}.stat-card,.achievement-card{border-radius:8px}.stat-card{display:flex;gap:13px;min-height:118px;padding:18px}.stat-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:8px;color:#1d6b4b;background:#e7f4ec}.stat-card p,.stat-card span{margin:0;color:#65736d;font-size:13px}.stat-card strong{display:block;margin:4px 0;color:#17211b;font-size:28px}.recent-winner-card{min-height:118px}.recent-winner-list{display:grid;gap:2px;margin-top:2px}.recent-winner-list span{overflow:hidden;color:#25342c;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.calendar-panel{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;border-radius:8px;padding:18px}.top-filter-panel{display:grid;gap:10px;margin-bottom:16px;border-radius:8px;padding:14px 18px}.top-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.top-filter-panel .section-title{justify-content:flex-start;gap:8px}.top-filter-panel label{display:grid;gap:7px;color:#405047;font-size:13px;font-weight:700}.top-filter-panel select,.top-filter-panel input{width:100%;min-height:40px;border:1px solid #cfdbd1;border-radius:8px;padding:0 11px;color:#21332a;background:#fbfdfb}.upcoming-strip{display:flex;align-items:center;gap:8px;overflow-x:auto;border-top:1px solid #dce5db;padding-top:12px}.upcoming-strip>strong{flex:0 0 auto;color:#17211b}.upcoming-strip button{display:grid;gap:2px;min-width:150px;border:1px solid #d7e1d8;border-radius:8px;padding:8px 10px;color:#17382a;background:#f7faf7;text-align:left}.upcoming-strip button span{overflow:hidden;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.upcoming-strip button small,.upcoming-strip>span{color:#64746d}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;grid-column:1 / -1}.section-title.compact{grid-column:auto}.section-title h2{margin-top:3px;color:#17211b;font-size:22px}.month-control{display:flex;align-items:center;gap:10px}.month-control button,.card-head button,.icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d7e1d8;border-radius:8px;color:#274136;background:#f7faf7;text-decoration:none}.card-actions{display:flex;gap:7px;flex:0 0 auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #dce5db;border-radius:8px;background:#dce5db}.weekday,.day-cell{background:#fff}.weekday{min-height:36px;display:grid;place-items:center;color:#64746d;font-size:13px;font-weight:700}.day-cell{position:relative;min-height:118px;padding:10px}.day-cell.outside{background:#f7f9f7;color:#9ca9a2}.day-cell.today{outline:2px solid #2d8b65;outline-offset:-2px}.day-cell.drop-enabled{background-image:linear-gradient(135deg,rgba(45,139,101,.08) 25%,transparent 25%);background-size:12px 12px}.day-number{display:inline-grid;place-items:center;min-width:24px;height:24px;color:#2c3932;font-weight:700}.day-events{display:grid;gap:5px;margin-top:8px}.event-pill{width:100%;height:24px;overflow:hidden;border:0;border-radius:6px;padding:0 7px;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;color:#17382a}.event-role-0{background:#dff4e6}.event-role-1{background:#d9f0f3}.event-role-2{background:#fff0c2}.event-role-3{background:#f9dddd}.event-role-4{background:#e7e2fb}.event-role-5{background:#dcecff}.event-role-6{background:#f1e5d6}.event-role-7{background:#d7f3dc}.event-role-8{background:#f5d9eb}.event-role-9{background:#d8efe7}.event-role-10{background:#ecefd4}.event-role-11{background:#e1e8ef}.event-pill[draggable=true]{cursor:grab}.event-pill[draggable=true]:active{cursor:grabbing}.event-pill.selected{box-shadow:0 0 0 2px #17211b inset}.more-count{color:#65736d;font-size:12px;font-weight:700}.selected-event{align-self:stretch;border-radius:8px;padding:18px;background:#f6f8f3;border:1px solid #dce5db}.selected-event h3{margin:14px 0 8px;font-size:24px;line-height:1.25}.selected-event p{color:#52605a;line-height:1.7}.event-note{border-left:3px solid #2d8b65;padding-left:10px;background:#eef7f0}.schedule-editor{display:grid;gap:10px;margin-top:18px;border-top:1px solid #dce5db;padding-top:16px}.editor-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#17211b}.editor-title button,.manual-row>button:last-child{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d7e1d8;border-radius:8px;color:#274136;background:#fff}.schedule-editor label{display:grid;gap:6px;color:#405047;font-size:13px;font-weight:700}.schedule-editor input,.schedule-editor select{width:100%;min-height:38px;border:1px solid #cfdbd1;border-radius:8px;padding:0 10px;color:#21332a;background:#fff}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;border-radius:8px;color:#fff;background:#1d6b4b;font-weight:800}.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #1d6b4b;border-radius:8px;color:#1d6b4b;background:#fff;font-weight:800}.danger-action,.danger-ghost-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:8px;font-weight:800}.danger-action{border:0;color:#fff;background:#b42318}.danger-ghost-action{border:1px solid #d92d20;color:#b42318;background:#fff}.manual-list{display:grid;gap:7px;margin-top:4px}.manual-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:7px;align-items:center}.manual-row>button:first-child{display:grid;gap:2px;min-height:42px;border:1px solid #dce5db;border-radius:8px;padding:6px 9px;text-align:left;color:#25342c;background:#fff}.manual-row strong,.manual-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-row span{color:#65736d;font-size:12px}.drag-hint,.viewer-note{border-radius:8px;padding:10px;color:#52605a;background:#eef7f0;font-size:13px;line-height:1.55}.viewer-note{display:grid;gap:5px;margin-top:18px;border:1px solid #dce5db}.viewer-note strong{color:#17211b}.user-manager{display:grid;gap:10px;margin-top:8px;border-top:1px solid #dce5db;padding-top:16px}.user-manager label{display:grid;gap:6px;color:#405047;font-size:13px;font-weight:700}.user-manager input,.user-manager select{width:100%;min-height:40px;border:1px solid #cfdbd1;border-radius:8px;padding:0 11px;color:#21332a;background:#fbfdfb}.sidebar-user-manager{margin-top:4px}.user-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:8px;align-items:center;border:1px solid #dce5db;border-radius:8px;padding:9px;background:#fff}.user-row strong,.user-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row span{color:#65736d;font-size:12px}.password-editor{display:grid;gap:8px;border:1px solid #dce5db;border-radius:8px;padding:10px;background:#f7faf7}.password-editor>strong{color:#17211b}.user-row button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d7e1d8;border-radius:8px;color:#8a2d42;background:#fff}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.filters{position:sticky;top:16px;display:grid;gap:14px;border-radius:8px;padding:18px}.filters label{display:grid;gap:7px;color:#405047;font-size:13px;font-weight:700}.filters select,.filters input{width:100%;min-height:40px;border:1px solid #cfdbd1;border-radius:8px;padding:0 11px;color:#21332a;background:#fbfdfb}.setting-group{display:grid;gap:8px;border-top:1px solid #dce5db;padding-top:12px}.setting-input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.7fr) 38px;gap:7px}.setting-input-row:has(input+button){grid-template-columns:minmax(0,1fr) 38px}.setting-input-row button{display:grid;place-items:center;border:1px solid #1d6b4b;border-radius:8px;color:#1d6b4b;background:#fff}.setting-tags{display:flex;flex-wrap:wrap;gap:6px}.setting-tags button{border:1px solid #d7e1d8;border-radius:999px;padding:4px 9px;color:#274136;background:#f7faf7;font-size:12px;font-weight:800}.setting-tags button.confirm-delete{border-color:#d92d20;color:#b42318;background:#fff1ef}.category-setting-row{display:grid;grid-template-columns:minmax(72px,1fr) minmax(110px,1fr) auto;gap:6px;align-items:center;width:100%;border:1px solid #d7e1d8;border-radius:8px;padding:6px;background:#f7faf7}.category-setting-row.confirm-delete{border-color:#d92d20;background:#fff7f5}.category-setting-row strong{overflow:hidden;color:#274136;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.category-setting-row select{width:100%;min-height:32px;border:1px solid #cfdbd1;border-radius:8px;padding:0 8px;color:#21332a;background:#fff;font-size:12px}.category-setting-row button{border-radius:8px;white-space:nowrap}.search-box{position:relative}.search-box svg{position:absolute;left:12px;bottom:11px;color:#68776f}.search-box input{padding-left:38px}.achievement-list{min-width:0}.list-title{margin-bottom:12px}.list-title strong{color:#1d6b4b}.list-actions{display:flex;align-items:center;gap:10px}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.achievement-card{display:grid;gap:14px;padding:18px}.card-head{display:flex;justify-content:space-between;gap:12px}.card-head span{color:#68776f;font-size:13px;font-weight:700}.achievement-card h3{margin-top:4px;color:#17211b;font-size:20px;line-height:1.25}.achievement-card p{margin:0;color:#52605a;line-height:1.65}.edit-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#17211b52}.edit-panel{display:grid;gap:12px;width:min(720px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;border:1px solid #dce5db;border-radius:8px;padding:20px;background:#fff;box-shadow:0 24px 60px #17211b38}.calendar-popup{display:grid;gap:14px;width:min(760px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;border:1px solid #dce5db;border-radius:8px;padding:20px;background:#fff;box-shadow:0 24px 60px #17211b38}.calendar-popup h2{margin:2px 0 0;color:#17211b;font-size:24px}.calendar-popup p{margin:0;color:#52605a;line-height:1.6}.popup-month-control{justify-content:space-between}.popup-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.popup-day-cell{display:grid;align-content:start;gap:6px;min-height:76px;border:0;text-align:left;cursor:pointer}.popup-day-cell.has-event{outline:2px solid #2d8b65;outline-offset:-2px}.popup-event-label{display:inline-flex;width:fit-content;border-radius:999px;padding:3px 7px;color:#17633f;background:#dff4e6;font-size:12px;font-weight:800}.edit-panel h2{margin:2px 0 0;color:#17211b;font-size:22px}.edit-panel label{display:grid;gap:7px;color:#405047;font-size:13px;font-weight:700}.edit-panel input,.edit-panel select,.edit-panel textarea{width:100%;border:1px solid #cfdbd1;border-radius:8px;padding:10px 11px;color:#21332a;background:#fbfdfb}.edit-panel textarea{min-height:96px;resize:vertical;line-height:1.6}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #f3c7c2;background:#fff7f5;border-radius:8px;padding:12px}.danger-zone div:first-child{display:grid;gap:4px}.danger-zone span{color:#7a4b45;font-size:13px}.danger-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.winner-editor{display:grid;gap:10px;border-top:1px solid #dce5db;padding-top:14px}.winner-list{display:grid;gap:8px}.evaluation-panel{width:min(900px,100%)}.evaluation-brief,.evaluation-result{display:grid;gap:8px;border:1px solid #dce5db;border-radius:8px;padding:12px;background:#f7faf7}.ai-brief{border-color:#d8e1ef;background:#f6f9fd}.evaluation-brief strong,.evaluation-result strong{color:#17211b}.evaluation-brief ul{margin:0;padding-left:20px;color:#405047;line-height:1.65}.evaluation-brief span,.evaluation-result p{margin:0;color:#52605a;line-height:1.6}.evaluation-list{display:grid;gap:12px}.evaluation-row{display:grid;gap:10px;border:1px solid #dce5db;border-radius:8px;padding:12px;background:#fff}.evaluation-row.round-winner{border-color:#2d8b65;box-shadow:inset 3px 0 #2d8b65}.evaluation-row-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.evaluation-row-head>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.evaluation-row-head button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d7e1d8;border-radius:8px;color:#274136;background:#fff}.meta-row{display:flex;flex-wrap:wrap;gap:8px}.badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.tone-green{color:#17633f;background:#dff4e6}.tone-cyan{color:#116171;background:#dff4f4}.tone-amber{color:#7a5614;background:#faeccb}.tone-rose{color:#8a2d42;background:#f8dfe6}.tone-slate{color:#52605a;background:#e9eee9}dl{display:grid;gap:10px;margin:0}dl div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px}dt{color:#77857e;font-size:13px;font-weight:700}dd{margin:0;color:#25342c;line-height:1.55}.prerequisite{border-left:3px solid #d7a53d;padding:8px 10px;color:#6b4c12;background:#fff8e8;font-size:13px;font-weight:700}.honor-panel{margin-top:18px;border-radius:8px;padding:18px}.honor-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;margin-top:16px}.honor-wall{min-height:220px;border-radius:8px;border:1px dashed #c8d4ca;background:#f9fbf8}.sidebar-honor{display:grid;gap:12px;border-top:1px solid #dce5db;padding-top:16px}.compact-wall{min-height:150px}.honor-wall article{display:flex;gap:12px;padding:14px;border-bottom:1px solid #e1e9e2}.honor-wall article svg{color:#b7831e}.honor-wall article strong,.honor-wall article span{display:block}.honor-wall article span,.empty-state span,.mini-stats p{color:#65736d;line-height:1.6}.empty-state{display:grid;place-items:center;align-content:center;min-height:220px;gap:8px;padding:24px;text-align:center}.compact-empty{min-height:150px;padding:18px 12px}.empty-state svg{color:#2d8b65}.mini-stats{border-radius:8px;background:#f6f8f3;border:1px solid #dce5db;padding:18px}.sidebar-stats{padding:14px}.sidebar-stats .bar-row{grid-template-columns:78px minmax(0,1fr) 22px;gap:7px}.mini-stats h3{margin-bottom:12px;font-size:18px}.bar-row{display:grid;grid-template-columns:86px minmax(0,1fr) 28px;align-items:center;gap:10px;margin:9px 0;color:#405047;font-size:13px}.bar-row div{height:8px;overflow:hidden;border-radius:999px;background:#e3ebe4}.bar-row i{display:block;height:100%;border-radius:inherit;background:#2d8b65}@media(max-width:1180px){.stats-grid,.cards-grid,.top-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-panel,.honor-grid{grid-template-columns:1fr}}@media(max-width:820px){.app-shell{width:min(100% - 20px,760px);padding-top:12px}.hero,.workspace{grid-template-columns:1fr}.hero-actions{justify-items:start}.stats-grid,.cards-grid,.top-filter-grid{grid-template-columns:1fr}.filters{position:static}.calendar-panel{padding:12px}.section-title{align-items:flex-start;flex-direction:column}.month-control{width:100%;justify-content:space-between}.calendar-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(112px,1fr))}.day-cell{min-height:104px}dl div{grid-template-columns:1fr;gap:3px}}.ranking-shell{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:12px 0 44px}.ranking-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:10px 0 18px}.ranking-hero h1{margin:8px 0 0;color:#17211b;font-size:clamp(32px,5vw,56px);line-height:1.05;letter-spacing:0}.ranking-hero p{max-width:840px;margin:12px 0 0;color:#52605a;font-size:16px;line-height:1.7}.linked-achievement-chip{display:inline-flex;width:fit-content;margin-top:10px;border-radius:999px;padding:7px 12px;color:#0f5d40;background:#dff4e6;font-weight:900}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;color:#1d6b4b;font-weight:800;text-decoration:none}.ranking-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.ranking-stats article,.ranking-panel{border:1px solid #dce5db;border-radius:8px;background:#fff;box-shadow:0 12px 30px #25372a14}.ranking-stats article{display:flex;gap:14px;min-height:118px;padding:18px}.ranking-stats span,.ai-review-panel>svg{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:8px;color:#1d6b4b;background:#e1f4e9}.ranking-stats p,.ranking-stats small,.ranking-form p,.integration-grid p,.ai-review-panel p{margin:0;color:#52605a;line-height:1.65}.ranking-stats strong{display:block;max-width:260px;margin:3px 0 6px;overflow:hidden;color:#17211b;font-size:28px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.ranking-panel{padding:18px;margin-bottom:18px}.integration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.integration-grid article{min-height:128px;border:1px solid #dce5db;border-radius:8px;padding:16px;background:#f8fbf8}.source-status{display:inline-flex;width:fit-content;margin-bottom:10px;border-radius:999px;padding:4px 9px;color:#52605a;background:#e9eee9;font-size:12px;font-weight:900}.source-status.connected{color:#0f5d40;background:#dff4e6}.integration-grid h3,.ranking-form h2,.ai-review-panel h2{margin:0 0 8px;color:#17211b;letter-spacing:0}.ranking-filters{display:grid;grid-template-columns:minmax(280px,1.4fr) repeat(2,minmax(180px,.7fr));gap:12px;padding-bottom:16px;border-bottom:1px solid #dce5db}.ranking-filters label,.ranking-form label{display:grid;gap:7px;color:#405047;font-size:13px;font-weight:800}.ranking-filters input,.ranking-filters select,.ranking-form input,.ranking-form select{width:100%;min-height:40px;border:1px solid #cfdbd1;border-radius:8px;padding:0 12px;color:#21332a;background:#fbfdfb}.search-field{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid #cfdbd1;border-radius:8px;padding:0 12px;background:#fbfdfb}.search-field input{min-height:auto;border:0;padding:0;background:transparent;outline:none}.ranking-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;margin-top:16px;align-items:start}.ranking-table{display:grid;gap:8px}.ranking-table-head,.ranking-table-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(130px,.8fr) repeat(5,minmax(96px,.55fr));gap:10px;align-items:center}.ranking-table-head{padding:0 12px;color:#557061;font-size:12px;font-weight:900;text-transform:uppercase}.ranking-table-row{min-height:72px;border:1px solid #dce5db;border-radius:8px;padding:12px;background:#fbfdfb}.ranking-table-row strong{color:#17211b}.ranking-table-row small{display:block;margin-top:4px;color:#52605a}.rank-number small{display:inline-flex;align-items:center;gap:3px;font-weight:900}.rank-number .up{color:#1d6b4b}.rank-number .down{color:#b42318}.ranking-side-forms{position:sticky;top:16px;display:grid;gap:12px}.ranking-form{display:grid;gap:12px;border:1px solid #dce5db;border-radius:8px;padding:16px;background:#f8fbf8}.ranking-form-grid{display:grid;gap:10px}.primary-action.full{width:100%}.ai-review-panel{display:flex;gap:14px;align-items:flex-start;background:#f8fbff}.placeholder-data-panel{display:flex;align-items:center;gap:16px;min-height:180px;background:#f8fbf8}.placeholder-data-panel>svg{flex:0 0 auto;color:#1d6b4b}.placeholder-data-panel h2{margin:0 0 8px;color:#17211b;letter-spacing:0}.placeholder-data-panel p{margin:0;color:#52605a;line-height:1.65}.site-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.site-overview-card{display:grid;gap:14px;min-height:172px;border:1px solid #dce5db;border-radius:8px;padding:18px;background:#fff;box-shadow:0 12px 30px #25372a14}.site-overview-card span{display:inline-flex;width:fit-content;border-radius:999px;padding:5px 10px;color:#0f5d40;background:#dff4e6;font-size:12px;font-weight:900}.site-overview-card h2{margin:10px 0 4px;color:#17211b;font-size:22px;letter-spacing:0}.site-overview-card p{margin:0;color:#52605a}.site-overview-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.site-overview-card dl div{display:grid;gap:2px;border-radius:8px;padding:10px;background:#f4f8f4}.site-overview-card dt{color:#52605a;font-size:12px;font-weight:800}.site-overview-card dd{margin:0;color:#17211b;font-size:18px;font-weight:900}.ranking-note{margin:-6px 0 18px;border-left:4px solid #1d6b4b;border-radius:8px;padding:12px 14px;color:#405047;background:#eef8f1;line-height:1.65;font-weight:700}.add-site-panel{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(190px,.7fr) minmax(150px,.6fr) minmax(150px,.55fr) auto;gap:12px;align-items:end}.add-site-panel h2{margin:0;color:#17211b;letter-spacing:0}.add-site-panel p{margin:6px 0 0;color:#52605a;line-height:1.55}.add-site-panel>div>span{color:#557061;font-size:13px;font-weight:900}.add-site-panel label{display:grid;gap:7px;color:#405047;font-size:13px;font-weight:800}.add-site-panel input,.add-site-panel select{width:100%;min-height:40px;border:1px solid #cfdbd1;border-radius:8px;padding:0 12px;color:#21332a;background:#fbfdfb}.keyword-toolbar{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(320px,1.2fr) repeat(4,minmax(150px,auto));gap:12px;align-items:end;padding-bottom:16px;border-bottom:1px solid #dce5db}.keyword-toolbar label{display:grid;gap:7px;color:#405047;font-size:13px;font-weight:800}.keyword-add-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.keyword-add-field input{min-height:40px;border:1px solid #cfdbd1;border-radius:8px;padding:0 12px;color:#21332a;background:#fbfdfb}.keyword-refresh{min-width:150px}.sync-status{margin-top:12px;border-radius:8px;padding:10px 12px;color:#1d6b4b;background:#e7f6ec;font-weight:800;line-height:1.55}.keyword-ranking-table{display:grid;gap:8px;margin-top:16px;overflow-x:auto}.keyword-ranking-head,.keyword-ranking-row{display:grid;gap:10px;align-items:center;min-width:1120px}.keyword-ranking-head{padding:0 12px;color:#557061;font-size:12px;font-weight:900;text-transform:uppercase}.keyword-ranking-row{min-height:86px;border:1px solid #dce5db;border-radius:8px;padding:12px;background:#fbfdfb}.keyword-ranking-row strong,.site-result-cell strong{color:#17211b}.keyword-ranking-row small,.site-result-cell small{display:block;margin-top:4px;color:#52605a}.site-result-cell{min-height:60px;border-radius:8px;padding:10px;background:#f1f7f3}.site-result-cell small{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-weight:900}.site-result-cell small span{flex-basis:100%;color:#52605a;font-weight:700}.metric-lines{display:grid;gap:3px;margin-top:6px;color:#52605a;font-size:13px;font-weight:800}.winner-cell{border-radius:8px;padding:10px;color:#0f5d40;background:#dff4e6}.winner-cell strong{color:#0f5d40}.geo-panel{display:grid;gap:16px}.geo-intro{max-width:980px;margin:0;color:#405047;line-height:1.65}.geo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.geo-card{display:grid;gap:12px;border:1px solid #dce5db;border-radius:8px;padding:16px;background:#fbfdfb}.geo-card h3{margin:6px 0 0;color:#17211b;font-size:18px;line-height:1.35}.geo-card p{margin:0;color:#405047;line-height:1.65}.geo-empty-answer{border-radius:8px;padding:12px;color:#52605a;background:#f1f7f3;font-weight:800}.geo-card mark{border-radius:6px;padding:1px 5px;color:#0f5d40;background:#ffe9a8;font-weight:900}.geo-keyword{display:inline-flex;width:fit-content;border-radius:999px;padding:4px 10px;color:#0f5d40;background:#dff4e6;font-size:12px;font-weight:900}.geo-meta{display:flex;flex-wrap:wrap;gap:8px;color:#52605a;font-size:13px;font-weight:800}.geo-meta span{border-radius:999px;padding:5px 9px;background:#f1f7f3}.winner-cell small{color:#276f52;font-weight:800}@media(max-width:1180px){.ranking-stats,.integration-grid,.site-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-workspace{grid-template-columns:1fr}.ranking-side-forms{position:static}.ranking-table{overflow-x:auto}.ranking-table-head,.ranking-table-row{min-width:980px}.keyword-toolbar{grid-template-columns:1fr}.add-site-panel{grid-template-columns:1fr 1fr}.add-site-panel>div{grid-column:1 / -1}.keyword-refresh{width:100%}}@media(max-width:820px){.ranking-shell{width:min(100% - 20px,760px)}.ranking-hero,.ranking-filters,.ranking-stats,.integration-grid,.site-overview-grid,.keyword-add-field,.add-site-panel{grid-template-columns:1fr}}
