:root{--tap-bg: #eaf0f8;--tap-surface: rgba(255, 255, 255, .62);--tap-surface-soft: rgba(255, 255, 255, .42);--tap-text: #0c1320;--tap-muted: #5b6675;--tap-border: rgba(17, 24, 39, .08);--tap-hairline: rgba(255, 255, 255, .7);--tap-primary: #0a84ff;--tap-secondary: #5e5ce6;--tap-accent: #64d2ff;--tap-success: #30d158;--tap-warning: #ff9f0a;--tap-danger: #ff453a;--tap-radius: 18px;--tap-radius-sm: 12px;--tap-radius-pill: 999px;--tap-shadow: 0 8px 30px rgba(15, 23, 42, .1);--tap-glass-blur: blur(24px) saturate(170%);--tap-field-bg: rgba(255, 255, 255, .5);--tap-field-border: rgba(17, 24, 39, .12);--tap-focus-ring: 0 0 0 2px rgba(10, 132, 255, .5);color:var(--tap-text);background:var(--tap-bg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter,ui-sans-serif,system-ui,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--tap-text);background:radial-gradient(1100px 620px at 8% -8%,rgba(10,132,255,.16),transparent 60%),radial-gradient(900px 560px at 96% 4%,rgba(94,92,230,.16),transparent 58%),radial-gradient(820px 520px at 50% 108%,rgba(100,210,255,.12),transparent 60%),var(--tap-bg);background-attachment:fixed}button,input,select,textarea{font:inherit}.glass{background:var(--tap-surface);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);border:1px solid var(--tap-border);box-shadow:var(--tap-shadow),inset 0 1px 0 var(--tap-hairline);border-radius:var(--tap-radius)}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel{width:min(100%,440px);padding:28px;background:var(--tap-surface);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);border:1px solid var(--tap-border);box-shadow:var(--tap-shadow),inset 0 1px 0 var(--tap-hairline);border-radius:var(--tap-radius)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px;text-align:center}.login-brand h1{margin:2px 0 0;color:var(--tap-text);font-size:22px;letter-spacing:-.01em}.login-tagline{margin:0;color:var(--tap-muted);font-size:13px}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:8px;color:var(--tap-text);font-size:14px;font-weight:600}.login-form input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--tap-field-border);border-radius:var(--tap-radius-sm);color:var(--tap-text);background:var(--tap-field-bg)}.login-form input::placeholder{color:var(--tap-muted)}.login-form input:focus-visible,.password-field button:focus-visible,.captcha-image:focus-visible,.login-submit:focus-visible{outline:none;border-color:var(--tap-primary);box-shadow:var(--tap-focus-ring)}.password-field,.captcha-row{display:grid;gap:8px}.password-field{grid-template-columns:minmax(0,1fr) 76px}.password-field button,.captcha-image{min-height:48px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);color:var(--tap-text);background:var(--tap-surface-soft);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);cursor:pointer;font-weight:600}.captcha-row{grid-template-columns:minmax(0,1fr) 150px}.captcha-image{display:grid;place-items:center;overflow:hidden;padding:0}.captcha-image img{display:block;width:100%;height:48px;object-fit:cover}.captcha-image:disabled,.login-submit:disabled{cursor:wait;opacity:.62}.login-alert{min-height:44px;padding:12px 14px;border:1px solid rgba(255,69,58,.28);border-radius:var(--tap-radius-sm);color:#b3261e;background:#ff453a1a;font-size:14px;line-height:1.5}.login-submit{min-height:48px;border:1px solid rgba(10,132,255,.4);border-radius:var(--tap-radius-sm);color:#fff;background:linear-gradient(180deg,#2a96ff,var(--tap-primary));box-shadow:0 6px 18px #0a84ff52,inset 0 1px #ffffff59;cursor:pointer;font-weight:700}.login-submit:hover:not(:disabled){filter:brightness(1.04)}.header-actions .login-submit,.row-actions .login-submit{min-height:36px;padding:0 16px;border-radius:var(--tap-radius-pill);font-size:13px}.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.side-nav{position:sticky;top:0;height:100vh;padding:20px 14px;margin:14px 0 14px 14px;background:var(--tap-surface);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);border:1px solid var(--tap-border);box-shadow:var(--tap-shadow),inset 0 1px 0 var(--tap-hairline);border-radius:var(--tap-radius)}.brand-block{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 8px 22px}.brand-block strong{display:block;font-size:15px}.brand-block span{display:block;color:var(--tap-muted);font-size:12px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--tap-primary),var(--tap-secondary) 55%,var(--tap-accent));border:1px solid rgba(255,255,255,.45);box-shadow:inset 0 1px #ffffff8c,0 4px 12px #0a84ff47}.side-nav nav{display:flex;flex-direction:column;gap:16px}.nav-group{display:grid;gap:2px}.nav-group-label{margin:0 0 4px;padding:0 12px;color:var(--tap-muted);font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.65}.nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:var(--tap-radius-sm);color:var(--tap-muted);background:transparent;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.nav-item:hover,.nav-item:focus-visible{color:var(--tap-text);background:var(--tap-surface-soft);outline:none}.nav-item.active{color:var(--tap-text);border-color:var(--tap-border);background:var(--tap-surface);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);box-shadow:inset 0 1px 0 var(--tap-hairline),0 4px 14px #0f172a14}.nav-item.active .nav-glyph{color:var(--tap-primary);opacity:1}.nav-glyph{flex:0 0 auto;width:18px;height:18px;opacity:.72}.workspace{min-width:0;width:100%;max-width:1480px;margin-inline:auto;padding:22px 28px 36px}.top-bar{position:sticky;top:16px;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:14px 18px;background:var(--tap-surface);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);border:1px solid var(--tap-border);box-shadow:var(--tap-shadow),inset 0 1px 0 var(--tap-hairline);border-radius:var(--tap-radius)}.top-bar p,.panel-heading p{margin:0 0 4px;color:var(--tap-primary);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}h1,h2,h3{margin:0;letter-spacing:0}h1{font-size:24px}h2{font-size:17px}h3{font-size:14px}.utility-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.utility-actions button,.glass-button{min-height:44px;padding:0 16px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);color:var(--tap-text);background:var(--tap-surface-soft);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);cursor:pointer;font-weight:600;transition:background .15s ease}.utility-actions button:hover,.glass-button:hover{background:var(--tap-surface)}.operator-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-pill);color:var(--tap-muted);background:var(--tap-surface-soft);font-size:13px;font-weight:600}.utility-actions button:focus-visible,.glass-button:focus-visible{outline:none;border-color:var(--tap-primary);box-shadow:var(--tap-focus-ring)}.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.kpi-card,.panel{background:var(--tap-surface);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);border:1px solid var(--tap-border);box-shadow:var(--tap-shadow),inset 0 1px 0 var(--tap-hairline);border-radius:var(--tap-radius)}.kpi-card{min-height:118px;padding:18px;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--tap-primary);opacity:.85}.kpi-card.secondary:before{background:var(--tap-secondary)}.kpi-card.warning:before{background:var(--tap-warning)}.kpi-card.success:before{background:var(--tap-success)}.kpi-card span,.health-list span{display:block;color:var(--tap-muted);font-size:13px}.kpi-card strong{display:block;margin:10px 0 6px;font-size:30px;line-height:1.1;font-weight:650;letter-spacing:-.015em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-card small{font-size:13px;font-weight:600}.kpi-card.primary small{color:#0a6ed1}.kpi-card.secondary small{color:#4b49c4}.kpi-card.warning small{color:#b46c00}.kpi-card.success small{color:#1f9e44}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:14px}.strategy-grid,.ops-grid{grid-template-columns:1fr;margin-top:14px}.analytics-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);margin-top:14px}.panel{overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--tap-border)}.filter-tabs,.row-actions{display:flex;flex-wrap:wrap;gap:8px}.filter-tabs button,.row-actions button,.header-actions button:not(.login-submit){min-height:36px;padding:0 14px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-pill);color:var(--tap-muted);background:var(--tap-surface-soft);cursor:pointer;font-size:12px;font-weight:600;transition:background .15s ease,color .15s ease}.filter-tabs button:hover,.row-actions button:hover,.header-actions button:not(.login-submit):hover{background:var(--tap-surface);color:var(--tap-text)}.filter-tabs button.active{border-color:#0a84ff66;color:var(--tap-primary);background:#0a84ff1f}.filter-tabs button:disabled{cursor:wait;opacity:.58}.row-actions button.danger{border-color:#ff453a52;color:var(--tap-danger);background:#ff453a1a}.row-actions button:disabled{cursor:wait;opacity:.56}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 18px;border-bottom:1px solid var(--tap-border);text-align:left;white-space:nowrap}thead th{position:sticky;top:0;background:var(--tap-surface-soft);color:var(--tap-muted);font-size:12px;font-weight:600;letter-spacing:.02em}tbody td{font-variant-numeric:tabular-nums}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--tap-surface-soft)}tbody tr:hover{background:#ffffff59}td strong,.table-subtext{display:block}td strong{max-width:260px;overflow:hidden;color:var(--tap-text);font-size:13px;text-overflow:ellipsis}.table-subtext{margin-top:4px;color:var(--tap-muted);font-size:12px}th{position:sticky;top:0;z-index:1;color:var(--tap-muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#ffffff8c;backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur)}.status-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border:1px solid rgba(255,159,10,.3);border-radius:var(--tap-radius-pill);color:#a96400;background:#ff9f0a24;font-size:12px;font-weight:600}.status-pill.success{border-color:#30d15852;color:#1f9e44;background:#30d15824}.status-pill.danger{border-color:#ff453a52;color:#b3261e;background:#ff453a1f}.audit-panel{overflow-x:auto}.audit-table td:nth-child(2),.audit-table td:nth-child(3),.audit-table td:nth-child(4){max-width:220px;overflow:hidden;text-overflow:ellipsis}.health-list{display:grid;gap:12px;padding:18px}.health-list div{display:flex;justify-content:space-between;gap:16px;min-height:48px;padding:14px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.health-list strong{color:var(--tap-text);font-size:14px}.strategy-list{display:grid;gap:10px;padding:18px}.strategy-admin-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}.strategy-admin-grid .strategy-list{align-content:start;border-right:1px solid var(--tap-border)}.strategy-row,.poi-row{display:grid;align-items:center;min-height:62px;padding:14px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.strategy-row{grid-template-columns:minmax(0,1fr) 100px auto;gap:12px;width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.strategy-row:hover,.strategy-row:focus-visible,.strategy-row.selected{border-color:#0a84ff66;outline:none;background:#0a84ff1a}.poi-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.strategy-row strong,.poi-row strong{display:block;color:var(--tap-text);font-size:14px}.strategy-row span,.poi-row span,.strategy-row small,.poi-row small{color:var(--tap-muted);font-size:12px;font-weight:600}.poi-row div:last-child{display:grid;gap:6px;text-align:right}.ai-config-form{display:grid;gap:12px;padding:18px;max-width:760px}.ai-config-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ai-config-status div{min-height:64px;padding:14px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.ai-config-status span,.inline-switch span{display:block;color:var(--tap-muted);font-size:12px;font-weight:600}.ai-config-status strong{display:block;margin-top:8px;overflow:hidden;color:var(--tap-text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.inline-switch{display:flex;align-items:center;gap:10px;min-height:44px}.inline-switch input{width:18px;height:18px;accent-color:var(--tap-primary)}.ai-config-form .inline-switch input,.strategy-editor .inline-switch input{width:18px;min-height:auto;height:18px;padding:0}.ai-config-form label:not(.inline-switch){display:grid;gap:6px;color:var(--tap-text);font-size:12px;font-weight:600}.strategy-editor{display:grid;align-content:start;gap:12px;padding:18px}.strategy-editor label:not(.inline-switch),.poi-editor label{display:grid;gap:6px;color:var(--tap-text);font-size:12px;font-weight:600}.ai-config-form input,.strategy-editor input,.strategy-editor textarea,.poi-editor input,.poi-editor textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--tap-field-border);border-radius:var(--tap-radius-sm);color:var(--tap-text);background:var(--tap-field-bg);font:inherit;line-height:1.45}.strategy-editor textarea,.poi-editor textarea{resize:vertical}.ai-config-form input:focus-visible,.strategy-editor input:focus-visible,.strategy-editor textarea:focus-visible,.poi-editor input:focus-visible,.poi-editor textarea:focus-visible{outline:none;border-color:var(--tap-primary);box-shadow:var(--tap-focus-ring)}.form-actions{display:flex;justify-content:flex-end;gap:10px}.form-actions .login-submit,.form-actions .glass-button{min-width:132px}.poi-admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:0}.poi-admin-list{min-width:0;border-right:1px solid var(--tap-border)}.poi-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px;border-bottom:1px solid var(--tap-border)}.poi-table-wrap{overflow-x:auto}.selected-row td{background:#0a84ff1a}.poi-editor{display:grid;align-content:start;gap:12px;padding:18px}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-message{min-height:38px;padding:10px 12px;border:1px solid rgba(10,132,255,.26);border-radius:var(--tap-radius-sm);color:#0a6ed1;background:#0a84ff1a;font-size:13px;font-weight:600}.load-error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid rgba(255,69,58,.28);border-radius:var(--tap-radius-sm);color:#b3261e;background:#ff453a1a;font-size:13px;font-weight:600}.load-error-banner button{flex-shrink:0}.chart-body{padding:18px}.bar-chart{display:flex;align-items:flex-end;justify-content:center;gap:14px;height:176px;padding:8px 4px 0}.bar-col{display:flex;flex:0 1 64px;max-width:64px;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0;height:100%}.bar-fill{display:block;width:100%;max-width:40px;min-height:4px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--tap-accent),var(--tap-primary));box-shadow:inset 0 1px #fff6;transition:height .25s ease}.bar-label{color:var(--tap-muted);font-size:11px;white-space:nowrap}.rank-body{display:grid;gap:18px;padding:18px}.rank-block h3{margin-bottom:12px;color:var(--tap-text)}.hbar-list{display:grid;gap:10px}.hbar-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) auto;align-items:center;gap:10px}.hbar-key{overflow:hidden;color:var(--tap-text);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.hbar-track{position:relative;height:12px;border-radius:var(--tap-radius-pill);background:#1118270f;overflow:hidden}.hbar-fill{display:block;height:100%;min-width:2px;border-radius:var(--tap-radius-pill);transition:width .25s ease}.hbar-fill.primary{background:linear-gradient(90deg,var(--tap-primary),var(--tap-accent))}.hbar-fill.secondary{background:linear-gradient(90deg,var(--tap-secondary),#8b8af0)}.hbar-count{color:var(--tap-muted);font-size:12px;font-weight:700;text-align:right}.analytics-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:18px;border-bottom:1px solid var(--tap-border)}.analytics-filters label{display:grid;gap:6px;color:var(--tap-text);font-size:12px;font-weight:600}.analytics-filters input,.analytics-filters select{min-height:42px;min-width:150px;padding:9px 12px;border:1px solid var(--tap-field-border);border-radius:var(--tap-radius-sm);color:var(--tap-text);background:var(--tap-field-bg)}.analytics-filters input:focus-visible,.analytics-filters select:focus-visible{outline:none;border-color:var(--tap-primary);box-shadow:var(--tap-focus-ring)}.analytics-filters .glass-button{min-height:42px}.analytics-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;color:var(--tap-muted);font-size:13px;font-weight:600;text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:260px;padding:48px 24px;text-align:center}.empty-state-icon{width:40px;height:40px;color:var(--tap-muted);opacity:.45}.empty-state strong{color:var(--tap-text);font-size:15px}.empty-state span{max-width:460px;color:var(--tap-muted);font-size:13px;line-height:1.7}tbody td[colspan]{padding:44px 18px;text-align:center;color:var(--tap-muted)}tbody td[colspan] strong{display:block;margin-bottom:4px;color:var(--tap-text);font-size:14px}tbody tr:has(td[colspan]):hover{background:transparent}.analysis-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);margin-top:14px}.analysis-form{display:grid;align-content:start;gap:12px;padding:18px;max-width:760px}.analysis-form label{display:grid;gap:6px;color:var(--tap-text);font-size:12px;font-weight:600}.analysis-form input,.analysis-form textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--tap-field-border);border-radius:var(--tap-radius-sm);color:var(--tap-text);background:var(--tap-field-bg);font:inherit;line-height:1.45}.analysis-form textarea{resize:vertical}.analysis-form input:focus-visible,.analysis-form textarea:focus-visible{outline:none;border-color:var(--tap-primary);box-shadow:var(--tap-focus-ring)}.analysis-help-body{display:grid;gap:16px;padding:18px}.analysis-help-block h3{margin-bottom:8px;color:var(--tap-text)}.analysis-help-block p{margin:0;color:var(--tap-muted);font-size:13px;line-height:1.6}.analysis-help-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.analysis-help-list li{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.analysis-help-list span{color:var(--tap-muted);font-size:12px;font-weight:600}.analysis-help-list strong{color:var(--tap-text);font-size:14px;word-break:break-word}.analysis-help-note{margin:10px 0 0;color:var(--tap-muted);font-size:12px;line-height:1.55}.analysis-help-steps{margin:0;padding-left:20px;color:var(--tap-muted);font-size:13px;line-height:1.7}.analysis-state{display:grid;gap:8px;place-items:center;min-height:180px;padding:24px;text-align:center}.analysis-state strong{color:var(--tap-text);font-size:15px}.analysis-state span{max-width:520px;color:var(--tap-muted);font-size:13px;line-height:1.6}.analysis-state-error strong{color:#b3261e}.analysis-spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(10,132,255,.22);border-top-color:var(--tap-primary);animation:analysis-spin .8s linear infinite}@keyframes analysis-spin{to{transform:rotate(360deg)}}.analysis-result{display:grid;gap:16px;padding:18px}.analysis-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analysis-meta-item{min-height:64px;padding:12px 14px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.analysis-meta-item span{display:block;color:var(--tap-muted);font-size:12px;font-weight:600}.analysis-meta-item strong{display:block;margin-top:8px;color:var(--tap-text);font-size:14px;word-break:break-word}.analysis-steps{display:flex;flex-wrap:wrap;gap:8px}.analysis-step-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border:1px solid rgba(94,92,230,.28);border-radius:var(--tap-radius-pill);color:#4b49c4;background:#5e5ce61f;font-size:12px;font-weight:600}.analysis-summary{padding:16px;border:1px solid rgba(10,132,255,.26);border-radius:var(--tap-radius-sm);background:#0a84ff14}.analysis-summary h3{margin-bottom:8px;color:#0a6ed1}.analysis-summary p{margin:0;color:var(--tap-text);font-size:14px;line-height:1.65}.analysis-sections{display:grid;gap:14px}.analysis-section-card{padding:16px 18px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.analysis-section-card h3{margin-bottom:10px;color:var(--tap-text)}.analysis-markdown{color:var(--tap-text);font-size:14px;line-height:1.7}.analysis-markdown p{margin:0 0 10px}.analysis-markdown p:last-child{margin-bottom:0}.analysis-markdown h4,.analysis-markdown h5,.analysis-markdown h6{margin:14px 0 8px;color:var(--tap-text)}.analysis-markdown h4{font-size:15px}.analysis-markdown h5{font-size:14px}.analysis-markdown h6{font-size:13px;color:var(--tap-muted)}.analysis-markdown ul{margin:0 0 10px;padding-left:20px}.analysis-markdown li{margin-bottom:4px}.analysis-markdown code{padding:1px 6px;border-radius:6px;background:#1118270f;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:13px}.analysis-markdown-empty{margin:0;color:var(--tap-muted);font-size:13px}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.side-nav{position:static;height:auto;margin:14px}.side-nav nav{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid,.analytics-grid,.analysis-grid,.kpi-strip{grid-template-columns:1fr 1fr}.strategy-row,.poi-admin-grid,.strategy-admin-grid,.poi-summary-grid,.ai-config-status{grid-template-columns:1fr}.poi-admin-list,.strategy-admin-grid .strategy-list{border-right:0;border-bottom:1px solid var(--tap-border)}}@media(max-width:640px){.workspace{padding:14px}.top-bar,.panel-heading{align-items:flex-start;flex-direction:column}.side-nav nav,.dashboard-grid,.analytics-grid,.analysis-grid,.kpi-strip{grid-template-columns:1fr}.analysis-meta{grid-template-columns:1fr}.moderation-panel{overflow-x:auto}.form-grid.two{grid-template-columns:1fr}.hbar-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto}}@media(prefers-reduced-transparency:reduce){.side-nav,.top-bar,.panel,.kpi-card,.login-panel,.nav-item.active,th{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}.mcp-layout{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:start}.mcp-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.mcp-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft);text-align:left;cursor:pointer}.mcp-item.active{border-color:var(--tap-primary);background:#0a84ff14}@media(max-width:720px){.mcp-layout{grid-template-columns:1fr}}.reserved-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:240px;padding:44px 24px;margin:18px;border:1px dashed var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.reserved-state strong{color:var(--tap-text);font-size:15px}.reserved-state span{max-width:640px;color:var(--tap-muted);font-size:13px;line-height:1.7}.dossier-json{max-height:280px;margin:0;padding:14px;overflow:auto;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:#1118270a;color:var(--tap-text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.panel:has(.ai-config-form){max-width:900px;margin-inline:auto}.health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.health-item{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--tap-border);border-radius:var(--tap-radius-sm);background:var(--tap-surface-soft)}.health-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.health-meta strong{font-size:14px}.health-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--tap-muted)}.health-dot.up{background:var(--tap-success)}.health-dot.down{background:var(--tap-danger)}.health-dot.unknown{background:var(--tap-muted)}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--tap-surface-soft)}.row-selected{cursor:pointer;background:#0a84ff1a}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:56px 16px;overflow-y:auto;background:#0f172a52;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.modal-dialog{width:100%;max-width:560px;padding:20px 22px 22px;background:var(--tap-surface);backdrop-filter:var(--tap-glass-blur);-webkit-backdrop-filter:var(--tap-glass-blur);border:1px solid var(--tap-border);box-shadow:var(--tap-shadow),inset 0 1px 0 var(--tap-hairline);border-radius:var(--tap-radius)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h2{margin:0;font-size:18px}.modal-close{width:32px;height:32px;padding:0;font-size:20px;line-height:1;color:var(--tap-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
