@charset "UTF-8";
:root{--ink:#1d2926;--ink-2:#263733;--ink-3:#385049;--gold:#aa8750;--gold-dark:#876637;--gold-light:#d8c39c;--paper:#f4f3ef;--card:#fff;--line:#e7e5df;--text:#202a27;--muted:#78817d;--soft:#a2aaa6;--green:#337965;--green-bg:#eaf4ef;--amber:#b67932;--amber-bg:#fff4e4;--red:#a84d49;--red-bg:#fbeceb;--blue:#4f7187;--blue-bg:#edf3f7;--shadow:0 10px 30px rgba(30,43,39,.055);--radius:14px;--sidebar:248px}
*{box-sizing:border-box}html{font-size:14px;scroll-behavior:smooth}body{margin:0;font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.hidden{display:none!important}.boot-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:#d7dedb;z-index:1000}.boot-screen p{margin-top:22px;font-size:13px;letter-spacing:2px}.boot-line{width:120px;height:2px;margin-top:24px;background:#3c4c47;overflow:hidden}.boot-line:after{content:"";display:block;width:50%;height:100%;background:var(--gold-light);animation:boot 1.2s infinite ease-in-out}@keyframes boot{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong{display:block;font-size:18px;letter-spacing:3px;font-weight:600}.brand-lockup span{display:block;margin-top:4px;font-size:8px;letter-spacing:1.7px;color:var(--muted)}.brand-lockup.light strong{color:#f7f3eb}.brand-lockup.light span{color:#94a19c}.brand-seal{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--gold);color:var(--gold-light);font-family:"Songti SC","STSong",serif;font-size:22px;transform:rotate(45deg);border-radius:4px;flex:none}.brand-seal::first-letter{transform:rotate(-45deg)}.brand-seal.large{width:58px;height:58px;font-size:30px}.brand-seal{line-height:1}.brand-seal.large{font-size:30px}.brand-seal{--r:45deg}.brand-seal{writing-mode:horizontal-tb}.brand-seal{transform:rotate(45deg)}.brand-seal::before{content:"";position:absolute}.brand-lockup .brand-seal, .boot-screen .brand-seal{text-shadow:0 0 20px rgba(210,185,140,.15)}
.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--gold-dark);margin-bottom:16px}.eyebrow.light{color:var(--gold-light)}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(420px,.8fr);background:#f8f7f4}.login-brand-panel{position:relative;overflow:hidden;background:var(--ink);padding:42px 54px;display:flex;flex-direction:column;min-height:100vh}.login-brand-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.edition{font-size:9px;letter-spacing:1.5px;color:#87958f}.login-statement{position:relative;z-index:2;margin:auto 0;max-width:600px;padding:60px 0}.login-statement h1{font-family:"Songti SC","STSong",serif;font-weight:400;font-size:clamp(48px,5vw,76px);line-height:1.25;letter-spacing:4px;color:#f5f2eb;margin:0 0 30px}.login-statement h1 span{color:var(--gold-light)}.login-statement>p{max-width:500px;color:#a8b4af;line-height:2;font-size:15px;letter-spacing:.5px}.login-capabilities{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.login-capabilities span{padding:8px 14px;border:1px solid #42534d;border-radius:30px;color:#c4cec9;font-size:11px;letter-spacing:.5px;background:rgba(255,255,255,.025)}.login-brand-foot{position:relative;z-index:2;display:flex;justify-content:space-between;color:#7f8e88;font-size:10px;letter-spacing:1px}.login-art{position:absolute;width:520px;height:520px;right:-130px;bottom:-100px;opacity:.6}.ring{position:absolute;border:1px solid #6c756b;border-radius:50%;inset:0}.ring-two{inset:65px;border-color:#56665f}.ring-three{inset:135px;border-color:#9a845f}.login-art>span{position:absolute;inset:0;display:grid;place-items:center;font-family:"Songti SC",serif;font-size:120px;color:#766f5c;opacity:.5}.login-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;position:relative}.login-card{width:100%;max-width:390px}.login-card h2{font-size:34px;font-weight:600;letter-spacing:2px;margin:0 0 12px}.login-intro{color:var(--muted);margin:0 0 40px;line-height:1.7}.field-label{display:block;font-size:12px;font-weight:600;margin-bottom:10px}.password-field{display:flex;align-items:center;border:1px solid #dcded9;border-radius:10px;background:white;height:52px;padding:0 10px 0 15px;transition:.2s}.password-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(170,135,80,.1)}.password-field>svg{color:#919a95;width:18px}.password-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding:0 12px;color:var(--text)}.password-field input::placeholder{color:#abb2ae}.icon-button{border:0;background:transparent;color:var(--muted);width:38px;height:38px;border-radius:8px;display:inline-grid;place-items:center;padding:0;transition:.2s}.icon-button:hover{background:#eeeee9;color:var(--ink)}.form-error{min-height:32px;padding-top:9px;color:var(--red);font-size:12px}.primary-button{border:0;border-radius:9px;background:var(--ink);color:white;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;transition:.2s}.primary-button:hover{background:var(--ink-3);transform:translateY(-1px)}.primary-button:disabled{opacity:.6;cursor:wait;transform:none}.login-button{width:100%;height:50px;justify-content:space-between;padding:0 20px;margin-top:4px}.login-button svg{width:18px}.security-note{display:flex;gap:10px;margin-top:25px;color:#909994}.security-note svg{width:16px;height:16px;flex:none;margin-top:2px}.security-note p{font-size:11px;line-height:1.8;margin:0}.login-form-foot{position:absolute;bottom:28px;font-size:10px;color:#a0a7a3;letter-spacing:1px}.mobile-login-brand{display:none;margin-bottom:50px}
.app-view{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--ink);padding:28px 20px 20px;display:flex;flex-direction:column;z-index:50;color:#c2ccc7}.sidebar-brand{padding:0 8px 28px;border-bottom:1px solid #34433e}.sidebar-brand strong{font-size:16px}.sidebar-caption{font-size:9px;letter-spacing:2px;color:#6f8179;margin:26px 14px 12px}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-item{position:relative;border:0;background:transparent;color:#96a69f;border-radius:8px;display:flex;align-items:center;gap:12px;text-align:left;width:100%;height:44px;padding:0 13px;transition:.2s}.nav-item svg{width:18px;height:18px}.nav-item span{font-size:13px;flex:1}.nav-item em{font-style:normal;font-size:9px;color:#5f756c}.nav-item:hover{background:#263630;color:#e6ebe8}.nav-item.active{background:#31423b;color:#f4f0e7}.nav-item.active:before{content:"";position:absolute;left:-20px;top:10px;width:3px;height:24px;background:var(--gold-light);border-radius:0 3px 3px 0}.nav-item.active svg{color:var(--gold-light)}.nav-item.active em{color:#bbaa89}.nav-divider{height:1px;background:#33433d;margin:12px 10px}.sidebar-insight{margin-top:auto;border:1px solid #3d4c46;background:#24332e;border-radius:10px;padding:16px}.sidebar-insight>span{font-size:9px;color:var(--gold-light);letter-spacing:1px}.sidebar-insight strong{display:block;color:#e7e8e2;font-size:13px;margin:8px 0}.sidebar-insight p{font-size:10px;line-height:1.7;color:#899a92;margin:0 0 12px}.sidebar-insight button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#c7b489;padding:0;font-size:10px}.sidebar-insight button svg{width:13px}.sidebar-footer{display:flex;align-items:center;gap:10px;padding:22px 8px 2px}.status-dot{width:7px;height:7px;display:inline-block;background:#63a58c;border-radius:50%;box-shadow:0 0 0 3px rgba(99,165,140,.12);flex:none}.sidebar-footer strong,.sidebar-footer small{display:block}.sidebar-footer strong{font-size:10px;font-weight:500;color:#aebdb6}.sidebar-footer small{font-size:9px;color:#647a70;margin-top:4px}.main-shell{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;flex:none;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:30}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-kicker{font-size:9px;color:#939c97;letter-spacing:1px}.topbar h1{font-size:19px;margin:4px 0 0;font-weight:600;letter-spacing:1px}.topbar-right{display:flex;align-items:center;gap:16px}.data-freshness{display:flex;align-items:center;gap:10px}.data-freshness small,.data-freshness strong,.user-chip small,.user-chip strong{display:block}.data-freshness small{font-size:9px;color:var(--muted)}.data-freshness strong{font-size:11px;margin-top:3px;font-weight:600}.topbar-divider{height:28px;width:1px;background:var(--line)}.user-chip{display:flex;align-items:center;gap:10px}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eee8dc;color:var(--gold-dark);font-size:12px}.user-chip strong{font-size:11px;font-weight:600}.user-chip small{font-size:9px;color:var(--muted);margin-top:3px}.mobile-menu{display:none}.page-content{padding:28px 32px 36px;max-width:1680px;width:100%;margin:0 auto;flex:1}.app-footer{display:flex;justify-content:space-between;padding:0 32px 24px;color:#9ba39f;font-size:9px;letter-spacing:.4px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:20px}.page-heading h2{font-size:25px;letter-spacing:.5px;margin:0 0 8px;font-weight:600}.page-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.page-heading-actions{display:flex;gap:10px;align-items:center}.date-badge{display:inline-flex;align-items:center;gap:8px;background:#ebe9e2;color:#6d756f;padding:8px 12px;border-radius:7px;font-size:10px;white-space:nowrap}.date-badge svg{width:14px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.section-title h3{font-size:14px;margin:0;font-weight:600}.section-title p{font-size:10px;color:var(--muted);margin:5px 0 0}.section-title .text-link{border:0;background:transparent;color:var(--gold-dark);font-size:11px;display:flex;align-items:center;gap:4px;padding:0}.text-link svg{width:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;min-width:0}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.mb-18{margin-bottom:18px}.mb-24{margin-bottom:24px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi-card{position:relative;overflow:hidden;background:white;border:1px solid var(--line);border-radius:12px;padding:20px;min-height:128px;box-shadow:0 5px 18px rgba(30,43,39,.035)}.kpi-card:after{content:"";position:absolute;right:-18px;top:-24px;width:76px;height:76px;border-radius:50%;background:#f6f3ed}.kpi-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;position:relative;z-index:1}.kpi-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f2eee6;color:var(--gold-dark);z-index:1}.kpi-icon svg{width:15px;height:15px}.kpi-value{font-family:"DIN Alternate","Arial Narrow",Inter,sans-serif;font-size:29px;font-weight:650;letter-spacing:.2px;margin-top:14px;line-height:1.15;color:#1f2d28}.kpi-value small{font-size:14px;font-weight:500;margin-left:3px;color:#56615c}.kpi-foot{margin-top:10px;font-size:10px;color:#8c9590;display:flex;align-items:center;gap:5px}.kpi-foot strong{color:var(--green);font-weight:600}.kpi-card.featured{background:var(--ink);border-color:var(--ink);color:white}.kpi-card.featured:after{background:#2d3d37}.kpi-card.featured .kpi-top,.kpi-card.featured .kpi-foot{color:#9dada5}.kpi-card.featured .kpi-value{color:#f2eee4}.kpi-card.featured .kpi-value small{color:#b3bdb7}.kpi-card.featured .kpi-icon{background:#384840;color:var(--gold-light)}
.chart-box{position:relative;min-height:240px}.chart-box.compact{min-height:200px}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-svg text{font-family:Inter,"PingFang SC",sans-serif}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.legend-dot{width:7px;height:7px;border-radius:50%}.legend-item strong{color:var(--text);font-weight:600;margin-left:2px}.hbar-list{display:flex;flex-direction:column;gap:15px}.hbar-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;align-items:center;gap:12px}.hbar-label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#515e58}.hbar-track{height:7px;background:#f0f0eb;border-radius:10px;overflow:hidden}.hbar-fill{height:100%;border-radius:10px;background:var(--gold);min-width:2px}.hbar-value{font-size:11px;font-weight:600;text-align:right;white-space:nowrap}.hbar-sub{font-size:9px;color:var(--muted);margin-top:3px}.donut-layout{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:16px}.donut-wrap{position:relative;width:170px;height:170px}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center strong{font-size:25px}.donut-center span{font-size:10px;color:var(--muted);margin-top:4px}.donut-legend{display:flex;flex-direction:column;gap:12px}.donut-legend-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;font-size:11px}.donut-legend-row small{color:var(--muted);margin-left:5px}.donut-legend-row strong{font-size:12px}.mini-stat-row{display:flex;gap:12px;margin-top:20px}.mini-stat{flex:1;background:#f7f7f3;border-radius:9px;padding:13px}.mini-stat span{display:block;color:var(--muted);font-size:10px}.mini-stat strong{display:block;font-size:18px;margin-top:6px}.alert-list{display:flex;flex-direction:column;gap:12px}.alert-item{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:13px;background:#f8f8f5;border-radius:9px}.alert-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--amber-bg);color:var(--amber);font-size:12px;font-weight:700}.alert-icon.high{background:var(--red-bg);color:var(--red)}.alert-copy strong{font-size:11px;display:block}.alert-copy p{margin:4px 0 0;font-size:10px;color:var(--muted);line-height:1.5}.alert-value{text-align:right}.alert-value strong{display:block;font-size:17px}.alert-value small{font-size:9px;color:var(--muted)}
.filter-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}.filter-row{display:flex;flex-wrap:wrap;gap:10px}.search-box{position:relative;flex:1;min-width:230px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;color:#8d9691}.search-box input{width:100%;height:39px;border:1px solid #dfe2dd;border-radius:8px;padding:0 12px 0 36px;outline:0;background:#fafaf8}.search-box input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(170,135,80,.08)}.select-control{height:39px;border:1px solid #dfe2dd;border-radius:8px;background:#fafaf8;color:#4f5a55;padding:0 30px 0 11px;outline:0;min-width:120px;max-width:180px;font-size:11px}.select-control:focus{border-color:var(--gold)}.secondary-button{height:39px;border:1px solid #dcdfd9;border-radius:8px;background:white;color:#49554f;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;white-space:nowrap}.secondary-button:hover{background:#f4f4ef;border-color:#c8cdc6}.secondary-button svg{width:15px}.secondary-button.dark{background:var(--ink);color:white;border-color:var(--ink)}.filter-summary{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #efefeb;color:var(--muted);font-size:10px}.filter-summary strong{color:var(--text)}.table-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-scroll{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;text-align:left}th{height:44px;background:#f7f7f4;color:#7b8580;font-size:10px;font-weight:600;letter-spacing:.4px;padding:0 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 14px;border-bottom:1px solid #efefeb;font-size:11px;color:#4b5751;white-space:nowrap}tbody tr{transition:.15s}tbody tr:hover{background:#faf9f5}tbody tr:last-child td{border-bottom:0}.clickable-row{cursor:pointer}.member-cell{display:flex;align-items:center;gap:10px}.member-avatar{width:31px;height:31px;border-radius:8px;background:#ede9df;color:var(--gold-dark);display:grid;place-items:center;font-size:11px;flex:none}.member-cell strong{display:block;font-size:11px;color:var(--text);font-weight:600}.member-cell small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.money{font-weight:650;color:#293a33;font-variant-numeric:tabular-nums}.subcell{display:block;color:var(--muted);font-size:9px;margin-top:4px}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:20px;font-size:9px;background:#f0f1ed;color:#68736d;white-space:nowrap}.badge.active{background:var(--green-bg);color:var(--green)}.badge.sleeping{background:var(--amber-bg);color:var(--amber)}.badge.lost{background:var(--red-bg);color:var(--red)}.badge.neutral{background:#f0f0ed;color:#7d8581}.badge.gold{background:#f2eadc;color:#8c6935}.badge.blue{background:var(--blue-bg);color:var(--blue)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.page-buttons{display:flex;align-items:center;gap:5px}.page-button{min-width:30px;height:30px;border:1px solid #e0e2dd;background:white;border-radius:6px;color:#66716b;font-size:10px}.page-button:hover:not(:disabled){background:#f2f2ed}.page-button.active{background:var(--ink);border-color:var(--ink);color:white}.page-button:disabled{opacity:.4;cursor:not-allowed}.empty-state,.error-state{padding:60px 20px;text-align:center;color:var(--muted)}.empty-state strong,.error-state strong{display:block;color:var(--text);font-size:14px;margin-bottom:8px}.empty-state p,.error-state p{font-size:11px}.loading-block{padding:20px}.skeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,#efefeb 25%,#f7f7f4 50%,#efefeb 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;margin-bottom:12px}@keyframes shimmer{to{background-position:-200% 0}}
.profile-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;background:var(--ink);color:#eef1ed;border-radius:14px;padding:28px;margin-bottom:20px;overflow:hidden;position:relative}.profile-hero:after{content:"人";position:absolute;right:25px;top:-35px;font-family:"Songti SC",serif;font-size:190px;color:#2c3d36;pointer-events:none}.profile-hero h3{font-family:"Songti SC",serif;font-weight:400;font-size:27px;margin:0 0 12px;letter-spacing:2px}.profile-hero p{color:#a9b7b0;line-height:1.8;font-size:12px;max-width:650px;margin:0}.profile-hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;position:relative;z-index:1}.profile-hero-stat{background:#2a3a34;border:1px solid #3a4a43;border-radius:10px;padding:16px}.profile-hero-stat span{display:block;font-size:9px;color:#9aaba2}.profile-hero-stat strong{display:block;color:#e5d4b2;font-size:23px;margin-top:7px}.segment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.segment-card{border:1px solid var(--line);background:white;border-radius:11px;padding:18px;position:relative;overflow:hidden}.segment-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--segment-color,var(--gold))}.segment-card h4{margin:0;font-size:13px}.segment-card .segment-count{font-size:25px;font-weight:650;margin:14px 0 4px}.segment-card .segment-share{font-size:10px;color:var(--muted)}.segment-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px;padding-top:13px;border-top:1px solid #efefeb}.segment-metrics span{font-size:9px;color:var(--muted)}.segment-metrics strong{display:block;font-size:12px;color:var(--text);margin-top:4px}.strategy-box{padding:18px;border-left:3px solid var(--gold);background:#f5f1e9;border-radius:0 9px 9px 0}.strategy-box strong{font-size:12px}.strategy-box p{font-size:11px;color:#69746e;line-height:1.8;margin:7px 0 0}.strategy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rank-number{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#efefea;color:#75807a;font-size:10px;margin-right:8px}.rank-number.top{background:#e9dfcc;color:#8a6938}.tag-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.chip-button{border:1px solid #dedfd9;background:white;border-radius:20px;padding:7px 13px;color:#68736d;font-size:10px}.chip-button.active{background:var(--ink);color:white;border-color:var(--ink)}.tag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.tag-row{padding:12px 0;border-bottom:1px solid #efefeb}.tag-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tag-name{display:flex;align-items:center;font-size:11px;font-weight:600}.tag-name em{font-style:normal;color:var(--muted);font-size:9px;font-weight:400;margin-left:8px}.tag-metrics{font-size:9px;color:var(--muted)}.tag-metrics strong{color:var(--gold-dark);font-size:11px;margin-left:5px}.tag-track{height:5px;background:#efefeb;border-radius:5px;overflow:hidden}.tag-fill{height:100%;background:var(--gold);border-radius:5px}.note-box{display:flex;gap:10px;padding:14px 16px;background:var(--blue-bg);border-radius:9px;color:#526d7d;font-size:10px;line-height:1.7}.note-box svg{width:16px;flex:none;margin-top:2px}.quality-score{display:flex;align-items:center;gap:24px}.score-ring{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) var(--score,80%),#eceee9 0);position:relative}.score-ring:after{content:"";position:absolute;inset:8px;background:white;border-radius:50%}.score-ring div{position:relative;z-index:1;text-align:center}.score-ring strong{font-size:23px;display:block}.score-ring span{font-size:9px;color:var(--muted)}.quality-copy h3{font-size:17px;margin:0 0 8px}.quality-copy p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.completeness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.completeness-row{display:grid;grid-template-columns:100px 1fr 45px;gap:10px;align-items:center;font-size:10px}.completeness-track{height:5px;background:#efefeb;border-radius:5px;overflow:hidden}.completeness-fill{height:100%;background:var(--green)}.issue-level{display:inline-flex;padding:3px 7px;border-radius:4px;background:var(--amber-bg);color:var(--amber);font-size:9px}.issue-level.high{background:var(--red-bg);color:var(--red)}.recommendation-list{counter-reset:item;display:flex;flex-direction:column;gap:13px}.recommendation-item{position:relative;padding-left:35px;font-size:11px;line-height:1.7;color:#5f6b65}.recommendation-item:before{counter-increment:item;content:counter(item);position:absolute;left:0;top:0;width:23px;height:23px;border-radius:6px;background:#ede9df;color:var(--gold-dark);display:grid;place-items:center;font-size:10px}.definition-group{border:1px solid var(--line);background:white;border-radius:10px;margin-bottom:10px;overflow:hidden}.definition-toggle{width:100%;border:0;background:white;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;color:var(--text);text-align:left}.definition-toggle strong{font-size:12px}.definition-toggle svg{width:15px;transition:.2s}.definition-group.open .definition-toggle svg{transform:rotate(90deg)}.definition-body{display:none;border-top:1px solid var(--line);padding:18px;background:#fafaf7;font-size:11px;line-height:1.9;color:#606d66;white-space:pre-wrap;word-break:break-word}.definition-group.open .definition-body{display:block}.limitation-list{margin:0;padding-left:18px}.limitation-list li{margin-bottom:12px;line-height:1.8;color:#5f6a65;font-size:11px}
.drawer-backdrop{position:fixed;inset:0;background:rgba(17,27,23,.38);backdrop-filter:blur(2px);z-index:80}.member-drawer{position:fixed;right:0;top:0;bottom:0;width:min(580px,95vw);background:#f7f6f2;z-index:90;box-shadow:-20px 0 60px rgba(22,33,29,.18);overflow:auto;animation:slideIn .22s ease-out}@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-header{background:var(--ink);color:white;padding:25px 26px;position:relative}.drawer-close{position:absolute;right:18px;top:18px;color:#b7c2bc}.drawer-close:hover{background:#33453e;color:white}.drawer-person{display:flex;align-items:center;gap:15px}.drawer-avatar{width:52px;height:52px;border-radius:12px;background:#35473f;color:var(--gold-light);display:grid;place-items:center;font-size:19px}.drawer-person h2{font-size:21px;margin:0 0 6px}.drawer-person p{font-size:10px;color:#a6b5ad;margin:0}.drawer-badges{display:flex;gap:7px;margin-top:18px}.drawer-section{margin:16px 20px;background:white;border:1px solid var(--line);border-radius:11px;padding:18px}.drawer-section h3{font-size:12px;margin:0 0 16px;display:flex;align-items:center;gap:8px}.drawer-section h3:before{content:"";width:3px;height:13px;background:var(--gold);border-radius:2px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.detail-item span{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.detail-item strong{font-size:11px;font-weight:550;word-break:break-word}.detail-item strong.big{font-size:18px;color:var(--gold-dark)}.detail-tags{display:flex;flex-wrap:wrap;gap:7px}.detail-tag{background:#f0eee8;border-radius:5px;padding:5px 8px;font-size:9px;color:#66716b}.drawer-remark{font-size:10px;line-height:1.8;color:#65716b;background:#f8f8f5;padding:12px;border-radius:7px;margin:0}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:white;border-radius:9px;padding:12px 18px;z-index:120;font-size:11px;box-shadow:0 10px 35px rgba(20,30,26,.2);max-width:90vw}.toast.error{background:var(--red)}
@media(min-width:1500px){.kpi-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.kpi-card{padding:17px;min-height:135px}.kpi-value{font-size:25px}.kpi-top{font-size:10px}.page-content{padding-top:30px}}
@media(max-width:1200px){:root{--sidebar:220px}.page-content{padding:24px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.segment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.donut-layout{grid-template-columns:150px 1fr}.donut-wrap{width:145px;height:145px}.topbar{padding:0 24px}.sidebar-insight{display:none}.login-brand-panel{padding:36px}.login-statement h1{font-size:52px}}
@media(max-width:900px){.login-view{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh}.mobile-login-brand{display:flex}.sidebar{transform:translateX(-100%);transition:transform .25s;width:248px}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.mobile-menu{display:inline-grid}.mobile-overlay{position:fixed;inset:0;background:rgba(20,30,26,.4);z-index:45}.topbar{height:72px}.user-chip{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}.profile-hero{grid-template-columns:1fr}.tag-grid{grid-template-columns:1fr}.app-footer{padding:0 24px 20px}.hbar-row{grid-template-columns:110px 1fr auto}}
@media(max-width:600px){.page-content{padding:18px 14px 28px}.topbar{padding:0 14px}.topbar-right{gap:7px}.data-freshness,.topbar-divider{display:none}.topbar h1{font-size:17px}.topbar-kicker{font-size:8px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:18px}.page-heading h2{font-size:22px}.page-heading-actions{width:100%}.kpi-grid{gap:10px}.kpi-card{padding:15px;min-height:116px}.kpi-value{font-size:23px}.kpi-top{font-size:10px}.kpi-foot{font-size:9px}.card{padding:17px;border-radius:11px}.donut-layout{grid-template-columns:1fr;justify-items:center}.donut-legend{width:100%}.hbar-row{grid-template-columns:90px 1fr;gap:8px}.hbar-value{grid-column:2;font-size:10px}.segment-grid,.strategy-list{grid-template-columns:1fr}.profile-hero{padding:22px}.profile-hero h3{font-size:23px}.profile-hero-stats{gap:8px}.profile-hero-stat{padding:12px}.filter-panel{padding:12px}.search-box{min-width:100%}.select-control{flex:1;min-width:45%;max-width:none}.filter-summary{align-items:flex-start;gap:10px;flex-direction:column}.pagination{gap:10px;flex-direction:column}.page-buttons{max-width:100%;flex-wrap:wrap;justify-content:center}.completeness-list{grid-template-columns:1fr}.quality-score{align-items:flex-start;gap:16px}.score-ring{width:82px;height:82px;flex:none}.app-footer{display:none}.login-form-panel{padding:28px}.mobile-login-brand{margin-bottom:38px}.login-card h2{font-size:29px}.drawer-section{margin:12px}.detail-grid{gap:14px}.alert-item{grid-template-columns:30px 1fr}.alert-value{display:none}.mini-stat-row{flex-direction:column}.mini-stat{padding:11px}.login-form-foot{bottom:16px}}
