:root{--ink-900: #0B1220;--ink-800: #111827;--ink-700: #1F2937;--ink-600: #374151;--ink-500: #4B5563;--ink-400: #6B7280;--ink-300: #9CA3AF;--ink-200: #D1D5DB;--ink-100: #E5E7EB;--ink-75: #EEF0F3;--ink-50: #F5F7FB;--ink-25: #FAFBFC;--ink-0: #FFFFFF;--accent-700: #3730A3;--accent-600: #4338CA;--accent-500: #4F46E5;--accent-400: #6366F1;--accent-300: #A5B4FC;--accent-100: #E0E7FF;--accent-50: #EEF2FF;--seg-up: #3B82F6;--seg-up-bg: #EFF4FF;--seg-up-border: #D7E3FC;--seg-mid: #D97706;--seg-mid-bg: #FDF7EE;--seg-mid-border: #F5E3C2;--seg-down: #0D9488;--seg-down-bg: #EDF7F5;--seg-down-border: #C5E4DE;--success: #059669;--warn: #D97706;--error: #DC2626;--info: #2563EB;--shadow-xs: 0 1px 1px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 1px rgba(15, 23, 42, .03);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .08), 0 4px 8px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 64px rgba(15, 23, 42, .12);--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Sora", "Noto Sans SC", "PingFang SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{font-family:var(--font-sans);color:var(--ink-800);background:var(--ink-0);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}body{min-height:100vh;background:var(--ink-0)}button{font-family:inherit;cursor:pointer;border:0;background:transparent}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.mono{font-family:var(--font-mono)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--ink-25)}.topbar{position:sticky;top:0;z-index:40;background:#ffffffd9;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--ink-100)}.topbar-inner{max-width:1600px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:var(--ink-900);letter-spacing:-.005em}.brand-mark{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}.topnav{display:inline-flex;gap:4px;padding:3px;background:var(--ink-50);border-radius:var(--r-md)}.topnav-item{padding:6px 16px;font-size:13px;color:var(--ink-500);border-radius:6px;font-weight:500;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.topnav-item:hover{color:var(--ink-800)}.topnav-item.active{background:var(--ink-0);color:var(--ink-900);box-shadow:var(--shadow-sm)}.topnav-item svg{width:14px;height:14px}.top-right{display:inline-flex;align-items:center;gap:12px}.notify-bell{position:relative;display:inline-flex}.notify-bell-btn{position:relative;background:transparent;border:0}.notify-badge{position:absolute;top:-4px;right:-6px;min-width:15px;height:15px;padding:0 4px;font-size:10px;line-height:15px;text-align:center;color:#fff;background:var(--danger-500);border-radius:var(--r-full);font-weight:600;pointer-events:none}.notify-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:360px;max-width:92vw;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);box-shadow:var(--shadow-lg);overflow:hidden}.notify-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--ink-75)}.notify-panel-title{font-size:13px;font-weight:600;color:var(--ink-900)}.notify-read-all{font-size:12px;color:var(--accent-600);background:transparent;border:0;padding:0}.notify-read-all:hover:not(:disabled){color:var(--accent-700);text-decoration:underline}.notify-read-all:disabled{color:var(--ink-300);cursor:default}.notify-panel-body{max-height:380px;overflow:auto}.notify-empty{padding:28px 0;text-align:center;font-size:12px;color:var(--ink-400)}.notify-item{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--ink-75);transition:background .12s}.notify-item:last-child{border-bottom:0}.notify-item:hover{background:var(--ink-25)}.notify-item.unread .notify-item-content{color:var(--ink-900);font-weight:500}.notify-dot{flex:none;width:7px;height:7px;margin-top:5px;border-radius:var(--r-full);background:var(--danger-500)}.notify-item-main{flex:1;min-width:0}.notify-item-content{font-size:13px;line-height:1.5;color:var(--ink-600);word-break:break-all}.notify-item-time{margin-top:3px;font-size:11px;color:var(--ink-400)}.btn-ghost{padding:7px 14px;font-size:13px;color:var(--ink-600);border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);transition:all .15s}.btn-ghost:hover{border-color:var(--ink-200);color:var(--ink-900)}.btn-primary{padding:7px 16px;font-size:13px;font-weight:500;color:#fff;background:var(--ink-900);border-radius:var(--r-md);transition:all .15s}.btn-primary:hover{background:var(--ink-700)}.btn-primary.accent{background:var(--accent-500)}.btn-primary.accent:hover{background:var(--accent-600)}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-full);font-size:13px;color:var(--ink-700)}.user-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent-400),var(--accent-600));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.main{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:32px}.login{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;background:var(--ink-0)}.login-left{position:relative;overflow:hidden;background:var(--ink-900);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login-left:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(800px 500px at 20% 20%,rgba(79,70,229,.35),transparent 60%),radial-gradient(600px 400px at 85% 90%,rgba(99,102,241,.25),transparent 55%),radial-gradient(400px 300px at 60% 40%,rgba(168,85,247,.15),transparent 60%);pointer-events:none}.login-left-inner{position:relative;z-index:1;display:contents}.login-brand{display:inline-flex;align-items:center;gap:12px;font-size:18px;font-weight:600;position:relative;z-index:1}.login-brand .brand-mark{width:52px;height:52px;border-radius:12px;padding:6px;box-sizing:border-box;background:linear-gradient(135deg,#fff,#e9f0ff);box-shadow:0 3px 12px #4f46e54d}.login-brand .brand-logo{filter:none}.login-hero{position:relative;z-index:1}.login-eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-300);margin-bottom:20px;font-weight:500}.login-title{font-family:var(--font-display);font-size:44px;font-weight:600;line-height:1.12;letter-spacing:-.02em;margin-bottom:20px;text-wrap:balance}.login-title em{color:var(--accent-300);font-style:normal}.login-lede{font-size:15px;color:#ffffffa6;line-height:1.65;max-width:440px}.login-decor{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:480px}.login-stat{padding:18px 20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-stat-val{font-family:var(--font-display);font-size:28px;font-weight:600;color:#fff;letter-spacing:-.02em}.login-stat-lbl{font-size:12px;color:#ffffff8c;margin-top:4px}.login-stat-trend{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--accent-300);margin-top:8px}.login-foot{position:relative;z-index:1;font-size:12px;line-height:1.7;color:#fff6}.login-right{display:flex;align-items:center;justify-content:center;padding:56px}.login-form{width:100%;max-width:400px}.login-form-title{font-size:24px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;margin-bottom:8px}.login-form-sub{font-size:14px;color:var(--ink-400);margin-bottom:32px}.login-tabs{display:flex;gap:24px;margin-bottom:24px;border-bottom:1px solid var(--ink-100)}.login-tab{padding:10px 0;font-size:14px;color:var(--ink-400);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.login-tab:hover{color:var(--ink-700)}.login-tab.active{color:var(--ink-900);border-bottom-color:var(--accent-500);font-weight:500}.field{margin-bottom:16px}.field-label{display:block;font-size:12px;color:var(--ink-500);margin-bottom:6px;font-weight:500}.field-input{display:flex;align-items:center;gap:8px;padding:0 14px;height:44px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-md);transition:all .15s}.field-input:focus-within{border-color:var(--accent-500);box-shadow:0 0 0 4px var(--accent-50)}.field-input input{flex:1;border:0;outline:0;background:transparent;font-size:14px;color:var(--ink-900)}.field-input input::placeholder{color:var(--ink-300)}.field-input svg{color:var(--ink-300);width:16px;height:16px;flex-shrink:0}.field-input.has-suffix{padding-right:4px}.sms-btn{height:36px;padding:0 14px;font-size:12.5px;color:var(--accent-600);border-radius:6px;background:var(--accent-50);border:0;transition:all .15s;white-space:nowrap}.sms-btn:hover:not(:disabled){background:var(--accent-100)}.sms-btn:disabled{color:var(--ink-400);background:var(--ink-50);cursor:default}.login-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0 24px;font-size:12.5px;color:var(--ink-400)}.checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.checkbox input{accent-color:var(--accent-500)}.link{color:var(--accent-600);cursor:pointer}.link:hover{text-decoration:underline}.btn-submit{width:100%;height:46px;background:var(--ink-900);color:#fff;border-radius:var(--r-md);font-size:14px;font-weight:500;letter-spacing:.01em;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-submit:hover{background:var(--ink-700);transform:translateY(-1px);box-shadow:0 6px 16px #0f172a26}.btn-submit:disabled{opacity:.5;transform:none}.login-foot2{margin-top:24px;font-size:12.5px;color:var(--ink-400);text-align:center}.login-err{margin-bottom:12px;padding:10px 12px;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--r-sm);color:var(--error);font-size:12.5px}.page-head{margin-bottom:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-title{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--ink-900);letter-spacing:-.015em;margin-bottom:6px}.page-subtitle{font-size:13.5px;color:var(--ink-400)}.page-head-actions{display:inline-flex;gap:8px;align-items:center}.metabar{display:inline-flex;align-items:center;gap:18px;font-size:12.5px;color:var(--ink-400);margin-top:10px}.metabar-item{display:inline-flex;align-items:center;gap:6px}.metabar-item b{font-weight:500;color:var(--ink-700)}.metabar-item-link{cursor:pointer}.metabar-item-link:hover{color:var(--accent-600);text-decoration:underline}.metabar-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #0596691f}.chain-wrap{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.chain-list{position:sticky;top:82px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:8px}.chain-list-head{padding:10px 12px 8px;font-size:11px;color:var(--ink-400);letter-spacing:.1em;text-transform:uppercase;font-weight:500}.chain-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:var(--r-sm);font-size:13px;color:var(--ink-600);cursor:pointer;transition:all .15s}.chain-list-item:hover{background:var(--ink-50);color:var(--ink-900)}.chain-list-item.active{background:var(--ink-900);color:#fff}.chain-list-ver{font-size:11px;color:var(--ink-300)}.chain-list-item.active .chain-list-ver{color:#ffffff80}.chain-canvas{min-width:0}.seg-bar{display:grid;grid-template-columns:3fr 4fr 2fr;gap:12px;margin-bottom:12px}.seg-head{position:relative;padding:14px 20px;border-radius:var(--r-lg);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s;overflow:hidden}.seg-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.seg-head.up{background:var(--seg-up-bg);border:1px solid var(--seg-up-border)}.seg-head.up:before{background:var(--seg-up)}.seg-head.mid{background:var(--seg-mid-bg);border:1px solid var(--seg-mid-border)}.seg-head.mid:before{background:var(--seg-mid)}.seg-head.down{background:var(--seg-down-bg);border:1px solid var(--seg-down-border)}.seg-head.down:before{background:var(--seg-down)}.seg-head:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.seg-label{font-size:13px;font-weight:600;letter-spacing:.08em}.seg-head.up .seg-label{color:var(--seg-up)}.seg-head.mid .seg-label{color:var(--seg-mid)}.seg-head.down .seg-label{color:var(--seg-down)}.seg-count{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.02em}.seg-head.up .seg-count{color:var(--seg-up)}.seg-head.mid .seg-count{color:var(--seg-mid)}.seg-head.down .seg-count{color:var(--seg-down)}.seg-cols{display:grid;grid-template-columns:3fr 4fr 2fr;gap:12px;align-items:start}.seg-col{display:flex;flex-direction:column;gap:12px}.seg-col.mid-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.l2{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden;transition:all .2s}.l2:hover{border-color:var(--ink-200);box-shadow:var(--shadow-sm)}.l2-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--ink-100);cursor:pointer;background:var(--ink-25);transition:background .15s}.l2-head:hover{background:var(--ink-50)}.l2-title{font-size:13.5px;font-weight:600;color:var(--ink-900);display:inline-flex;align-items:center;gap:8px}.l2-dot{width:6px;height:6px;border-radius:50%}.seg-col.up .l2-dot{background:var(--seg-up)}.seg-col.mid .l2-dot{background:var(--seg-mid)}.seg-col.down .l2-dot{background:var(--seg-down)}.l2-count-pill{font-family:var(--font-display);font-size:12px;font-weight:500;color:var(--ink-500);padding:2px 8px;background:var(--ink-75);border-radius:var(--r-full)}.l2-body{padding:10px 12px 14px;display:flex;flex-direction:column;gap:2px}.subgroup{margin-top:6px}.subgroup:first-child{margin-top:0}.subgroup-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 4px;font-size:11.5px;font-weight:500;color:var(--ink-400);letter-spacing:.02em;cursor:pointer;border-radius:4px}.subgroup-head:hover{color:var(--ink-700)}.node-row{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--ink-600);cursor:pointer;transition:all .12s;min-height:32px}.node-row:hover{background:var(--ink-50);color:var(--ink-900)}.node-row.has-data .node-label{color:var(--ink-800)}.node-row.no-data{opacity:.5}.node-row.no-data:hover{opacity:1}.node-label{font-size:13px;display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count{font-family:var(--font-display);font-size:12px;color:var(--ink-400);flex-shrink:0;padding-left:8px}.node-row.has-data .node-count{color:var(--accent-500);font-weight:500}.node-row:hover .node-count{color:var(--accent-600)}.chain-tip{margin-top:16px;padding:12px 16px;font-size:12.5px;color:var(--ink-400);background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-md);display:flex;align-items:center;gap:10px}.chain-tip svg{color:var(--accent-500);flex-shrink:0}.lib-wrap.full{grid-template-columns:1fr}.lib-wrap{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}.lib-filter{position:sticky;top:82px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:16px;max-height:calc(100vh - 120px);overflow-y:auto}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-head{font-size:11px;color:var(--ink-400);letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-bottom:10px}.filter-tree{display:flex;flex-direction:column;gap:2px}.filter-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;font-size:13px;color:var(--ink-600);border-radius:6px;cursor:pointer}.filter-item:hover{background:var(--ink-50);color:var(--ink-900)}.filter-item.active{background:var(--accent-50);color:var(--accent-700);font-weight:500}.filter-item.indent{padding-left:26px;font-size:12.5px;color:var(--ink-500)}.filter-item.indent.indent-2{padding-left:42px}.filter-item-count{font-family:var(--font-display);font-size:11.5px;color:var(--ink-400)}.filter-item.active .filter-item-count{color:var(--accent-500)}.lib-main{min-width:0;display:flex;flex-direction:column;gap:16px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{padding:18px 20px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);position:relative;overflow:hidden}.stat-card-lbl{font-size:12px;color:var(--ink-400);margin-bottom:8px;letter-spacing:.02em}.stat-card-val{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--ink-900);letter-spacing:-.02em;line-height:1.1}.stat-card-sub{font-size:12px;color:var(--ink-400);margin-top:6px;display:inline-flex;align-items:center;gap:4px}.stat-card-sub b{color:var(--success);font-weight:500}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg)}.toolbar-left{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-right{display:inline-flex;align-items:center;gap:8px}.search-box{display:inline-flex;align-items:center;gap:8px;padding:0 12px;height:36px;background:var(--ink-50);border:1px solid transparent;border-radius:var(--r-md);min-width:280px;transition:all .15s}.search-box:focus-within{border-color:var(--accent-400);background:var(--ink-0);box-shadow:0 0 0 4px var(--accent-50)}.search-box input{flex:1;border:0;outline:0;background:transparent;font-size:13px;color:var(--ink-900)}.search-box input::placeholder{color:var(--ink-400)}.search-box svg{color:var(--ink-400);flex-shrink:0}.seg-tabs{display:inline-flex;padding:3px;background:var(--ink-50);border-radius:var(--r-md)}.seg-tab{padding:5px 14px;font-size:12.5px;color:var(--ink-500);border-radius:5px;cursor:pointer;transition:all .15s;font-weight:500;white-space:nowrap}.seg-tab:hover{color:var(--ink-800)}.seg-tab.active{background:var(--ink-0);color:var(--ink-900);box-shadow:var(--shadow-xs)}.region-filter-tabs{position:relative}.region-tab{display:inline-flex;align-items:center;gap:2px;padding-right:6px}.region-tab-caret{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer}.region-tab-caret:hover{background:#0f172a0f}.region-tab-caret svg{transition:transform .15s}.region-tab-caret.open svg{transform:rotate(180deg)}.region-subpanel{position:absolute;top:calc(100% + 8px);left:0;z-index:50;display:flex;flex-wrap:wrap;gap:6px;width:min(330px,calc(100vw - 32px));padding:10px;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);box-shadow:0 12px 32px #0f172a29}.region-panel-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0 2px 4px;color:var(--ink-500);font-size:11px}.region-panel-guide button{flex:none;padding:0;border:0;background:transparent;color:var(--accent-700);cursor:pointer;font-size:11px}.region-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--ink-100);border-radius:999px;background:var(--ink-0);color:var(--ink-600);font-size:12px;cursor:pointer}.region-chip:hover{border-color:var(--ink-300);color:var(--ink-900)}.region-chip.include{border-color:var(--accent-300);background:var(--accent-50);color:var(--accent-700);font-weight:600}.region-chip.exclude{border-color:#fca5a5;background:#fef2f2;color:#b91c1c;font-weight:600}.region-state-dot{width:9px;height:9px;border:1.5px solid currentColor;border-radius:50%;opacity:.55}.region-subpanel-tree{right:auto;left:0;width:min(660px,calc(100vw - 32px));flex-direction:column;flex-wrap:nowrap;gap:4px}.region-tree-columns{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto;border:1px solid var(--ink-100);border-radius:9px}.region-tree-column{min-width:0;border-right:1px solid var(--ink-100)}.region-tree-column:last-child{border-right:0}.region-tree-column>header{padding:7px 9px;border-bottom:1px solid var(--ink-100);background:var(--ink-50);color:var(--ink-500);font-size:11px;font-weight:600}.region-tree-list{min-height:104px;max-height:280px;overflow-y:auto;padding:4px}.region-tree-item{display:flex;align-items:center;gap:4px;min-height:32px;border-radius:6px}.region-tree-item:hover,.region-tree-item.active{background:var(--ink-50)}.region-tree-name{display:flex;align-items:center;justify-content:space-between;min-width:0;flex:1;padding:6px;border:0;background:transparent;color:var(--ink-700);cursor:pointer;font-size:12px;text-align:left}.region-tree-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.region-tree-leaf{cursor:default}.region-state-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;padding:0;border:1px solid var(--ink-200);border-radius:6px;background:var(--ink-0);color:var(--ink-500);cursor:pointer}.region-state-button.include{border-color:var(--accent-300);background:var(--accent-50);color:var(--accent-700)}.region-state-button.exclude{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.region-state-button:focus-visible,.region-chip:focus-visible,.region-tree-name:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.region-tree-empty{display:block;padding:10px 6px;color:var(--ink-400);font-size:11px}.btn-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink-100);border-radius:var(--r-md);color:var(--ink-500);background:var(--ink-0);transition:all .15s}.btn-icon:hover{color:var(--ink-900);border-color:var(--ink-200)}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:0 14px;height:36px;border:1px solid var(--ink-100);border-radius:var(--r-md);color:var(--ink-600);background:var(--ink-0);font-size:12.5px;transition:all .15s}.btn-outline:hover{border-color:var(--ink-200);color:var(--ink-900)}.btn-outline svg{width:14px;height:14px}.crumbs{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-500)}.crumb-link{color:var(--accent-600);cursor:pointer}.crumb-link:hover{text-decoration:underline}.crumb-cur{color:var(--ink-900);font-weight:500}.crumb-sep{color:var(--ink-300)}.table-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table thead th{text-align:left;padding:11px 16px;font-size:11.5px;font-weight:600;color:var(--ink-400);letter-spacing:.06em;text-transform:uppercase;background:var(--ink-25);border-bottom:1px solid var(--ink-100);white-space:nowrap;position:sticky;top:0;z-index:1}.table tbody td{padding:14px 16px;border-bottom:1px solid var(--ink-75);color:var(--ink-600);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--ink-25)}.table .idx{color:var(--ink-300);font-family:var(--font-display);width:52px}.table .name{color:var(--ink-900);font-weight:500;min-width:240px}.table .name-link{color:var(--ink-900);cursor:pointer;transition:color .1s}.table .name-link:hover{color:var(--accent-600)}.table-empty{padding:80px 20px;text-align:center;color:var(--ink-400);font-size:13.5px}.hover-tip{position:relative}.hover-tip-card{position:fixed;z-index:60;background:var(--ink-900, #1f2937);color:#fff;font-size:12px;line-height:1.6;padding:10px 12px;border-radius:8px;white-space:pre-wrap;word-break:break-all;box-shadow:0 8px 24px #0000002e}.tags{display:inline-flex;flex-wrap:wrap;gap:4px}.tag{padding:2px 8px;font-size:11px;border-radius:var(--r-full);font-weight:500;line-height:1.5;white-space:nowrap}.tag-region{background:var(--ink-50);color:var(--ink-600)}.tag-scale-L{background:#ecfdf5;color:#047857}.tag-scale-M{background:#eff6ff;color:#1d4ed8}.tag-scale-S{background:#fff7ed;color:#c2410c}.tag-scale-XS{background:var(--ink-50);color:var(--ink-500)}.tag-listed{background:var(--accent-50);color:var(--accent-700)}.tag-micro{background:#fef3c7;color:#92400e}.tag-new{background:#ecfdf5;color:#047857}.tag-risk{background:#fef2f2;color:#b91c1c}.rel-cell{display:inline-flex;gap:14px;font-family:var(--font-display);font-size:12.5px;color:var(--ink-500)}.rel-cell b{color:var(--ink-800);font-weight:600}.rel-cell .rel-zero{color:var(--ink-300)}.pager{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--ink-25);border-top:1px solid var(--ink-100);font-size:12.5px;color:var(--ink-500)}.pager-total b{font-family:var(--font-display);color:var(--ink-800)}.pager-btns{display:inline-flex;gap:6px}.pager-btn{min-width:30px;height:30px;padding:0 10px;border:1px solid var(--ink-100);border-radius:6px;background:var(--ink-0);font-size:12.5px;color:var(--ink-600);font-family:var(--font-display);transition:all .1s}.pager-btn:hover:not(:disabled){border-color:var(--ink-300);color:var(--ink-900)}.pager-btn.active{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}.pager-btn:disabled{color:var(--ink-300);cursor:not-allowed}.ent-detail{display:flex;flex-direction:column;gap:16px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-500);cursor:pointer;transition:color .15s;margin-bottom:12px}.back-link:hover{color:var(--accent-600)}.ent-hero{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:28px 32px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:start}.ent-logo{width:64px;height:64px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--accent-500),var(--accent-400));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;flex-shrink:0}.ent-head-main{min-width:0}.ent-name{font-size:22px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;margin-bottom:8px;display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.ent-name .tags{margin-left:4px}.ent-short{font-size:13px;color:var(--ink-400);margin-bottom:14px}.ent-desc{grid-column:1 / -1;margin-top:8px;padding-top:18px;border-top:1px dashed var(--ink-100);font-size:13.5px;color:var(--ink-500);line-height:1.75;white-space:pre-line}.ent-quick{display:inline-flex;gap:28px;padding:14px 20px;background:var(--ink-25);border:1px solid var(--ink-100);border-radius:var(--r-md);align-items:center}.ent-quick-lbl{font-size:11px;color:var(--ink-400);letter-spacing:.04em}.ent-quick-val{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--ink-900);margin-top:2px;letter-spacing:-.01em}.ent-quick-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.ent-fresh{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-400)}.ent-fresh-status{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ent-fresh-status--running,.ent-fresh-status--pending{color:var(--accent-600)}.ent-fresh-status--success{color:#16835d}.ent-fresh-status--partial,.ent-fresh-status--failed{color:#c2410c}.ent-fresh-btn{padding:3px 10px;font-size:12px;border:1px solid var(--ink-200);border-radius:6px;background:var(--ink-0);color:var(--ink-600);cursor:pointer;transition:all .12s}.ent-fresh-btn:hover:not(:disabled){border-color:var(--accent-400);color:var(--accent-600)}.ent-fresh-btn:disabled{opacity:.6;cursor:default}.ent-grid-card{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:24px 28px}.ent-grid-title{font-size:13px;color:var(--ink-400);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:16px}.ent-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 32px}.ent-field{min-width:0}.ent-field.span-2{grid-column:span 2}.ent-field.span-4{grid-column:span 4}.ent-field-lbl{font-size:12px;color:var(--ink-400);margin-bottom:4px}.ent-field-val{font-size:13.5px;color:var(--ink-800);word-break:break-word}.ent-field-val.mono{font-family:var(--font-mono);font-size:12.5px}.ent-field-val.dim{color:var(--ink-300)}.ent-field-val.multiline{line-height:1.7}.ed-tabs-wrap{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);overflow:hidden}.ed-tabs-wrap .table-wrap{min-height:526px}.ed-tabs-wrap .table-wrap .table-empty{padding:220px 20px}.ed-tabs{display:flex;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--ink-100);padding:0 8px;background:var(--ink-25);scrollbar-width:thin}.ed-tab{padding:14px 18px;font-size:13px;color:var(--ink-500);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.ed-tab:hover{color:var(--ink-900)}.ed-tab.active{color:var(--ink-900);border-bottom-color:var(--accent-500);font-weight:600;background:var(--ink-0)}.ed-tab-count{font-family:var(--font-display);font-size:11px;color:var(--ink-400);padding:1px 7px;background:var(--ink-75);border-radius:var(--r-full);font-weight:500}.ed-tab-count.has{background:var(--accent-50);color:var(--accent-700)}.ed-tab.active .ed-tab-count{background:var(--accent-100);color:var(--accent-700)}.ed-panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ink-100)}.ed-panel-title{font-size:14px;font-weight:600;color:var(--ink-900)}.ed-panel-sub{font-size:12.5px;color:var(--ink-400)}.profile-topbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:16px 20px;border-bottom:1px solid var(--ink-100)}.profile-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--ink-400)}.profile-body{display:flex;flex-direction:column;gap:14px;padding:20px}.profile-card{border:1px solid var(--ink-100);border-radius:var(--r-lg);background:var(--ink-0);padding:16px 18px}.profile-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--ink-600)}.profile-card-title{font-size:13.5px;font-weight:600;color:var(--ink-900)}.profile-card-content{font-size:13.5px;color:var(--ink-700);line-height:1.75;white-space:pre-wrap}.profile-card-foot{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--ink-100);font-size:11.5px;color:var(--ink-400)}.profile-card-judge{border-color:var(--accent-300);background:var(--accent-50)}.profile-card-judge .profile-card-head,.profile-card-judge .profile-card-title{color:var(--accent-700)}.profile-card-judge .profile-card-content{color:var(--ink-900)}.profile-spin{display:inline-block;width:13px;height:13px;margin-right:6px;vertical-align:-2px;border:2px solid var(--accent-100);border-top-color:var(--accent-500);border-radius:50%;animation:profileSpin .7s linear infinite}@keyframes profileSpin{to{transform:rotate(360deg)}}@media (max-width: 1280px){.main{padding:24px}.stats-row,.ent-fields{grid-template-columns:repeat(2,1fr)}.ent-field.span-4{grid-column:span 2}}@media (max-width: 1024px){.chain-wrap,.lib-wrap{grid-template-columns:1fr}.chain-list,.lib-filter{position:static;max-height:none}.seg-bar,.seg-cols{grid-template-columns:1fr 1fr 1fr}.ent-hero{grid-template-columns:1fr}}@media (max-width: 720px){.login{grid-template-columns:1fr}.login-left{padding:32px;min-height:280px}.login-right{padding:32px}.main{padding:16px}.seg-bar,.seg-cols,.seg-col.mid-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}.ent-fields{grid-template-columns:1fr}.ent-field.span-2,.ent-field.span-4{grid-column:span 1}.topbar-inner{padding:12px 16px;flex-wrap:wrap}}.seg-head .seg-label,.l2-head .l2-title,.node-row .node-label{flex:1;min-width:0}.node-actions{display:none;align-items:center;gap:2px;margin:0 6px;flex-shrink:0}.seg-head:hover .node-actions,.seg-head:focus-within .node-actions,.l2-head:hover .node-actions,.l2-head:focus-within .node-actions,.node-row:hover .node-actions,.node-row:focus-within .node-actions{display:inline-flex}.node-act{border:0;background:transparent;padding:3px;border-radius:6px;color:var(--ink-400);cursor:pointer;display:inline-flex;align-items:center;line-height:1;transition:all .12s}.node-act:hover{background:#2563eb1f;color:var(--accent-600)}.node-act.danger:hover{background:#dc26261f;color:#dc2626}.node-toggle{border:0;background:transparent;padding:2px;margin-right:4px;width:18px;height:18px;border-radius:4px;color:var(--ink-400);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.node-toggle:hover{background:var(--ink-100);color:var(--accent-600)}.node-toggle.placeholder{visibility:hidden;cursor:default}.side-toggle{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin-bottom:12px;background:var(--ink-50);border-radius:var(--r-md)}.side-toggle-item{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;padding:7px 6px;font-size:12.5px;font-weight:500;color:var(--ink-500);background:transparent;border-radius:5px;cursor:pointer;transition:all .15s;white-space:nowrap}.side-toggle-item:hover{color:var(--ink-800)}.side-toggle-item.active{background:var(--ink-0);color:var(--accent-600);box-shadow:var(--shadow-xs)}.tag-region.clickable{transition:all .12s}.tag-region.clickable:hover{background:#2563eb1f;color:#2563eb}.enterprise-follow-wrap{display:inline-flex;align-items:center;flex-shrink:0}.enterprise-follow-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:28px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-300);font:inherit;font-size:12px;cursor:pointer;transition:all .15s ease}.enterprise-follow-trigger:hover{color:#e5484d;background:#e5484d14;border-color:#e5484d24}.enterprise-follow-trigger.followed{color:#e5484d;background:#e5484d14}.enterprise-follow-trigger.followed:hover{background:#e5484d24}.lib-name-row{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.lib-name-row .name-link{min-width:0}.lib-focus-star{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--ink-300);cursor:pointer;transition:color .15s,background .15s}.lib-focus-star:hover{color:#b45309;background:#b4530914}.lib-focus-star.is-on{color:#b45309}.lib-focus-star:disabled{opacity:.55;cursor:progress}.focus-ent-wrap{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.focus-ent-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:28px;height:28px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-300);font:inherit;font-size:12px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.focus-ent-trigger:hover{color:#b45309;background:#b4530914;border-color:#b4530924}.focus-ent-trigger.focused{color:#b45309;background:#b4530914}.focus-ent-trigger.focused:hover{background:#b4530924}.focus-ent-trigger:disabled{cursor:not-allowed;opacity:.85}.focus-ent-repull{display:inline-flex;align-items:center;height:28px;padding:0 8px;border:1px solid rgba(180,83,9,.28);border-radius:8px;background:transparent;color:#b45309;font:inherit;font-size:12px;cursor:pointer;transition:all .15s ease}.focus-ent-repull:hover{background:#b453091a}.focus-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;line-height:1.4;background:var(--ink-50, #f1f5f9);color:var(--ink-400, #64748b);white-space:nowrap}.focus-badge--pending{background:#f1f5f9;color:#64748b}.focus-badge--pulling{background:#dbeafe;color:#1d4ed8}.focus-badge--done{background:#dcfce7;color:#15803d}.focus-badge--partial_failed{background:#ffedd5;color:#c2410c}.enterprise-follow-panel{position:fixed;z-index:1300;width:min(320px,calc(100vw - 24px));padding:16px;border:1px solid var(--ink-100);border-radius:12px;background:var(--ink-0);box-shadow:0 18px 48px #0f172a2e,0 2px 8px #0f172a14}.enterprise-follow-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.enterprise-follow-panel-title{color:var(--ink-900);font-size:15px;font-weight:650}.enterprise-follow-panel-desc{margin-top:3px;color:var(--ink-400);font-size:11.5px}.enterprise-follow-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-400);cursor:pointer}.enterprise-follow-close:hover{color:var(--ink-700);background:var(--ink-50)}.enterprise-follow-label{display:block;margin:12px 0 6px;color:var(--ink-700);font-size:12px;font-weight:600}.enterprise-follow-label span{color:var(--ink-300);font-weight:400}.enterprise-follow-quick-types{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.enterprise-follow-chip{padding:4px 9px;border:1px solid var(--ink-100);border-radius:999px;background:var(--ink-0);color:var(--ink-500);font-size:11.5px;cursor:pointer}.enterprise-follow-chip:hover,.enterprise-follow-chip.active{color:#d7353b;border-color:#e5484d52;background:#e5484d14}.enterprise-follow-input,.enterprise-follow-textarea{width:100%;border:1px solid var(--ink-100);border-radius:8px;background:var(--ink-0);color:var(--ink-800);font:inherit;font-size:12.5px;outline:none;transition:border-color .15s,box-shadow .15s}.enterprise-follow-input{height:36px;padding:0 10px}.enterprise-follow-textarea{min-height:76px;padding:9px 10px;line-height:1.55;resize:vertical}.enterprise-follow-input:focus,.enterprise-follow-textarea:focus{border-color:#2563eb8c;box-shadow:0 0 0 3px #2563eb14}.enterprise-follow-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.enterprise-follow-actions-spacer{flex:1}.enterprise-follow-actions .btn-primary,.enterprise-follow-actions .btn-secondary{min-height:32px;padding:6px 12px;font-size:12px}.enterprise-follow-remove{border:0;background:transparent;color:#d7353b;font-size:12px;cursor:pointer}.enterprise-follow-remove:hover{text-decoration:underline}.enterprise-follow-remove:disabled,.enterprise-follow-actions button:disabled{cursor:not-allowed;opacity:.55}.enterprise-map-search{position:relative;display:grid;grid-template-columns:minmax(420px,44%) minmax(560px,56%);height:calc(100vh - 220px);min-height:560px;overflow:hidden;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.enterprise-map-search--pending{grid-template-columns:1fr;place-items:center;gap:12px;padding:32px;color:var(--ink-500);text-align:center}.enterprise-map-search--pending button,.map-canvas-error button{padding:5px 10px;border:1px solid var(--accent-300);border-radius:var(--r-sm);color:var(--accent-700);background:var(--accent-50);font-size:12px;font-weight:600}.enterprise-map-search--pending button:hover,.map-canvas-error button:hover{background:var(--accent-100)}.enterprise-map-search-map{position:relative;align-self:stretch;height:100%;min-width:0;border-right:1px solid var(--ink-100);background:var(--ink-50)}.enterprise-map-search-panel{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--ink-0);overflow:hidden}.enterprise-map-locate-message{position:absolute;z-index:8;bottom:18px;left:18px;max-width:min(360px,calc(100% - 36px));padding:8px 12px;border:1px solid var(--accent-100);border-radius:var(--r-md);color:var(--accent-700);background:#fffffff0;box-shadow:var(--shadow-md);font-size:12px}.map-center-bar{position:absolute;z-index:10;top:12px;left:12px;display:flex;max-width:calc(100% - 24px);align-items:flex-start;gap:8px}.map-center-parks{display:flex;gap:6px;flex-wrap:wrap}.map-center-radius{display:inline-flex;align-items:center;gap:8px;min-width:168px;height:32px;padding:0 10px 0 12px;border:1px solid var(--ink-100);border-radius:999px;color:var(--ink-600);background:#ffffffeb;box-shadow:0 1px 2px #0f172a0f;font-size:12px}.map-center-radius-label{flex:0 0 auto;color:var(--ink-500);font-weight:500}.map-center-radius-slider{flex:1 1 auto;width:88px;min-width:72px;height:4px;margin:0;accent-color:var(--accent-500);cursor:pointer}.map-center-radius-value{flex:0 0 auto;min-width:2.6em;color:var(--ink-800);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.map-center-park{padding:6px 12px;border:1px solid var(--ink-100);border-radius:999px;color:var(--ink-700);background:#fffffff2;box-shadow:var(--shadow-sm);font-size:13px;cursor:pointer}.map-center-park--active{border-color:var(--accent-500);color:var(--ink-0);background:var(--accent-500)}.map-center-search{position:relative}.map-center-search input{width:220px;padding:6px 12px;border:1px solid var(--ink-100);border-radius:999px;background:#fffffff2;box-shadow:var(--shadow-sm);font-size:13px;outline:none}.map-center-search input:focus{border-color:var(--accent-400)}.map-center-searching{position:absolute;top:7px;right:12px;color:var(--ink-300);font-size:12px}.map-center-tips{position:absolute;top:calc(100% + 4px);left:0;width:280px;max-height:300px;margin:0;padding:4px;overflow:auto;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);box-shadow:var(--shadow-md);list-style:none}.map-center-tip{display:flex;width:100%;align-items:baseline;gap:8px;padding:6px 8px;border:0;color:var(--ink-700);background:transparent;font-size:13px;text-align:left;cursor:pointer}button.map-center-tip:hover{background:var(--ink-50)}.map-center-tip-district{color:var(--ink-400);font-size:12px}.map-center-tip--error,.map-center-tip--empty{color:var(--ink-400);cursor:default}.map-canvas{position:relative;width:100%;height:100%;overflow:hidden}.map-canvas-surface{width:100%;height:100%}.map-canvas-loading,.map-canvas-error,.map-canvas-load-error{position:absolute;z-index:6;left:16px;right:16px;padding:8px 10px;border-radius:var(--r-sm);font-size:12px;box-shadow:var(--shadow-sm)}.map-canvas-loading{top:16px;width:fit-content;color:var(--accent-700);background:#eef2fff0}.map-canvas-error{bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #FECACA;color:#b91c1c;background:#fef2f2f5}.map-canvas-load-error{top:16px;border:1px solid #FECACA;color:#b91c1c;background:#fef2f2f5}.map-enterprise-cluster{display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.96);border-radius:50%;color:var(--ink-0);background:var(--info);box-shadow:0 2px 8px #2563eb57;font-family:var(--font-display);font-size:9px;font-weight:650;line-height:1;white-space:nowrap}.map-enterprise-point{width:12px;height:12px;border:2px solid var(--ink-0);border-radius:50%;background:var(--info);box-shadow:0 1px 4px #2563eb66;cursor:pointer;transition:transform .12s}.map-enterprise-point:hover{transform:scale(1.25)}.map-enterprise-point--focus{width:20px;height:20px;border:4px solid var(--ink-0);background:var(--error);box-shadow:0 0 0 5px #dc262638,var(--shadow-md)}.map-detail-back{position:absolute;top:54px;left:12px;z-index:5;height:30px;padding:0 12px;border:1px solid var(--ink-200);border-radius:var(--r-sm);color:var(--ink-700);background:var(--ink-0);box-shadow:var(--shadow-sm);font-size:12px;font-weight:600}.map-detail-back:hover{border-color:var(--accent-400);color:var(--accent-700)}.map-enterprise-point--multi{color:var(--ink-0);font-family:var(--font-display);font-size:10px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center}.map-park-marker{display:flex;align-items:center;gap:4px;transform:translate(-8px,-8px);pointer-events:none}.map-park-marker-pin{width:14px;height:14px;border:3px solid var(--ink-0);border-radius:50% 50% 50% 0;background:var(--accent-600);box-shadow:var(--shadow-sm);transform:rotate(-45deg)}.map-park-marker-label{padding:2px 6px;border-radius:var(--r-sm);color:var(--accent-700);background:#ffffffeb;box-shadow:var(--shadow-xs);font-family:var(--font-display);font-size:11px;font-weight:700;white-space:nowrap}.map-park-marker--location .map-park-marker-pin{background:#ea580c}.map-park-marker--location .map-park-marker-label{color:#c2410c}.map-head-actions{position:relative;display:flex;flex:0 0 auto;align-items:center;gap:8px}.map-export-btn-wrap{position:relative;flex:0 0 auto}.map-head-action-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--ink-100);border-radius:var(--r-sm);color:var(--ink-600);background:var(--ink-0);font-size:12px;font-weight:500;transition:all .15s}.map-head-action-btn svg{width:14px;height:14px}.map-head-action-btn:hover:not(:disabled){border-color:var(--ink-300);color:var(--ink-900)}.map-head-action-btn:disabled{color:var(--ink-300);cursor:default}.map-enterprise-info{width:220px;padding:4px 2px;color:var(--ink-700);font-size:12px;line-height:1.55}.map-enterprise-info strong{display:block;color:var(--ink-900);font-size:13px}.map-enterprise-info-address{margin-top:4px;color:var(--ink-500)}.map-enterprise-info button{margin-top:8px;color:var(--accent-600);font-size:12px;font-weight:600}.map-enterprise-info button:hover{color:var(--accent-700);text-decoration:underline}.map-enterprise-info--group{color:var(--ink-600)}.map-filter-bar{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-bottom:1px solid var(--ink-100);background:var(--ink-0)}.map-filter-top{display:flex;align-items:center;gap:8px}.map-filter-center{flex:0 0 auto;padding:5px 8px;border:1px solid var(--accent-100);border-radius:var(--r-full);color:var(--accent-700);background:var(--accent-50);font-family:var(--font-display);font-size:11px;font-weight:600;white-space:nowrap}.map-filter-keyword{flex:1 1 auto;height:32px;min-width:0;padding:0 10px;border:1px solid var(--ink-100);border-radius:var(--r-sm);outline:0;color:var(--ink-800);background:var(--ink-0);font-size:12px;transition:border-color .15s,box-shadow .15s}.map-filter-keyword::placeholder{color:var(--ink-400)}.map-filter-keyword:focus{border-color:var(--accent-400);box-shadow:0 0 0 3px var(--accent-50)}.map-filter-reset{flex:0 0 auto;height:30px;padding:0 12px;border:1px solid var(--ink-100);border-radius:var(--r-sm);color:var(--ink-600);background:var(--ink-0);font-size:12px;font-weight:500;transition:all .15s}.map-filter-reset:hover{border-color:var(--ink-300);color:var(--ink-900)}.map-filter-refreshing{flex:0 0 auto;color:var(--accent-600);font-size:11.5px}.map-filter-row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px;padding:6px 0;border-top:1px solid var(--ink-50)}.map-filter-row-label{padding-top:6px;color:var(--ink-400);font-size:12px;font-weight:600;white-space:nowrap}.map-filter-row-items{display:flex;flex-wrap:wrap;gap:6px 8px}.map-filter-inline-check{display:inline-flex;align-items:center;gap:5px;padding:4px 2px;color:var(--ink-600);font-size:12px}.map-filter-inline-check input{accent-color:var(--accent-500)}.filter-dropdown{position:relative}.filter-dropdown-trigger{display:inline-flex;align-items:center;gap:3px;height:30px;padding:0 8px;border:1px solid var(--ink-100);border-radius:var(--r-sm);color:var(--ink-600);background:var(--ink-0);font-size:12px;white-space:nowrap;transition:all .15s}.filter-dropdown-trigger:hover{border-color:var(--ink-300);color:var(--ink-900)}.filter-dropdown[data-active] .filter-dropdown-trigger{border-color:var(--accent-300);color:var(--accent-700);background:var(--accent-50);font-weight:600}.filter-dropdown-summary{color:var(--accent-600);font-weight:600}.filter-dropdown-caret{font-size:9px;opacity:.6;transition:transform .15s}.filter-dropdown-trigger[aria-expanded=true] .filter-dropdown-caret{transform:rotate(180deg)}.filter-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:200px;max-width:min(680px,92vw);max-height:340px;overflow:auto;padding:12px;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);box-shadow:0 12px 32px #0f172a29}.filter-checklist{display:flex;flex-direction:column;gap:6px;min-width:148px}.filter-checklist label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-600);font-size:12px}.filter-checklist input{accent-color:var(--accent-500)}.filter-checklist-empty{margin:0;color:var(--ink-400);font-size:12px}.filter-cascader{display:flex;gap:8px;align-items:flex-start}.filter-cascader-col{flex:0 0 150px;width:150px;display:flex;flex-direction:column;min-height:0;padding-right:8px;border-right:1px solid var(--ink-100)}.filter-cascader-col:last-child{padding-right:0;border-right:0}.filter-cascader-title{margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--ink-50);color:var(--ink-400);font-size:11px;font-weight:600}.filter-cascader .filter-checklist{min-width:0;gap:5px;max-height:258px;overflow-y:auto;padding-right:4px}.filter-cascader .filter-checklist label{align-items:flex-start;gap:5px;line-height:1.35;overflow-wrap:anywhere}.filter-cascader .filter-checklist label input{margin-top:2px;flex:0 0 auto}.status-groups{display:flex;flex-direction:column;gap:12px;min-width:264px;max-width:420px}.status-group-head{display:inline-flex;align-items:center;gap:6px;color:var(--ink-800);font-size:13px;font-weight:600}.status-group-items{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;padding:9px 12px;border-radius:var(--r-sm);background:var(--ink-50)}.status-group-item{display:inline-flex;align-items:center;gap:5px;color:var(--ink-600);font-size:12px}.status-group-head input,.status-group-item input{accent-color:var(--accent-500)}.map-search-filter-choices{display:flex;flex-wrap:wrap;gap:6px 10px}.map-search-filter-choices label,.map-search-custom-range label{display:inline-flex;align-items:center;gap:4px;color:var(--ink-500);font-size:11.5px}.map-search-filter-choices input{accent-color:var(--accent-500)}.map-search-custom-range{display:flex;flex-direction:column;gap:8px;margin-top:8px}.map-search-custom-range label{display:flex;align-items:center;justify-content:space-between;gap:10px;white-space:nowrap}.map-search-custom-range input{height:28px;padding:0 6px;border:1px solid var(--ink-100);border-radius:5px;outline:0;color:var(--ink-700);font-size:11.5px;flex:0 0 auto}.map-search-custom-range input[type=number]{width:92px}.map-search-custom-range input[type=date]{width:132px}.map-search-validation-error{margin:0 14px 10px;padding:7px 9px;border:1px solid #FECACA;border-radius:var(--r-sm);color:#b91c1c;background:#fef2f2;font-size:12px}.map-enterprise-results{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.map-enterprise-results-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 16px 11px;border-bottom:1px solid var(--ink-100)}.map-enterprise-results-head strong{color:var(--ink-900);font-size:13px}.map-enterprise-results-park{display:block;margin-top:2px;color:var(--ink-400);font-size:11.5px}.map-enterprise-results-loading{flex:0 0 auto;color:var(--accent-600);font-size:11.5px;white-space:nowrap}.map-enterprise-results-error{flex:0 0 auto;margin:10px 16px 0;padding:7px 9px;border:1px solid #FECACA;border-radius:var(--r-sm);color:#b91c1c;background:#fef2f2;font-size:12px}.map-enterprise-results-table-wrap{min-height:0;flex:1 1 auto;overflow:auto;scrollbar-gutter:stable both-edges}.map-enterprise-results-table{width:100%;min-width:980px;border-collapse:collapse;color:var(--ink-600);font-size:12px}.map-enterprise-results-table th{position:sticky;top:0;z-index:1;padding:9px 12px;border-bottom:1px solid var(--ink-100);color:var(--ink-500);background:var(--ink-25);font-size:11.5px;font-weight:600;text-align:left;white-space:nowrap}.map-enterprise-results-table td{max-width:210px;padding:10px 12px;border-bottom:1px solid var(--ink-75);overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.map-enterprise-result-row{cursor:pointer;transition:background .12s}.map-enterprise-result-row:hover{background:var(--accent-50)}.map-enterprise-result-namecell{display:flex;align-items:center;gap:7px;min-width:0}.map-enterprise-result-name{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--ink-800);font:inherit;font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap}.map-enterprise-result-name:hover{color:var(--accent-600)}.map-enterprise-result-focus{flex:0 0 auto;padding:2px 6px;border-radius:4px;color:var(--accent-600);background:var(--accent-50);font-size:11px;white-space:nowrap}.map-enterprise-result-focus:hover{color:var(--accent-700);background:var(--accent-100)}.map-enterprise-results-empty,.map-enterprise-results-pending{display:grid;min-height:160px;flex:1 1 auto;place-items:center;padding:24px;color:var(--ink-400);font-size:12.5px;text-align:center}.map-enterprise-results .pager{flex:0 0 auto;padding:10px 16px;border-top:1px solid var(--ink-100);background:var(--ink-0)}@media (max-width: 1100px){.enterprise-map-search{grid-template-columns:1fr;height:auto;min-height:0;overflow:visible}.enterprise-map-search-map{height:420px;border-right:0;border-bottom:1px solid var(--ink-100)}.enterprise-map-search-panel{min-height:600px}.enterprise-map-locate-message{position:fixed;bottom:16px}}@media (max-width: 720px){.enterprise-map-search{border-radius:var(--r-md)}.enterprise-map-search-map{height:360px}.enterprise-map-search-panel{min-height:540px}.map-filter-bar{padding:12px}.map-filter-top{flex-wrap:wrap}.map-filter-keyword{flex-basis:100%;order:3}.map-filter-row{grid-template-columns:1fr;gap:4px}.filter-cascader{flex-direction:column;gap:8px}.filter-cascader-col{padding-right:0;border-right:0}.map-enterprise-results-head{padding-inline:12px}.map-enterprise-results .pager{align-items:flex-start;padding-inline:12px}.map-enterprise-results .pager{flex-wrap:wrap;gap:8px}.map-enterprise-results-table{min-width:880px}}.quant-total{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.quant-total-grade{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;padding:8px 10px;border-radius:8px;color:#fff}.quant-total-s{font-size:26px;font-weight:700;line-height:1}.quant-total-glabel{font-size:12px;margin-top:4px;opacity:.95}.quant-total-dims{display:flex;flex-direction:column;gap:4px;flex:1;min-width:220px}.quant-dim{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569}.quant-dim-k{width:46px;flex:none}.quant-dim-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.quant-dim-bar>i{display:block;height:100%;background:#2563eb;border-radius:4px}.quant-dim-v{width:28px;text-align:right;flex:none;color:#1e293b;font-weight:600}.quant-triggers{display:flex;gap:6px;flex-wrap:wrap;width:100%}.quant-trigger{font-size:11px;color:#b91c1c;background:#fee2e2;border-radius:4px;padding:2px 8px}.quant-block{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px}.quant-radar-wrap{flex:none}.quant-radar-note{flex:none;width:340px;padding:40px 16px;text-align:center;color:#9ca3af;font-size:13px;background:#f8fafc;border:1px dashed #e5e7eb;border-radius:8px}.quant-axes{flex:1;min-width:300px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.quant-axis-card{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;background:#fff}.quant-axis-na{background:#f9fafb;opacity:.75}.quant-axis-head{display:flex;justify-content:space-between;align-items:baseline}.quant-axis-label{font-weight:600;font-size:13px;color:#1e293b}.quant-axis-grade{font-size:13px;font-weight:700}.quant-axis-cov{font-size:11px;color:#94a3b8;margin:2px 0 4px}.quant-reasons{font-size:11px;color:#475569;margin-top:3px}.quant-reasons b{display:inline-block;margin-right:4px;font-size:10px;padding:0 5px;border-radius:3px}.quant-reasons b.r-strong{color:#166534;background:#dcfce7}.quant-reasons b.r-drag{color:#991b1b;background:#fee2e2}.quant-reason{margin:1px 0 1px 2px;line-height:1.5}.quant-radar-thin{text-align:center;font-size:11px;color:#9ca3af;margin-top:-6px}.dm-page{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:32px;display:flex;min-height:0}.dm-shell{display:flex;flex:1 1 auto;min-height:calc(100vh - 160px);overflow:hidden;border:1px solid var(--ink-100);border-radius:var(--r-lg);background:var(--ink-0);box-shadow:var(--shadow-sm)}.dm-menu{display:flex;flex:0 0 180px;flex-direction:column;gap:2px;padding:14px 10px;border-right:1px solid var(--ink-100);background:var(--ink-25)}.dm-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:var(--r-sm);color:var(--ink-600);background:transparent;font-size:13px;text-align:left;cursor:pointer}.dm-menu-item:hover{background:var(--ink-50);color:var(--ink-900)}.dm-menu-item--active,.dm-menu-item--active:hover{color:var(--accent-700);background:var(--accent-50);font-weight:600}.dm-content{min-width:0;min-height:0;flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden}.dm-developing{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-300);font-size:13px}.dm-developing strong{color:var(--ink-500);font-size:15px}.dm-developing span{padding:3px 10px;border:1px solid var(--ink-100);border-radius:999px;background:var(--ink-0);font-size:12px}.maintenance-denied{margin:60px auto;padding:14px 20px;border:1px solid var(--ink-100);border-radius:var(--r-md);color:var(--ink-500);background:var(--ink-0);font-size:13px}.map-export-confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a47}.map-export-confirm{position:fixed;z-index:1201;top:50%;left:50%;width:320px;max-width:calc(100vw - 32px);padding:16px 18px;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);box-shadow:var(--shadow-lg);transform:translate(-50%,-50%)}.map-export-confirm-title{color:var(--ink-800);font-size:14px;font-weight:600}.map-export-confirm-text{margin-top:8px;color:var(--ink-500);font-size:13px;line-height:1.6}.map-export-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.map-head-action-btn--primary{border-color:var(--accent-500);color:var(--ink-0);background:var(--accent-500)}.map-head-action-btn--primary:hover:not(:disabled){border-color:var(--accent-600);color:var(--ink-0);background:var(--accent-600)}.floating-ai-entry{position:fixed;right:22px;bottom:22px;z-index:1000;display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:none;background:transparent;cursor:pointer;overflow:visible;isolation:isolate;transition:transform .2s cubic-bezier(.22,1,.36,1)}.floating-ai-entry__glow{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;z-index:-1;border-radius:999px;background:radial-gradient(circle,rgba(56,189,248,.4) 0%,rgba(37,99,235,.16) 48%,transparent 72%);animation:floating-ai-breathe 2.8s ease-in-out infinite;pointer-events:none}.floating-ai-entry__icon{position:relative;z-index:1;display:block;filter:drop-shadow(0 6px 10px rgba(15,23,42,.3)) drop-shadow(0 1px 2px rgba(15,23,42,.2))}.floating-ai-entry__robot{animation:floating-ai-robot-bob 3.2s ease-in-out infinite}.floating-ai-entry__eye{transform-box:fill-box;transform-origin:center;animation:floating-ai-robot-blink 4.4s ease-in-out infinite}.floating-ai-entry__antenna-tip{animation:floating-ai-robot-tip 2.1s ease-in-out infinite}.floating-ai-entry__shadow{transform-box:fill-box;transform-origin:center;animation:floating-ai-robot-shadow 3.2s ease-in-out infinite}.floating-ai-entry:hover{transform:scale(1.1) translateY(-2px)}.floating-ai-entry:hover .floating-ai-entry__glow{animation-duration:1.6s;opacity:1}.floating-ai-entry:active{transform:scale(.96)}.floating-ai-entry:focus-visible{outline:2px solid rgba(125,211,252,.9);outline-offset:3px;border-radius:14px}@keyframes floating-ai-breathe{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes floating-ai-robot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.4px)}}@keyframes floating-ai-robot-blink{0%,91%,to{transform:scaleY(1)}94%{transform:scaleY(.12)}97%{transform:scaleY(1)}}@keyframes floating-ai-robot-tip{0%,to{opacity:.7}50%{opacity:1}}@keyframes floating-ai-robot-shadow{0%,to{transform:scaleX(1);opacity:.28}50%{transform:scaleX(.82);opacity:.18}}@media (prefers-reduced-motion: reduce){.floating-ai-entry__glow,.floating-ai-entry__robot,.floating-ai-entry__eye,.floating-ai-entry__antenna-tip,.floating-ai-entry__shadow{animation:none}}.app-confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:app-confirm-fade .16s ease-out}.app-confirm{width:min(440px,94vw);padding:22px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:var(--ink-0);box-shadow:0 24px 64px #0f172a3d;animation:app-confirm-rise .18s ease-out}.app-confirm-head{display:flex;align-items:flex-start;gap:13px}.app-confirm-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--accent-600);background:var(--accent-50)}.app-confirm-title{color:var(--ink-900);font-size:16px;font-weight:600;line-height:1.5}.app-confirm-description{margin-top:4px;color:var(--ink-500);font-size:13px;line-height:1.65}.app-confirm-body{margin-top:16px;padding:13px 14px;border:1px solid var(--ink-100);border-radius:10px;color:var(--ink-600);background:var(--ink-25, #f8fafc);font-size:13px}.app-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.app-confirm-actions .btn-outline,.app-confirm-actions .btn-primary{min-width:88px;justify-content:center}.app-confirm-points{display:grid;gap:7px}.app-confirm-point{display:flex;align-items:center;gap:8px}.export-page-range{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px}.export-page-range input[type=number]{width:72px;height:32px;padding:0 8px;border:1px solid var(--ink-200, #e2e8f0);border-radius:8px;color:var(--ink-900);background:var(--ink-0, #fff)}.app-confirm-point svg{color:#16a34a}@keyframes app-confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes app-confirm-rise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.batch-contact-trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;white-space:nowrap}.batch-contact-trigger:disabled{opacity:.5;cursor:not-allowed}.pager-size-select{height:28px;padding:0 6px;border:1px solid var(--ink-100);border-radius:var(--r-sm);color:var(--ink-600);background:var(--ink-0);font-size:12.5px;cursor:pointer}.pager-size-select:hover{border-color:var(--ink-200);color:var(--ink-900)}.cnrp{min-width:0;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg)}.cnrp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.cnrp[data-expanded=true] .cnrp-head{border-bottom:1px solid var(--ink-75)}.cnrp-title{min-width:0;margin:0;overflow:hidden;color:var(--ink-900);font-size:14px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.cnrp-toggle,.cnrp-retry{display:inline-flex;flex-shrink:0;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--ink-100);border-radius:var(--r-sm);color:var(--ink-600);font-size:13px;line-height:1.2}.cnrp-toggle:hover,.cnrp-retry:hover{border-color:var(--accent-300);color:var(--accent-600)}.cnrp-toggle:focus-visible,.cnrp-retry:focus-visible{outline:2px solid var(--accent-400);outline-offset:2px}.cnrp-toggle[aria-expanded=true] .cnrp-toggle-icon{transform:rotate(180deg)}.cnrp-body{min-width:0;padding:16px 18px 12px}.cnrp-stage{min-width:0}.cnrp-cols{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:24px;min-width:0}.cnrp-col{display:flex;flex-direction:column;min-width:0}.cnrp-col-label{flex-shrink:0;margin:0;padding:0 0 12px;color:var(--ink-500);font-size:12px;font-weight:500;line-height:1.4}.cnrp-col--cur .cnrp-col-label{text-align:center}.cnrp-side{display:flex;align-items:flex-start;justify-content:center;min-width:0}.cnrp-current{display:flex;align-items:center;justify-content:center;min-width:0}.cnrp-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start;width:100%;padding:4px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.cnrp-tag{min-width:0}.cnrp-chip{display:block;width:100%;margin:0;padding:7px 10px;border:1px solid var(--ink-100);border-radius:var(--r-sm);background:var(--ink-25);color:var(--ink-700);font:inherit;font-size:13px;line-height:1.4;text-align:center;overflow-wrap:anywhere;white-space:normal;cursor:pointer}.cnrp-chip:hover{border-color:var(--accent-300);color:var(--accent-600)}.cnrp-chip:focus-visible{outline:2px solid var(--accent-400);outline-offset:2px}.cnrp-node{width:100%;padding:24px 14px;border:1px solid var(--accent-100);border-radius:var(--r-md);background:var(--accent-50);color:var(--accent-700);font-size:16px;font-weight:600;line-height:1.5;text-align:center;overflow-wrap:anywhere}.cnrp-status,.cnrp-empty-side,.cnrp-empty-all{margin:0;color:var(--ink-400);font-size:13px;line-height:1.6;text-align:center}.cnrp-empty-all{margin-top:8px}.cnrp-error{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;min-height:120px}.cnrp-error p{margin:0;color:var(--ink-700);font-size:13px;line-height:1.6}@media (max-width: 1100px){.cnrp-cols{grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:16px}.cnrp-tags{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.cnrp-cols{grid-template-columns:minmax(0,1fr);gap:20px}.cnrp-node{padding:16px}}.opp-page{display:flex;flex-direction:column;gap:18px}.opp-controlbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg)}.opp-ctrl-left{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.opp-ctrl-label{font-size:12px;color:var(--ink-400);font-weight:500}.opp-period{position:relative}.opp-period-btn{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 12px 0 14px;max-width:min(420px,100%);border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--ink-0);color:var(--ink-900);font-size:13.5px;font-weight:500;transition:all .15s}.opp-period-btn:hover{border-color:var(--accent-400);box-shadow:0 0 0 4px var(--accent-50)}.opp-period-btn .pp-date{font-family:var(--font-display);font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp-period-btn .pp-tag{font-size:11px;padding:1px 7px;border-radius:var(--r-full);background:var(--accent-50);color:var(--accent-700);font-weight:500;flex-shrink:0}.opp-period-btn .pp-tag.archived{background:var(--ink-75);color:var(--ink-500)}.opp-period-btn svg{color:var(--ink-400);flex-shrink:0}.opp-period-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(480px,calc(100vw - 24px));background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:6px;animation:oppPop .14s ease}@keyframes oppPop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.opp-period-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title" "meta mini";column-gap:12px;row-gap:4px;padding:10px 12px;border-radius:var(--r-sm);cursor:pointer;transition:background .12s}.opp-period-item:hover{background:var(--ink-50)}.opp-period-item.active{background:var(--accent-50)}.opp-period-item .pi-date{grid-area:title;font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--ink-900);font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp-period-item.active .pi-date{color:var(--accent-700)}.opp-period-item .pi-meta{grid-area:meta;font-size:12px;color:var(--ink-400);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp-period-item .pi-mini{grid-area:mini;display:inline-flex;gap:3px;flex-shrink:0}.opp-mini-seg{width:16px;height:14px;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:#fff;font-weight:700}.opp-meta{display:inline-flex;align-items:center;gap:16px;font-size:12.5px;color:var(--ink-400);flex-wrap:wrap}.opp-meta b{color:var(--ink-700);font-weight:500}.opp-meta-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #0596691f}.opp-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.opp-stat{position:relative;overflow:hidden;padding:16px 18px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg)}.opp-stat-val{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--ink-900);letter-spacing:-.02em;line-height:1.05}.opp-stat-lbl{font-size:12.5px;color:var(--ink-500);margin-top:6px}.opp-stat-sub{font-size:11px;color:var(--ink-400);margin-top:3px}.opp-stat.accent .opp-stat-val{color:var(--accent-500)}.opp-stat.warn .opp-stat-val{color:var(--warn)}.opp-section{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:18px 20px}.opp-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.opp-sec-title{font-size:14.5px;font-weight:600;color:var(--ink-900);display:inline-flex;align-items:center;gap:8px}.opp-sec-title .ref{font-size:11px;color:var(--ink-300);font-weight:400}.opp-sec-sub{font-size:12.5px;color:var(--ink-400)}.opp-gbar{display:flex;height:40px;border-radius:var(--r-md);overflow:hidden;gap:2px}.opp-gseg{color:#fff;font-size:13px;font-weight:700;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;min-width:44px;transition:flex .3s;line-height:1.1}.opp-gseg b{font-size:11px;font-weight:600;opacity:.85}.opp-gseg span{font-size:14px;font-weight:700}.opp-gnote{font-size:12px;color:var(--ink-400);margin-top:10px;line-height:1.7;display:flex;gap:8px;align-items:flex-start}.opp-gnote svg{color:var(--warn);flex-shrink:0;margin-top:1px}.opp-legend{display:inline-flex;gap:14px;flex-wrap:wrap}.opp-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-500)}.opp-legend-sw{width:10px;height:10px;border-radius:3px}.opp-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.opp-grade-pills{display:inline-flex;gap:6px;flex-wrap:wrap}.opp-gpill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;color:var(--ink-600);background:var(--ink-50);border:1px solid transparent;border-radius:var(--r-full);cursor:pointer;transition:all .15s;font-weight:500}.opp-gpill:hover{background:var(--ink-75)}.opp-gpill.active{color:#fff}.opp-gpill .gp-dot{width:8px;height:8px;border-radius:50%}.opp-gpill .gp-n{font-family:var(--font-display);opacity:.8}.opp-sel-all{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-600);cursor:pointer;-webkit-user-select:none;user-select:none}.opp-sel-count{font-size:12.5px;font-weight:600;color:#b45309}.opp-list{display:flex;flex-direction:column;gap:10px}.opp-row{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:18px;padding:14px 18px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);cursor:pointer;transition:all .16s}.opp-row-check{width:15px;height:15px;cursor:pointer;accent-color:var(--accent-600, #B45309)}.opp-row:hover{border-color:var(--accent-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}.opp-row-rank{font-family:var(--font-display);font-size:12px;color:var(--ink-300);width:22px;text-align:center}.opp-grade{width:40px;height:40px;border-radius:var(--r-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:19px;font-weight:700}.opp-grade.lg{width:56px;height:56px;font-size:26px;border-radius:var(--r-lg)}.opp-grade-cell{display:inline-flex;align-items:center;gap:12px}.opp-row-main{min-width:0}.opp-row-name{font-size:15px;font-weight:600;color:var(--ink-900);margin-bottom:6px;letter-spacing:-.005em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.opp-row-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.opp-row-tags{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}.opp-cat{font-size:11px;padding:2px 8px;border-radius:var(--r-full);background:var(--accent-50);color:var(--accent-700);font-weight:500;white-space:nowrap}.opp-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 9px;border-radius:var(--r-full);font-weight:500;white-space:nowrap}.opp-chip.trigger{background:#fff3e0;color:#c2410c}.opp-chip.risk{background:#fef2f2;color:#b91c1c}.opp-chip svg{width:11px;height:11px}.opp-sigcount{font-size:11.5px;color:var(--ink-400)}.opp-sigcount b{color:var(--ink-700);font-weight:600;font-family:var(--font-display)}.opp-row-dims{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:280px}.opp-mdim{display:flex;flex-direction:column;gap:4px;align-items:center}.opp-mdim-k{font-size:10px;color:var(--ink-400);font-weight:600;letter-spacing:.04em}.opp-mdim-track{width:100%;height:4px;border-radius:2px;background:var(--ink-100);overflow:hidden}.opp-mdim-fill{display:block;height:100%;border-radius:2px}.opp-mdim-v{font-size:10.5px;color:var(--ink-500);font-family:var(--font-display)}.opp-row-score{text-align:right;min-width:64px}.opp-row-s{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1}.opp-row-s-lbl{font-size:10px;color:var(--ink-400);letter-spacing:.1em;margin-top:3px;text-transform:uppercase}.opp-row-go{color:var(--ink-300)}.opp-row:hover .opp-row-go{color:var(--accent-500)}.opp-detail{display:flex;flex-direction:column;gap:16px}.opp-d-hero{background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:26px 30px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.opp-d-head-main{min-width:0}.opp-d-name{font-size:22px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;margin-bottom:8px}.opp-d-sub{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.opp-d-gradeinfo{text-align:right;padding-left:24px;border-left:1px solid var(--ink-100)}.opp-d-gname{font-size:13px;font-weight:600;color:var(--ink-700)}.opp-d-s{font-family:var(--font-display);font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1}.opp-d-s-lbl{font-size:10px;color:var(--ink-400);letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.opp-action{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--r-md);background:var(--accent-50);border:1px solid var(--accent-100)}.opp-action svg{color:var(--accent-600);flex-shrink:0}.opp-action-txt{font-size:13px;color:var(--ink-700)}.opp-action-txt b{color:var(--accent-700);font-weight:600}.opp-formula-card{display:flex;flex-direction:column;gap:16px}.opp-formula{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-500);background:var(--ink-25);border:1px solid var(--ink-100);border-radius:var(--r-md);padding:10px 14px;line-height:1.6;overflow-x:auto}.opp-formula b{color:var(--accent-600)}.opp-contrib{display:flex;height:46px;border-radius:var(--r-md);overflow:hidden}.opp-contrib-seg{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;min-width:0;transition:flex .3s;padding:0 4px}.opp-contrib-seg .cs-k{font-size:11px;font-weight:600;opacity:.9}.opp-contrib-seg .cs-v{font-family:var(--font-display);font-size:14px;font-weight:700}.opp-dimcards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.opp-dimcard{padding:14px;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-25)}.opp-dimcard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.opp-dimcard-k{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-700)}.opp-dimcard-kdot{width:8px;height:8px;border-radius:2px}.opp-dimcard-w{font-size:11px;color:var(--ink-400)}.opp-dimcard-val{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--ink-900);letter-spacing:-.02em}.opp-dimcard-val small{font-size:12px;color:var(--ink-300);font-weight:500}.opp-dimcard-contrib{font-size:11px;color:var(--ink-400);margin-top:4px}.opp-dimcard-contrib b{color:var(--ink-600);font-family:var(--font-display)}.opp-dimcard-desc{font-size:11px;color:var(--ink-400);margin-top:8px;line-height:1.5;padding-top:8px;border-top:1px dashed var(--ink-100)}.opp-caplist{display:flex;flex-direction:column;gap:12px}.opp-capitem{display:grid;grid-template-columns:132px 1fr 64px;align-items:center;gap:14px}.opp-cap-name{font-size:12.5px;color:var(--ink-700);font-weight:500;display:inline-flex;align-items:center;gap:7px}.opp-cap-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.opp-cap-track{position:relative;height:22px;border-radius:var(--r-sm);background:var(--ink-75);overflow:hidden}.opp-cap-fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-sm);transition:width .4s}.opp-cap-capmark{position:absolute;top:0;bottom:0;width:2px;background:var(--ink-300)}.opp-cap-val{font-size:12px;color:var(--ink-500);font-family:var(--font-display);text-align:right}.opp-cap-val b{color:var(--ink-900);font-weight:600;font-size:13.5px}.opp-cap-empty{color:var(--ink-300)}.opp-sigtab-wrap{overflow-x:auto;border:1px solid var(--ink-100);border-radius:var(--r-md)}.opp-sigtab{width:100%;border-collapse:collapse;font-size:12.5px}.opp-sigtab th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;color:var(--ink-400);letter-spacing:.04em;text-transform:uppercase;background:var(--ink-25);border-bottom:1px solid var(--ink-100);white-space:nowrap}.opp-sigtab td{padding:11px 14px;border-bottom:1px solid var(--ink-75);color:var(--ink-600);vertical-align:top}.opp-sigtab tr:last-child td{border-bottom:0}.opp-sigtab tr:hover td{background:var(--ink-25)}.opp-sig-sum{color:var(--ink-500);line-height:1.5;max-width:420px}.opp-sig-src{color:var(--ink-300)}.opp-st{font-size:11px;padding:1px 8px;border-radius:var(--r-full);font-weight:600}.opp-st.strong{background:#fef2f2;color:#dc2626}.opp-st.mid{background:#fff7ed;color:#c2410c}.opp-st.weak{background:var(--ink-75);color:var(--ink-500)}.opp-st.risk{background:#fef2f2;color:#b91c1c}.opp-cred-bar{display:inline-flex;align-items:center;gap:6px}.opp-cred-track{width:38px;height:4px;border-radius:2px;background:var(--ink-100);overflow:hidden}.opp-cred-fill{display:block;height:100%;background:var(--seg-down);border-radius:2px}.opp-trigbox{display:flex;flex-direction:column;gap:8px}.opp-trig{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:#fff8f1;border:1px solid #F5E3C2}.opp-trig svg{color:#c2410c;flex-shrink:0;margin-top:1px}.opp-trig-name{font-size:13px;font-weight:600;color:#c2410c}.opp-trig-cond{font-size:11.5px;color:var(--ink-500);margin-top:2px;line-height:1.5}.opp-trig-action{font-size:11.5px;color:#9a3412;margin-top:4px;font-weight:500}.opp-risktags{display:flex;flex-wrap:wrap;gap:8px}.opp-risktag{font-size:12px;padding:4px 10px;border-radius:var(--r-md);background:#fef2f2;color:#b91c1c;border:1px solid #FECACA}.opp-needs{display:flex;flex-wrap:wrap;gap:10px}.opp-need{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-25);min-width:200px}.opp-need-t{font-size:13px;font-weight:600;color:var(--ink-800);display:inline-flex;align-items:center;gap:7px}.opp-need-c{font-size:11.5px;color:var(--ink-400);line-height:1.5}.opp-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-500);cursor:pointer;transition:color .15s}.opp-back:hover{color:var(--accent-600)}.opp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:oppFade .18s ease}@keyframes oppFade{0%{opacity:0}to{opacity:1}}.opp-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(720px,94vw);background:var(--ink-25);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:oppSlide .24s cubic-bezier(.22,1,.36,1)}@keyframes oppSlide{0%{transform:translate(40px);opacity:.4}to{transform:none;opacity:1}}.opp-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px;background:var(--ink-0);border-bottom:1px solid var(--ink-100)}.opp-drawer-title{font-size:17px;font-weight:600;color:var(--ink-900)}.opp-drawer-sub{font-size:12.5px;color:var(--ink-400);margin-top:2px}.opp-drawer-close{width:34px;height:34px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-500);border:1px solid var(--ink-100);background:var(--ink-0)}.opp-drawer-close:hover{color:var(--ink-900);border-color:var(--ink-200)}.opp-drawer-body{flex:1;overflow-y:auto;padding:22px 26px;display:flex;flex-direction:column;gap:22px}.opp-model-sec h3{font-size:14px;font-weight:600;color:var(--ink-900);margin-bottom:4px;display:inline-flex;align-items:center;gap:8px}.opp-model-sec h3 .ref{font-size:11px;font-weight:400;color:var(--ink-300)}.opp-model-sec p.desc{font-size:12.5px;color:var(--ink-400);margin-bottom:12px;line-height:1.6}.opp-model-formula{font-family:var(--font-mono);font-size:13px;color:var(--ink-800);background:var(--ink-900);color:#e0e7ff;border-radius:var(--r-md);padding:14px 16px;line-height:1.6;overflow-x:auto}.opp-model-formula .hl{color:#a5b4fc;font-weight:600}.opp-weightbars{display:flex;flex-direction:column;gap:10px;margin-top:12px}.opp-wb{display:grid;grid-template-columns:116px 1fr 44px;align-items:center;gap:12px}.opp-wb-name{font-size:12.5px;color:var(--ink-700);font-weight:500;display:inline-flex;align-items:center;gap:7px}.opp-wb-key{font-family:var(--font-display);font-weight:700;font-size:13px}.opp-wb-track{height:26px;border-radius:var(--r-sm);background:var(--ink-75);overflow:hidden}.opp-wb-fill{height:100%;border-radius:var(--r-sm);display:flex;align-items:center;padding-left:10px;color:#fff;font-size:11px;font-weight:600}.opp-wb-w{font-size:12.5px;color:var(--ink-500);font-family:var(--font-display);text-align:right}.opp-wb-desc{grid-column:1 / -1;font-size:11px;color:var(--ink-400);padding-left:128px;margin-top:-4px;line-height:1.5}.opp-mtable{width:100%;border-collapse:collapse;font-size:12px;border:1px solid var(--ink-100);border-radius:var(--r-md);overflow:hidden}.opp-mtable th{text-align:left;padding:9px 12px;background:var(--ink-50);color:var(--ink-500);font-weight:600;font-size:11px;letter-spacing:.03em;border-bottom:1px solid var(--ink-100)}.opp-mtable td{padding:9px 12px;border-bottom:1px solid var(--ink-75);color:var(--ink-600);vertical-align:top}.opp-mtable tr:last-child td{border-bottom:0}.opp-mtable .gcell{font-family:var(--font-display);font-weight:700}.opp-mtable .capcell{font-family:var(--font-display);color:var(--ink-800);font-weight:600}.opp-mtable .coefcell{font-family:var(--font-display);color:var(--accent-600);font-weight:600}.opp-grade-chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;color:#fff;font-family:var(--font-display);font-weight:700;font-size:12px}.opp-modal{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,94vw);max-height:90vh;overflow-y:auto;background:var(--ink-0);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);animation:oppModal .2s cubic-bezier(.22,1,.36,1)}@keyframes oppModal{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.opp-modal-head{padding:22px 26px 0}.opp-modal-title{font-size:18px;font-weight:600;color:var(--ink-900)}.opp-modal-sub{font-size:13px;color:var(--ink-400);margin-top:4px}.opp-modal-body{padding:20px 26px 26px;display:flex;flex-direction:column;gap:20px}.opp-fieldlabel{font-size:12px;color:var(--ink-500);font-weight:600;margin-bottom:8px;letter-spacing:.02em}.opp-presets{display:inline-flex;gap:8px;flex-wrap:wrap}.opp-preset{padding:6px 14px;font-size:12.5px;color:var(--ink-600);background:var(--ink-50);border:1px solid transparent;border-radius:var(--r-full);cursor:pointer;transition:all .15s}.opp-preset:hover{background:var(--ink-75)}.opp-preset.active{background:var(--accent-500);color:#fff}.opp-daterange{display:flex;align-items:center;gap:12px}.opp-dateinput{flex:1;display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);transition:all .15s}.opp-dateinput:focus-within{border-color:var(--accent-500);box-shadow:0 0 0 4px var(--accent-50)}.opp-dateinput input{border:0;outline:0;background:transparent;font-size:13.5px;color:var(--ink-900);font-family:var(--font-display);width:100%}.opp-dateinput svg{color:var(--ink-300);flex-shrink:0}.opp-date-arrow{color:var(--ink-300)}.opp-scope{display:flex;flex-wrap:wrap;gap:8px}.opp-scope-chip{padding:7px 14px;font-size:12.5px;color:var(--ink-600);background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-md);cursor:pointer;transition:all .15s}.opp-scope-chip:hover{border-color:var(--ink-200)}.opp-scope-chip.active{background:var(--accent-50);border-color:var(--accent-300);color:var(--accent-700);font-weight:500}.opp-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:4px}.opp-gen-steps{display:flex;flex-direction:column;gap:4px}.opp-gen-step{display:flex;align-items:center;gap:14px;padding:12px 4px}.opp-gen-ic{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--ink-100);color:var(--ink-300);transition:all .3s}.opp-gen-step.active .opp-gen-ic{border-color:var(--accent-500);color:var(--accent-500)}.opp-gen-step.done .opp-gen-ic{background:var(--accent-500);border-color:var(--accent-500);color:#fff}.opp-gen-main{flex:1}.opp-gen-t{font-size:13.5px;font-weight:500;color:var(--ink-700)}.opp-gen-step.done .opp-gen-t,.opp-gen-step.active .opp-gen-t{color:var(--ink-900)}.opp-gen-d{font-size:12px;color:var(--ink-400);margin-top:1px}.opp-gen-spin{width:16px;height:16px;border:2px solid var(--accent-100);border-top-color:var(--accent-500);border-radius:50%;animation:oppSpin .7s linear infinite}@keyframes oppSpin{to{transform:rotate(360deg)}}.opp-empty{padding:60px 20px;text-align:center;color:var(--ink-400);font-size:13.5px}@media (max-width: 1180px){.opp-stats{grid-template-columns:repeat(3,1fr)}.opp-row{grid-template-columns:auto auto 1fr auto}.opp-row-dims{display:none}.opp-dimcards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.opp-stats,.opp-dimcards{grid-template-columns:1fr 1fr}.opp-d-hero{grid-template-columns:1fr;text-align:left}.opp-d-gradeinfo{border-left:0;padding-left:0;text-align:left}.opp-capitem{grid-template-columns:100px 1fr 50px}}.cost-panel{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 20px 28px;display:flex;flex-direction:column;gap:16px}.cost-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cost-header h2{margin:0;font-size:18px;font-weight:650;color:var(--ink-900)}.cost-hint{margin:4px 0 0;font-size:12px;color:var(--ink-400)}.cost-range{display:flex;gap:6px}.cost-range button{border:1px solid var(--ink-100);background:var(--ink-0);color:var(--ink-600);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer}.cost-range button.is-active{background:var(--accent-500);border-color:var(--accent-500);color:#fff}.cost-range button:hover:not(.is-active){border-color:var(--accent-200);color:var(--accent-700);background:var(--accent-50)}.cost-refresh{margin-left:4px}.cost-error{padding:10px 12px;border-radius:var(--r-sm);background:#fef2f2;color:#b91c1c;font-size:13px}.cost-empty{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink-300);font-size:13px;text-align:center;padding:18px 8px}.cost-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cost-kpi-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-kpi-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.cost-contact-quota{display:flex;flex-direction:column;gap:12px}.cost-section-head{display:flex;flex-direction:column;gap:4px}.cost-subhead{margin:4px 0 0;font-size:13px;font-weight:600;color:var(--ink-700)}.cost-pager{display:flex;justify-content:flex-end}.cost-kpi{position:relative;border:1px solid var(--ink-100);border-radius:var(--r-md);padding:14px;background:var(--ink-0);box-shadow:0 1px 3px #0f172a0d}.cost-kpi--indigo{background:linear-gradient(135deg,#eef2ff,#fff 72%);border-color:#e0e7ff}.cost-kpi--emerald{background:linear-gradient(135deg,#ecfdf5,#fff 72%);border-color:#d1fae5}.cost-kpi--sky{background:linear-gradient(135deg,#f0f9ff,#fff 72%);border-color:#e0f2fe}.cost-kpi--amber{background:linear-gradient(135deg,#fffbeb,#fff 72%);border-color:#fef3c7}.cost-kpi--red,.cost-kpi--over{background:linear-gradient(135deg,#fef2f2,#fff 72%);border-color:#fecaca}.cost-kpi--indigo .cost-kpi-title{color:#4338ca}.cost-kpi--emerald .cost-kpi-title{color:#047857}.cost-kpi--sky .cost-kpi-title{color:#0369a1}.cost-kpi--amber .cost-kpi-title{color:#b45309}.cost-kpi--red .cost-kpi-title,.cost-kpi--over .cost-kpi-title{color:#b91c1c}.cost-kpi-icon{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff}.cost-kpi-icon--indigo{background:#4f46e5}.cost-kpi-icon--emerald{background:#10b981}.cost-kpi-icon--sky{background:#0ea5e9}.cost-kpi-icon--amber{background:#f59e0b}.cost-kpi-icon--red{background:#ef4444}.cost-kpi-title{font-size:12px;color:var(--ink-400);margin-bottom:6px}.cost-kpi-main{font-size:13px;color:var(--ink-500)}.cost-kpi-main strong{font-size:26px;color:var(--ink-900);font-weight:700}.cost-kpi-over-badge{margin-left:8px;vertical-align:4px}.cost-kpi-sub{margin-top:4px;font-size:12px;color:var(--ink-400)}.cost-kpi-bar{margin-top:10px;height:6px;border-radius:999px;background:var(--ink-50);overflow:hidden}.cost-kpi-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-400),var(--accent-600));border-radius:inherit}.cost-kpi--emerald .cost-kpi-bar i{background:linear-gradient(90deg,#34d399,#059669)}.cost-kpi-bar.is-warn i{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.cost-kpi-bar.is-over i{background:linear-gradient(90deg,#f87171,#dc2626)}.cost-provider-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cost-provider-list li{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-600)}.cost-provider-list li.is-total{margin-top:4px;padding-top:6px;border-top:1px dashed var(--ink-100);font-weight:600;color:var(--ink-900)}.cost-section{border:1px solid var(--ink-100);border-radius:var(--r-md);padding:12px 14px 14px;background:var(--ink-0);box-shadow:0 1px 3px #0f172a0d}.cost-section h3{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--ink-800)}.cost-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.cost-section-head h3{margin:0}.cost-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cost-grid-21{display:grid;grid-template-columns:2fr 1fr;gap:12px}.dm-chart{width:100%}.dm-chart--trend{height:260px}.dm-chart--donut{height:240px}.dm-chart--hours{height:220px}.cost-skel{border-radius:var(--r-md);background:linear-gradient(90deg,var(--ink-50) 25%,var(--ink-75) 37%,var(--ink-50) 63%);background-size:400% 100%;animation:cost-skel-pulse 1.4s ease infinite}.cost-skel--kpi{height:104px}.cost-skel--chart{height:300px}@keyframes cost-skel-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.cost-table{width:100%;border-collapse:collapse;font-size:12px}.cost-table th,.cost-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--ink-50);vertical-align:top}.cost-table th{color:var(--ink-400);font-weight:500;background:var(--ink-25)}.cost-table tbody tr:hover td{background:var(--ink-25)}.cost-table .cost-num{text-align:right;font-variant-numeric:tabular-nums}.cost-table td.is-ok{color:#15803d}.cost-table td.is-fail{color:#b91c1c}.cost-code{display:block;color:var(--ink-300);font-size:11px}.cost-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:1px}.cost-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;line-height:18px}.cost-badge--ok{background:#ecfdf5;color:#047857}.cost-badge--fail{background:#fef2f2;color:#b91c1c}@media (max-width: 1100px){.cost-kpi-row,.cost-kpi-row--4,.cost-grid-2,.cost-grid-21{grid-template-columns:1fr!important}}.park-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:32px;overflow-y:auto}.park-muted{color:var(--ink-300)}.park-coord{font-family:monospace;font-size:12px;color:var(--ink-500);white-space:nowrap}.park-action{cursor:pointer;font-size:12.5px;margin-right:10px;color:var(--accent-600);white-space:nowrap}.park-action:last-child{margin-right:0}.park-action--danger{color:#b91c1c}.park-action--disabled{color:var(--ink-300);cursor:not-allowed}.park-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000}.park-modal{width:560px;max-width:94vw;max-height:86vh;overflow-y:auto;background:var(--ink-0);border-radius:12px;padding:20px 22px;box-shadow:0 20px 60px #00000040}.park-modal--wide{width:760px}.park-modal-title{font-size:16px;font-weight:600;color:var(--ink-900);margin-bottom:4px}.park-modal-sub{font-size:13px;color:var(--ink-500);margin-bottom:16px}.park-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.park-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.park-field--full{grid-column:1 / -1}.park-field label{display:block;font-size:12px;color:var(--ink-500);margin-bottom:6px}.park-field label b{color:#b91c1c;font-weight:600}.park-field input,.park-field textarea{width:100%;padding:0 10px;border:1px solid var(--ink-100);border-radius:8px;background:var(--ink-0);font-size:14px;color:var(--ink-900);outline:none;box-sizing:border-box}.park-field input{height:36px}.park-field textarea{padding:8px 10px;min-height:72px;resize:vertical;line-height:1.5}.park-field input:focus,.park-field textarea:focus{border-color:var(--accent-400);box-shadow:0 0 0 4px var(--accent-50)}.park-radio-group{display:inline-flex;gap:16px;align-items:center;height:36px}.park-radio-group label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-700);cursor:pointer;white-space:nowrap}.park-pick,.park-pick-search{position:relative}.park-pick-search .search-box{display:flex;width:100%;min-width:0}.park-pick-search .search-box input{width:auto;height:auto;padding:0;border:none;border-radius:0;background:transparent}.park-pick-search .search-box input:focus{border-color:transparent;box-shadow:none}.park-pick-searching{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--ink-400);pointer-events:none}.park-pick-tips{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;margin:0;padding:4px;list-style:none;max-height:240px;overflow-y:auto;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.park-pick-tip{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 10px;border:none;background:none;font-size:13px;color:var(--ink-800);text-align:left;cursor:pointer;border-radius:6px;white-space:nowrap}.park-pick-tip:hover{background:var(--ink-50)}.park-pick-tip-name{font-weight:500;overflow:hidden;text-overflow:ellipsis}.park-pick-tip-district{font-size:12px;color:var(--ink-400);flex-shrink:0}.park-pick-tip--empty,.park-pick-tip--error{color:var(--ink-400);cursor:default}.park-pick-tip--error{color:#b91c1c}.park-pick-map{height:240px;margin-top:8px;border:1px solid var(--ink-100);border-radius:8px;overflow:hidden}.park-pick-map--error{display:flex;align-items:center;justify-content:center;color:var(--ink-400);font-size:13px;background:var(--ink-25)}.park-pick-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px}.park-pick-coord{font-family:monospace;color:var(--ink-500)}.park-pick-radius{display:flex;align-items:center;gap:10px;margin-top:10px}.park-pick-radius-label{font-size:12px;color:var(--ink-500);white-space:nowrap}.park-pick-radius-label b{color:#b91c1c;font-weight:600}.park-pick-radius input{width:140px;height:34px;padding:0 10px;border:1px solid var(--ink-100);border-radius:8px;background:var(--ink-0);font-size:14px;color:var(--ink-900);outline:none;box-sizing:border-box}.park-pick-radius input:focus{border-color:var(--accent-400);box-shadow:0 0 0 4px var(--accent-50)}.park-aoi-search{display:flex;gap:8px;margin-bottom:14px}.park-aoi-search .search-box{flex:1;min-width:0}.park-aoi-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.park-aoi-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--ink-100);border-radius:var(--r-md);cursor:pointer;transition:all .12s}.park-aoi-item:hover{border-color:var(--ink-200)}.park-aoi-item--active{border-color:var(--accent-400);background:var(--accent-50)}.park-aoi-item input[type=radio]{margin-top:3px;accent-color:var(--accent-600)}.park-aoi-item-name{font-size:13.5px;font-weight:500;color:var(--ink-900)}.park-aoi-item-meta{font-size:12px;color:var(--ink-400);margin-top:3px}.park-aoi-empty{padding:40px 0;text-align:center;color:var(--ink-400);font-size:13px}.park-rules-table{margin-bottom:16px}.park-rule-hit-disabled{color:var(--ink-300)}.park-rule-hit-note{font-size:12px;color:var(--ink-400);margin-left:2px}.park-enabled-toggle{display:inline-block;box-sizing:border-box;min-width:58px;padding:2px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;line-height:18px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s,background .12s,border-color .12s}.park-enabled-toggle .park-enabled-target,.park-enabled-toggle:hover .park-enabled-current{display:none}.park-enabled-toggle:hover .park-enabled-target{display:inline}.park-enabled-toggle.is-on{color:var(--success);background:#ecfdf5;border-color:#a7f3d0}.park-enabled-toggle.is-on:hover,.park-enabled-toggle.is-off{color:var(--error);background:#fef2f2;border-color:#fecaca}.park-enabled-toggle.is-off:hover{color:var(--success);background:#ecfdf5;border-color:#a7f3d0}.park-rule-new{display:grid;grid-template-columns:1.2fr 1.6fr auto auto;gap:8px;align-items:center;padding:12px;border:1px dashed var(--ink-200);border-radius:var(--r-md);background:var(--ink-25)}.park-rule-new input{height:34px;padding:0 10px;border:1px solid var(--ink-100);border-radius:8px;background:var(--ink-0);font-size:13px;color:var(--ink-900);outline:none;box-sizing:border-box;width:100%}.park-rule-new input:focus{border-color:var(--accent-400);box-shadow:0 0 0 4px var(--accent-50)}.park-rule-preview{grid-column:1 / -1;font-size:12.5px;color:var(--ink-500)}.park-rule-preview b{color:var(--accent-700)}.dt-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:32px;overflow-y:auto}.dt-error{margin:0 0 12px;padding:8px 12px;border:1px solid #FECACA;border-radius:var(--r-sm);background:#fef2f2;color:#b91c1c;font-size:13px}.dt-action{cursor:pointer;font-size:12.5px;margin-right:10px;padding:0;border:0;background:transparent;font-family:inherit;color:var(--accent-600);white-space:nowrap}.dt-action:last-child{margin-right:0}.dt-action--danger{color:#b91c1c}.dt-action:disabled,.dt-action--disabled{color:var(--ink-300);cursor:not-allowed}button.seg-tab{font-family:inherit}.dt-freq{color:var(--ink-700);white-space:nowrap}.dt-muted{color:var(--ink-400);font-size:12px}.dt-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--ink-100);background:var(--ink-25);color:var(--ink-600)}.dt-status--running,.dt-status--queued,.dt-status--pending{color:var(--info);background:#eff6ff;border-color:#bfdbfe}.dt-status--success,.dt-status--no_data{color:var(--success);background:#ecfdf5;border-color:#a7f3d0}.dt-status--failed{color:var(--error);background:#fef2f2;border-color:#fecaca}.dt-status--partial_failed{color:var(--warn);background:#fffbeb;border-color:#fde68a}.dt-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000}.dt-modal{width:920px;max-width:94vw;max-height:90vh;overflow-y:auto;background:var(--ink-0);border-radius:12px;padding:20px 22px;box-shadow:0 20px 60px #00000040}.dt-modal-title{font-size:16px;font-weight:600;color:var(--ink-900);margin-bottom:4px}.dt-modal-sub{font-size:13px;color:var(--ink-500);margin-bottom:16px}.dt-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dt-field{margin-bottom:12px}.dt-field>label:not(.dt-check){display:block;font-size:12px;color:var(--ink-500);margin-bottom:6px}.dt-field label b{color:#b91c1c;font-weight:600}.dt-field input:not([type=checkbox]),.dt-field select{width:100%;height:36px;padding:0 10px;border:1px solid var(--ink-100);border-radius:8px;background:var(--ink-0);font-size:14px;color:var(--ink-900);outline:none}.dt-field input:not([type=checkbox]):focus,.dt-field select:focus{border-color:var(--accent-400);box-shadow:0 0 0 4px var(--accent-50)}.dt-field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 14px}.dt-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-700);cursor:pointer}.dt-modal input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin:2px 0}.dt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.dt-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;border:0;border-radius:14px;background:#2563eb1a;color:#2563eb;font-size:13px;font-family:inherit;cursor:pointer}.dt-chip--new{background:#ecfdf5;color:#047857}.dt-candidates{max-height:180px;overflow:auto;border:1px solid var(--ink-100);border-radius:8px;margin-top:8px}.dt-candidate{padding:6px 10px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.dt-candidate:hover{background:var(--ink-50)}.dt-candidate-code{color:var(--ink-400);font-size:12px;flex-shrink:0;font-family:var(--font-mono)}.dt-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dt-resource{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--ink-100);border-radius:8px}.dt-resource--off{background:var(--ink-25);color:var(--ink-400)}.dt-resource-label{font-size:13px;color:var(--ink-800)}.dt-resource-meta{font-size:12px;color:var(--ink-400);margin-top:2px}.dt-resource-reason{color:#b91c1c}.dt-resource-stack{flex-direction:column}.dt-change-log-check{display:flex;align-items:flex-start;gap:8px}.dt-resource-stack select{width:100%;height:32px}.dt-import-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;font-size:12.5px;color:var(--ink-600)}.dt-import-wrap{max-height:320px;overflow:auto;border:1px solid var(--ink-100);border-radius:8px}.dt-import-wrap .table{margin:0}.dt-row-off{color:var(--ink-400);background:var(--ink-25)}.dt-new-hint{color:#047857;font-size:12px}.dt-row-msg{color:var(--ink-400);font-size:12px}.dt-upload-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.dt-upload-head>label:not(.dt-check){display:block;font-size:12px;color:var(--ink-500);margin-bottom:0}.dt-upload-tpl{height:28px;padding:0 10px;font-size:12px;flex-shrink:0}.dt-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--ink-200);border-radius:10px;padding:22px 16px;text-align:center;cursor:pointer;background:var(--ink-25);color:var(--ink-500);transition:border-color .15s,background .15s}.dt-dropzone:hover,.dt-dropzone--over{border-color:var(--accent-500);background:var(--accent-50)}.dt-dropzone-icon{margin-bottom:8px;color:var(--ink-400)}.dt-dropzone:hover .dt-dropzone-icon,.dt-dropzone--over .dt-dropzone-icon{color:var(--accent-500)}.dt-dropzone-main{font-size:13.5px;color:var(--ink-700)}.dt-dropzone-hint{font-size:12px;color:var(--ink-300);margin-top:4px}.dt-runs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dt-item-error{color:#b91c1c;font-size:12px;max-width:360px}@media (max-width: 640px){.dt-resources,.dt-field-row{grid-template-columns:1fr}.dt-page{padding:16px}}.park-profile{flex:0 0 auto;width:100%;max-width:1600px;margin:0 auto;padding:16px 32px 20px;display:flex;flex-direction:column;gap:12px;height:calc(100vh - 67px);min-height:480px}.park-profile-error{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;color:var(--ink-500);font-size:13px}.park-profile-parks{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.park-profile-park-tab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--ink-0);color:var(--ink-600);font-size:13px;font-weight:500;transition:all .15s}.park-profile-park-tab:hover{border-color:var(--accent-400);box-shadow:0 0 0 4px var(--accent-50)}.park-profile-park-tab.active{border-color:var(--accent-500);background:var(--accent-50);color:var(--accent-700)}.park-tab-warn{margin-left:4px;padding:1px 7px;border-radius:var(--r-full);background:#fef3c7;color:#b45309;font-size:11px;font-weight:500}.park-profile-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 420px;background:var(--ink-0);border:1px solid var(--ink-100);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.park-profile-body.collapsed{grid-template-columns:minmax(0,1fr)}.park-profile-map{position:relative;min-width:0;min-height:0;background:var(--ink-50)}.park-map-container{width:100%;height:100%}.park-profile-collapse-btn{position:absolute;top:50%;right:0;z-index:8;transform:translateY(-50%);width:22px;height:56px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink-0);border:1px solid var(--ink-200);border-right:0;border-radius:var(--r-sm) 0 0 var(--r-sm);color:var(--ink-400);box-shadow:var(--shadow-sm);transition:color .15s}.park-profile-collapse-btn:hover{color:var(--ink-700)}.park-profile-body.collapsed .park-profile-collapse-btn{border-right:1px solid var(--ink-200)}.park-profile-panel{min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--ink-100);background:var(--ink-0)}.park-panel-section{padding:12px 14px;border-bottom:1px solid var(--border, #e2e8f0)}.park-panel-section h3{margin:0 0 8px;font-size:13px;font-weight:600}.park-panel-loading{color:var(--text-3, #94a3b8);font-size:12px}.park-overview-line{font-size:13px;margin-bottom:8px}.park-industry-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.park-price-grid{display:flex;flex-direction:column;gap:6px;font-size:13px}.park-price-source{font-size:11px;color:var(--text-3, #94a3b8)}.park-ent-marker{min-width:14px;height:14px;padding:0 3px;border-radius:8px;background:#2563eb;color:#fff;font-size:10px;line-height:14px;text-align:center;cursor:pointer;box-shadow:0 0 0 2px #2563eb40}.park-ent-marker--manual{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b4d}.park-poi-marker{width:16px;height:16px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px #fffffff2,0 1px 3px #0f172a40}.poi-title{font-size:13px;font-weight:600;color:var(--ink-900)}.poi-meta{margin-top:2px;font-size:12px;color:var(--ink-500)}.park-side-panel{display:flex;flex-direction:column;overflow-y:auto;min-height:0}.park-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.park-section-head h3{margin:0}.park-resident-tabs{margin-bottom:8px}.park-resident-filters{display:flex;gap:6px;margin-bottom:8px}.park-filter-input,.park-resident-filters select{flex:1;min-width:0;padding:4px 8px;font-size:12px;border:1px solid var(--border, #e2e8f0);border-radius:6px}.park-resident-list.loading{opacity:.5}.park-resident-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #f1f5f9}.park-resident-main{min-width:0;display:flex;flex-direction:column}.park-resident-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-resident-meta{font-size:11px;color:var(--text-3, #94a3b8)}.park-tag-manual{color:#d97706;font-style:normal;margin-left:4px}.park-tag-out{color:#dc2626;font-style:normal;margin-left:4px}.park-tag-address{color:#2563eb;font-style:normal;margin-left:4px}.park-resident-actions{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.park-resident-row--acc{flex-direction:column;align-items:stretch}.park-resident-rowhead{display:flex;align-items:center;gap:8px;width:100%;justify-content:space-between}.park-resident-rowhead .park-resident-main{flex:1;min-width:0}.park-resident-rowhead .park-resident-actions{flex-shrink:0}.park-acc-arrow{border:none;background:none;padding:2px;cursor:pointer;color:var(--ink-400);transition:transform .12s;flex-shrink:0}.park-acc-arrow.expanded{transform:rotate(90deg);color:var(--accent-500)}.park-point-filter{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;padding:4px 8px;background:var(--accent-50);border-radius:6px;font-size:12px;color:var(--accent-700)}.park-ent-search{margin-bottom:8px;padding:8px;background:#f8fafc;border-radius:6px}.park-ent-search-bar{display:flex;gap:6px;margin-bottom:6px}.park-ent-search-bar input{flex:1;padding:4px 8px;font-size:12px;border:1px solid var(--border, #e2e8f0);border-radius:6px}.park-collect-status{font-size:11px;color:var(--text-2, #475569);margin-bottom:8px;display:flex;flex-wrap:wrap;gap:4px}.collect-cat{padding:1px 6px;border-radius:4px;background:#f1f5f9}.collect-cat--done{background:#dcfce7;color:#15803d}.collect-cat--running{background:#dbeafe;color:#1d4ed8}.collect-cat--failed{background:#fee2e2;color:#b91c1c}.park-poi-toggles{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:12px}.park-poi-toggle{display:inline-flex;align-items:center;gap:3px;cursor:pointer;white-space:nowrap;flex-shrink:0}.park-poi-sortseg{margin-left:auto;display:inline-flex;white-space:nowrap;flex-shrink:0}.park-poi-group{margin-bottom:8px}.park-poi-group-title{display:flex;align-items:center;gap:4px;width:100%;padding:2px 0;margin-bottom:4px;text-align:left;font-size:12px;font-weight:600;color:var(--text-2, #475569)}.park-poi-group-title:hover{color:var(--text-1, #1e293b)}.park-collapse-arrow{flex-shrink:0;transform:rotate(-90deg);transition:transform .15s ease}.park-collapse-arrow.expanded{transform:rotate(0)}.park-section-toggle{display:flex;align-items:center;gap:4px;padding:0;color:inherit}.park-section-toggle-title{font-size:13px;font-weight:600}.park-section-toggle:hover .park-section-toggle-title{color:var(--accent-600, #2563eb)}.park-poi-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:12px;position:relative}button.park-poi-row--locatable{width:100%;text-align:left;color:inherit;border-radius:4px}button.park-poi-row--locatable:hover{background:var(--ink-50, #f8fafc)}button.park-poi-row--locatable:hover .park-poi-name{color:var(--accent-600, #2563eb)}.park-poi-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-poi-meta{color:var(--text-3, #94a3b8);flex-shrink:0}.park-poi-addr-tip{display:none;position:absolute;left:0;top:calc(100% - 2px);z-index:20;max-width:100%;padding:3px 8px;border-radius:6px;background:#0f172aeb;color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.park-poi-row:hover .park-poi-addr-tip{display:block}.park-side-panel .btn-sm{height:26px;padding:0 8px;font-size:11.5px;gap:4px}.park-side-panel .btn-sm svg{width:12px;height:12px}.park-map-legend{position:absolute;top:10px;right:10px;z-index:9;display:flex;flex-direction:column;gap:2px;padding:7px 9px;background:#fffffff5;border:1px solid var(--ink-100);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.park-map-legend-item{display:flex;align-items:center;gap:6px;padding:2px 4px;border:none;background:none;cursor:pointer;font-size:12px;color:var(--ink-700);border-radius:var(--r-sm)}.park-map-legend-item:hover{background:var(--ink-50)}.park-map-legend-item.off .park-map-legend-label,.park-map-legend-item.off .park-map-legend-count{color:var(--ink-300)}.park-map-legend-icon{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.park-map-legend-label{min-width:24px;text-align:left}.park-map-legend-count{margin-left:auto;font-weight:600;font-size:12px;color:var(--ink-500)}.park-ov-hero{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}.park-ov-hero b{font-size:26px;font-weight:700;color:var(--ink-900);letter-spacing:-.5px}.park-ov-hero span{font-size:12px;color:var(--ink-500)}.park-ov-nearby{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;margin:-4px 0 2px;padding:3px 6px;border:none;background:none;border-radius:var(--r-sm);cursor:pointer;text-align:left}.park-ov-nearby:hover,.park-ov-nearby.active{background:var(--ink-50)}.park-ov-nearby-label{font-size:12px;color:var(--ink-500)}.park-ov-nearby-label b{font-size:13px;font-weight:600;color:var(--ink-700)}.park-ov-nearby-hint{font-size:11px;color:var(--ink-400)}.park-ov-block-title{font-size:11px;font-weight:600;color:var(--ink-400);margin:10px 0 6px;letter-spacing:.3px}.park-ov-industry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:3px 6px;border-radius:var(--r-sm);cursor:pointer}.park-ov-industry:hover,.park-ov-industry.active{background:var(--accent-50)}.park-ov-industry.active .park-ov-industry-name{color:var(--accent-700);font-weight:600}.park-ov-industry-name{font-size:12px;color:var(--ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;padding-bottom:3px}.park-ov-industry-bar{position:absolute;left:0;bottom:0;height:3px;border-radius:2px;background:var(--accent-400)}.park-ov-industry-count{font-size:12px;font-weight:600;color:var(--ink-500)}.park-ov-cats{display:flex;gap:4px;flex-wrap:wrap}.park-ov-cat{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--ink-100);border-radius:var(--r-full);background:var(--ink-0);cursor:pointer;font-size:12px;color:var(--ink-700)}.park-ov-cat:hover{border-color:var(--accent-400)}.park-ov-cat.off{opacity:.45}.park-ov-cat-icon{width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.park-ov-cat b{font-weight:600}.park-resident-name--link{background:none;border:none;padding:0;font:inherit;font-weight:500;color:var(--ink-900);cursor:pointer;text-align:left}.park-resident-name--link:hover{color:var(--accent-600);text-decoration:underline}.park-risk-badge{font-style:normal;font-size:11px;line-height:16px;padding:0 6px;border-radius:999px;margin-left:6px;white-space:nowrap;cursor:default}.park-risk-badge--news{color:var(--error);background:#fef2f2;border:1px solid #FECACA}.park-risk-badge--legal{color:var(--warn);background:#fffbeb;border:1px solid #FDE68A}.park-pulse-block{margin-bottom:14px}.park-pulse-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--ink-100);font-size:13px}.park-pulse-ent{background:none;border:none;padding:0;font:inherit;font-weight:500;color:var(--ink-800);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.park-pulse-ent:hover{color:var(--accent-600);text-decoration:underline}.park-pulse-title{color:var(--accent-700);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-pulse-title:hover{text-decoration:underline}.park-pulse-tendency{font-style:normal;font-size:11px;padding:0 6px;border-radius:999px;white-space:nowrap;flex-shrink:0}.park-pulse-tendency--neg{color:var(--error);background:#fef2f2}.park-pulse-tendency--pos{color:var(--success);background:#ecfdf5}.park-pulse-tendency--neu{color:var(--ink-400);background:var(--ink-50)}.park-pulse-meta{font-size:11.5px;color:var(--ink-400);white-space:nowrap}.park-pulse-risk-row{display:flex;align-items:center;width:100%;padding:6px 0;border:none;border-bottom:1px dashed var(--ink-100);background:none;font:inherit;cursor:pointer;text-align:left}.park-pulse-risk-row:hover .park-pulse-ent{color:var(--accent-600)}.park-ent-maprow{display:grid;grid-template-columns:7fr 3fr;gap:16px;margin-top:12px;align-items:stretch}.park-ent-mapcell .park-map-container{height:340px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ink-100)}.park-ent-pulsecell{min-width:0;max-height:340px;overflow-y:auto;border:1px solid var(--ink-100);border-radius:var(--r-lg);padding:12px;background:var(--ink-0)}.park-ent-pulsecell .park-pulse-row{flex-wrap:wrap;row-gap:2px}.park-ent-pulsecell .park-pulse-ent{max-width:none}.park-ent-pulsecell .park-pulse-block h3{margin:0 0 6px;font-size:13px}@media (max-width: 1100px){.park-ent-maprow{grid-template-columns:1fr}.park-ent-pulsecell{max-height:none}}.park-analytics-section{margin-top:12px}.park-analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}.park-analytics-card{min-width:0;min-height:245px;padding:12px;border:1px solid var(--ink-100);border-radius:var(--r-lg);background:var(--ink-0)}.park-analytics-card h3{margin:0 0 10px;color:var(--ink-800);font-size:13px;font-weight:600}.park-analytics-industry-list{display:flex;flex-direction:column;gap:5px}.park-analytics-card .park-ov-industry{width:100%;border:none;background:transparent;font:inherit;text-align:left}.park-analytics-empty{display:flex;min-height:190px;align-items:center;justify-content:center;color:var(--ink-400);font-size:12px}.park-donut{display:grid;grid-template-columns:minmax(92px,112px) minmax(0,1fr);gap:10px;align-items:center}.park-donut-chart{display:block;width:100%;height:auto;overflow:visible}.park-donut-track,.park-donut-segment{fill:none;stroke-width:13}.park-donut-track{stroke:var(--ink-75)}.park-donut-segments{transform:rotate(-90deg);transform-origin:60px 60px}.park-donut-segment{transition:opacity .18s ease}.park-donut-segment:hover{opacity:.78}.park-donut-total{fill:var(--ink-900);font-size:19px;font-weight:700}.park-donut-total-label{fill:var(--ink-400);font-size:9px}.park-donut-empty{fill:var(--ink-400);font-size:11px}.park-donut-legend{display:flex;min-width:0;flex-direction:column;gap:5px}.park-donut-legend-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:6px;color:var(--ink-600);font-size:11px}.park-donut-legend-name{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-donut-legend-name i{width:7px;height:7px;flex:0 0 7px;border-radius:50%}.park-donut-legend-value{display:inline-flex;flex:none;align-items:baseline;gap:4px;color:var(--ink-700);font-weight:600}.park-donut-legend-value em{color:var(--ink-400);font-size:10px;font-style:normal;font-weight:400}.park-analytics-error{padding:34px 16px;border:1px solid #FECACA;border-radius:var(--r-lg);background:#fef2f2;color:var(--error);font-size:13px;text-align:center}.park-analytics-skeleton{overflow:hidden}.park-analytics-skeleton span,.park-analytics-skeleton i{display:block;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--ink-50) 25%,var(--ink-100) 50%,var(--ink-50) 75%);background-size:200% 100%;animation:park-analytics-shimmer 1.3s infinite}.park-analytics-skeleton span{width:46%;height:14px;margin-bottom:22px}.park-analytics-skeleton i{width:100%;height:12px;margin:12px 0}.park-analytics-skeleton i:nth-of-type(2){width:82%}.park-analytics-skeleton i:nth-of-type(3){width:64%}@keyframes park-analytics-shimmer{to{background-position:-200% 0}}@media (max-width: 1100px){.park-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 699px){.park-analytics-grid{grid-template-columns:1fr}}.park-resident-row--acc.expanded{padding-bottom:10px}.park-acc{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:12px;width:100%;margin-top:8px;padding:12px;border:1px solid var(--ink-100);border-radius:var(--r-lg);background:var(--ink-50)}.park-acc-left,.park-acc-right{min-width:0;padding:12px;border:1px solid var(--ink-100);border-radius:var(--r-md);background:var(--ink-0);box-shadow:0 1px 2px #0f172a08}.park-acc-right{background:linear-gradient(180deg,var(--ink-0) 0%,var(--ink-25) 100%)}.park-acc-toolbar,.park-acc-right-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.park-acc-tabs,.park-acc-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0}.park-acc-chips{margin:-2px 0 10px;padding-top:8px;border-top:1px solid var(--ink-75)}.mini-tab{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--ink-100);border-radius:999px;background:var(--ink-25);color:var(--ink-500);font-size:11px;line-height:1;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.mini-tab:hover:not(:disabled){border-color:var(--accent-300);color:var(--accent-700)}.mini-tab em{min-width:18px;padding:1px 5px;border-radius:999px;background:var(--ink-75);color:var(--ink-500);font-size:10px;font-style:normal;line-height:14px;text-align:center}.mini-tab.on{border-color:var(--accent-400);background:var(--accent-50);color:var(--accent-700);font-weight:600;box-shadow:0 0 0 2px #4f46e514}.mini-tab.on em{background:var(--accent-100);color:var(--accent-700)}.mini-tab:disabled{opacity:.42;cursor:default}.park-acc-more{flex-shrink:0;padding:4px;border:0;background:transparent;color:var(--accent-600);font-size:11px;white-space:nowrap;cursor:pointer}.park-acc-more:hover{color:var(--accent-700)}.park-acc-more span{font-size:10px}.park-acc-table-wrap{overflow-x:auto;border:1px solid var(--ink-100);border-radius:var(--r-sm)}.park-acc-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--ink-0)}.park-acc-table th{padding:7px 8px;border-bottom:1px solid var(--ink-100);background:var(--ink-25);color:var(--ink-400);font-weight:500;text-align:left;white-space:nowrap}.park-acc-table td{padding:7px 8px;border-bottom:1px solid var(--ink-75);color:var(--ink-700)}.park-acc-table tbody tr:last-child td{border-bottom:0}.park-acc-table td.ellipsis{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-acc-empty,.park-acc-news-empty{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed var(--ink-200);border-radius:var(--r-md);background:linear-gradient(180deg,var(--ink-0),var(--ink-25));text-align:center}.park-acc-empty-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--ink-75);color:var(--ink-400);font-weight:600}.park-acc-empty strong,.park-acc-news-empty strong{color:var(--ink-700);font-size:12px;font-weight:600}.park-acc-empty>span:last-child,.park-acc-news-empty em{color:var(--ink-400);font-size:11px;font-style:normal}.park-acc-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:8px;font-size:11px;color:var(--ink-500)}.park-acc-pager button{width:26px;height:24px;padding:0;border:1px solid var(--ink-200);border-radius:var(--r-sm);background:var(--ink-0);color:var(--ink-600);cursor:pointer}.park-acc-pager button:hover:not(:disabled){border-color:var(--accent-300);color:var(--accent-700)}.park-acc-pager button:disabled{opacity:.35;cursor:default}.park-acc-right-title{display:flex;align-items:center;gap:7px;color:var(--ink-700);font-size:12px;font-weight:600}.park-acc-right-title i{width:7px;height:7px;border-radius:50%;background:var(--accent-500);box-shadow:0 0 0 4px var(--accent-50)}.park-acc-news-empty{border:0;background:transparent}.park-acc-news-empty>span{color:var(--ink-300);font-size:22px;line-height:1}.park-acc-right .park-pulse-row{padding:8px 0;font-size:12px}.park-acc-right .park-pulse-row:last-child{border-bottom:0}.park-acc-detail-link{border:none;background:none;color:var(--accent-600);font-size:12px;cursor:pointer;padding:0;margin-left:4px}.park-acc-detail-link:hover{text-decoration:underline}@media (max-width: 1100px){.park-acc{grid-template-columns:1fr}}@media (max-width: 699px){.park-acc{gap:8px;padding:8px}.park-acc-left,.park-acc-right{padding:10px}.park-acc-toolbar{align-items:flex-start}.mini-tab{padding:5px 8px}}.park-ent-profile-panel{margin-top:12px;border:1px solid var(--ink-100);border-radius:var(--r-lg);background:var(--ink-0)}.park-ent-profile-panel .park-section-head h3{margin:0;font-size:13px;font-weight:600}.park-profile-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0 10px}.park-profile-kpi{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--ink-50);border:1px solid var(--ink-100);border-radius:var(--r-md);min-width:0}.park-profile-kpi--industry{gap:2px}.park-profile-kpi--risk{background:#fffbeb;border-color:#fde68a}.park-profile-kpi-label{font-size:11px;color:var(--ink-500);letter-spacing:.3px}.park-profile-kpi-value{font-size:22px;font-weight:700;color:var(--ink-900);line-height:1.1;display:inline-flex;align-items:baseline;gap:3px}.park-profile-kpi-value em{font-size:12px;font-style:normal;font-weight:500;color:var(--ink-500)}.park-profile-kpi-value--muted{font-size:13px;font-weight:500;color:var(--ink-400)}.park-profile-kpi-value--risk{color:#b45309}.park-profile-kpi-sub{font-size:11px;color:var(--ink-500)}.park-profile-facilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px}.park-profile-facility{display:flex;align-items:center;justify-content:space-between;min-width:0;color:var(--ink-600);font-size:11px}.park-profile-facility strong{color:var(--ink-900);font-size:12px}.park-profile-kpi-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.park-profile-kpi-list li{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:12px;color:var(--ink-700)}.park-profile-kpi-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.park-profile-kpi-pct{color:var(--accent-700);font-weight:600;flex-shrink:0}@media (max-width: 900px){.park-profile-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.park-profile-summary{border-top:1px dashed var(--ink-100);padding-top:10px}.park-profile-summary-title{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink-700);margin-bottom:6px}.park-profile-summary-stale{font-style:normal;font-size:11px;padding:1px 7px;border-radius:var(--r-full);background:#fef3c7;color:#b45309;margin-left:4px}.park-profile-summary-body{padding:10px 12px;border-radius:var(--r-md);background:var(--ink-50);border:1px solid var(--ink-100);font-size:13px;line-height:1.65;color:var(--ink-700);min-height:56px}.park-profile-summary-body--idle,.park-profile-summary-body--loading,.park-profile-summary-body--error{display:flex;align-items:center}.park-profile-summary-body--success{background:var(--ink-0)}.park-profile-summary-tip{display:inline-flex;align-items:center;gap:8px;color:var(--ink-500);font-size:13px}.park-profile-summary-tip--error{color:var(--error, #dc2626)}.park-profile-summary-content p{margin:0 0 8px}.park-profile-summary-content p:last-child{margin-bottom:0}.park-profile-summary-meta{font-size:11px;color:var(--ink-400);margin-bottom:6px}.park-profile-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--accent-200, #bfdbfe);border-top-color:var(--accent-500, #3b82f6);animation:park-profile-spin .8s linear infinite}@keyframes park-profile-spin{to{transform:rotate(360deg)}}.park-doc-section{margin-top:12px;border:1px solid var(--ink-100);border-radius:var(--r-lg);background:var(--ink-0)}.park-doc-section .park-section-head h3{margin:0;font-size:13px;font-weight:600}.park-doc-file-input{display:none}.park-doc-remark-input{width:100%;padding:6px 10px;margin-bottom:8px;font-size:12px;color:var(--ink-700);border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--ink-0)}.park-doc-remark-input:focus{outline:none;border-color:var(--accent-400);box-shadow:0 0 0 3px var(--accent-50)}.park-doc-list{list-style:none;margin:0;padding:0}.park-doc-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--ink-100);font-size:13px}.park-doc-row:last-child{border-bottom:none}.park-doc-name{color:var(--accent-700);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-doc-name:hover{text-decoration:underline}.park-doc-remark{color:var(--ink-500);font-size:12px;flex-shrink:0;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-doc-del{flex-shrink:0}.park-doc-empty{padding:12px 0;color:var(--ink-400);font-size:13px;text-align:center}@media (max-width: 900px){.park-doc-remark{display:none}}
