/* ============================================================
   新版布局（data-layout="modern"）
   只管「形状和排布」：侧边栏、玻璃导航、卡片阴影、圆角、字体、仪表盘、热力图、动效。
   颜色一律来自配色变量（style.css 里的黑金默认值，或 palettes.css 里的其他配色），
   所以任何配色都能配这套布局；不挂 data-layout 时这个文件一条都不生效，经典布局保持原样。
   ============================================================ */

/* ---------- 字体、圆角，以及从配色推出来的几种辅助色 ----------
   辅助色用 color-mix 从 --accent / --surface 这些基础色算出来，新加一种配色只要给基础色就够了 */
:root[data-layout="modern"]{
  --fontBody:'Inter','PingFang SC','Microsoft YaHei',-apple-system,sans-serif;
  --fontUI:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  /* 数字不再用等宽字体，改用 Inter 的等宽数字（tabular-nums），对得齐但更清爽 */
  --fontMono:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  --fontDisplay:'Plus Jakarta Sans','Inter','PingFang SC','Microsoft YaHei',sans-serif;
  --r6:8px; --r7:9px; --r8:10px; --r9:11px; --r10:14px; --r11:999px; --r12:16px; --r14:20px;
  --accentHover:color-mix(in srgb,var(--accent) 84%,var(--text));
  --accent2:color-mix(in srgb,var(--accent) 68%,#fff);
  --glass:color-mix(in srgb,var(--surface) 76%,transparent);
  --glassBorder:color-mix(in srgb,var(--borderLight) 70%,transparent);
  --glow:0 6px 16px color-mix(in srgb,var(--accent) 30%,transparent);
}
:root[data-layout="modern"][data-theme="light"]{
  --segBg:color-mix(in srgb,var(--surface2) 70%,var(--border));
  --segActive:var(--surface);
  --shadowCard:0 1px 2px rgba(15,23,42,.04),0 4px 14px rgba(15,23,42,.05);
  --shadowHover:0 2px 4px rgba(15,23,42,.05),0 14px 30px rgba(15,23,42,.10);
  --shadowSm:0 1px 2px rgba(15,23,42,.06);
  --shadowModal:0 28px 70px rgba(15,23,42,.20),0 2px 8px rgba(15,23,42,.06);
  --shadowPop:0 14px 34px rgba(15,23,42,.14),0 2px 6px rgba(15,23,42,.06);
  --bgGlow:radial-gradient(1100px 520px at 8% -12%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 62%),
           radial-gradient(900px 460px at 98% -8%,color-mix(in srgb,var(--accent2) 26%,transparent),transparent 60%);
}
:root[data-layout="modern"]:not([data-theme="light"]){
  --segBg:color-mix(in srgb,var(--bg) 60%,var(--surface));
  --segActive:color-mix(in srgb,var(--surface2) 65%,var(--borderLight));
  --shadowCard:0 1px 2px rgba(0,0,0,.25),0 6px 18px rgba(0,0,0,.18);
  --shadowHover:0 2px 6px rgba(0,0,0,.3),0 16px 34px rgba(0,0,0,.32);
  --shadowSm:0 1px 2px rgba(0,0,0,.3);
  --shadowModal:0 30px 80px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);
  --shadowPop:0 16px 40px rgba(0,0,0,.45);
  --bgGlow:radial-gradient(1100px 520px at 8% -12%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%),
           radial-gradient(900px 460px at 98% -8%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 60%);
}

/* ============================================================
   基础
   ============================================================ */
/* 光晕画在 html 上：body 的高度只有内容那么高（登录页甚至是 0），画在 body 上会被截出一道硬边。
   光晕钉在视口上，但不用 background-attachment:fixed——Safari 遇到固定背景会放弃合成滚动，每滚一帧都整页重绘，
   页面上的毛玻璃也跟着每帧重算。改画在一块 position:fixed 的伪元素上，样子一样，滚动交给 GPU 合成。
   iOS Safari 本来就不支持固定背景（光晕跟着页面滚走），那里保持原来的画法 */
:root[data-layout="modern"]{background:var(--bg);}
:root[data-layout="modern"]::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--bgGlow);}
@supports (-webkit-touch-callout:none){
  :root[data-layout="modern"]{background:var(--bgGlow),var(--bg);}
  :root[data-layout="modern"]::before{content:none;}
}
[data-layout="modern"] body{background:transparent;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;}
[data-layout="modern"] ::selection{background:color-mix(in srgb,var(--accent) 22%,transparent);}
[data-layout="modern"] ::-webkit-scrollbar{width:10px;height:10px;}
[data-layout="modern"] ::-webkit-scrollbar-thumb{background:var(--borderLight);border-radius:999px;border:2px solid transparent;background-clip:padding-box;}
[data-layout="modern"] ::-webkit-scrollbar-thumb:hover{background:var(--mutedDark);border:2px solid transparent;background-clip:padding-box;}
/* 键盘焦点框只给按钮、链接这类「点一下」的东西。输入框、下拉框、复盘正文这些「打字」的地方
   有自己的聚焦样式（或者本来就刻意不画框），再套一圈外框会变成正文外面一个大蓝框。
   用 :where() 压低优先级，各组件自己写的 outline:none 照样生效 */
:where([data-layout="modern"]) :where(button,a,[role="button"],summary):focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px;}

/* ============================================================
   顶栏 + 品牌
   ============================================================ */
[data-layout="modern"] .brand{font-family:var(--fontDisplay);font-weight:800;font-size:22px;letter-spacing:-.3px;}
[data-layout="modern"] .brand .accent{background:linear-gradient(100deg,var(--accent) 0%,var(--accent2) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
[data-layout="modern"] .subline{font-size:12px;color:var(--muted);margin-top:5px;letter-spacing:.1px;}
[data-layout="modern"] .header{margin-bottom:18px;}

/* 页签：一条玻璃胶囊，当前页签是浮起来的白片 */
[data-layout="modern"] .nav{gap:4px;padding:5px;margin-bottom:26px;border:1px solid var(--glassBorder);border-radius:16px;
  background:var(--glass);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:var(--shadowCard);width:fit-content;max-width:100%;}
[data-layout="modern"] .tab{border:none;margin:0;padding:8px 15px;border-radius:11px;font-weight:500;font-size:13.5px;
  color:var(--muted);transition:background .15s,color .15s,box-shadow .15s;}
[data-layout="modern"] .tab:hover{color:var(--text);background:var(--accentSoft);}
[data-layout="modern"] .tab.active{color:var(--onAccent);font-weight:600;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accentHover) 100%);box-shadow:var(--glow);}
[data-layout="modern"] .tab.active .tabLabel::before,[data-layout="modern"] .tab.active .tabLabel::after{content:none;}
[data-layout="modern"] .tab svg{opacity:.85;}

/* ============================================================
   按钮
   ============================================================ */
:where([data-layout="modern"]) .btn{border-radius:10px;background:var(--surface);border-color:var(--border);box-shadow:var(--shadowSm);
  font-weight:500;transition:border-color .15s,box-shadow .15s,background .15s,transform .1s;}
:where([data-layout="modern"] .btn):hover{border-color:var(--borderLight);box-shadow:var(--shadowCard);}
[data-layout="modern"] .btn:active{transform:translateY(1px);}
[data-layout="modern"] .btn-primary{border:1px solid transparent;color:var(--onAccent);font-weight:600;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accentHover) 100%);box-shadow:var(--glow);}
[data-layout="modern"] .btn-primary:hover{border-color:transparent;filter:brightness(1.06);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 34%,transparent);}
[data-layout="modern"] .btn-danger{color:var(--neg);border-color:color-mix(in srgb,var(--neg) 45%,transparent);background:var(--surface);}
[data-layout="modern"] .btn-danger:hover{background:var(--negSoft);border-color:var(--neg);}
[data-layout="modern"] .btn:disabled{box-shadow:none;}
:where([data-layout="modern"]) .themeToggle{border-radius:11px;background:var(--surface);box-shadow:var(--shadowSm);color:var(--muted);
  transition:color .15s,border-color .15s,box-shadow .15s;}
:where([data-layout="modern"] .themeToggle):hover{color:var(--accent);border-color:var(--borderLight);box-shadow:var(--shadowCard);}
[data-layout="modern"] .iconBtn{border-radius:9px;transition:background .12s,color .12s;}
:where([data-layout="modern"] .iconBtn):hover{background:var(--surface2);color:var(--text);}
:where([data-layout="modern"] .tinyBtn):hover{color:var(--accent);}

/* 分段控件（实盘/回测、卡片/列表、日/周/不关联……）：iOS 那种底槽 + 浮起的白片 */
[data-layout="modern"] .modeToggle,[data-layout="modern"] .viewToggle{background:var(--segBg);border:1px solid var(--border);
  border-radius:11px;padding:3px;gap:2px;}
:where([data-layout="modern"]) .modeBtn,:where([data-layout="modern"]) .viewBtn{background:transparent;border-radius:8px;color:var(--muted);
  transition:background .15s,color .15s,box-shadow .15s;}
[data-layout="modern"] .modeBtn{padding:6px 13px;font-weight:500;}
:where([data-layout="modern"] .modeBtn):hover,:where([data-layout="modern"] .viewBtn):hover{color:var(--text);}
[data-layout="modern"] .modeBtn.active,[data-layout="modern"] .viewBtn.active{background:var(--segActive);color:var(--accent);
  font-weight:600;box-shadow:0 1px 3px rgba(15,23,42,.12),0 0 0 1px var(--border);}
[data-layout="modern"] .viewBtn{height:24px;}
[data-layout="modern"] .reviewPeriodSeg{background:var(--segBg);border-color:var(--border);padding:2px;gap:2px;}
[data-layout="modern"] .reviewPeriodSeg .tinyBtn{border-radius:999px;}
[data-layout="modern"] .reviewPeriodSeg .tinyBtn+.tinyBtn{border-left:none;}
[data-layout="modern"] .reviewPeriodSeg .tinyBtn.on{background:var(--segActive);color:var(--accent);
  box-shadow:0 1px 3px rgba(15,23,42,.12),0 0 0 1px var(--border);}

/* ============================================================
   下拉菜单 / 浮层 / 弹窗
   ============================================================ */
[data-layout="modern"] .exportMenu{border-radius:14px;border-color:var(--border);box-shadow:var(--shadowPop);padding:5px;}
[data-layout="modern"] .exportMenu > button{border-radius:9px;padding:9px 11px;}
[data-layout="modern"] .exportMenu > button:hover{background:var(--accentSoft);color:var(--accent);}
[data-layout="modern"] .exportMenu .menuLabel{font-weight:600;text-transform:uppercase;letter-spacing:.6px;}

[data-layout="modern"] .overlay{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
[data-layout="modern"] .modal{border:1px solid var(--border);border-radius:20px;}
[data-layout="modern"] .modalHead{padding:18px 24px;border-bottom-color:var(--border);}
[data-layout="modern"] .modalHead .display{font-family:var(--fontDisplay);font-weight:700;letter-spacing:-.2px;}
[data-layout="modern"] .modalBody{padding:20px 24px;}
[data-layout="modern"] .modalFoot{padding:14px 24px;background:var(--surface2);border-top-color:var(--border);
  border-radius:0 0 20px 20px;}

[data-layout="modern"] .reviewBubble,[data-layout="modern"] .reviewPop,[data-layout="modern"] .slashMenu,
[data-layout="modern"] .reviewToast,[data-layout="modern"] .reviewOutline.isPop{border-color:var(--border);border-radius:12px;}

/* ============================================================
   表单
   ============================================================ */
:where([data-layout="modern"]) .input,:where([data-layout="modern"]) textarea.input,:where([data-layout="modern"]) select.input,:where([data-layout="modern"]) .select,:where([data-layout="modern"]) .bubbleInput{background:var(--surface);border-color:var(--border);
  transition:border-color .15s,box-shadow .15s;}
:where([data-layout="modern"] .input):hover,:where([data-layout="modern"] .select):hover{border-color:var(--borderLight);}
/* 输入框聚焦：边框换成淡一点的主题色 + 一圈很浅的光晕，不再用满色粗框 */
[data-layout="modern"] .input:focus,[data-layout="modern"] .select:focus,[data-layout="modern"] .bubbleInput:focus{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--border));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);outline:none;}
[data-layout="modern"] .select{padding:6px 10px;}
[data-layout="modern"] .fieldLabel{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.2px;}
[data-layout="modern"] input[type="checkbox"],[data-layout="modern"] input[type="radio"]{accent-color:var(--accent);}

:where([data-layout="modern"]) .chip{border-radius:999px;background:var(--surface);transition:border-color .12s,color .12s,background .12s;}
:where([data-layout="modern"] .chip):hover{border-color:var(--borderLight);color:var(--text);}
[data-layout="modern"] .chip.active{font-weight:600;}
[data-layout="modern"] .tagChip{border-radius:999px;}

/* ============================================================
   卡片类容器：白底 + 柔和阴影，悬停时浮起来
   ============================================================ */
:where([data-layout="modern"]) .card,:where([data-layout="modern"]) .statBox,:where([data-layout="modern"]) .recentBox,:where([data-layout="modern"]) .filterPanel,:where([data-layout="modern"]) .breakdownCard,:where([data-layout="modern"]) .comboCard,:where([data-layout="modern"]) .calendarPanel,:where([data-layout="modern"]) .reviewCard,:where([data-layout="modern"]) .pbSysCard,:where([data-layout="modern"]) .pbTagCard,:where([data-layout="modern"]) .exBlock,:where([data-layout="modern"]) .focusRow,:where([data-layout="modern"]) .settingsRow,:where([data-layout="modern"]) .notice,:where([data-layout="modern"]) .findingsBox,:where([data-layout="modern"]) .pbTriageTrade,:where([data-layout="modern"]) .pbTriageBlock,:where([data-layout="modern"]) .pbTradeList,:where([data-layout="modern"]) .pbExecTable,:where([data-layout="modern"]) .changelogEntry,:where([data-layout="modern"]) .pbStratCard,:where([data-layout="modern"]) .pbTile,:where([data-layout="modern"]) .pbIntro,:where([data-layout="modern"]) .pbTagCompare,:where([data-layout="modern"]) .tableScroll,:where([data-layout="modern"]) .authCard{border-color:var(--border);box-shadow:var(--shadowCard);}
[data-layout="modern"] .tableScroll{background:var(--surface);border-radius:16px;}

[data-layout="modern"] .card,[data-layout="modern"] .reviewCard,[data-layout="modern"] .pbSysCard,[data-layout="modern"] .pbTagCard,
[data-layout="modern"] .pbStratCard,[data-layout="modern"] .pbTile{transition:border-color .18s,transform .18s,box-shadow .18s;}
[data-layout="modern"] .card:hover,[data-layout="modern"] .pbSysCard:hover,[data-layout="modern"] .pbTile:not(.isPicked):hover,
[data-layout="modern"] .pbStratCard:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:var(--shadowHover);transform:translateY(-3px);}
[data-layout="modern"] .reviewCard:not(.dragOverTarget):hover{background:var(--surface);border-color:color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:var(--shadowHover);}
[data-layout="modern"] .pbTagCard:hover{box-shadow:var(--shadowHover);}

/* 交易卡片 */
[data-layout="modern"] .card{border-radius:16px;}
[data-layout="modern"] .cardImg{background:linear-gradient(135deg,var(--surface2),var(--accentSoft));}
[data-layout="modern"] .cardBody{padding:12px 14px;}
[data-layout="modern"] .cardModel{font-weight:500;}
[data-layout="modern"] .cardFoot{border-top-color:var(--border);}
[data-layout="modern"] .cardFoot button{padding:8px 0;transition:background .12s,color .12s;}
[data-layout="modern"] .cardFoot button:hover{background:var(--accentSoft);color:var(--accent);}
[data-layout="modern"] .resultBadge,[data-layout="modern"] .focusResult{border-radius:999px;padding:3px 10px;font-weight:700;
  letter-spacing:.2px;box-shadow:0 2px 8px rgba(15,23,42,.18);}
[data-layout="modern"] .tpResult{color:var(--onSolid);}
[data-layout="modern"] .previewIcon{border-radius:9px;backdrop-filter:blur(4px);}

/* ============================================================
   数字与标签：标签小一号、加粗、偏灰；数字用标题字体
   ============================================================ */
[data-layout="modern"] .sectionLabel{font-family:var(--fontDisplay);font-size:13px;font-weight:700;letter-spacing:.1px;
  color:var(--text);border-bottom-color:var(--border);}
[data-layout="modern"] .statBox{border-radius:16px;padding:16px 18px;position:relative;overflow:hidden;}
[data-layout="modern"] .statLabel,[data-layout="modern"] .recentLabel,[data-layout="modern"] .focusFieldLabel,[data-layout="modern"] .tpFieldLabel,
[data-layout="modern"] .tpPbLabel,[data-layout="modern"] .pbStratListHead,[data-layout="modern"] .reviewWeekLabel,[data-layout="modern"] .exRowLabel,
[data-layout="modern"] .pbMpGroup,[data-layout="modern"] .slashMenuHead,[data-layout="modern"] .outlineHead{
  font-weight:600;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--mutedDark);}
[data-layout="modern"] .statValue,[data-layout="modern"] .recentWr,[data-layout="modern"] .focusR{font-family:var(--fontDisplay);font-weight:700;letter-spacing:-.4px;}
[data-layout="modern"] .statValue{font-size:24px;}
[data-layout="modern"] .recentBox{border-radius:14px;}
[data-layout="modern"] .recentBox.recentBase{border-left:1px solid var(--border);
  background:linear-gradient(160deg,var(--accentSoft),transparent 70%),var(--surface);box-shadow:var(--shadowCard),inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent);}

/* ============================================================
   表格
   ============================================================ */
[data-layout="modern"] .dataTable th{background:var(--surface2);color:var(--mutedDark);font-weight:600;font-size:11.5px;
  letter-spacing:.3px;padding:11px 14px;border-bottom-color:var(--border);}
[data-layout="modern"] .dataTable td{padding:10px 14px;border-bottom-color:var(--border);}
[data-layout="modern"] .dataTable tbody tr{transition:background .1s;}
[data-layout="modern"] .dataTable tbody tr:hover{background:var(--accentSoft);}
[data-layout="modern"] .dataTable tbody tr:last-child td{border-bottom:none;}
[data-layout="modern"] .adminTable th{font-weight:600;}

/* ============================================================
   筛选面板 / 分析
   ============================================================ */
[data-layout="modern"] .filterPanel{border-radius:16px;}
[data-layout="modern"] .filterPanel.open{border-color:var(--border);}
[data-layout="modern"] .filterPanelHead{padding:13px 17px;}
[data-layout="modern"] .filterPanelHead:hover{background:var(--surface2);}
[data-layout="modern"] .filterPanelTitle{font-weight:600;}
[data-layout="modern"] .filterPanelBadge{font-weight:600;}
[data-layout="modern"] .filterGroup{background:var(--surface2);}
[data-layout="modern"] .analyticsSticky{background:var(--glass);border-color:var(--glassBorder);border-radius:14px;
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:var(--shadowCard);}
[data-layout="modern"] .breakdownCard{border-radius:16px;padding:16px;}
[data-layout="modern"] .breakdownTitle{font-family:var(--fontDisplay);font-weight:700;font-size:13px;color:var(--text);}
[data-layout="modern"] .barTrack{height:6px;border-radius:999px;}
[data-layout="modern"] .barFill{border-radius:999px;}
[data-layout="modern"] .comboCard{border-radius:16px;}
[data-layout="modern"] .comboCard.analyzing{background:linear-gradient(160deg,var(--accentSoft),transparent 75%),var(--surface);}
[data-layout="modern"] .comboGroupSection{border-color:var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 35%,transparent);}
[data-layout="modern"] .findingRow{border-radius:10px;}
[data-layout="modern"] .findingRow:hover{background:var(--accentSoft);}

/* ============================================================
   日历
   ============================================================ */
[data-layout="modern"] .calendarPanel{border-radius:20px;padding:22px;}
[data-layout="modern"] .monthYear{font-family:var(--fontDisplay);font-weight:700;font-size:15px;}
:where([data-layout="modern"]) .dayCell,:where([data-layout="modern"]) .weekCell,:where([data-layout="modern"]) .monthBarCell,:where([data-layout="modern"]) .monthCell{
  border-color:var(--border);background:var(--surface);border-radius:12px;}
:where([data-layout="modern"] .dayCell):not(.outMonth):hover,:where([data-layout="modern"] .monthBarCell):hover,:where([data-layout="modern"] .monthCell):hover{
  border-color:var(--accent);box-shadow:var(--shadowCard);}
[data-layout="modern"] .dayCell.pos,[data-layout="modern"] .weekCell.pos,[data-layout="modern"] .monthBarCell.pos{border-color:color-mix(in srgb,var(--pnlPos) 32%,transparent);background:color-mix(in srgb,var(--pnlPos) 9%,var(--surface));}
[data-layout="modern"] .dayCell.neg,[data-layout="modern"] .weekCell.neg,[data-layout="modern"] .monthBarCell.neg{border-color:color-mix(in srgb,var(--pnlNeg) 30%,transparent);background:color-mix(in srgb,var(--pnlNeg) 8%,var(--surface));}
[data-layout="modern"] .monthBarCell.pos .monthBarValue,[data-layout="modern"] .weekCell.pos .weekCellInfo{color:var(--pnlPos);}
[data-layout="modern"] .monthBarCell.neg .monthBarValue,[data-layout="modern"] .weekCell.neg .weekCellInfo{color:var(--pnlNeg);}
[data-layout="modern"] .dayCell.neutral,[data-layout="modern"] .weekCell.neutral,[data-layout="modern"] .monthBarCell.neutral{border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:var(--accentSoft);}
[data-layout="modern"] .dayCellNum{font-weight:500;}
[data-layout="modern"] .dayGridHead{font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
[data-layout="modern"] .dayDetailRow{border-radius:10px;border-bottom-color:var(--border);}

/* ============================================================
   看图模式 / 交易预览
   ============================================================ */
[data-layout="modern"] .focusRow{border-radius:20px;padding:16px;}
[data-layout="modern"] .focusRow.isCurrent{border-color:var(--accent);box-shadow:var(--shadowCard),0 0 0 3px var(--accentSoft);}
[data-layout="modern"] .focusShot{border-radius:14px;}
[data-layout="modern"] .focusDate{font-weight:600;}
[data-layout="modern"] .tpShot{border-radius:14px;}

/* ============================================================
   复盘
   ============================================================ */
[data-layout="modern"] .reviewCard{border-radius:16px;padding:16px 18px;}
[data-layout="modern"] .reviewCardTitle{font-family:var(--fontDisplay);font-weight:700;letter-spacing:-.2px;}
[data-layout="modern"] .reviewGroupHeader{border-radius:12px;}
[data-layout="modern"] .reviewGroupName{font-family:var(--fontDisplay);font-weight:700;}
[data-layout="modern"] .reviewEditorOverlay,[data-layout="modern"] .exOverlay{background:var(--bgGlow),var(--bg);}
[data-layout="modern"] .reviewTopBar{background:var(--glass);border-bottom-color:var(--glassBorder);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);}
[data-layout="modern"] .reviewHintBar{background:linear-gradient(to top,var(--bg) 55%,transparent);}
[data-layout="modern"] .reviewTitleInput,[data-layout="modern"] .reviewTitleStatic{font-family:var(--fontDisplay);font-weight:800;letter-spacing:-.6px;}
[data-layout="modern"] .mdBody h1,[data-layout="modern"] .mdBody h2,[data-layout="modern"] .mdBody h3{font-weight:700;letter-spacing:-.3px;}
[data-layout="modern"] .mdBody blockquote{border-left-color:var(--accent);border-radius:0 10px 10px 0;}
[data-layout="modern"] .tradeRef{font-weight:500;}
[data-layout="modern"] .tradeRef:hover{color:var(--onAccent);}
[data-layout="modern"] .tradeRef:hover .tradeRefMeta{color:var(--onAccent);}
[data-layout="modern"] .pageRefKind{color:#fff;}

/* ============================================================
   模型库
   ============================================================ */
[data-layout="modern"] .pbSysCard{border-radius:20px;padding:18px 20px 14px;}
[data-layout="modern"] .pbSysCard::before{width:100%;height:4px;bottom:auto;opacity:1;
  background:linear-gradient(90deg,var(--accent),var(--accent2));}
[data-layout="modern"] .pbSysTitle{font-family:var(--fontDisplay);font-weight:800;letter-spacing:-.4px;}
[data-layout="modern"] .pbSectionTitle{font-weight:700;font-size:16px;}
[data-layout="modern"] .pbStratRow{border-radius:10px;}
[data-layout="modern"] .pbStratCard{border-radius:14px;}
[data-layout="modern"] .pbTagCard{border-radius:12px;}
[data-layout="modern"] .pbTile{border-radius:14px;}
[data-layout="modern"] .pbSticky{border-radius:6px 6px 14px 14px;}
[data-layout="modern"] .pbKindBadge{border-color:transparent;}
[data-layout="modern"] .pbOpt{border-radius:10px;}
:where([data-layout="modern"]) .pbToggle{border-radius:10px;background:var(--surface);}
[data-layout="modern"] .pbTriageShot{border-radius:16px;}
[data-layout="modern"] .pbExecRow.head{font-weight:600;letter-spacing:.3px;}
[data-layout="modern"] .pbProgress{height:6px;border-radius:999px;}
[data-layout="modern"] .pbProgress i{background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px;}
[data-layout="modern"] .pbTriageNav .btn-primary kbd{background:color-mix(in srgb,var(--onAccent) 16%,transparent);border-color:color-mix(in srgb,var(--onAccent) 32%,transparent);color:var(--onAccent);}

/* ============================================================
   导出中心 / 设置
   ============================================================ */
[data-layout="modern"] .exH1{font-family:var(--fontDisplay);font-weight:800;letter-spacing:-.6px;}
[data-layout="modern"] .exBlock{border-radius:18px;padding:20px 22px;}
[data-layout="modern"] .exBlockTitle{font-weight:700;}
:where([data-layout="modern"]) .exFmt{background:var(--surface);}
[data-layout="modern"] .exFoot{background:linear-gradient(to top,var(--bg) 70%,transparent);}
[data-layout="modern"] .settingsRow{border-radius:14px;}
[data-layout="modern"] .settingsRowHead{padding:12px 16px;}
[data-layout="modern"] .addFieldBox{border-radius:16px;background:var(--surface);}
[data-layout="modern"] .dashLabel{font-weight:700;}

/* ============================================================
   登录页
   ============================================================ */
[data-layout="modern"] .authBrand{font-size:28px;}
[data-layout="modern"] .authCard{border-radius:22px;padding:28px;box-shadow:var(--shadowModal);}

/* 窄屏：页签条横向滚动时撑满宽度 */
@media(max-width:899px){
  [data-layout="modern"] .nav{width:100%;}
  [data-layout="modern"] .navBrand,[data-layout="modern"] .navFoot{display:none;}
}

/* ============================================================
   侧边栏布局（≥900px）
   不改 DOM 结构：#app 本来就是 header / banner / nav / notice / tabBody 五个兄弟，
   这里用 grid 把 nav 钉在左边一整列，其余四块按顺序落在右边那列
   ============================================================ */
[data-layout="modern"] .bk{display:none;}
@media(min-width:900px){
  [data-layout="modern"] #app.wrap{display:grid;grid-template-columns:var(--sideW,244px) minmax(0,1fr);
    grid-template-rows:auto auto auto 1fr;max-width:none;padding:0;min-height:100vh;}
  [data-layout="modern"] #app.wrap>*:not(#appNav){grid-column:2;padding-left:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px);min-width:0;}
  [data-layout="modern"] #appHeader{padding-top:26px;margin-bottom:22px;}
  [data-layout="modern"] #tabBody{padding-bottom:64px;}
  [data-layout="modern"] #appNav{grid-column:1;grid-row:1 / span 4;position:sticky;top:0;align-self:start;height:100vh;
    flex-direction:column;align-items:stretch;gap:3px;width:auto;max-width:none;margin:0;padding:18px 14px 16px;
    border:none;border-right:1px solid var(--glassBorder);border-radius:0;box-shadow:none;overflow-y:auto;overflow-x:hidden;}
  [data-layout="modern"] #appNav .tab{justify-content:flex-start;gap:11px;padding:10px 13px;font-size:14px;white-space:nowrap;flex-shrink:0;}
  [data-layout="modern"] #appNav .tab svg{width:17px;height:17px;flex-shrink:0;}

  /* 侧边栏顶部品牌 */
  [data-layout="modern"] .navBrand{display:flex;align-items:center;gap:11px;padding:4px 8px 22px;}
  [data-layout="modern"] .navLogo{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
  [data-layout="modern"] .navLogo svg{display:block;}  [data-layout="modern"] .navBrandText{display:flex;flex-direction:column;font-family:var(--fontDisplay);font-size:16px;font-weight:600;
    color:var(--text);line-height:1.15;letter-spacing:-.2px;min-width:0;}
  [data-layout="modern"] .navBrandText b{font-weight:800;}
  [data-layout="modern"] .navBrandText small{font-family:var(--fontBody);font-size:11.5px;font-weight:500;color:var(--mutedDark);
    margin-top:3px;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

  /* 侧边栏底部：当前模式的 taken 摘要 */
  [data-layout="modern"] .navFoot{display:block;margin-top:auto;padding:14px;border-radius:16px;border:1px solid var(--border);flex-shrink:0;
    background:linear-gradient(160deg,var(--accentSoft),transparent 80%),var(--surface);box-shadow:var(--shadowSm);}
  [data-layout="modern"] .navFootLabel{font-size:10.5px;font-weight:600;color:var(--mutedDark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:9px;}
  [data-layout="modern"] .navFootStats{display:flex;justify-content:space-between;gap:8px;}
  [data-layout="modern"] .navFootStats div{display:flex;flex-direction:column;min-width:0;}
  [data-layout="modern"] .navFootStats b{font-family:var(--fontDisplay);font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.3px;}
  [data-layout="modern"] .navFootStats span{font-size:10.5px;color:var(--mutedDark);}

  /* 顶栏：品牌挪到侧边栏了，这里换成当前页面的大标题 */
  [data-layout="modern"] #appHeader .brand{display:none;}
  [data-layout="modern"] .pageTitle{display:block;font-family:var(--fontDisplay);font-size:28px;font-weight:800;letter-spacing:-.7px;color:var(--text);line-height:1.15;}
}
/* 中等宽度：侧边栏收成一条图标栏 */
@media(min-width:900px) and (max-width:1199px){
  [data-layout="modern"]{--sideW:76px;}
  [data-layout="modern"] #appNav{padding:16px 12px;}
  [data-layout="modern"] #appNav .tab{justify-content:center;padding:11px 0;}
  [data-layout="modern"] #appNav .tabLabel,[data-layout="modern"] .navBrandText,[data-layout="modern"] .navFoot{display:none;}
  [data-layout="modern"] .navBrand{justify-content:center;padding:4px 0 20px;}
}

/* 切页签时内容区淡入 */
@keyframes skyTabIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
[data-layout="modern"] #tabBody.tabEnter{animation:skyTabIn .32s cubic-bezier(.2,.7,.3,1);}

/* ============================================================
   分析页仪表盘：资金曲线 + 结果分布环
   ============================================================ */
[data-layout="modern"] .dashHero{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px;margin-bottom:16px;}
@media(max-width:1000px){[data-layout="modern"] .dashHero{grid-template-columns:1fr;}}
[data-layout="modern"] .dashCard{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:20px;
  padding:18px 20px 16px;box-shadow:var(--shadowCard);}
[data-layout="modern"] .dashCard::before{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:260px;border-radius:50%;
  background:radial-gradient(closest-side,var(--accentSoft),transparent);pointer-events:none;}
[data-layout="modern"] .dashHead{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
[data-layout="modern"] .dashTitle{font-size:11.5px;font-weight:600;color:var(--mutedDark);text-transform:uppercase;letter-spacing:.5px;}
[data-layout="modern"] .dashCount{font-size:12px;color:var(--muted);font-weight:500;}
[data-layout="modern"] .dashBig{font-family:var(--fontDisplay);font-size:36px;font-weight:800;letter-spacing:-1.2px;line-height:1.1;margin-top:6px;}
[data-layout="modern"] .dashBig.pos{color:var(--pnlPos);}
[data-layout="modern"] .dashBig.neg{color:var(--pnlNeg);}
[data-layout="modern"] .dashBig small{font-size:16px;font-weight:700;margin-left:3px;opacity:.7;letter-spacing:0;}
[data-layout="modern"] .dashMeta{display:flex;gap:22px;padding-top:4px;}
[data-layout="modern"] .dashMeta div{display:flex;flex-direction:column;align-items:flex-end;gap:3px;}
[data-layout="modern"] .dashMeta span{font-size:11px;color:var(--mutedDark);font-weight:500;}
[data-layout="modern"] .dashMeta b{font-family:var(--fontDisplay);font-size:16px;font-weight:700;color:var(--text);}
[data-layout="modern"] .dashMeta b.neg{color:var(--pnlNeg);}
[data-layout="modern"] .dashChart{position:relative;height:200px;margin:14px 0 0;}
[data-layout="modern"] .dashChart svg{width:100%;height:100%;display:block;overflow:visible;}
[data-layout="modern"] .eqLine{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;
  }
[data-layout="modern"] .tone-neg .eqLine{stroke:var(--pnlNeg);}
[data-layout="modern"] .eqStop0{stop-color:var(--accent);stop-opacity:.26;}
[data-layout="modern"] .eqStop1{stop-color:var(--accent);stop-opacity:0;}
[data-layout="modern"] .tone-neg .eqStop0,[data-layout="modern"] .tone-neg .eqStop1{stop-color:var(--pnlNeg);}
[data-layout="modern"] .eqZero{stroke:var(--borderLight);stroke-width:1;stroke-dasharray:4 5;}
/* 曲线从左往右展开：用 clip-path 揭开，不用 dasharray（跟 non-scaling-stroke 一起用会变成虚线） */
[data-layout="modern"] .dashChart svg{animation:skyReveal 1s cubic-bezier(.3,.7,.3,1);}
@keyframes skyReveal{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
[data-layout="modern"] .dashDot{position:absolute;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);
  background:var(--surface);border:2.5px solid var(--accent);pointer-events:none;}
[data-layout="modern"] .dashDot{animation:skyFade .3s .8s both;}
[data-layout="modern"] .dashDot.end{background:var(--accent);border-color:var(--surface);animation:skyFade .3s .8s both,skyPulse 2.4s 1.1s ease-out infinite;}
@keyframes skyFade{from{opacity:0;}to{opacity:1;}}
[data-layout="modern"] .dashDot.end.neg{background:var(--pnlNeg);}
[data-layout="modern"] .dashDot.peak{width:8px;height:8px;border-width:2px;}
[data-layout="modern"] .dashDot.trough{width:8px;height:8px;border-width:2px;border-color:var(--pnlNeg);}
[data-layout="modern"] .eqDDBand{fill:var(--pnlNeg);fill-opacity:.08;transition:fill-opacity .15s;}
/* 悬停：十字线 + 跟随圆点 + 提示框；落在最大回撤段里整段加深 */
[data-layout="modern"] .dashEquity .dashChart{cursor:crosshair;touch-action:pan-y;}
[data-layout="modern"] .eqCross{stroke:var(--mutedDark);stroke-width:1;stroke-dasharray:3 4;opacity:0;}
[data-layout="modern"] .dashChart.hovering .eqCross{opacity:.7;}
[data-layout="modern"] .dashChart.inDD .eqDDBand{fill-opacity:.18;}
[data-layout="modern"] .dashChart.inDD .eqCross{stroke:var(--pnlNeg);}
[data-layout="modern"] .dashDot.hover{opacity:0;animation:none;width:10px;height:10px;border-width:2.5px;z-index:2;}
[data-layout="modern"] .dashDot.hover.neg{border-color:var(--pnlNeg);}
[data-layout="modern"] .dashChart.hovering .dashDot.hover{opacity:1;}
[data-layout="modern"] .eqTip{position:absolute;top:4px;z-index:3;min-width:180px;max-width:240px;padding:10px 12px;border-radius:12px;
  background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadowCard);font-size:12px;color:var(--text);
  pointer-events:none;opacity:0;transition:opacity .12s;}
[data-layout="modern"] .dashChart.hovering .eqTip{opacity:1;}
[data-layout="modern"] .dashChart.inDD .eqTip{border-color:color-mix(in srgb,var(--pnlNeg) 45%,var(--border));}
[data-layout="modern"] .eqTipHead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:2px;}
[data-layout="modern"] .eqTipHead b{font-size:12.5px;font-variant-numeric:tabular-nums;}
[data-layout="modern"] .eqTipHead span,[data-layout="modern"] .eqTipSub,[data-layout="modern"] .eqTipNote,[data-layout="modern"] .eqTipHint{font-size:11px;color:var(--mutedDark);}
[data-layout="modern"] .eqTipSub{margin-bottom:4px;}
[data-layout="modern"] .eqTipRow{display:flex;justify-content:space-between;gap:12px;margin-top:4px;}
[data-layout="modern"] .eqTipRow span{color:var(--muted);}
[data-layout="modern"] .eqTipRow b{font-weight:600;font-variant-numeric:tabular-nums;}
[data-layout="modern"] .eqTipRow b.pos{color:var(--pnlPos);}
[data-layout="modern"] .eqTipRow b.neg{color:var(--pnlNeg);}
[data-layout="modern"] .eqTipRow em{font-style:normal;font-weight:400;font-size:11px;color:var(--mutedDark);margin-left:4px;}
[data-layout="modern"] .eqTipDD{margin-top:8px;padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--pnlNeg) 40%,var(--border));}
[data-layout="modern"] .eqTipNote{margin-top:4px;}
[data-layout="modern"] .eqTipHint{margin-top:8px;}
@keyframes skyPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%,transparent);}70%{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 0%,transparent);}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent);}}
[data-layout="modern"] .dashAxis{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--mutedDark);margin-top:8px;}
[data-layout="modern"] .dashEmpty{padding:50px 0;text-align:center;color:var(--mutedDark);font-size:12.5px;}

[data-layout="modern"] .ringWrap{position:relative;display:flex;align-items:center;gap:24px;margin-top:16px;flex-wrap:wrap;}
[data-layout="modern"] .ring{position:relative;width:156px;height:156px;flex-shrink:0;}
[data-layout="modern"] .ring svg{width:100%;height:100%;display:block;animation:skyRingIn .7s cubic-bezier(.2,.7,.3,1);}
@keyframes skyRingIn{from{opacity:0;transform:rotate(-40deg) scale(.9);}to{opacity:1;transform:none;}}
[data-layout="modern"] .ringTrack{fill:none;stroke:var(--surface2);stroke-width:14;}
[data-layout="modern"] .ringSeg{fill:none;stroke-width:14;}
[data-layout="modern"] .ringSeg.pos{stroke:var(--pnlPos);}
[data-layout="modern"] .ringSeg.neg{stroke:var(--pnlNeg);}
[data-layout="modern"] .ringSeg.be{stroke:var(--borderLight);}
[data-layout="modern"] .ringCenter{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
[data-layout="modern"] .ringCenter b{font-family:var(--fontDisplay);font-size:28px;font-weight:800;letter-spacing:-.8px;color:var(--text);}
[data-layout="modern"] .ringCenter span{font-size:11px;color:var(--mutedDark);font-weight:500;margin-top:1px;}
[data-layout="modern"] .ringLegend{flex:1;min-width:140px;display:flex;flex-direction:column;gap:9px;}
[data-layout="modern"] .ringLegendRow{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);}
[data-layout="modern"] .ringLegendRow i{width:10px;height:10px;border-radius:3px;flex-shrink:0;}
[data-layout="modern"] .ringLegendRow i.pos{background:var(--pnlPos);}
[data-layout="modern"] .ringLegendRow i.neg{background:var(--pnlNeg);}
[data-layout="modern"] .ringLegendRow i.be{background:var(--borderLight);}
[data-layout="modern"] .ringLegendRow b{margin-left:auto;color:var(--text);font-weight:600;}
[data-layout="modern"] .ringLegendRow em{font-style:normal;font-size:11.5px;color:var(--mutedDark);min-width:34px;text-align:right;}
[data-layout="modern"] .ringLegendRow.pf{border-top:1px dashed var(--border);padding-top:9px;margin-top:2px;}
[data-layout="modern"] .ringLegendRow.pf span{font-weight:600;font-size:12px;}

/* ============================================================
   日历：日格子按 |R| 深浅上色 + 全年每日热力图
   ============================================================ */
[data-layout="modern"] .dayCell{position:relative;isolation:isolate;}
[data-layout="modern"] .dayCell.pos,[data-layout="modern"] .dayCell.neg{background:var(--surface);}
[data-layout="modern"] .dayCell.pos::before,[data-layout="modern"] .dayCell.neg::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;
  opacity:calc(.07 + var(--heat,.5) * .30);}
[data-layout="modern"] .dayCell.pos::before{background:var(--pnlPos);}
[data-layout="modern"] .dayCell.neg::before{background:var(--pnlNeg);}
[data-layout="modern"] .dayCell.pos .dayCellInfo{color:color-mix(in srgb,var(--pnlPos) 82%,var(--text));font-weight:600;}
[data-layout="modern"] .dayCell.neg .dayCellInfo{color:color-mix(in srgb,var(--pnlNeg) 82%,var(--text));font-weight:600;}

[data-layout="modern"] .yearHeat{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);}
[data-layout="modern"] .yearHeatHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
[data-layout="modern"] .yearHeatTitle{font-size:11.5px;font-weight:600;color:var(--mutedDark);text-transform:uppercase;letter-spacing:.5px;}
[data-layout="modern"] .yearHeatLegend{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--mutedDark);}
[data-layout="modern"] .yearHeatLegend .hm{width:12px;height:12px;}
/* 图例旁边的「颜色」按钮 + 自定义盈/亏色的小浮层 */
[data-layout="modern"] .yearHeatTools{display:flex;align-items:center;gap:12px;}
[data-layout="modern"] .calColorWrap{position:relative;}
[data-layout="modern"] .calColorBtn{font:inherit;font-size:11px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 10px;cursor:pointer;transition:border-color .12s,color .12s;}
[data-layout="modern"] .calColorBtn:hover,[data-layout="modern"] .calColorBtn.on{border-color:var(--accent);color:var(--text);}
[data-layout="modern"] .calColorPop{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:236px;max-width:calc(100vw - 40px);padding:12px 14px 14px;background:var(--surface);
  border:1px solid var(--borderLight);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.14);}
[data-layout="modern"] .calColorTitle{font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px;}
[data-layout="modern"] .calColorRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;cursor:pointer;}
[data-layout="modern"] .calColorName{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);}
[data-layout="modern"] .calColorName .hm{width:12px;height:12px;}
[data-layout="modern"] .calColorRow input[type="color"]{width:44px;height:26px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);cursor:pointer;}
[data-layout="modern"] .calColorRow input[type="color"]::-webkit-color-swatch-wrapper{padding:0;}
[data-layout="modern"] .calColorRow input[type="color"]::-webkit-color-swatch{border:none;border-radius:5px;}
[data-layout="modern"] .calColorRow input[type="color"]::-moz-color-swatch{border:none;border-radius:5px;}
[data-layout="modern"] .calColorHint{font-size:11px;line-height:1.5;color:var(--mutedDark);margin:6px 0 10px;}
[data-layout="modern"] .calColorReset{width:100%;justify-content:center;font-size:12px;padding:6px 10px;}
[data-layout="modern"] .calColorReset:disabled{opacity:.45;cursor:default;}
[data-layout="modern"] .yearHeatLegend span{margin:0 4px;}
[data-layout="modern"] .yearHeatScroll{overflow-x:auto;padding-bottom:4px;}
[data-layout="modern"] .yearHeatMonths,[data-layout="modern"] .yearHeatGrid{display:grid;gap:3px;min-width:640px;}
[data-layout="modern"] .yearHeatMonths{font-size:10.5px;color:var(--mutedDark);margin-bottom:5px;height:14px;}
[data-layout="modern"] .yearHeatMonths span{white-space:nowrap;}
[data-layout="modern"] .hmCol{display:grid;grid-template-rows:repeat(7,1fr);gap:3px;}
[data-layout="modern"] .hm{display:block;aspect-ratio:1;border-radius:3px;background:var(--surface2);transition:transform .1s;}
[data-layout="modern"] .hm.out{visibility:hidden;}
[data-layout="modern"] .hm[data-action]{cursor:pointer;}
[data-layout="modern"] .hm[data-action]:hover{transform:scale(1.35);box-shadow:0 0 0 1.5px var(--surface),0 0 0 3px var(--text);position:relative;z-index:1;}
[data-layout="modern"] .hm.pos.l1{background:color-mix(in srgb,var(--pnlPos) 28%,var(--surface2));}
[data-layout="modern"] .hm.pos.l2{background:color-mix(in srgb,var(--pnlPos) 50%,var(--surface2));}
[data-layout="modern"] .hm.pos.l3{background:color-mix(in srgb,var(--pnlPos) 74%,var(--surface2));}
[data-layout="modern"] .hm.pos.l4{background:var(--pnlPos);}
[data-layout="modern"] .hm.neg.l1{background:color-mix(in srgb,var(--pnlNeg) 28%,var(--surface2));}
[data-layout="modern"] .hm.neg.l2{background:color-mix(in srgb,var(--pnlNeg) 50%,var(--surface2));}
[data-layout="modern"] .hm.neg.l3{background:color-mix(in srgb,var(--pnlNeg) 74%,var(--surface2));}
[data-layout="modern"] .hm.neg.l4{background:var(--pnlNeg);}
[data-layout="modern"] .hm.neutral{background:color-mix(in srgb,var(--accent) 35%,var(--surface2));}

/* 加载中：一条流光 */
@keyframes skyShimmer{from{background-position:-200% 0;}to{background-position:200% 0;}}
[data-layout="modern"] .loading{color:transparent;margin:80px auto;max-width:280px;height:14px;padding:0;border-radius:999px;
  background:linear-gradient(90deg,var(--surface2) 25%,var(--accentSoft) 50%,var(--surface2) 75%);background-size:200% 100%;
  animation:skyShimmer 1.3s linear infinite;}

@media(prefers-reduced-motion:reduce){
  [data-layout="modern"] #tabBody.tabEnter,[data-layout="modern"] .dashChart svg,[data-layout="modern"] .ring svg,[data-layout="modern"] .dashDot.end{animation:none;}
}
/* 12 个月 + YTD 宽屏下排成一行，不要折成两行 */
@media(min-width:1200px){[data-layout="modern"] .monthBar{grid-template-columns:repeat(13,minmax(0,1fr));}}
/* 指标卡用 grid 排：flex 折行时最后落单的那张会被拉满整行 */
[data-layout="modern"] .statRow{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
/* 手机：顶栏按钮自动折行而不是把字挤成竖排；卡片网格不超出屏幕（大图档位的 360px 最小列宽在手机上会溢出） */
@media(max-width:640px){
  [data-layout="modern"] .headerActions{flex-wrap:wrap;}
  [data-layout="modern"] .headerActions .btn,[data-layout="modern"] .modeBtn{white-space:nowrap;}
  [data-layout="modern"] .brand{font-size:20px;}
  [data-layout="modern"] .grid{grid-template-columns:minmax(0,1fr) !important;}
  [data-layout="modern"] .dashBig{font-size:30px;}
  [data-layout="modern"] .dashMeta{gap:14px;}
}
[data-layout="modern"] .exportMenu .menuSeg{border-radius:10px;}
[data-layout="modern"] .exportMenu .menuSeg button.on{background:linear-gradient(135deg,var(--accent),var(--accentHover));}

/* ============================================================
   第二轮打磨：侧边栏分组、问候语、交易卡片、设置分组列表、更新日志时间线、提示框
   全部只改样子；对应的几个小钩子（navGroup / pageGreeting / res-* / emptyHint / isToday）
   在经典布局里要么 display:none，要么没有任何样式
   ============================================================ */

/* ---------- 侧边栏分组标题 ---------- */
@media(min-width:1200px){
  [data-layout="modern"] .navGroup{display:block;padding:16px 13px 6px;font-size:10.5px;font-weight:700;letter-spacing:.9px;
    text-transform:uppercase;color:var(--mutedDark);flex-shrink:0;}
  [data-layout="modern"] .navBrand + .navGroup{padding-top:0;}
}
/* 图标栏：分组标题变成一条细分隔线 */
@media(min-width:900px) and (max-width:1199px){
  [data-layout="modern"] .navGroup{display:block;height:1px;margin:8px 14px;background:var(--border);font-size:0;flex-shrink:0;}
  [data-layout="modern"] .navBrand + .navGroup{display:none;}
}
/* 侧边栏的页签：未选中时更安静，悬停时图标先动一下 */
[data-layout="modern"] #appNav .tab svg{transition:transform .18s;}
[data-layout="modern"] #appNav .tab:hover:not(.active) svg{transform:translateX(2px);}

/* 侧边栏底部的迷你资金曲线 */
[data-layout="modern"] .navSpark{display:block;width:100%;height:34px;margin:0 0 10px;overflow:visible;}
[data-layout="modern"] .navSpark polyline{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
[data-layout="modern"] .navSpark.neg polyline{stroke:var(--pnlNeg);}

/* ---------- 页面大标题上方的问候 ---------- */
@media(min-width:900px){
  [data-layout="modern"] .pageGreeting{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:3px;letter-spacing:.1px;}
}

/* ---------- 交易卡片 ---------- */
[data-layout="modern"] .card{position:relative;}
/* 截图底边一条结果色：一眼扫过去就知道这一页赢了几笔 */
[data-layout="modern"] .card .cardImg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent;}
[data-layout="modern"] .card.res-win .cardImg::after,[data-layout="modern"] .card.res-bewin .cardImg::after{background:var(--pnlPos);}
[data-layout="modern"] .card.res-loss .cardImg::after,[data-layout="modern"] .card.res-beloss .cardImg::after{background:var(--pnlNeg);}
[data-layout="modern"] .card.res-be .cardImg::after{background:var(--borderLight);}
[data-layout="modern"] .card .cardImg img{transition:transform .5s cubic-bezier(.2,.7,.3,1);}
[data-layout="modern"] .card:hover .cardImg img{transform:scale(1.035);}
[data-layout="modern"] .cardBody{padding:12px 14px 14px;}
[data-layout="modern"] .cardTop{align-items:center;}
[data-layout="modern"] .cardTop > span:nth-child(2){font-family:var(--fontDisplay) !important;font-size:16px !important;font-weight:800 !important;letter-spacing:-.3px;}
[data-layout="modern"] .cardModel{font-size:13.5px;font-weight:600;margin-top:5px;}
/* 删除按钮：平时收起，悬停卡片才浮出来；进入「确认删除」时一直显示，触屏一直显示 */
[data-layout="modern"] .cardFoot{position:absolute;right:10px;bottom:10px;border:1px solid var(--border);border-radius:10px;overflow:hidden;
  background:var(--surface);box-shadow:var(--shadowSm);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;}
[data-layout="modern"] .cardFoot:empty{display:none;}
[data-layout="modern"] .card:hover .cardFoot,[data-layout="modern"] .cardFoot:has([data-action="confirm-delete"]),
[data-layout="modern"] .cardFoot:focus-within{opacity:1;transform:none;}
[data-layout="modern"] .cardFoot button{flex:none;padding:6px 9px;}
[data-layout="modern"] .cardFoot button:hover{background:var(--negSoft);color:var(--neg);}
@media(hover:none){[data-layout="modern"] .cardFoot{opacity:1;transform:none;}}

/* ---------- 设置：iOS 那种分组列表，一组字段连成一张卡 ---------- */
[data-layout="modern"] .settingsRow{margin:0;border-radius:0;box-shadow:none;overflow:hidden;}
[data-layout="modern"] .settingsRow + .settingsRow{margin-top:-1px;}
[data-layout="modern"] .settingsRow:not(.settingsRow + .settingsRow){border-top-left-radius:16px;border-top-right-radius:16px;}
[data-layout="modern"] .settingsRow:not(:has(+ .settingsRow)){border-bottom-left-radius:16px;border-bottom-right-radius:16px;margin-bottom:14px;}
[data-layout="modern"] .settingsRowHead{transition:background .12s;}
[data-layout="modern"] .settingsRowHead:hover{background:var(--surface2);}
[data-layout="modern"] .settingsRowBody{background:var(--surface2);border-top-color:var(--border);padding-top:12px;}
[data-layout="modern"] .settingsRow[draggable="true"].dragOverTarget{position:relative;z-index:1;}
[data-layout="modern"] .fieldTypeTag{background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:10.5px;}
[data-layout="modern"] .fieldRoleTag{background:var(--accentSoft);border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:600;}
[data-layout="modern"] .fieldHiddenTag{border-radius:999px;padding:1px 8px;}

/* ---------- 更新日志：时间线 ---------- */
[data-layout="modern"] .changelogEntry{position:relative;margin-left:28px;border-radius:14px;padding:14px 18px;}
[data-layout="modern"] .changelogEntry::before{content:"";position:absolute;left:-24px;top:19px;width:10px;height:10px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 0 4px var(--accentSoft);}
[data-layout="modern"] .changelogEntry::after{content:"";position:absolute;left:-20px;top:36px;bottom:-14px;width:2px;border-radius:2px;background:var(--border);}
[data-layout="modern"] .changelogEntry:last-child::after{display:none;}
[data-layout="modern"] .changelogDate{font-weight:600;color:var(--accent);font-size:11.5px;}
[data-layout="modern"] .changelogText{font-size:13.5px;}

/* ---------- 提示框 / 空状态 ---------- */
[data-layout="modern"] .notice{border-radius:14px;background:linear-gradient(160deg,var(--accentSoft),transparent 75%),var(--surface);}
[data-layout="modern"] .notice > svg{color:var(--accent);flex-shrink:0;margin-top:1px;}
[data-layout="modern"] .notice.error{background:linear-gradient(160deg,var(--negSoft),transparent 80%),var(--surface);border-color:color-mix(in srgb,var(--neg) 40%,transparent);}
[data-layout="modern"] .notice.error > svg{color:var(--neg);}
[data-layout="modern"] .emptyHint{position:relative;padding:18px 20px 18px 58px !important;border:1px dashed var(--borderLight) !important;
  border-radius:16px !important;color:var(--muted) !important;background:linear-gradient(160deg,var(--accentSoft),transparent 70%),var(--surface);}
[data-layout="modern"] .emptyHint::before{content:"✦";position:absolute;left:18px;top:17px;width:26px;height:26px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--onAccent);
  background:linear-gradient(135deg,var(--accent2),var(--accent));box-shadow:var(--glow);}
[data-layout="modern"] .emptyState{padding:70px 20px;font-size:13.5px;}

/* ---------- 日历：今天 ---------- */
[data-layout="modern"] .dayCell.isToday{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft);}
[data-layout="modern"] .dayCell.isToday .dayCellNum{color:var(--accent);font-weight:800;}
[data-layout="modern"] .dayCell.isToday .dayCellNum::after{content:"•";margin-left:3px;}

/* ---------- 顶栏动作按钮：导出 / 新建 再精致一点 ---------- */
[data-layout="modern"] .headerActions{align-items:center;gap:10px;}
[data-layout="modern"] .headerActions .btn-primary{padding:10px 16px;border-radius:12px;}
[data-layout="modern"] .headerActions .btn-primary svg{transition:transform .2s;}
[data-layout="modern"] .headerActions .btn-primary:hover svg{transform:rotate(90deg);}

/* 左上角头像（品牌块）= 账号切换按钮，点开的浮层在 style.css 的 .acctPop */
@media(min-width:900px){
  [data-layout="modern"] .navBrand{width:100%;padding:6px 8px;margin-bottom:16px;border:none;border-radius:14px;background:transparent;
    cursor:pointer;text-align:left;font:inherit;color:inherit;flex-shrink:0;transition:background .15s;}
  [data-layout="modern"] .navBrand:hover,[data-layout="modern"] .navBrand.open{background:var(--surface2);}
  [data-layout="modern"] .navBrandChev{margin-left:auto;color:var(--mutedDark);display:flex;transition:transform .18s;}
  [data-layout="modern"] .navBrand.open .navBrandChev{transform:rotate(180deg);}
}
@media(min-width:900px) and (max-width:1199px){
  [data-layout="modern"] .navBrand{padding:4px 0;}
  [data-layout="modern"] .navBrandChev{display:none;}
}

/* ---------- Prop 账户 ---------- */
:where([data-layout="modern"]) .propCard{border-color:var(--border);box-shadow:var(--shadowCard);border-radius:16px;}
[data-layout="modern"] .propAcc:hover{box-shadow:var(--shadowHover);}
[data-layout="modern"] .propStep{border-radius:14px;}
[data-layout="modern"] .propAccNums{border-radius:12px;}
[data-layout="modern"] .propCompareBar{border-radius:16px;}

/* shadcn/ui 原生适配：Card Header / Content / Footer、Badge、outline/ghost Button。
   参考 https://ui.shadcn.com/docs/components/base/card 与 /badge、/collapsible。
   不引入 React/Tailwind；颜色继续使用项目主题变量，仅作用于 modern 排行。 */
[data-layout="modern"] .propRecommendPanel{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;margin-top:24px;}
[data-layout="modern"] .propRecommendPanel>.propPanelHead{margin-bottom:16px;gap:14px;}
[data-layout="modern"] .propRecommendPanel .propLabel{font-size:17px;font-weight:650;letter-spacing:-.3px;}
[data-layout="modern"] .propRecommendPanel>.propPanelHead>.propMuted{color:var(--muted);font-size:12px;}
[data-layout="modern"] .propRecommendPanel>.propBoardMore{display:flex;margin:16px auto 0;padding:7px 14px;border-radius:8px;}
[data-layout="modern"] .propBoardList{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:18px;overflow:visible;padding:0;container-type:inline-size;container-name:prop-board;}
[data-layout="modern"] .propBoardList::before{content:"";position:absolute;inset:-16px -6px;z-index:-1;pointer-events:none;border-radius:28px;
  background:radial-gradient(ellipse 65% 420px at 5% 8%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 72%),radial-gradient(ellipse 55% 420px at 100% 42%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 72%);filter:blur(22px);}
[data-layout="modern"] .propRecommendCard{--propCardSpace:20px;--propGlassRim:rgba(255,255,255,.14);position:relative;isolation:isolate;width:100%;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:18px;
  background:var(--surface);color:var(--text);font:inherit;text-align:left;box-shadow:var(--shadowCard),inset 0 1px 0 var(--propGlassRim);
  transition:box-shadow .18s ease,border-color .18s ease;}
[data-layout="modern"][data-theme="light"] .propRecommendCard{--propGlassRim:rgba(255,255,255,.9);}
[data-layout="modern"] .propRecommendIdentity{display:flex;align-items:center;gap:14px;min-width:0;width:100%;}
[data-layout="modern"] .propRecommendRank{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--border);border-radius:11px;
  background:var(--surface2);color:var(--muted);font-family:var(--fontMono);font-size:17px;font-weight:750;font-variant-numeric:tabular-nums;}
[data-layout="modern"] .propRecommendRank.top{background:var(--accent);border-color:var(--accent);color:var(--onAccent);}
/* 前三名只在排名标识上使用金 / 银 / 铜，普通选项标签仍跟随当前主题。 */
[data-layout="modern"] .propRecommendRank[data-rank="1"]{--propMedalA:#fff3c4;--propMedalB:#ecd180;--propMedalC:#c39330;--propMedalInk:#32230b;--propMedalEdge:#d1aa4c;}
[data-layout="modern"] .propRecommendRank[data-rank="2"]{--propMedalA:#f5f7fb;--propMedalB:#dce3ec;--propMedalC:#a8b5c7;--propMedalInk:#273244;--propMedalEdge:#a0adbf;}
[data-layout="modern"] .propRecommendRank[data-rank="3"]{--propMedalA:#fce1cf;--propMedalB:#dfb28e;--propMedalC:#bd875b;--propMedalInk:#392213;--propMedalEdge:#bd875b;}
[data-layout="modern"] .propRecommendRank:is([data-rank="1"],[data-rank="2"],[data-rank="3"]){background:linear-gradient(135deg,var(--propMedalA),var(--propMedalB) 46%,var(--propMedalC));
  color:var(--propMedalInk);border-color:var(--propMedalEdge);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 3px 8px color-mix(in srgb,var(--propMedalEdge) 16%,transparent);}
[data-layout="modern"] :where(.propRecommendBrand){display:flex;align-items:center;gap:12px;flex:1;min-width:0;border:0;padding:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:6px;}
[data-layout="modern"] :where(.propRecommendBrand):hover strong{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
[data-layout="modern"] .propRecommendName{display:flex;flex-direction:column;gap:3px;min-width:0;}
[data-layout="modern"] .propRecommendNameMeta{display:flex;align-items:center;gap:7px 9px;flex-wrap:wrap;margin-top:3px;}
[data-layout="modern"] .propRecommendName strong{font-family:var(--fontUI);font-size:23px;font-weight:750;line-height:1.3;letter-spacing:-.4px;overflow-wrap:anywhere;}
[data-layout="modern"] .propRecommendCount{font-size:12px;line-height:1.5;color:var(--muted);}
[data-layout="modern"] .propRecommendIdentity .propLogo{width:64px;height:64px;border-radius:14px;background:var(--surface);border-color:var(--border);}
[data-layout="modern"] :where(.propRecommendIdentity .propTier){flex:none;padding:2px 8px;border:1px solid transparent;border-radius:999px;font-size:11.5px;font-weight:500;line-height:1.45;}
[data-layout="modern"] .propRecommendIdentity .propTier-good{border-color:color-mix(in srgb,var(--pos) 22%,var(--border));color:color-mix(in srgb,var(--pos) 65%,var(--text));}
[data-layout="modern"] .propRecommendIdentity .propTier-fair{border-color:color-mix(in srgb,var(--info) 22%,var(--border));color:color-mix(in srgb,var(--info) 65%,var(--text));}
[data-layout="modern"] .propRecommendIdentity .propTier-avoid{border-color:color-mix(in srgb,var(--neg) 22%,var(--border));color:color-mix(in srgb,var(--neg) 65%,var(--text));}
[data-layout="modern"] .propRecommendIdentity .propTier-meh{border-color:var(--border);}
[data-layout="modern"] :where(.propRecommendCta){display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;min-height:34px;padding:7px 12px;border:1px solid var(--border);border-radius:8px;
  background:var(--surface);color:var(--text);font:500 12px var(--fontUI);cursor:pointer;box-shadow:var(--shadowSm);transition:background .15s,border-color .15s;}
[data-layout="modern"] :where(.propRecommendCta):hover{background:var(--surface2);border-color:var(--borderLight);}
[data-layout="modern"] .propRecommendCta svg{width:14px;height:14px;flex:none;color:var(--muted);}
[data-layout="modern"] .propReviewText{--propPreviewLines:2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--propPreviewLines);overflow:hidden;width:100%;}
[data-layout="modern"] .propFirmNotesText{--propPreviewLines:3;}
[data-layout="modern"] .propReviewText.isExpanded{display:block;-webkit-line-clamp:unset;}
[data-layout="modern"] :where(.propReviewToggle){display:inline-flex;align-items:center;gap:9px;min-height:30px;padding:5px 9px;margin-left:-9px;border:1px solid transparent;border-radius:7px;background:none;color:var(--muted);font:500 12px var(--fontUI);cursor:pointer;transition:background .15s,color .15s;}
[data-layout="modern"] :where(.propReviewToggle):hover{background:var(--surface2);color:var(--text);}
[data-layout="modern"] .propReviewToggle::after{content:"";width:5px;height:5px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s;}
[data-layout="modern"] .propReviewToggle[aria-expanded="true"]::after{transform:rotate(225deg);margin-top:3px;}
[data-layout="modern"] .propReviewToggle[hidden]{display:none;}
[data-layout="modern"] .propRecommendLabel{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;line-height:1.5;color:var(--muted);}
[data-layout="modern"] .propRecommendCard .propRecommendLabel{font-size:12.5px;font-weight:700;color:var(--text);}
[data-layout="modern"] .propRecommendDeal{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface2) 45%,var(--surface));}
[data-layout="modern"] .propRecommendDealHead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;}
[data-layout="modern"] .propRecommendDealHead .propRecommendLabel svg{width:12px;height:12px;}
[data-layout="modern"] .propRecommendDiscount{font-family:var(--fontUI);font-size:20px;font-weight:650;line-height:1.2;letter-spacing:-.4px;color:var(--text);overflow-wrap:anywhere;}
[data-layout="modern"] .propRecommendText{font-size:12px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-line;color:var(--text);}
[data-layout="modern"] .propRecommendText.isEmpty,[data-layout="modern"] .propRecommendDealText{color:var(--muted);}
[data-layout="modern"] .propFirmFacts{min-width:0;container-type:inline-size;}
[data-layout="modern"] .propFirmFactsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;}
[data-layout="modern"] .propFirmFact{min-width:0;}
[data-layout="modern"] .propFirmFact dt{font-size:13.5px;font-weight:700;color:var(--text);line-height:1.5;}
[data-layout="modern"] .propFirmFact dd{margin:7px 0 0;min-width:0;font-size:12px;line-height:1.75;}
[data-layout="modern"] .propFirmInfoEmpty{color:var(--muted);font-size:12px;}
[data-layout="modern"] .propFirmInfoFull{padding:18px;margin:16px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface2);}
[data-layout="modern"] .propFirmInfoFull h3{margin:0 0 16px;font-size:15px;}
[data-layout="modern"] .propFirmInfoFull [data-prop-info-field="notes"]{grid-column:1/-1;}
[data-layout="modern"] .propRecommendTags{display:flex;flex-wrap:wrap;gap:6px;min-width:0;}
[data-layout="modern"] .propRecommendTag{max-width:100%;padding:3px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px;font-weight:500;line-height:1.4;overflow-wrap:anywhere;}
[data-layout="modern"] .propRecommendTag.propChoiceTag{font-size:12px;font-weight:600;padding:4px 9px;line-height:1.5;
  color:color-mix(in srgb,var(--accent) 65%,var(--text));background:var(--accentSoft);border-color:color-mix(in srgb,var(--accent) 25%,var(--border));}
[data-layout="modern"] :where(.propMagicPolicy){display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 8px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;
  background:var(--accentSoft);color:color-mix(in srgb,var(--accent) 65%,var(--text));}
[data-layout="modern"] .propMagicPolicy::before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:currentColor;}
[data-layout="modern"] .propMagicPolicy-unknown{background:var(--surface2);border-color:var(--border);color:var(--muted);}
[data-layout="modern"] .propMagicPolicy-allowed{background:var(--posSoft);color:color-mix(in srgb,var(--pos) 65%,var(--text));}
[data-layout="modern"] .propMagicPolicy-prohibited{background:var(--negSoft);color:color-mix(in srgb,var(--neg) 65%,var(--text));}
[data-layout="modern"] .propRecommendCard :where(button):focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
/* Compact three-part upper layout: identity | important notes + metric tiles | coupon.
   The original bottom five-part fact strip remains separate. */
[data-layout="modern"] .propRecommendTop{display:grid;grid-template-columns:minmax(0,28fr) minmax(0,36fr) minmax(0,36fr);grid-template-areas:"firm info deal";align-items:start;}
[data-layout="modern"] .propRecommendInfo{grid-area:info;position:relative;min-width:0;padding:20px;}
[data-layout="modern"] .propRecommendHeader{grid-area:firm;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px var(--propCardSpace);min-width:0;}
[data-layout="modern"] .propRecommendHeader>.propRecommendCta{align-self:flex-start;margin:0;}
[data-layout="modern"] .propRecommendHeader>.propLayerActions{width:100%;margin:0;}
[data-layout="modern"] .propCardSeparator{background:color-mix(in srgb,var(--border) 76%,transparent);flex:none;pointer-events:none;}
[data-layout="modern"] .propCardSeparator[data-orientation="horizontal"]{block-size:1px;inline-size:100%;}
[data-layout="modern"] .propCardSeparator[data-orientation="vertical"]{inline-size:1px;align-self:stretch;}
[data-layout="modern"] .propRecommendHeader>.propCardSeparator{margin:0;}
[data-layout="modern"] .propRecommendCard>.propCardSeparator{inline-size:100%;margin:0;}
[data-layout="modern"] .propRecommendInfo::before{content:"";position:absolute;top:20px;bottom:20px;left:0;width:1px;background:color-mix(in srgb,var(--border) 76%,transparent);pointer-events:none;}
[data-layout="modern"] .propRecommendInfo>.propCardSeparator{margin-block:16px;}
/* Existing company identity and icon sizes remain consistent across cards. */
[data-layout="modern"] .propRecommendHeader .propRecommendIdentity{gap:10px;}
[data-layout="modern"] .propRecommendHeader :where(.propRecommendBrand){gap:10px;}
[data-layout="modern"] .propRecommendHeader .propRecommendRank{width:36px;height:36px;border-radius:10px;font-size:15px;}
[data-layout="modern"] .propRecommendHeader .propRecommendIdentity .propLogo{width:48px;height:48px;border-radius:12px;}
[data-layout="modern"] .propRecommendHeader .propRecommendName strong{font-size:19px;line-height:1.3;}
/* Trustpilot 评分：身份栏里的一行，有链接时整行可点，打开对应的 Trustpilot 页面 */
[data-layout="modern"] .propRecommendRating{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;min-width:0;color:var(--text);text-decoration:none;}
[data-layout="modern"] .propRecommendRating>svg{flex:none;align-self:center;width:15px;height:15px;color:var(--accent);}
[data-layout="modern"] .propRecommendRating>b{font:650 20px/1.2 var(--fontMono);font-variant-numeric:tabular-nums;}
[data-layout="modern"] .propRecommendRating>b small{margin-left:4px;font-size:12px;font-weight:500;color:var(--muted);}
[data-layout="modern"] .propRecommendRating>span{min-width:0;font-size:12px;color:var(--muted);overflow-wrap:anywhere;}
[data-layout="modern"] a.propRecommendRating:hover>span{color:var(--text);text-decoration:underline;text-underline-offset:3px;}
[data-layout="modern"] a.propRecommendRating:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
[data-layout="modern"] .propRecommendRating.isEmpty>:is(svg,b){color:var(--muted);font-weight:500;}
[data-layout="modern"] .propRecommendReview{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;}
[data-layout="modern"] .propRecommendReview .propRichText{font-size:13px;}
[data-layout="modern"] .propRecommendStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0;width:100%;}
[data-layout="modern"] .propRecommendStat{min-width:0;min-height:76px;padding:10px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface2) 65%,var(--surface));box-shadow:var(--shadowSm);}
[data-layout="modern"] .propRecommendStat dt{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;line-height:1.45;color:var(--muted);}
[data-layout="modern"] .propRecommendStatIcon{display:flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;color:var(--accent);}
[data-layout="modern"] .propRecommendStatIcon svg{width:15px;height:15px;}
[data-layout="modern"] .propRecommendStat dd{margin:9px 0 0;font:700 18px/1.35 var(--fontMono);font-variant-numeric:tabular-nums;color:var(--text);overflow-wrap:anywhere;}
[data-layout="modern"] .propRecommendStat dd.isEmpty{color:var(--muted);font-weight:500;}
[data-layout="modern"] .propRecommendKeys{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:0;border:0;}
[data-layout="modern"] .propRecommendKeys>.propReviewToggle{align-self:flex-start;}
[data-layout="modern"] .propKeyPoints{display:flex;flex-direction:column;gap:8px;min-width:0;}
[data-layout="modern"] .propKeyPoints>.propKeySentence{width:100%;margin:0;}
[data-layout="modern"] .propRecommendKeys .propKeySentence{padding:9px 14px;border-radius:14px;font-size:13.5px;}
[data-layout="modern"] .propKeyPoints.isCollapsed>.propKeySentence:nth-child(n+4){display:none;}
[data-layout="modern"] .propKeyEmpty{align-items:center;border:1px dashed var(--border);background:var(--surface2);color:var(--muted);font-weight:500;}
[data-layout="modern"] .propKeyEmpty>.propInlineIcon{margin-top:0;color:var(--muted);}
[data-layout="modern"] .propRecommendTop>.propRecommendDeal{grid-area:deal;align-self:start;margin:20px var(--propCardSpace) 20px 0;}
[data-layout="modern"] .propCouponReading{min-width:0;}
[data-layout="modern"] .propCouponBody{--propCouponLines:5;font-size:13px;line-height:1.7;max-height:calc(var(--propCouponLines) * 1.7em);overflow:hidden;overflow-wrap:anywhere;}
[data-layout="modern"] .propCouponBody.isExpanded{max-height:none;overflow:visible;}
[data-layout="modern"] .propCouponBody .propCouponDescription{font-size:inherit;line-height:inherit;}
[data-layout="modern"] .propCouponBody:not(.isExpanded) .propRichText :is(ul,ol){display:block;gap:0;margin-block:0;}
[data-layout="modern"] .propCouponBody:not(.isExpanded) .propRichText :is(p,li){margin-block:0;line-height:inherit;}
[data-layout="modern"] .propCouponReading .propCouponToggle{margin:6px 0 0;min-height:32px;padding:4px 0;color:var(--text);}
[data-layout="modern"] .propCouponPrices{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-size:12.5px;}
[data-layout="modern"] .propCouponPrices li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding-bottom:4px;border-bottom:1px dashed color-mix(in srgb,var(--propEdge) 22%,var(--border));}
[data-layout="modern"] .propCouponPrices li:last-child{border-bottom:0;padding-bottom:0;}
[data-layout="modern"] .propCouponPrices span{min-width:0;overflow-wrap:anywhere;color:var(--text);}
[data-layout="modern"] .propCouponPrices b{flex:none;font:650 12.5px/1.5 var(--fontMono);font-variant-numeric:tabular-nums;}
[data-layout="modern"] .propCouponPrices s{margin-right:6px;font-weight:400;font-size:11px;color:var(--muted);}
[data-layout="modern"] .propCouponPrices small{margin-left:2px;font-weight:400;color:var(--muted);}
[data-layout="modern"] .propRecommendFacts{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.1fr);gap:0;margin:0;padding:0;border:0;min-width:0;background:color-mix(in srgb,var(--surface2) 24%,var(--surface));}
[data-layout="modern"] .propRecommendFacts>.propFirmFact{position:relative;min-width:0;padding:14px 18px;border:0;}
[data-layout="modern"] .propRecommendFacts>.propFirmFact:not(:first-child)::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;inline-size:1px;background:color-mix(in srgb,var(--border) 76%,transparent);pointer-events:none;}
[data-layout="modern"] .propRecommendFacts .propFirmFact dt{font-size:12.5px;line-height:1.5;}
[data-layout="modern"] .propRecommendFacts .propFirmFact dd{margin:7px 0 0;min-width:0;}
[data-layout="modern"] .propFactTags{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;}
[data-layout="modern"] .propFactTags [data-prop-fact-tag]{display:inline-flex;align-items:center;flex:none;gap:5px;min-width:0;max-inline-size:100%;box-sizing:border-box;}
[data-layout="modern"] .propFactTagLabel{min-width:0;overflow-wrap:anywhere;}
[data-layout="modern"] .propFactTags[data-fact-enhanced][data-fact-expanded="false"]{flex-wrap:nowrap;overflow:hidden;}
[data-layout="modern"] .propFactTags[data-fact-enhanced][data-fact-expanded="false"] .propFactTagLabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
[data-layout="modern"] .propFactTags[data-prop-fact-tags="1"] .propFactTagLabel{white-space:normal!important;overflow:visible!important;}
[data-layout="modern"] .propFactTags[data-fact-measuring]{flex-wrap:nowrap;overflow:hidden;}
[data-layout="modern"] .propFactTags[data-fact-measuring] [data-prop-fact-tag]{max-inline-size:none!important;}
[data-layout="modern"] .propFactTags[data-fact-measuring] .propFactTagLabel{white-space:nowrap!important;}
[data-layout="modern"] .propFactTags [hidden]{display:none!important;}
[data-layout="modern"] :where(.propFactMore){display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;min-width:36px;min-height:32px;padding:4px 8px;border:1px dashed var(--border);border-radius:7px;background:var(--surface);color:var(--muted);font:500 12px/1.5 var(--fontMono);cursor:pointer;appearance:none;}
[data-layout="modern"] .propFactTags .propFactMore{font:500 12px/1.5 var(--fontMono);}
[data-layout="modern"] .propFactTags button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
[data-layout="modern"] :where(button.propFactMore):hover{color:var(--text);border-color:var(--accent);background:var(--surface2);}
[data-layout="modern"] .propFactMeasure{position:absolute;inset:0 100% auto auto;visibility:hidden;pointer-events:none;inline-size:max-content;max-inline-size:none;}
[data-layout="modern"] .propFactTags[data-fact-enhanced][data-fact-tight="true"]{flex-wrap:wrap;overflow:visible;}
[data-layout="modern"] .propFactTags[data-fact-tight="true"]>button{min-width:0;max-width:100%;padding-inline:4px;white-space:normal;overflow-wrap:anywhere;}
[data-layout="modern"] .propRecommendFooter{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:12px var(--propCardSpace);border:0;background:none;}
[data-layout="modern"] .propRecommendFooter>.propRecommendLabel{flex:none;}
[data-layout="modern"] .propUpdateStrip{display:flex;flex-wrap:wrap;gap:4px 22px;flex:1;min-width:0;margin:0;padding:0;list-style:none;}
[data-layout="modern"] .propUpdateStrip li{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%;font-size:12.5px;line-height:1.6;}
[data-layout="modern"] .propUpdateStrip time{flex:none;font:500 12px/1.6 var(--fontMono);font-variant-numeric:tabular-nums;color:var(--muted);}
[data-layout="modern"] .propUpdateStrip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
[data-layout="modern"] .propRecommendFooter>.propFirmUpdatesEmpty{flex:1;font-size:12px;color:var(--muted);}
[data-layout="modern"] .propRecommendFooter>.propUpdatesLink{margin-left:auto;}
@container prop-board (max-width:1100px){
  [data-layout="modern"] .propRecommendTop{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"firm info" "deal deal";}
  [data-layout="modern"] .propRecommendTop>.propRecommendDeal{margin:0 var(--propCardSpace) 20px;}
  [data-layout="modern"] .propRecommendFacts{grid-template-columns:repeat(3,minmax(0,1fr));}
  [data-layout="modern"] .propRecommendFacts>.propFirmFact:nth-child(3n+1)::before{content:none;}
  [data-layout="modern"] .propRecommendFacts>.propFirmFact:nth-child(n+4){border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent);}
}
@container prop-board (max-width:680px){
  [data-layout="modern"] .propRecommendCard{--propCardSpace:16px;}
  [data-layout="modern"] .propRecommendTop{grid-template-columns:minmax(0,1fr);grid-template-areas:"firm" "info" "deal";}
  [data-layout="modern"] .propRecommendHeader{padding:18px var(--propCardSpace) 14px;}
  [data-layout="modern"] .propRecommendTop>.propRecommendDeal{margin:0 var(--propCardSpace) 16px;}
  [data-layout="modern"] .propRecommendInfo{padding:16px var(--propCardSpace);}
  [data-layout="modern"] .propRecommendInfo::before{top:0;bottom:auto;left:var(--propCardSpace);right:var(--propCardSpace);width:auto;height:1px;}
  [data-layout="modern"] .propRecommendStats{gap:8px;}
  [data-layout="modern"] .propRecommendStat{padding:9px 8px;}
  [data-layout="modern"] .propCouponReading .propCouponToggle{min-height:44px;}
  [data-layout="modern"] .propFactMore{min-width:44px;min-height:44px;}
  [data-layout="modern"] .propRecommendFacts{grid-template-columns:repeat(2,minmax(0,1fr));}
  [data-layout="modern"] .propRecommendFacts>.propFirmFact{padding:12px var(--propCardSpace);}
  [data-layout="modern"] .propRecommendFacts>.propFirmFact:nth-child(n){border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent);}
  [data-layout="modern"] .propRecommendFacts>.propFirmFact:nth-child(-n+2){border-top:0;}
  [data-layout="modern"] .propRecommendFacts>.propFirmFact:nth-child(n)::before{content:none;}
  [data-layout="modern"] .propRecommendFacts>.propFirmFact:nth-child(even)::before{content:"";}
  [data-layout="modern"] .propUpdateStrip{order:3;flex:1 1 100%;flex-direction:column;}
  [data-layout="modern"] .propUpdateStrip span{white-space:normal;}
}
/* 目录统计和推荐排行工具栏（全部平台 + 搜索） */
[data-layout="modern"] .propTopActs{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
[data-layout="modern"] .propTopActs .propCatAdmin{display:flex;flex-wrap:wrap;gap:6px;}
[data-layout="modern"] .propCatKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 0;}
[data-layout="modern"] .propCatKpi{display:flex;flex-direction:column;gap:2px;min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadowSm);}
[data-layout="modern"] .propCatKpi span{font-size:12px;color:var(--muted);}
[data-layout="modern"] .propCatKpi b{font:650 22px/1.3 var(--fontMono);font-variant-numeric:tabular-nums;color:var(--text);overflow-wrap:anywhere;}
[data-layout="modern"] .propCatKpi small{font-size:11.5px;color:var(--muted);}
[data-layout="modern"] .propBoardHead{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;}
[data-layout="modern"] .propBoardAllChip{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 12px;border-radius:999px;background:var(--accent);color:var(--onAccent);font-size:12.5px;font-weight:600;}
[data-layout="modern"] .propBoardAllChip b{font:600 11.5px var(--fontMono);opacity:.8;}
[data-layout="modern"] .propBoardSearch{position:relative;display:block;flex:0 1 300px;min-width:180px;margin-left:auto;}
[data-layout="modern"] .propBoardSearchIcon{position:absolute;left:12px;top:50%;z-index:1;display:flex;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
[data-layout="modern"] .propBoardSearch input{width:100%;min-height:34px;padding-left:36px;}
[data-layout="modern"] .propBoardNoMatch{padding:28px 0;text-align:center;}
@media (max-width:760px){
  [data-layout="modern"] .propCatKpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  [data-layout="modern"] .propBoardSearch{flex:1 1 100%;margin-left:0;}
}
[data-layout="modern"] .propCatKpiRegion{container:prop-kpis / inline-size;min-width:0;}
[data-layout="modern"] .propCatKpis{gap:14px;margin:6px 0 0;}
[data-layout="modern"] .propCatKpi{display:flex;flex-direction:row;align-items:center;gap:14px;min-height:92px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 96%,transparent),var(--surface));box-shadow:var(--shadowSm);}
[data-layout="modern"] .propCatKpiIcon{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--accentSoft);color:color-mix(in srgb,var(--accent) 80%,var(--text));}
[data-layout="modern"] .propCatKpiIcon svg{width:23px;height:23px;}
[data-layout="modern"] .propCatKpiContent{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
[data-layout="modern"] .propCatKpiContent>span{font-size:12px;line-height:1.4;}
[data-layout="modern"] .propCatKpiContent>b{font:700 25px/1.25 var(--fontUI);font-variant-numeric:tabular-nums;letter-spacing:-.4px;color:var(--text);}
[data-layout="modern"] .propCatKpiContent>small{font-size:11.5px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;}
[data-layout="modern"] .propCatKpi-updated .propCatKpiContent>b{font-size:clamp(16px,1.3vw,21px);letter-spacing:-.3px;white-space:nowrap;}
[data-layout="modern"][data-glass] .propCatKpi{background:var(--lgSheen),var(--surface);box-shadow:var(--lgRim),var(--shadowSm);border-color:color-mix(in srgb,var(--border) 70%,transparent);}
@container prop-kpis (max-width:780px){
  [data-layout="modern"] .propCatKpis{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1100px){
  [data-layout="modern"] .propCatKpi{gap:10px;padding:14px;}
  [data-layout="modern"] .propCatKpiIcon{width:36px;height:36px;border-radius:10px;}
}
@media(max-width:760px){
  [data-layout="modern"] .propCatKpis{gap:10px;}
  [data-layout="modern"] .propCatKpi{gap:9px;padding:12px;min-height:90px;}
  [data-layout="modern"] .propCatKpi-updated .propCatKpiContent>b{font-size:15px;}
  [data-layout="modern"] .propCatKpiContent>b{font-size:23px;}
}
@media(max-width:380px){
  [data-layout="modern"] .propCatKpiIcon{display:none;}
  [data-layout="modern"] .propCatKpi-updated .propCatKpiContent>b{font-size:18px;}
}
/* 支持背景模糊时启用磨砂表面；不支持时沿用上面的实色背景。
   卡片背后只有一层很柔的光晕，模糊不出区别，所以只留半透明底色、不挂 backdrop-filter：
   一页 8 张卡片各一层实时模糊，Safari 滚动会掉帧 */
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  [data-layout="modern"] .propRecommendCard{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 90%,transparent),color-mix(in srgb,var(--surface) 72%,transparent));
    border-color:color-mix(in srgb,var(--border) 80%,var(--surface));}
  [data-layout="modern"] .propRecommendFooter{background:color-mix(in srgb,var(--surface2) 35%,transparent);}
  [data-layout="modern"] .propRecommendDeal{background:color-mix(in srgb,var(--surface2) 42%,transparent);}
  /* 悬停提高表面实度而非变换文字，避免缩放/旋转造成重采样发虚。 */
  @media(hover:hover), (pointer:none){
    [data-layout="modern"] :where(.propRecommendCard):hover{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 97%,transparent),color-mix(in srgb,var(--surface) 92%,transparent));}
  }
}
/* 无主指针的桌面/辅助环境允许真实 :hover；纯粗指针触屏不启用悬停装饰。 */
@media(hover:hover), (pointer:none){
  [data-layout="modern"] :where(.propRecommendCard):hover{z-index:2;border-color:color-mix(in srgb,var(--accent) 32%,var(--border));
    box-shadow:var(--shadowHover),inset 0 1px 0 var(--propGlassRim),0 0 0 1px color-mix(in srgb,var(--accent) 7%,transparent);}
}
@media(prefers-reduced-motion:reduce){
  [data-layout="modern"] .propRecommendCta,[data-layout="modern"] .propReviewToggle,[data-layout="modern"] .propReviewToggle::after{transition:none;}
  [data-layout="modern"] .propRecommendCard{transition:none;transform:none;}
}

/* 可配置玻璃内容块：只模糊背板，文字、图标不变形或模糊。嵌套框重置变量，不继承外框配色。 */
[data-layout="modern"] .propGlassSurface{--propEdge:var(--accent);--propTint:var(--accent);--propBtn:var(--accent);--propBtnInk:var(--bg);--propTintA:7%;--propTintB:18%;
  border:1px solid color-mix(in srgb,var(--propEdge) 70%,var(--border));border-radius:12px;color:var(--text);
  background:linear-gradient(125deg,color-mix(in srgb,var(--propTint) var(--propTintA),var(--surface)),color-mix(in srgb,var(--propTint) var(--propTintB),var(--surface)));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 5%,transparent),0 5px 16px #00000009;filter:none;transform:none;}
[data-layout="modern"][data-theme="light"] .propGlassSurface{--propTintA:14%;--propTintB:38%;}
[data-layout="modern"] .propKeySentence{display:flex;align-items:flex-start;gap:8px;padding:7px 10px;margin:4px 0 9px;max-width:100%;font-size:13px;font-weight:650;line-height:1.65;}
[data-layout="modern"] .propKeySentence>.propInlineIcon{color:var(--propEdge);margin-top:3px;}
[data-layout="modern"] .propKeySentence>.propRichText{min-width:0;}
[data-layout="modern"] .propKeySentence .propRichText :is(p,li){font-weight:650;}
[data-layout="modern"] .propKeySentence p:last-child{margin-bottom:0;}
[data-layout="modern"] .propInlineIcon{display:inline-flex;width:1.15em;height:1.15em;align-items:center;justify-content:center;vertical-align:-.18em;margin:0 .22em 0 0;flex:none;}
[data-layout="modern"] .propInlineIcon>svg{width:100%;height:100%;display:block;filter:none;transform:none;}
[data-layout="modern"] .propCoupon{padding:16px;gap:12px;position:relative;isolation:isolate;overflow:hidden;border-radius:16px;}
[data-layout="modern"] .propCoupon::after{content:"%";position:absolute;right:5px;bottom:-14px;font-size:90px;font-weight:800;line-height:1;color:var(--propEdge);opacity:.06;z-index:-1;pointer-events:none;}
[data-layout="modern"] .propCoupon .propRecommendDealHead{gap:8px;}
[data-layout="modern"] .propCoupon .propRecommendLabel{color:var(--text);font-weight:700;flex-wrap:wrap;}
[data-layout="modern"] .propCoupon .propRecommendLabel>.propInlineIcon{color:var(--propEdge);font-size:17px;}
[data-layout="modern"] .propCoupon .propRecommendLabel svg{width:100%;height:100%;}
[data-layout="modern"] .propCoupon .propRecommendDiscount{font-size:25px;font-weight:800;letter-spacing:-.7px;}
[data-layout="modern"] .propCouponDescription{font-size:12px;line-height:1.7;color:var(--text);min-width:0;}
[data-layout="modern"] .propCouponDescription p:last-child{margin-bottom:0;}
[data-layout="modern"] .propCouponHot{display:inline-flex;padding:3px 8px;border-radius:999px;font:700 10px/1.3 var(--fontUI);background:linear-gradient(135deg,#ff6571,#d31c34);color:#fff;box-shadow:inset 0 1px 0 #ffffff60;}
[data-layout="modern"] .propCouponActions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-top:2px;}
[data-layout="modern"] .propCoupon :where(.propCouponCode){display:flex;align-items:center;gap:7px;flex:1 0 150px;min-width:0;min-height:38px;padding:6px 9px;border:1px dashed color-mix(in srgb,var(--propEdge) 65%,transparent);border-radius:9px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text);font:inherit;text-align:left;cursor:pointer;appearance:none;transform:none;}
[data-layout="modern"] .propCoupon :where(.propCouponCode:hover){background:color-mix(in srgb,var(--surface) 96%,var(--propTint));border-color:var(--propEdge);box-shadow:0 0 0 2px color-mix(in srgb,var(--propEdge) 12%,transparent);}
[data-layout="modern"] .propCoupon :where(.propCouponCode:active){box-shadow:inset 0 1px 4px #00000012;}
[data-layout="modern"] .propCouponCode code{min-width:0;overflow-wrap:anywhere;font:650 13px/1.5 var(--fontMono);}
[data-layout="modern"] .propCouponCopyMark{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:5px;margin-left:auto;color:var(--text);}
[data-layout="modern"] .propCouponCopyMark svg{width:17px;height:17px;}
[data-layout="modern"] :where(.propCouponLink){display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:1 0 auto;min-height:38px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--propBtn) 70%,transparent);border-radius:9px;
  background:var(--propBtn);box-shadow:inset 0 1px 0 #ffffff30,0 4px 12px #00000012;color:var(--propBtnInk);font:650 12px/1.5 var(--fontUI);text-decoration:none;transform:none;}
[data-layout="modern"] :where(.propCouponLink):hover{box-shadow:inset 0 1px 0 #ffffff60,0 5px 14px #00000022;text-decoration:none;}
[data-layout="modern"] .propCouponLink span{font-size:18px;}
[data-layout="modern"] .propFirmCoupon{max-width:600px;margin:18px 0;}
[data-layout="modern"] .propCallout{display:flex;gap:9px;padding:10px 12px;margin:10px 0;min-width:0;}
[data-layout="modern"] .propCallout>.propInlineIcon{color:var(--propEdge);margin-top:4px;}
[data-layout="modern"] .propCallout>.propRichText{min-width:0;}
[data-layout="modern"] .propCallout p:last-child{margin-bottom:0;}
[data-layout="modern"] .propUpdateGlass{padding:12px 14px;min-width:0;}
[data-layout="modern"] .propUpdateGlass .propFirmUpdateMeta{gap:8px 10px;min-height:26px;margin-bottom:8px;}
[data-layout="modern"] .propUpdateGlass .propFirmUpdateMeta time{color:var(--text);font:650 13px/1.5 var(--fontUI);font-variant-numeric:tabular-nums;letter-spacing:.1px;}
[data-layout="modern"] .propUpdateGlass .propFirmUpdateType{padding:3px 8px;border-radius:6px;background:var(--surface);color:var(--text);border-color:color-mix(in srgb,var(--propEdge) 30%,var(--border));font-size:12px;font-weight:650;line-height:1.4;}
[data-layout="modern"] .propFirmUpdatesFull .propUpdateGlass .propFirmUpdateText{padding:0;border:0;background:none;}
[data-layout="modern"] .propEditorPreview .propUpdateGlass{margin-bottom:14px;}
[data-layout="modern"] .propEditorPreview .propCoupon{margin-top:16px;padding:14px;}
[data-layout="modern"] .propEditorPreview .propCoupon .propRecommendDiscount{font-size:22px;}
[data-layout="modern"] .propEditorPreview .propKeySentence{font-size:12px;}
[data-layout="modern"] [data-prop-copy-protected]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
[data-layout="modern"] [data-prop-copy-protected] :is(input,textarea,[contenteditable="true"]){-webkit-user-select:text;user-select:text;}
[data-layout="modern"] .propCoupon :is(a,button):focus-visible{outline:2px solid var(--text);outline-offset:3px;}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  [data-layout="modern"] .propGlassSurface{background:linear-gradient(125deg,color-mix(in srgb,var(--propTint) var(--propTintA),color-mix(in srgb,var(--surface) 88%,transparent)),color-mix(in srgb,var(--propTint) var(--propTintB),color-mix(in srgb,var(--surface) 90%,transparent)));backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08);}
  /* 排行卡片里的块和卡片一样，背后只有柔光，不挂实时模糊（公司详情页、编辑器预览里的照旧） */
  [data-layout="modern"] .propRecommendCard .propGlassSurface{backdrop-filter:none;-webkit-backdrop-filter:none;}
}


/* Prop financial overview — native shadcn-style boundaries, product color tokens.
   Portals share this namespace; no global theme tokens or classic styles change. */
[data-layout="modern"] :is(.propOverview,.propOverviewPicker,.propOverviewTooltip){
  --ui-card:var(--surface);--ui-muted:var(--surface2);--ui-border:var(--border);
  --ui-hover:var(--surface2);--ui-selection:color-mix(in srgb,var(--accent) 8%,var(--surface2));
  font-family:var(--fontUI);font-variant-numeric:tabular-nums;line-height:1.5;box-sizing:border-box;
}
[data-layout="modern"] .propOverview{border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-card);margin-bottom:20px;color:var(--text);container-type:inline-size;--metric-tone:var(--muted);}
[data-layout="modern"] .propOverview[data-tone="positive"]{--metric-tone:var(--pnlPos);}
[data-layout="modern"] .propOverview[data-tone="negative"]{--metric-tone:var(--pnlNeg);}
[data-layout="modern"] .propOverviewHeader{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 24px;border-bottom:1px solid var(--ui-border);}
[data-layout="modern"] .propOverview :is(h2,h3){display:flex;align-items:center;gap:8px;margin:0;line-height:1.5;}
[data-layout="modern"] .propOverview h2{font-size:16px;font-weight:600;}
[data-layout="modern"] .propOverview h3{font-size:15px;font-weight:500;}
[data-layout="modern"] .propOverviewIcon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:8px;background:var(--surface2);color:var(--muted);}
[data-layout="modern"] .propOverviewIcon svg{width:19px;height:19px;}
[data-layout="modern"] .propOverviewHeader .propOverviewIcon{color:var(--text);}
[data-layout="modern"] .propOverviewTools{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:12px;color:var(--muted);min-width:0;}
:where([data-layout="modern"]) :where(.propOverviewButton){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;max-width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer;}
[data-layout="modern"] .propOverviewButton span{overflow-wrap:anywhere;}
[data-layout="modern"] .propOverviewButton svg{width:16px;height:16px;flex-shrink:0;}
:where([data-layout="modern"]) :where(.propOverviewButton:hover,.propOverviewButton[aria-expanded="true"]){background:var(--surface2);}
[data-layout="modern"] .propOverviewBody{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(280px,.8fr);}
[data-layout="modern"] .propOverviewZone{min-width:0;padding:24px;display:flex;flex-direction:column;}
[data-layout="modern"] .propOverviewZone+.propOverviewZone{border-left:1px solid var(--ui-border);}
[data-layout="modern"] .propOverviewNet .propOverviewIcon{color:var(--metric-tone);}
[data-layout="modern"] .propOverviewSpotlight{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:24px;flex:1;}
[data-layout="modern"] .propOverviewValue{color:var(--metric-tone);font-size:clamp(42px,3.5vw,56px);font-weight:700;letter-spacing:-1.7px;line-height:1.15;max-width:100%;overflow-wrap:anywhere;}
[data-layout="modern"] .propOverviewValue small{font-size:.7em;}
[data-layout="modern"] .propOverviewValueCompact{font-size:clamp(22px,2.5vw,36px);letter-spacing:-.8px;}
[data-layout="modern"] .propOverviewTrend{flex:1 1 170px;min-width:140px;}
[data-layout="modern"] .propOverviewCaption{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:13px;}
[data-layout="modern"] .propOverviewPlot{display:block;width:100%;height:96px;margin-top:8px;overflow:visible;}
[data-layout="modern"] .propOverviewZero{fill:none;stroke:var(--borderLight);stroke-dasharray:3 3;vector-effect:non-scaling-stroke;}
[data-layout="modern"] .propOverviewTrace[data-tone="positive"]{color:var(--pnlPos);}
[data-layout="modern"] .propOverviewTrace[data-tone="negative"]{color:var(--pnlNeg);}
[data-layout="modern"] .propOverviewArea{fill:currentColor;opacity:.1;}
[data-layout="modern"] .propOverviewLine{fill:none;stroke:currentColor;stroke-width:1.8;vector-effect:non-scaling-stroke;}
[data-layout="modern"] .propOverviewDot{fill:var(--metric-tone);stroke:var(--surface);stroke-width:1.5;vector-effect:non-scaling-stroke;}
[data-layout="modern"] .propOverviewDates{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:6px;}
[data-layout="modern"] .propOverviewTrendEmpty{display:flex;align-items:center;min-height:96px;color:var(--muted);font-size:12px;}
[data-layout="modern"] .propOverviewROI{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:24px;}
[data-layout="modern"] .propOverviewROI strong{font-size:30px;font-weight:600;color:var(--metric-tone);overflow-wrap:anywhere;max-width:100%;}
[data-layout="modern"] .propOverviewROI .propOverviewCaption{font-size:12px;}
[data-layout="modern"] .propOverviewROI[data-applicable="false"] :is(strong,.propOverviewIcon){color:var(--muted);}
[data-layout="modern"] .propOverviewCashFigure{margin-top:24px;}
[data-layout="modern"] .propOverviewCashLabel{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
[data-layout="modern"] .propOverviewCashLabel strong{font-size:26px;font-weight:600;line-height:1.3;overflow-wrap:anywhere;max-width:100%;}
[data-layout="modern"] .propOverviewBar{display:flex;height:14px;background:var(--surface2);border-radius:6px;overflow:hidden;}
[data-layout="modern"] .propOverviewBar+.propOverviewCashLabel{margin-top:24px;}
[data-layout="modern"] .propOverviewBar i{display:block;height:100%;flex-shrink:0;}
[data-layout="modern"] .propOverviewHatch{background:repeating-linear-gradient(125deg,transparent 0 2px,color-mix(in srgb,var(--muted) 22%,transparent) 2px 4px),var(--surface2);}
[data-layout="modern"] .propOverviewIncome{background:var(--pnlPos);}
[data-layout="modern"] .propOverviewLegend{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;font-size:11px;color:var(--muted);}
[data-layout="modern"] .propOverviewLegend span{display:inline-flex;align-items:center;gap:6px;}
[data-layout="modern"] .propOverviewLegend i{width:11px;height:8px;border-radius:2px;}
[data-layout="modern"] .propOverviewRefundNote{color:var(--muted);font-size:12px;margin:8px 0 0;}
[data-layout="modern"] .propOverviewAccounts{background:color-mix(in srgb,var(--surface2) 30%,var(--surface));border-radius:0 0 14px 0;}
[data-layout="modern"] .propOverviewAccountSummary{display:grid;grid-template-columns:76px minmax(0,1fr);gap:24px;margin-top:24px;font-size:13px;}
[data-layout="modern"] .propOverviewAccountCount{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;}
[data-layout="modern"] .propOverviewAccountCount strong{font-size:52px;font-weight:600;line-height:1.2;}
[data-layout="modern"] .propOverviewAccountCount span{color:var(--muted);}
[data-layout="modern"] .propOverviewStages{margin:0;padding-left:16px;border-left:1px solid var(--ui-border);display:flex;flex-direction:column;gap:4px;}
:where([data-layout="modern"]) :where(.propOverviewStatusLink){display:flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:6px;padding:5px 3px;min-height:32px;font:inherit;color:var(--text);text-align:left;cursor:pointer;}
:where([data-layout="modern"]) :where(.propOverviewStatusLink:hover){background:var(--surface2);}
[data-layout="modern"] .propOverviewStatusLink>span{flex:1;color:var(--muted);font-size:13px;}
[data-layout="modern"] .propOverviewStatusLink>b{min-width:28px;padding:1px 6px;box-sizing:border-box;border-radius:6px;background:var(--surface2);font-size:14px;font-weight:600;text-align:center;}
[data-layout="modern"] .propOverviewStatusLink>svg{width:12px;height:12px;flex:none;color:var(--muted);}
[data-layout="modern"] .propOverviewAccountTotal{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:16px;margin-top:auto;color:var(--muted);font-size:13px;}
[data-layout="modern"] .propOverviewAccountSummary+.propOverviewAccountTotal{margin-top:52px;}
[data-layout="modern"] .propOverviewAccountTotal strong{color:var(--text);font-size:20px;}
[data-layout="modern"] .propOverviewError{margin:16px 24px 0;padding:12px;border:1px solid var(--neg);color:var(--neg);border-radius:8px;font-size:13px;}
:where([data-layout="modern"]) :where(.propOverviewHelp){display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;padding:3px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:help;}
[data-layout="modern"] .propOverviewHelp svg{width:14px;height:14px;}
:where([data-layout="modern"]) :where(.propOverviewHelp:hover,.propOverviewHelp.is-showing){background:var(--surface2);color:var(--text);}
[data-layout="modern"] .propOverviewTooltip{position:fixed;z-index:49;max-width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 16px);overflow:auto;background:var(--text);color:var(--bg);font-size:13px;padding:10px 12px;border-radius:8px;box-shadow:var(--shadowPop);}
[data-layout="modern"] .propOverviewPicker{position:fixed;z-index:48;display:grid;grid-template-columns:144px minmax(0,1fr);width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 16px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadowPop);}
[data-layout="modern"] .propOverviewPresets{display:flex;flex-direction:column;gap:4px;padding:8px;border-right:1px solid var(--border);}
:where([data-layout="modern"]) :where(.propOverviewPreset,.propOverviewDateCell button,.propOverviewCalendarNav button){font:inherit;color:var(--text);border:0;background:transparent;cursor:pointer;border-radius:8px;}
:where([data-layout="modern"]) :where(.propOverviewPreset){min-height:36px;padding:8px 10px;font-size:14px;text-align:left;}
:where([data-layout="modern"]) :where(.propOverviewPreset:hover,.propOverviewDateCell button:hover,.propOverviewCalendarNav button:hover){background:var(--surface2);}
[data-layout="modern"] .propOverviewPreset.active{background:var(--accent);color:var(--onAccent);}
[data-layout="modern"] .propOverviewCalendar{position:relative;padding:16px;}
[data-layout="modern"] .propOverviewCalendarNav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:12px;}
[data-layout="modern"] .propOverviewCalendarNav>[data-action="prop-overview-month"]{flex:none;width:36px;height:36px;padding:0;font-size:22px;}
[data-layout="modern"] .propOverviewMonths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
[data-layout="modern"] .propOverviewMonth h4{margin:0 0 8px;text-align:center;font-size:14px;line-height:24px;font-weight:600;}
[data-layout="modern"] .propOverviewWeek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}
[data-layout="modern"] .propOverviewWeek>span{text-align:center;line-height:28px;color:var(--muted);font-size:12px;}
[data-layout="modern"] .propOverviewDateCell{display:flex;align-items:center;justify-content:center;height:36px;margin:3px 0;}
:where([data-layout="modern"]) :where(.propOverviewDateCell button){width:36px;height:36px;padding:0;font-size:14px;}
[data-layout="modern"] .propOverviewDateCell.in-range{background:var(--ui-selection);}
[data-layout="modern"] .propOverviewDateCell.range-start{border-radius:8px 0 0 8px;}
[data-layout="modern"] .propOverviewDateCell.range-end{border-radius:0 8px 8px 0;}
[data-layout="modern"] .propOverviewDateCell.range-start.range-end{border-radius:8px;}
[data-layout="modern"] :is(.propOverviewDateCell.range-start,.propOverviewDateCell.range-end) button{background:var(--accent);color:var(--onAccent);}
[data-layout="modern"] .propOverviewDateCell button[aria-current="date"]{box-shadow:inset 0 0 0 1px var(--borderLight);}
[data-layout="modern"] .propOverviewPicker button:disabled{opacity:.35;cursor:default;}
[data-layout="modern"] .propOverviewPickerFooter{grid-column:1/-1;padding:12px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);}
:where([data-layout="modern"]) :where(.propOverviewButton,.propOverviewHelp,.propOverviewPicker button):focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@container (max-width:1100px){
  [data-layout="modern"] .propOverviewBody{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);}
  [data-layout="modern"] .propOverviewAccounts{grid-column:1/-1;border-left:0;border-top:1px solid var(--border);border-radius:0 0 14px 14px;}
  [data-layout="modern"] .propOverviewAccountSummary{max-width:420px;}
  [data-layout="modern"] .propOverviewAccountSummary+.propOverviewAccountTotal{margin-top:24px;}
}
@container (max-width:670px){
  [data-layout="modern"] .propOverviewBody{grid-template-columns:minmax(0,1fr);}
  [data-layout="modern"] .propOverviewZone+.propOverviewZone{border-left:0;border-top:1px solid var(--border);}
}
@media(max-width:640px){
  [data-layout="modern"] .propOverviewHeader{padding:20px;}
  [data-layout="modern"] .propOverviewButton{min-height:44px;font-size:12px;}
  [data-layout="modern"] .propOverviewHelp{width:44px;height:44px;flex-basis:44px;}
  [data-layout="modern"] .propOverview h3{gap:6px;font-size:14px;}
  [data-layout="modern"] .propOverviewCashLabel strong{font-size:24px;}
  [data-layout="modern"] .propOverviewSpotlight{flex-direction:column;align-items:stretch;}
  [data-layout="modern"] .propOverviewTrend{flex:auto;min-width:0;}
  [data-layout="modern"] .propOverviewPicker{grid-template-columns:1fr;}
  [data-layout="modern"] .propOverviewPresets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--border);}
  [data-layout="modern"] .propOverviewPreset{min-height:44px;font-size:12px;text-align:center;}
  [data-layout="modern"] .propOverviewCalendar{padding:12px;}
  [data-layout="modern"] .propOverviewCalendarNav>:is(.fcTrigger,input){min-height:44px;}
  [data-layout="modern"] .propOverviewCalendarNav>input{font-size:16px;}
  [data-layout="modern"] .propOverviewMonths{grid-template-columns:minmax(0,1fr);}
  [data-layout="modern"] .propOverviewMonth[data-month-ordinal="1"]{display:none;}
  [data-layout="modern"] .propOverviewCalendarNav>[data-action="prop-overview-month"]{width:44px;height:44px;}
  [data-layout="modern"] .propOverviewDateCell{height:44px;margin:2px 0;}
  [data-layout="modern"] .propOverviewDateCell button{width:44px;height:44px;}
  [data-layout="modern"] .propOverviewStatusLink{min-height:44px;}
}

/* Approved horizontal account progression — modern only, illustrative geometry. */
[data-layout="modern"] .propProgress{border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:20px;overflow:hidden;color:var(--text);font-family:var(--fontUI);font-variant-numeric:tabular-nums;}
[data-layout="modern"] .propProgressHead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border);}
[data-layout="modern"] .propProgressHead>div{display:flex;align-items:center;gap:10px;}
[data-layout="modern"] .propProgressHead h2{font-size:16px;font-weight:600;margin:0;}
[data-layout="modern"] .propProgressHead p{font-size:12px;color:var(--muted);margin:3px 0 0;}
[data-layout="modern"] .propProgressRange{font-size:12px;padding:4px 9px;border-radius:6px;background:var(--surface2);overflow-wrap:anywhere;}
[data-layout="modern"] .propProgressScroll{padding:18px 24px 8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;}
[data-layout="modern"] .propProgressTrack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:800px;}
[data-layout="modern"] .propProgressStep{position:relative;min-width:0;}
:where([data-layout="modern"]) :where(.propProgressStage){display:block;width:100%;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;cursor:pointer;text-align:center;}
[data-layout="modern"] .propProgressCaption{height:36px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;}
[data-layout="modern"] .propProgressCaption svg{width:18px;height:18px;color:var(--accent);}
[data-layout="modern"] .propProgressShape{display:block;position:relative;height:240px;margin-top:12px;}
[data-layout="modern"] .propProgressShape>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
[data-layout="modern"] .propProgressShape polygon{fill:color-mix(in srgb,var(--accent) var(--stage-tint),var(--surface));stroke:color-mix(in srgb,var(--accent) 28%,var(--border));stroke-width:1;stroke-linejoin:round;}
:where([data-layout="modern"]) :where(.propProgressStage:hover) polygon{fill:color-mix(in srgb,var(--accent) calc(var(--stage-tint) + 6%),var(--surface));}
[data-layout="modern"] .propProgressValue{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);font-size:12px;}
[data-layout="modern"] .propProgressValue strong{font-size:48px;line-height:1.1;font-weight:600;letter-spacing:-1.5px;}
[data-layout="modern"] .propProgressValue small{display:block;margin-top:9px;font-size:12px;}
:where([data-layout="modern"]) :where(.propProgressEdge){position:absolute;z-index:2;top:168px;left:calc(100% + 6px);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;min-width:78px;min-height:58px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:0 2px 5px rgb(0 0 0 / .04);}
:where([data-layout="modern"]) :where(.propProgressEdge:hover){border-color:var(--accent);background:var(--surface2);}
[data-layout="modern"] .propProgressEdge>span{display:flex;align-items:center;gap:6px;}
[data-layout="modern"] .propProgressEdge strong{font-size:16px;font-weight:600;}
[data-layout="modern"] .propProgressEdge svg{width:14px;height:14px;color:var(--muted);}
[data-layout="modern"] .propProgressEdge small{font-size:11px;color:var(--muted);}
[data-layout="modern"] .propProgressEdge:disabled{opacity:.5;cursor:default;}
[data-layout="modern"] .propProgressDescription{display:flex;justify-content:space-between;gap:8px;margin:4px 24px 18px;font-size:12px;line-height:1.6;color:var(--muted);}
[data-layout="modern"] .propProgressSwipe{display:none;}
[data-layout="modern"] .propProgressSummary{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:18px 24px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 30%,var(--surface));}
[data-layout="modern"] .propProgressSummary>div{display:flex;flex-wrap:wrap;align-items:baseline;align-content:center;gap:6px 10px;min-width:0;}
[data-layout="modern"] .propProgressSummary span{font-size:14px;color:var(--muted);}
[data-layout="modern"] .propProgressSummary strong{font-size:24px;font-weight:600;line-height:1.2;max-width:100%;overflow-wrap:anywhere;}
[data-layout="modern"] .propProgressSummary small{font-size:12px;line-height:1.6;color:var(--muted);}
[data-layout="modern"] .propProgressNotice{margin:12px 24px;font-size:12px;line-height:1.6;color:var(--muted);padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);}
[data-layout="modern"] .propLinkageModal{font-family:var(--fontUI);color:var(--text);}
[data-layout="modern"] .propLinkageModal h2{font-size:18px;font-weight:600;margin:0;}
[data-layout="modern"] .propLinkageSubtitle{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 12px;}
[data-layout="modern"] .propLinkageTabs{display:flex;gap:4px;padding:4px;background:var(--surface2);border-radius:8px;margin-bottom:16px;}
:where([data-layout="modern"]) :where(.propLinkageTabs button){border:0;background:transparent;border-radius:6px;padding:8px 10px;min-height:36px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;}
[data-layout="modern"] .propLinkageTabs button[aria-selected="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgb(0 0 0 / .08);}
:where([data-layout="modern"]) :where(.propLinkageAccount){display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;padding:14px 12px;margin-bottom:8px;width:100%;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;}
:where([data-layout="modern"]) :where(.propLinkageAccount:hover){background:var(--surface2);}
[data-layout="modern"] .propLinkageAccountText{flex:1;min-width:0;overflow-wrap:anywhere;}
[data-layout="modern"] .propLinkageAccountText>strong{display:block;font-size:14px;font-weight:500;}
[data-layout="modern"] .propLinkageAccountText>small{display:block;font-size:12px;color:var(--muted);margin-top:3px;}
[data-layout="modern"] .propLinkageAccountText>span{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px;}
[data-layout="modern"] .propLinkageAccountText>span>small{font-size:11px;padding:3px 7px;border-radius:5px;background:var(--surface2);color:var(--muted);}
[data-layout="modern"] .propLinkageAccount>svg{width:16px;height:16px;flex:none;color:var(--muted);}
[data-layout="modern"] .propLinkageModal .modalFoot{justify-content:space-between;font-size:12px;color:var(--muted);}
[data-layout="modern"] .propLinkageBack{margin-bottom:14px;}
[data-layout="modern"] .propLinkedPeriod{display:block;font-size:12px;color:var(--muted);line-height:1.6;}
[data-layout="modern"] .propLinkedRefundHint{font-size:12px;color:var(--muted);margin:8px 0 0;}
[data-layout="modern"] .propLinkedMonths .propMoCol:disabled{opacity:.3;cursor:default;}
[data-layout="modern"] .propLinkedMonths .propMoRefund i{transform:translate(-7px,-100%);width:8px;background:repeating-linear-gradient(125deg,var(--pnlPos) 0 2px,var(--pnlPosSoft) 2px 4px);border-radius:4px 4px 1px 1px;}
[data-layout="modern"] .propLinkedMonths .up:has(+.propMoRefund) i{transform:translateX(6px);}
:where([data-layout="modern"]) :where(.propProgress button,.propLinkageModal button,.propOverviewStatusLink,.propLinkageBack):focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
[data-layout="modern"] .propProgressScroll:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;}
@media(max-width:1100px){[data-layout="modern"] .propProgressSummary small{flex-basis:100%;}}
@media(max-width:640px){
  [data-layout="modern"] .propProgressHead{padding:16px;}
  [data-layout="modern"] .propProgressScroll{padding:14px 16px 10px;}
  [data-layout="modern"] .propProgressValue strong{font-size:42px;}
  [data-layout="modern"] .propProgressDescription{flex-direction:column;margin:8px 16px 16px;}
  [data-layout="modern"] .propProgressSwipe{display:block;color:var(--text);}
  [data-layout="modern"] .propProgressSummary{grid-template-columns:1fr;gap:18px;padding:18px 16px;}
  [data-layout="modern"] .propLinkageTabs button{min-height:44px;}
  [data-layout="modern"] .propLinkageBack{min-height:44px;}
  [data-layout="modern"] .propLinkageModal .iconBtn{width:44px;height:44px;}
  [data-layout="modern"] .propLinkageAccount{padding:12px 10px;gap:8px;}
}

/* Approved monthly refinements: keep the original bars/cards; lines are opt-in. */
[data-layout="modern"] .propMonthsIcon{display:inline-block;width:16px;height:16px;flex-shrink:0;vertical-align:middle;}
[data-layout="modern"] .propMonths .propPanelHead{flex-wrap:wrap;gap:12px;}
[data-layout="modern"] .propMonths .propYearNav{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%;}
[data-layout="modern"] :where(.propMonthsToggle){display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font:500 12px var(--fontUI);cursor:pointer;white-space:nowrap;touch-action:manipulation;}
[data-layout="modern"] :where(.propMonthsToggle:hover){background:var(--surface2);}
[data-layout="modern"] .propMonthsToggle[aria-pressed="true"]{background:var(--accentSoft);border-color:var(--accent);}
[data-layout="modern"] .propMonths :is(button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
[data-layout="modern"] .propMonthsLegend{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;}
[data-layout="modern"] .propMonthsLegend[hidden]{display:none;}
[data-layout="modern"] .propMonthsLegend>span{display:inline-flex;gap:6px;align-items:center;}
[data-layout="modern"] .propMonthsLegend i{position:relative;width:22px;height:12px;}
[data-layout="modern"] .propMonthsLegend i:before{content:"";position:absolute;left:0;right:0;top:5px;border-top:2px solid var(--pnlPos);}
[data-layout="modern"] .propMonthsLegend i:after{content:"";position:absolute;left:9px;top:3px;width:5px;height:5px;border-radius:50%;background:var(--pnlPos);}
[data-layout="modern"] .propMonthsLegend .invested:before{border-color:var(--pnlNeg);border-top-style:dashed;}
[data-layout="modern"] .propMonthsLegend .invested:after{background:var(--pnlNeg);}
[data-layout="modern"] .propMonthsScroll{min-width:0;overflow-x:auto;overflow-y:hidden;border-radius:var(--r12);scrollbar-width:thin;overscroll-behavior-x:contain;}
[data-layout="modern"] .propMonthsScroll>.propMoChart{position:relative;height:100%;box-sizing:border-box;}
[data-layout="modern"] .propMonthsOverlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible;}
[data-layout="modern"] .propMonthsOverlay line{fill:none;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;}
[data-layout="modern"] .propMonthsOverlay .received{stroke:var(--pnlPos);fill:var(--pnlPos);}
[data-layout="modern"] .propMonthsOverlay .invested{stroke:var(--pnlNeg);fill:var(--pnlNeg);stroke-dasharray:5 5;}
[data-layout="modern"] .propMonthsOverlay circle{stroke:var(--surface);stroke-width:1.5;stroke-dasharray:none;vector-effect:non-scaling-stroke;}
[data-layout="modern"] .propMonths :is(.propMiniLabel,.propMonthsSummaryLabel,.propMonthsRecoveryLabel){display:flex;align-items:center;gap:6px;}
[data-layout="modern"] .propMonths .propMiniLabel .propMonthsIcon{width:13px;height:13px;}
[data-layout="modern"] .propMonthsSummaryLabel .propMonthsIcon{width:15px;height:15px;color:var(--muted);}
[data-layout="modern"] .propMonths .propMoSumRow{gap:8px;flex-wrap:wrap;}
[data-layout="modern"] .propMonths .propMoSumRow b{overflow-wrap:anywhere;min-width:0;}
[data-layout="modern"] .propMonthsRecoveryTip{white-space:pre-line;}
[data-layout="modern"] .propMonthsRecoveryLabel{font-size:12px;color:var(--text);}
[data-layout="modern"] .propMonthsRecoveryLabel>.propMonthsIcon{width:14px;height:14px;color:var(--muted);}
[data-layout="modern"] .propMonths .propMoBackHead{align-items:center;flex-wrap:wrap;}
[data-layout="modern"] .propMonths .propMonthsRecoveryValue{font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
[data-layout="modern"] .propMonthsHeading{align-items:center;justify-content:flex-start;gap:24px;padding:2px 0 10px;margin-bottom:14px;}
[data-layout="modern"] .propMonthsDate{display:flex;align-items:center;gap:10px;flex-shrink:0;}
[data-layout="modern"] .propMonthsDateIcon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--muted);}
[data-layout="modern"] .propMonthsDateIcon .propMonthsIcon{width:18px;height:18px;}
[data-layout="modern"] .propMonthsDate h3{font:650 16px/1.3 var(--fontUI);margin:0;color:var(--text);}
[data-layout="modern"] .propMonthsDates{font-size:12px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums;}
[data-layout="modern"] .propMonthsMetrics{display:flex;align-items:stretch;min-width:0;max-width:100%;}
[data-layout="modern"] .propMonthsMetric{display:flex;flex-direction:column;gap:7px;padding:0 20px;border-left:1px solid var(--border);min-width:110px;}
[data-layout="modern"] .propMonthsMetric:first-child{border-left:0;padding-left:0;}
[data-layout="modern"] .propMonthsMetric:last-child{padding-right:0;}
[data-layout="modern"] .propMonthsMetric>span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);}
[data-layout="modern"] .propMonthsMetric .propMonthsIcon{width:14px;height:14px;}
[data-layout="modern"] .propMonthsMetric>b{font:600 17px/1.25 var(--fontUI);color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
[data-layout="modern"] .propMonthsMetric>b.pos{color:var(--pnlPos);}
[data-layout="modern"] .propMonthsMetric>b.neg{color:var(--pnlNeg);}
[data-layout="modern"] .propMonths .propLedKind{display:inline-flex;gap:5px;align-items:center;}
[data-layout="modern"] .propMonths .propLedName em{white-space:nowrap;flex-shrink:0;}
@media(max-width:640px){
  [data-layout="modern"] .propMonthsToggle{min-height:44px;}
  [data-layout="modern"] .propMonths .propYearNav .tinyBtn{min-width:30px;min-height:44px;}
  [data-layout="modern"] .propMonthsLinesOn .propMoChart{min-width:600px;}
  [data-layout="modern"] .propMonthsLegend{order:3;width:100%;justify-content:flex-end;font-size:11px;gap:10px;}
  [data-layout="modern"] .propMonthsHeading{align-items:stretch;flex-direction:column;gap:18px;padding-bottom:6px;}
  [data-layout="modern"] .propMonthsMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;}
  [data-layout="modern"] .propMonthsMetric{min-width:0;padding:0 10px;}
  [data-layout="modern"] .propMonthsMetric>b{font-size:15px;}
  [data-layout="modern"] .propMonthsMetric>span{font-size:11px;gap:4px;}
  [data-layout="modern"] .propMonthsMetricsLong{grid-template-columns:1fr;gap:10px;}
  [data-layout="modern"] .propMonthsMetricsLong .propMonthsMetric{flex-direction:row;align-items:baseline;justify-content:space-between;border:0;padding:0;gap:12px;}
  [data-layout="modern"] .propMonthsMetricsLong .propMonthsMetric>b{text-align:right;}
  [data-layout="modern"] .propMonthsDate h3{font-size:15px;}
}

/* Modern company comparison. Local table overflow keeps full financial values. */
[data-layout="modern"] .propCompany{padding:22px;min-width:0;}
[data-layout="modern"] .propCompany [hidden]{display:none!important;}
[data-layout="modern"] .propCompanyIcon{display:inline-block;width:16px;height:16px;flex-shrink:0;vertical-align:middle;}
[data-layout="modern"] .propCompanyHead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
[data-layout="modern"] .propCompanyTitle{display:flex;gap:10px;align-items:center;}
[data-layout="modern"] .propCompanyTitle h2{font:650 16px/1.4 var(--fontUI);margin:0;color:var(--text);}
[data-layout="modern"] .propCompanyTitle>.propCompanyIcon{width:19px;height:19px;color:var(--muted);}
[data-layout="modern"] .propCompanyTotal{font:500 12px/1 var(--fontUI);color:var(--muted);background:var(--surface2);padding:5px 7px;border-radius:6px;min-width:24px;text-align:center;}
[data-layout="modern"] .propCompanyTools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:100%;}
[data-layout="modern"] .propCompanyPeriod{display:flex;align-items:center;gap:6px;font:400 12px var(--fontUI);color:var(--muted);}
[data-layout="modern"] .propCompanyPeriod svg{width:14px;height:14px;flex-shrink:0;}
[data-layout="modern"] .propCompanySort{display:flex;align-items:center;gap:6px;min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:var(--surface);}
[data-layout="modern"] .propCompanySort>.propCompanyIcon{width:14px;height:14px;}
[data-layout="modern"] .propCompanySort select{width:auto;border:0;background:transparent;color:var(--text);font:500 12px var(--fontUI);padding:7px 1px;max-width:160px;cursor:pointer;touch-action:manipulation;}
[data-layout="modern"] .propCompanySort option{background:var(--surface);color:var(--text);}
[data-layout="modern"] .propCompanySort select:disabled{cursor:default;opacity:.5;}
[data-layout="modern"] .propCompany :is(button,select,.propCompanyScroll):focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
[data-layout="modern"] .propCompanyScroll{width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;position:relative;}
[data-layout="modern"] .propCompanyTable{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;table-layout:auto;font:400 14px var(--fontUI);}
[data-layout="modern"] .propCompanyTable thead th{padding:8px;color:var(--muted);font-size:12px;font-weight:500;text-align:right;vertical-align:middle;border-bottom:1px solid var(--border);height:48px;background:var(--surface);}
[data-layout="modern"] .propCompanyTable thead th:first-child{text-align:left;padding-left:0;}
[data-layout="modern"] .propCompanyColumn{display:inline-flex;justify-content:flex-end;align-items:center;gap:4px;line-height:1.5;}
[data-layout="modern"] .propCompanyColumn>span{white-space:nowrap;}
[data-layout="modern"] .propCompanyTable tbody tr{transition:background-color 120ms ease;}
[data-layout="modern"] :where(.propCompanyTable tbody tr:hover){background:var(--surface2);}
[data-layout="modern"] .propCompanyTable tbody :is(td,th){padding:14px 8px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:right;color:var(--text);font-weight:400;}
[data-layout="modern"] .propCompanyTable tbody tr:last-child :is(td,th){border-bottom:0;}
[data-layout="modern"] .propCompanyTable tbody th{padding-left:0;text-align:left;width:24%;min-width:200px;}
[data-layout="modern"] .propCompanyIdentity{display:flex;align-items:center;gap:10px;min-width:0;max-width:280px;}
[data-layout="modern"] .propCompanyMark{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:8px;background:var(--surface2);border:1px solid var(--border);overflow:hidden;}
[data-layout="modern"] .propCompanyMark img{width:100%;height:100%;object-fit:contain;}
[data-layout="modern"] .propCompanyInitials{font-weight:650;font-size:12px;color:var(--muted);}
[data-layout="modern"] .propCompanyName{font-size:14px;font-weight:550;line-height:1.4;overflow-wrap:anywhere;min-width:0;}
[data-layout="modern"] .propCompanyCount{display:inline-block;min-width:32px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;}
[data-layout="modern"] .propCompanyValue{font:500 15px/1.4 var(--fontUI);font-variant-numeric:tabular-nums;white-space:nowrap;}
[data-layout="modern"] .propCompanyValue[data-tone="pos"]{color:var(--pnlPos);}
[data-layout="modern"] .propCompanyValue[data-tone="neg"]{color:var(--pnlNeg);}
[data-layout="modern"] .propCompanyNet .propCompanyValue{font-size:18px;font-weight:650;}
[data-layout="modern"] .propCompanyROI .propCompanyValue{font-size:14px;}
[data-layout="modern"] .propCompanyPass{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
[data-layout="modern"] .propCompanyPassTrack{height:4px;width:62px;background:var(--surface2);border-radius:99px;overflow:hidden;}
[data-layout="modern"] .propCompanyPassTrack i{display:block;height:100%;background:var(--muted);border-radius:99px;}
[data-layout="modern"] .propCompanyNetTrack{position:relative;width:144px;height:9px;margin:8px 0 0 auto;}
[data-layout="modern"] .propCompanyNetTrack:before{content:"";position:absolute;left:50%;top:0;height:9px;width:1px;background:var(--muted);}
[data-layout="modern"] .propCompanyNetTrack i{position:absolute;height:5px;top:2px;border-radius:2px;max-width:50%;}
[data-layout="modern"] .propCompanyNetTrack i[data-tone="pos"]{left:50%;background:var(--pnlPos);}
[data-layout="modern"] .propCompanyNetTrack i[data-tone="neg"]{right:50%;background:var(--pnlNeg);}
[data-layout="modern"] .propCompanyScrollHint{display:none;font-size:12px;color:var(--muted);margin:14px 0 0;}
[data-layout="modern"] .propCompanyTip{white-space:pre-line;}
@media(max-width:640px){
  [data-layout="modern"] .propCompany{padding:18px;}
  [data-layout="modern"] .propCompanyHead{gap:12px;margin-bottom:12px;}
  [data-layout="modern"] .propCompanyTools{width:100%;justify-content:space-between;gap:10px;}
  [data-layout="modern"] .propCompanySort{min-height:44px;}
  [data-layout="modern"] .propCompanySort select{min-height:42px;}
  [data-layout="modern"] .propCompanyPeriod{font-size:11px;max-width:100%;overflow-wrap:anywhere;}
  [data-layout="modern"] .propCompanyTable{min-width:840px;}
  [data-layout="modern"] .propCompanyTable thead th{font-size:12px;height:56px;padding:4px;}
  [data-layout="modern"] .propCompanyColumn{gap:0;flex-direction:column;align-items:flex-end;}
  [data-layout="modern"] .propCompany .propOverviewHelp{width:44px;height:44px;}
  [data-layout="modern"] .propCompanyTable :is(tbody th,thead th:first-child){position:sticky;left:0;z-index:2;background:var(--surface);padding-right:8px;min-width:150px;max-width:150px;width:150px;}
  [data-layout="modern"] :where(.propCompanyTable tbody tr:hover th){background:var(--surface2);}
  [data-layout="modern"] .propCompanyTable thead th:first-child{z-index:3;}
  [data-layout="modern"] .propCompanyMark{width:26px;height:26px;}
  [data-layout="modern"] .propCompanyIdentity{gap:8px;width:138px;}
  [data-layout="modern"] .propCompanyName{font-size:13px;}
  [data-layout="modern"] .propCompanyTable tbody :is(td,th){padding-top:12px;padding-bottom:12px;}
  [data-layout="modern"] .propCompanyValue{font-size:14px;}
  [data-layout="modern"] .propCompanyNet .propCompanyValue{font-size:16px;}
  [data-layout="modern"] .propCompanyROI .propCompanyValue{font-size:13px;}
  [data-layout="modern"] .propCompanyNetTrack{width:128px;}
  [data-layout="modern"] .propCompanyScrollHint{display:block;}
}
@media(prefers-reduced-motion:reduce){
  [data-layout="modern"] .propCompanyTable tbody tr{transition:none;}
}

/* Explicit history repair drawer. Also used by the legacy date safety seam;
   selectors touch only the new drawer, never the surrounding classic layout. */
.propHistoryEntryTools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.propHistoryEntry svg{width:16px;height:16px;}
.propHistoryCount{display:inline-grid;place-items:center;min-width:22px;min-height:22px;padding:0 6px;border:1px solid var(--border);border-radius:99px;background:var(--surface2);font-variant-numeric:tabular-nums;}
.propModal.propHistoryModal{--history-danger:color-mix(in srgb,var(--neg) 75%,var(--text));width:min(780px,100%);min-width:0;max-width:780px!important;border-radius:16px 0 0 16px;font:400 14px/1.55 var(--fontUI);}
.propHistoryModal .modalHead{padding:22px 26px 18px;align-items:flex-start;gap:12px;}
.propHistoryModal .modalHead h2{margin:0;flex:1;font-size:19px;line-height:1.4;overflow-wrap:anywhere;}
.propHistoryModal .modalBody{padding:22px 26px;min-width:0;overscroll-behavior:contain;}
.propHistoryModal .modalFoot{padding:16px 26px;gap:12px;flex-wrap:wrap;}
.propHistoryFootNote{font-size:12px;color:var(--muted);flex:1;}
.propHistoryModal :where(h3){font-size:14px;margin:24px 0 10px;}
.propHistoryModal :where(button,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.propHistoryModal .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.propHistoryModal .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--history-on-accent,var(--onAccent));}
.propHistoryTabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;}
.propHistoryTabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:500 14px var(--fontUI);padding:10px 16px 12px;cursor:pointer;}
.propHistoryTabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text);}
.propHistorySearch{display:block;}.propHistorySearch input{width:100%;min-height:42px;}
.propHistoryScope{color:var(--muted);font-size:13px;line-height:1.6;margin:10px 0 18px;overflow-wrap:anywhere;}
.propHistoryAccount{display:flex;width:100%;gap:12px;align-items:center;text-align:left;margin-top:10px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;}
:where(.propHistoryAccount:hover){background:var(--surface2);}
.propHistoryAccount>span:nth-child(2){flex:1;min-width:0;}
.propHistoryAccount strong{display:block;font-size:14px;overflow-wrap:anywhere;}.propHistoryAccount small{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere;}
.propHistoryLogo{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface2);color:var(--muted);font-weight:650;}
.propHistoryLogo img{display:block;width:100%;height:100%;object-fit:contain;}.propHistoryLogo [hidden]{display:none!important;}
.propHistoryChips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}.propHistoryChips>span{font-size:12px;line-height:1.5;padding:3px 7px;border:1px solid var(--border);border-radius:5px;background:var(--surface2);}
.propHistoryChips [data-level=missing]{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));}.propHistoryChips [data-level=suspect]{border-style:dashed;}
.propHistoryEmpty{padding:36px 18px;border:1px dashed var(--border);border-radius:10px;text-align:center;overflow-wrap:anywhere;}
.propHistoryEmpty h3{margin:0 0 10px;font-size:18px;}.propHistoryEmpty p{color:var(--muted);font-size:13px;}
.propHistoryIdentity{display:flex;align-items:center;gap:12px;margin-bottom:18px;}.propHistoryIdentity>div{flex:1;min-width:0;}.propHistoryIdentity strong{display:block;font-size:16px;overflow-wrap:anywhere;}.propHistoryIdentity small{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere;}.propHistoryIdentity>span:last-child{font-size:12px;color:var(--muted);}
.propHistoryBoundary{padding:12px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 20px;overflow-wrap:anywhere;}
.propHistoryPurchase{display:grid;grid-template-columns:1fr 190px;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:10px;}
.propHistoryPurchase label{font-weight:600;}.propHistoryPurchase small{display:block;font-size:12px;color:var(--muted);margin-top:4px;}
.propHistoryModal input[type=date]{min-height:40px;color-scheme:light;font-size:14px;}.propHistoryModal [aria-invalid=true]{border-color:var(--neg);}.propHistoryInvalid{color:var(--history-danger)!important;}
.propHistoryTimelineScroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:6px 3px 12px;}
.propHistoryTimeline{display:flex;flex-wrap:wrap;gap:12px 6px;align-items:flex-start;}
.propHistoryStep{display:flex;flex-direction:column;gap:6px;max-width:100%;}.propHistoryStep>small{font-size:12px;color:var(--muted);padding:0 8px;max-width:300px;}
.propHistoryEvent{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);}
.propHistoryModal input.propHistoryEventDate{flex:0 0 152px;width:152px;min-width:152px;min-height:36px;border-radius:999px;padding:6px 10px;background:var(--surface);}
.propHistoryStage{position:relative;display:grid;align-items:center;min-height:36px;flex:none;cursor:pointer;border-radius:999px;}
.propHistoryStage .propSt{font-size:13px;line-height:1.5;padding:3px 9px;border-radius:999px;color:color-mix(in srgb,var(--history-state,var(--muted)) 55%,var(--text));}
.propHistoryStage .propSt-eval{--history-state:var(--info);}.propHistoryStage .propSt-passed{--history-state:var(--accent);}.propHistoryStage .propSt-funded{--history-state:var(--pos);}.propHistoryStage :is(.propSt-failed,.propSt-blown){--history-state:var(--neg);}
.propHistoryStage select{position:absolute;inset:0;opacity:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;font:400 14px var(--fontUI);background:var(--surface);color:var(--text);}
.propHistoryStage:focus-within{outline:2px solid var(--accent);outline-offset:2px;}.propHistoryStage select:focus-visible{outline:0;}
.propHistoryUnknown{position:absolute;inset:0;border-radius:999px;background:var(--surface2);display:grid;place-items:center;pointer-events:none;font-size:12px;white-space:nowrap;}
.propHistoryRemove{display:grid;place-items:center;flex:none;width:28px;min-width:28px;height:28px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:999px;}.propHistoryRemove svg{width:14px;height:14px;}
:where(.propHistoryRemove:hover){color:var(--history-danger);background:var(--surface);}
.propHistoryEvent.is-removed{border-style:dashed;border-radius:16px;}.propHistoryEvent.is-removed>div{padding:4px 8px;max-width:260px;overflow-wrap:anywhere;}.propHistoryEvent.is-removed s{font-size:13px;color:var(--muted);}.propHistoryEvent.is-removed small{display:block;font-size:12px;color:var(--history-danger);}
.propHistoryInsert{display:flex;flex:none;align-items:center;justify-content:center;gap:2px;width:28px;min-width:28px;min-height:48px;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:99px;}.propHistoryInsert>span{font-size:25px;}.propHistoryInsert>small{font-size:12px;}
:where(.propHistoryInsert:hover){background:var(--surface2);color:var(--text);}
.propHistoryModal :is(.propHistoryInsert,.propHistoryRemove):disabled{opacity:.45;cursor:not-allowed;}
.propHistoryIssues{display:grid;gap:8px;margin:18px 0;}.propHistoryIssue{display:flex;align-items:flex-start;gap:9px;font-size:13px;padding:10px 12px;border-radius:8px;background:var(--surface2);}.propHistoryIssue>span{color:var(--muted);font-size:12px;flex:none;}.propHistoryIssue>div{min-width:0;overflow-wrap:anywhere;}.propHistoryIssue small{display:block;color:var(--muted);font-size:12px;}
.propHistoryDiff{border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px;}.propHistoryDiff>strong{display:block;margin-bottom:10px;}.propHistoryDiff>div{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:14px;align-items:center;}.propHistoryDiff small{display:block;font-size:12px;color:var(--muted);}.propHistoryDiff span{overflow-wrap:anywhere;}.propHistoryDiff[data-kind=remove]{border-style:dashed;}.propHistoryDiff[data-kind=remove]>strong{color:var(--history-danger);}
.propHistoryAck{display:flex;gap:10px;align-items:flex-start;padding:14px 0;cursor:pointer;}.propHistoryAck input{flex:none;width:17px;height:17px;margin-top:4px;accent-color:var(--accent);}
.propHistoryError{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px;overflow-wrap:anywhere;}
[data-theme=dark] .propHistoryModal :is(input[type=date],select){color-scheme:dark;}
@media(max-width:640px){
  .propModal.propHistoryModal{width:100%;border-radius:0;}.propHistoryModal .modalHead{padding:18px 16px 14px;}.propHistoryModal .modalBody{padding:18px 16px;}.propHistoryModal .modalFoot{padding:12px 16px;}.propHistoryModal .modalHead h2{font-size:18px;}
  .propHistoryEntryTools{gap:8px;}.propHistoryEntry{min-height:44px;}.propHistoryModal :is(.btn,.iconBtn,.propHistoryTabs button){min-height:44px;}.propHistoryModal .iconBtn{min-width:44px;}
  .propHistoryFootNote{font-size:11px;max-width:32%;}.propHistoryPurchase{grid-template-columns:1fr;}.propHistoryModal input[type=date]{min-height:44px;font-size:16px;}
  .propHistoryIdentity{flex-wrap:wrap;}.propHistoryIdentity>span:last-child{margin-left:50px;}.propHistoryAccount{padding:14px 12px;gap:10px;flex-wrap:wrap;}.propHistoryAccount>.propSt{margin-left:50px;}.propHistoryAccount>span:nth-child(2){min-width:160px;}
  .propHistoryTimeline{flex-wrap:nowrap;gap:8px;}.propHistoryStep{flex:none;max-width:none;}.propHistoryInsert{width:44px;min-width:44px;min-height:56px;}.propHistoryStage{min-height:44px;}.propHistoryStage .propSt{font-size:14px;}
  .propHistoryModal input.propHistoryEventDate{min-height:44px;font-size:16px;}.propHistoryRemove{width:44px;height:44px;min-width:44px;}.propHistorySearch input{min-height:44px;}
  .propHistoryDiff>div{gap:8px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);}.propHistoryIssue{flex-direction:column;gap:3px;}.propHistoryAck{min-height:44px;}
}

/* Match the existing modern account-detail drawer; keep the classic safety seam unchanged. */
[data-layout="modern"] .propModal.propHistoryModal{width:100%;max-width:640px!important;border-radius:20px;font:inherit;}
[data-layout="modern"] .propHistoryModal .modalHead{padding:18px 24px;align-items:center;}
[data-layout="modern"] .propHistoryModal .modalHead h2{font:600 16px var(--fontDisplay);letter-spacing:-.2px;}
[data-layout="modern"] .propHistoryModal .modalBody{padding:20px 24px;}
[data-layout="modern"] .propHistoryModal .modalFoot{padding:14px 24px;gap:10px;}
/* Retain the contrast helper's solid-color reference beneath the shared button gradient. */
[data-layout="modern"] .propHistoryModal .btn-primary{border-color:transparent;background:linear-gradient(135deg,var(--accent) 0%,var(--accentHover) 100%);background-color:var(--accent);}
/* The editor mirrors .propTimelineEdit; CSS grid keeps each connector beside its stage. */
[data-layout="modern"] .propHistoryModal :where(h3){font:600 15px/1.5 var(--fontUI);margin:24px 0 8px;}
[data-layout="modern"] .propHistoryPurchase+h3{font:400 12px/1.5 var(--fontUI);color:var(--mutedDark);margin:20px 0 6px;}
[data-layout="modern"] .propHistoryModal :where(.propHistoryScope){font-size:12px;line-height:1.6;margin:6px 0 10px;}
[data-layout="modern"] .propHistoryTimelineScroll{overflow:visible;padding:4px 2px 8px;}
[data-layout="modern"] .propHistoryTimeline{display:grid;grid-template-columns:24px minmax(0,1fr) 24px minmax(0,1fr);width:100%;min-width:0;gap:10px 6px;align-items:start;}
[data-layout="modern"] .propHistoryStep{min-width:0;width:max-content;max-width:100%;gap:4px;}
[data-layout="modern"] :where(.propHistoryEvent){min-width:0;gap:6px;padding:4px 6px 4px 4px;border-radius:var(--r10);font:400 12px var(--fontUI);color:var(--muted);}
[data-layout="modern"] .propHistoryModal input.propHistoryEventDate{flex:0 0 110px;width:110px;min-width:0;min-height:27px;height:27px;padding:3px 6px;border-radius:10px;font:400 12px var(--fontUI);letter-spacing:normal;}
[data-layout="modern"] .propHistoryStage{min-width:0;min-height:27px;max-width:100%;flex:0 1 auto;}
[data-layout="modern"] .propHistoryStage .propSt{font:500 11px var(--fontUI);padding:2px 8px;border-radius:var(--r12);white-space:normal;overflow-wrap:anywhere;color:var(--history-state,var(--muted));}
[data-layout="modern"] :where(.propHistoryRemove){width:24px;height:24px;min-width:24px;font:400 15px/1 var(--fontUI);}
[data-layout="modern"] :where(.propHistoryRemove svg){width:12px;height:12px;}
[data-layout="modern"] :where(.propHistoryInsert){position:relative;align-self:start;width:24px;min-width:24px;min-height:24px;height:24px;margin-top:6px;border:0;background:transparent;color:var(--mutedDark);font:400 12px/1 var(--fontUI);}
[data-layout="modern"] .propHistoryInsert>span{font:400 16px/1 var(--fontUI);}
[data-layout="modern"] .propHistoryInsert>small{position:static;font:400 10px/1 var(--fontUI);}
[data-layout="modern"] :where(.propHistoryInsert:not(:disabled):hover,.propHistoryInsert:not(:disabled):focus-visible){color:var(--accent);background:var(--surface2);}
[data-layout="modern"] :where(.propHistoryRemove:not(:disabled):hover,.propHistoryRemove:not(:disabled):focus-visible){color:var(--history-danger);background:var(--surface);}
[data-layout="modern"] .propHistoryEvent.is-removed{border-radius:var(--r10);}
[data-layout="modern"] .propHistoryEvent.is-removed>div{flex:1;min-width:0;max-width:100%;padding:2px 4px;}
[data-layout="modern"] .propHistoryEvent.is-removed :is(s,small){font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
[data-layout="modern"] .propHistoryEvent.is-removed .propHistoryRemove{color:var(--text);}
[data-layout="modern"] .propHistoryStep>small{max-width:100%;font-size:11px;line-height:1.5;padding:0 4px;overflow-wrap:anywhere;}
[data-layout="modern"] .propHistoryTimeline :where(button,input,select):focus-visible{outline-offset:1px;}
@media(max-width:640px){
  [data-layout="modern"] .propHistoryTimeline{grid-template-columns:24px minmax(0,1fr);}
}
@media(pointer:coarse){
  [data-layout="modern"] .propHistoryTimeline{grid-template-columns:44px minmax(0,1fr);}
  [data-layout="modern"] :where(.propHistoryEvent){flex-wrap:wrap;}
  [data-layout="modern"] .propHistoryModal input.propHistoryEventDate{min-height:44px;height:44px;}
  [data-layout="modern"] .propHistoryStage{min-height:44px;}
  [data-layout="modern"] .propHistoryRemove{width:44px;min-width:44px;height:44px;}
  [data-layout="modern"] .propHistoryInsert{width:44px;min-width:44px;height:44px;min-height:44px;margin-top:5px;}
}
@media(max-width:640px){
  [data-layout="modern"] .propHistoryModal .modalFoot{justify-content:space-between;}
  [data-layout="modern"] .propHistoryFootNote{order:-1;flex-basis:100%;max-width:none;font-size:12px;}
  [data-layout="modern"] .propHistoryIdentity{display:grid;grid-template-columns:38px minmax(0,1fr);}
  [data-layout="modern"] .propHistoryIdentity>span:last-child{grid-column:2;margin-left:0;}
}

/* ============================================================
   Liquid Glass —— 苹果 iOS 26 / macOS 26 的玻璃材质（“玻璃”布局：新版结构 + 挂 data-glass，用户在账户菜单里手动选）
   规则照苹果的规范来：玻璃只用在“浮在内容上面的那一层”——侧边栏、顶栏按钮、分段控件、菜单、浮动条、
   提示条；内容卡片保持实色。一块玻璃由五层叠成：
     1. 折射：边缘把背后的内容弯过来（src/04b-liquid-glass.js 算位移贴图，经 --lgRefract 接进 backdrop-filter；
        只有 Chromium 支持，Safari / Firefox 没有这一层，其余照常）
     2. 极轻的磨砂 + 提饱和：玻璃本身几乎透明，背后的颜色反而更鲜艳
     3. 高光边：左上一道亮边、右下一道弱一点的反光、贴着边的一圈内发光
     4. 阴影：把玻璃从内容上“托”起来
     5. 交互：按下时玻璃鼓起来再弹回（弹簧曲线），指针在上面移动时有一团跟着走的光；选中的那一片会“流”到新位置
   ============================================================ */
:root[data-layout="modern"][data-glass]{
  --lgTint:color-mix(in srgb,var(--surface) 34%,transparent);
  --lgTintThick:color-mix(in srgb,var(--surface) 74%,transparent);
  --lgSheen:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.012) 46%,rgba(255,255,255,0));
  --lgHi:rgba(255,255,255,.36);
  --lgLo:rgba(255,255,255,.13);
  --lgEdge:rgba(255,255,255,.07);
  --lgGlow:rgba(255,255,255,.045);
  --lgLight:rgba(255,255,255,.13);
  --lgShadow:0 10px 30px rgba(0,0,0,.30),0 2px 6px rgba(0,0,0,.20);
  --lgShadowSm:0 4px 14px rgba(0,0,0,.24),0 1px 3px rgba(0,0,0,.18);
  --lgFilter:blur(2px) saturate(1.8) brightness(1.04);
  --lgFilterThick:blur(24px) saturate(1.9);
  --lgRim:inset 1px 1px 0 -.5px var(--lgHi),inset -1px -1px 0 -.5px var(--lgLo),inset 0 0 0 1px var(--lgEdge),inset 0 0 16px var(--lgGlow);
  /* 弹簧：冲过头一点再回来，接近 SwiftUI 的 .bouncy */
  --lgSpring:linear(0,.009,.035 2.1%,.141 4.4%,.723 12.9%,.938 16.7%,1.017 20.3%,1.043 24.1%,1.035 28.2%,1.007 36.3%,.997 41.9%,1.001 58%,1);
}
:root[data-layout="modern"][data-glass][data-theme="light"]{
  --lgTint:color-mix(in srgb,var(--surface) 46%,transparent);
  --lgTintThick:color-mix(in srgb,var(--surface) 80%,transparent);
  --lgSheen:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.12) 46%,rgba(255,255,255,0));
  --lgHi:rgba(255,255,255,.98);
  --lgLo:rgba(255,255,255,.7);
  --lgEdge:rgba(15,23,42,.07);
  --lgGlow:rgba(255,255,255,.5);
  --lgLight:rgba(255,255,255,.55);
  --lgShadow:0 10px 28px rgba(15,23,42,.12),0 1px 4px rgba(15,23,42,.08);
  --lgShadowSm:0 3px 12px rgba(15,23,42,.10),0 1px 3px rgba(15,23,42,.07);
  --lgFilter:blur(2px) saturate(1.8) brightness(1.06);
}

/* ---------- 基础材质：薄玻璃（控件、导航）和厚玻璃（菜单、浮层，要读字所以磨砂多一些） ---------- */
[data-layout="modern"][data-glass] .nav,
[data-layout="modern"][data-glass] #appHeader .headerActions .modeToggle,
[data-layout="modern"][data-glass] .analyticsSticky,
[data-layout="modern"][data-glass] .propCompareBar,
[data-layout="modern"][data-glass] .propEditorTop,
[data-layout="modern"][data-glass] .lgSurface{
  border-color:transparent;background:var(--lgSheen),var(--lgTint);box-shadow:var(--lgRim),var(--lgShadowSm);
  -webkit-backdrop-filter:var(--lgFilter);backdrop-filter:var(--lgRefract,) var(--lgFilter);}
[data-layout="modern"][data-glass] .exportMenu,
[data-layout="modern"][data-glass] .acctPop,
[data-layout="modern"][data-glass] .reviewBubble,[data-layout="modern"][data-glass] .reviewPop,[data-layout="modern"][data-glass] .slashMenu,
[data-layout="modern"][data-glass] .propOverviewPicker,[data-layout="modern"][data-glass] .propOverviewTooltip,
[data-layout="modern"][data-glass] .reviewToast,[data-layout="modern"][data-glass] .propToast{
  border-color:transparent;background:var(--lgSheen),var(--lgTintThick);box-shadow:var(--lgRim),var(--lgShadow);
  -webkit-backdrop-filter:var(--lgFilterThick);backdrop-filter:var(--lgRefract,) var(--lgFilterThick);}
[data-layout="modern"][data-glass] .exportMenu{border-radius:18px;}
[data-layout="modern"][data-glass] .propToast{color:var(--text);border-radius:999px;padding-left:20px;}
[data-layout="modern"][data-glass] .propToast .btn{color:var(--accent);border-color:transparent;border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent);box-shadow:var(--lgRim);}
/* 粘在顶上/底下的条：内容从它下面滚过去，玻璃边缘的折射在这里最明显。条上有字，磨砂比按钮多一点，免得和下面的字打架 */
[data-layout="modern"][data-glass] :is(.analyticsSticky,.propCompareBar,.propEditorTop){background:var(--lgSheen),color-mix(in srgb,var(--surface) 52%,transparent);
  -webkit-backdrop-filter:blur(10px) saturate(1.8);backdrop-filter:var(--lgRefract,) blur(10px) saturate(1.8);}
[data-layout="modern"][data-glass] .analyticsSticky{top:10px;border-radius:18px;}
[data-layout="modern"][data-glass] .propEditorTop{top:10px;border-radius:22px;}
/* 宽屏上顶栏按钮组会浮在右上角（见下面“浮动顶栏”），吸顶条让到它下面 */
@media(min-width:900px){
  [data-layout="modern"][data-glass] .analyticsSticky,[data-layout="modern"][data-glass] .propEditorTop{top:62px;}
}
[data-layout="modern"][data-glass] .propCompareBar{border-radius:999px;padding:8px 8px 8px 20px;box-shadow:var(--lgRim),var(--lgShadow);}

/* 弹窗是大面积读写区，用接近不透明的厚玻璃：保留高光边和质感，不让背后的东西干扰阅读。
   不给 .modal 加 backdrop-filter——它会让弹窗里 position:fixed 的浮层改成相对弹窗定位 */
[data-layout="modern"][data-glass] .modal{border-color:transparent;border-radius:26px;
  background:var(--lgSheen),color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--lgRim),var(--shadowModal);}
[data-layout="modern"][data-glass] .modalFoot{background:color-mix(in srgb,var(--surface2) 55%,transparent);border-radius:0 0 26px 26px;}

/* ---------- 侧边栏：一整块浮起来的玻璃，离窗口四边留一点空 ---------- */
@media(min-width:900px){
  [data-layout="modern"][data-glass] #appNav{top:10px;height:calc(100vh - 20px);margin:10px 0 10px 10px;border-radius:28px;border:none;
    box-shadow:var(--lgRim),var(--lgShadow);}
  [data-layout="modern"][data-glass] .navFoot{border-color:transparent;background:var(--lgSheen),color-mix(in srgb,var(--accent) 7%,var(--lgTint));
    box-shadow:var(--lgRim);border-radius:20px;}
}

/* ---------- 选中的那一片：自己也是一块（着色的）玻璃，画在 ::before 上。
   切换时 JS 在组的最底层垫一块同样的“影子”（.lgGhost），从旧位置流到新位置，落定后再换回 ::before；
   影子在所有页签文字下面，途经的文字不会被挡住（见 src/04b-liquid-glass.js 的 lgMorphFinish） ---------- */
[data-layout="modern"][data-glass] #appNav .tab,
[data-layout="modern"][data-glass] .modeToggle .modeBtn,
[data-layout="modern"][data-glass] .viewToggle .viewBtn{position:relative;isolation:isolate;}
[data-layout="modern"][data-glass] :is(#appNav,.modeToggle,.viewToggle){isolation:isolate;}
[data-layout="modern"][data-glass] :is(.modeToggle,.viewToggle){position:relative;}
[data-layout="modern"][data-glass] .lgArriving::before{opacity:0;}
[data-layout="modern"][data-glass] .lgGhost{position:absolute;z-index:-1;pointer-events:none;transform-origin:0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 55%,rgba(255,255,255,0)),color-mix(in srgb,var(--text) 9%,transparent);
  box-shadow:var(--lgRim),0 2px 8px rgba(0,0,0,.18);}
[data-layout="modern"][data-glass][data-theme="light"] :is(.modeToggle,.viewToggle) .lgGhost{background:var(--lgSheen),rgba(255,255,255,.88);box-shadow:var(--lgRim),0 2px 8px rgba(15,23,42,.10);}
[data-layout="modern"][data-glass] #appNav .tab.active,
[data-layout="modern"][data-glass] .modeToggle .modeBtn.active,
[data-layout="modern"][data-glass] .viewToggle .viewBtn.active{background:transparent;box-shadow:none;}
[data-layout="modern"][data-glass] #appNav .tab.active::before,
[data-layout="modern"][data-glass] .modeToggle .modeBtn.active::before,
[data-layout="modern"][data-glass] .viewToggle .viewBtn.active::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform-origin:0 50%;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 55%,rgba(255,255,255,0)),color-mix(in srgb,var(--text) 9%,transparent);
  box-shadow:var(--lgRim),0 2px 8px rgba(0,0,0,.18);}
[data-layout="modern"][data-glass][data-theme="light"] .modeToggle .modeBtn.active::before,
[data-layout="modern"][data-glass][data-theme="light"] .viewToggle .viewBtn.active::before{background:var(--lgSheen),rgba(255,255,255,.88);box-shadow:var(--lgRim),0 2px 8px rgba(15,23,42,.10);}
/* 侧边栏当前页：主题色着色玻璃（苹果的 prominent 样式），比分段控件的白片更醒目 */
[data-layout="modern"][data-glass] #appNav .tab.active{color:var(--onAccent);}
[data-layout="modern"][data-glass] #appNav .tab.active::before,[data-layout="modern"][data-glass] #appNav .lgGhost{
  background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.04) 52%,rgba(255,255,255,0)),color-mix(in srgb,var(--accent) 90%,transparent);
  box-shadow:inset 1px 1px 0 -.5px rgba(255,255,255,.75),inset -1px -1px 0 -.5px rgba(255,255,255,.35),inset 0 0 12px rgba(255,255,255,.18),
    0 6px 18px color-mix(in srgb,var(--accent) 34%,transparent);}
[data-layout="modern"][data-glass] #appNav .tab:not(.active):hover{background:color-mix(in srgb,var(--text) 6%,transparent);}
[data-layout="modern"][data-glass] .modeToggle,[data-layout="modern"][data-glass] .viewToggle{border-radius:999px;padding:3px;}
[data-layout="modern"][data-glass] .modeToggle .modeBtn,[data-layout="modern"][data-glass] .viewToggle .viewBtn{border-radius:999px;}
[data-layout="modern"][data-glass] .modeToggle:not(#appHeader .modeToggle),[data-layout="modern"][data-glass] .viewToggle{border-color:transparent;
  background:color-mix(in srgb,var(--text) 5%,transparent);box-shadow:inset 0 0 0 1px var(--lgEdge),inset 0 1px 3px rgba(0,0,0,.12);}

/* ---------- 顶栏按钮：主题 / 导出 / 账户合成一块胶囊玻璃（苹果工具栏的按钮分组），主按钮单独一块主题色着色玻璃 ----------
   这块玻璃画在 ::before 上：给 .headerTools 本身加 backdrop-filter 的话，里面弹出的账户菜单就只能“看到”这块玻璃，
   菜单自己的磨砂会失效。z-index 让弹出的菜单盖得住下面的内容 */
[data-layout="modern"][data-glass] #appHeader .headerActions :is(.btn,.themeToggle){border-radius:999px;}
[data-layout="modern"][data-glass] #appHeader .headerActions .btn{min-height:38px;padding-left:16px;padding-right:16px;}
[data-layout="modern"][data-glass] #appHeader .headerTools{display:inline-flex;align-items:center;height:40px;padding:0 3px;position:relative;z-index:30;border-radius:999px;}
[data-layout="modern"][data-glass] #appHeader .headerTools::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:var(--lgSheen),var(--lgTint);box-shadow:var(--lgRim),var(--lgShadowSm);
  -webkit-backdrop-filter:var(--lgFilter);backdrop-filter:var(--lgRefract,) var(--lgFilter);}
[data-layout="modern"][data-glass] #appHeader .headerTools :is(.themeToggle,.btn){height:34px;min-height:34px;border-color:transparent;background:transparent;box-shadow:none;color:var(--text);}
[data-layout="modern"][data-glass] #appHeader .headerTools .themeToggle{width:34px;}
[data-layout="modern"][data-glass] #appHeader .headerTools .btn{padding:0 12px;}
[data-layout="modern"][data-glass] #appHeader .headerActions .btn-primary{border-color:transparent;color:var(--onAccent);
  background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.05) 50%,rgba(255,255,255,0)),color-mix(in srgb,var(--accent) 88%,transparent);
  box-shadow:inset 1px 1px 0 -.5px rgba(255,255,255,.8),inset -1px -1px 0 -.5px rgba(255,255,255,.4),inset 0 0 14px rgba(255,255,255,.2),
    0 8px 22px color-mix(in srgb,var(--accent) 32%,transparent),0 2px 5px rgba(0,0,0,.18);
  -webkit-backdrop-filter:var(--lgFilter);backdrop-filter:var(--lgRefract,) var(--lgFilter);}
[data-layout="modern"][data-glass] #appHeader .headerActions .btn-primary:hover{filter:none;}

/* ---------- 交互：按下鼓起再弹回 + 指针光 ---------- */
[data-layout="modern"][data-glass] #appHeader .headerActions :is(.btn,.themeToggle),
[data-layout="modern"][data-glass] .propCouponLink,
[data-layout="modern"][data-glass] .lgInteractive{transition:transform .5s var(--lgSpring),box-shadow .2s,background-color .2s,color .15s;}
[data-layout="modern"][data-glass] #appHeader .headerActions :is(.btn,.themeToggle):active,
[data-layout="modern"][data-glass] .propCouponLink:active,
[data-layout="modern"][data-glass] .lgInteractive:active{transform:scale(1.07);transition-duration:.18s,.2s,.2s,.15s;}
[data-layout="modern"][data-glass] .modeToggle .modeBtn:active,[data-layout="modern"][data-glass] .viewToggle .viewBtn:active{transform:scale(.96);}
@media(hover:hover){
  [data-layout="modern"][data-glass] #appHeader .headerTools :is(.btn,.themeToggle):hover{border-color:transparent;box-shadow:none;
    background:radial-gradient(60px circle at var(--lgX,50%) var(--lgY,0%),var(--lgLight),transparent 75%),color-mix(in srgb,var(--text) 7%,transparent);}
  [data-layout="modern"][data-glass] .lgInteractive:hover{border-color:transparent;
    background:radial-gradient(90px circle at var(--lgX,50%) var(--lgY,0%),var(--lgLight),transparent 70%),var(--lgSheen),var(--lgTint);
    box-shadow:var(--lgRim),var(--lgShadow);}
  [data-layout="modern"][data-glass] #appHeader .headerActions .btn-primary:hover{
    background:radial-gradient(90px circle at var(--lgX,50%) var(--lgY,0%),rgba(255,255,255,.34),transparent 70%),
      linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.05) 50%,rgba(255,255,255,0)),color-mix(in srgb,var(--accent) 92%,transparent);}
  [data-layout="modern"][data-glass] #appNav .tab:not(.active):hover{
    background:radial-gradient(80px circle at var(--lgX,50%) var(--lgY,50%),color-mix(in srgb,var(--text) 9%,transparent),transparent 75%),color-mix(in srgb,var(--text) 4%,transparent);}
}

/* ---------- Prop 的着色玻璃内容块（重点句、优惠券、提示框、更新） ----------
   Prop 页目前只在 prop-test 分支上；合过去之后这些选择器直接生效。公司卡片是内容层，在玻璃布局里回到实色 */
[data-layout="modern"][data-glass] .propRecommendCard{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;}
[data-layout="modern"][data-glass] .propCoupon::after{content:none;}
[data-layout="modern"][data-glass] .propGlassSurface{--propTintA:12%;--propTintB:4%;border-radius:14px;}
[data-layout="modern"][data-glass][data-theme="light"] .propGlassSurface{--propTintA:22%;--propTintB:8%;}
[data-layout="modern"][data-glass] .propGlassSurface{border-color:transparent;
  background:var(--lgSheen),linear-gradient(135deg,color-mix(in srgb,var(--propTint) var(--propTintA),transparent),color-mix(in srgb,var(--propTint) var(--propTintB),transparent)),var(--lgTint);
  box-shadow:inset 1px 1px 0 -.5px color-mix(in srgb,var(--propEdge) 45%,var(--lgHi)),inset -1px -1px 0 -.5px color-mix(in srgb,var(--propEdge) 35%,var(--lgLo)),
    inset 0 0 0 1px color-mix(in srgb,var(--propEdge) 22%,transparent),inset 0 0 18px color-mix(in srgb,var(--propTint) 10%,transparent),var(--lgShadowSm);
  -webkit-backdrop-filter:var(--lgFilter);backdrop-filter:var(--lgRefract,) var(--lgFilter);}
/* 排行卡片里的块下面是实色卡片，backdrop-filter（--lgFilter：saturate 1.8 + brightness）只是把卡片底色调浓一点，
   却让每块都成了一层实时滤镜，一页十几块，Safari 滚动掉帧。这里把“滤过之后的卡片底色”直接算出来垫在最底层，样子不变。
   系数 = CSS saturate(1.8) 的颜色矩阵 × brightness（深色 1.04 / 浅色 1.06），和 --lgFilter 保持一致。
   公司详情页、编辑器预览里的块背后不是实色，照旧用真模糊 */
@supports (color:rgb(from red calc(r * 1) g b)){
  [data-layout="modern"][data-glass] .propRecommendCard .propGlassSurface{-webkit-backdrop-filter:none;backdrop-filter:none;
    --lgBackdrop:rgb(from var(--surface) calc(1.694784 * r - .59488 * g - .059904 * b) calc(-.177216 * r + 1.27712 * g - .059904 * b) calc(-.177216 * r - .59488 * g + 1.812096 * b));
    background:var(--lgSheen),linear-gradient(135deg,color-mix(in srgb,var(--propTint) var(--propTintA),transparent),color-mix(in srgb,var(--propTint) var(--propTintB),transparent)),linear-gradient(var(--lgTint),var(--lgTint)),var(--lgBackdrop);}
  [data-layout="modern"][data-glass][data-theme="light"] .propRecommendCard .propGlassSurface{
    --lgBackdrop:rgb(from var(--surface) calc(1.727376 * r - .60632 * g - .061056 * b) calc(-.180624 * r + 1.30168 * g - .061056 * b) calc(-.180624 * r - .60632 * g + 1.846944 * b));}
}
[data-layout="modern"][data-glass] .propCoupon{border-radius:20px;}
[data-layout="modern"][data-glass] :where(.propCouponLink){border-color:transparent;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,.04) 50%,rgba(255,255,255,0)),color-mix(in srgb,var(--propBtn) 90%,transparent);
  box-shadow:inset 1px 1px 0 -.5px rgba(255,255,255,.75),inset -1px -1px 0 -.5px rgba(255,255,255,.35),inset 0 0 12px rgba(255,255,255,.16),0 6px 16px color-mix(in srgb,var(--propBtn) 30%,transparent);}
[data-layout="modern"][data-glass] .propCoupon :where(.propCouponCode){border-radius:12px;background:color-mix(in srgb,var(--surface) 55%,transparent);}

/* ---------- 浮动顶栏（宽屏）：往下滚过大标题后，按钮组停在右上角浮着，内容从下面滚过去；
   大标题收成左上角一行小字；顶上一条渐隐带把滚上来的内容压暗，小字和按钮才读得清。
   渐隐带不加模糊——按钮下面要留着清楚的内容，边缘折射才看得见。开关由 lgOnScroll 挂 data-lg-scrolled ---------- */
@media(min-width:900px){
  [data-layout="modern"][data-glass][data-lg-scrolled] #appHeader .headerActions{position:fixed;top:12px;right:clamp(20px,3vw,40px);z-index:40;}
  [data-layout="modern"][data-glass] #appHeader::after{content:"";position:fixed;top:0;left:var(--sideW,244px);right:0;height:72px;z-index:35;
    pointer-events:none;opacity:0;transition:opacity .25s;
    /* Feather the left edge through the content gutter; a hard cut exposes a seam beside the Glass rail. */
    -webkit-mask-image:linear-gradient(to right,transparent,#000 clamp(20px,3vw,40px));
    mask-image:linear-gradient(to right,transparent,#000 clamp(20px,3vw,40px));
    background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 90%,transparent),color-mix(in srgb,var(--bg) 62%,transparent) 55%,color-mix(in srgb,var(--bg) 0%,transparent));}
  [data-layout="modern"][data-glass][data-lg-scrolled] #appHeader::after{opacity:1;}
  [data-layout="modern"][data-glass][data-lg-scrolled] .pageTitleMini{display:block;position:fixed;top:12px;left:calc(var(--sideW,244px) + clamp(20px,3vw,40px));
    z-index:40;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font:700 16px/38px var(--fontDisplay);letter-spacing:-.2px;color:var(--text);animation:lgTitleIn .3s var(--lgSpring) both;}
}
@keyframes lgTitleIn{from{opacity:0;transform:translateY(8px) scale(.96);}to{opacity:1;transform:none;}}

/* ---------- 环境光：玻璃要有东西可以折射。页面底下铺几团很淡的配色光，跟着配色变，滚动时固定不动 ---------- */
:root[data-layout="modern"][data-glass]{
  --bgGlow:radial-gradient(1100px 560px at 6% -10%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 62%),
           radial-gradient(900px 520px at 100% 8%,color-mix(in srgb,var(--accent2) 13%,transparent),transparent 62%),
           radial-gradient(1000px 700px at 55% 112%,color-mix(in srgb,var(--pnlPos) 9%,transparent),transparent 65%);
}
:root[data-layout="modern"][data-glass][data-theme="light"]{
  --bgGlow:radial-gradient(1100px 560px at 6% -10%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 62%),
           radial-gradient(900px 520px at 100% 8%,color-mix(in srgb,var(--accent2) 26%,transparent),transparent 62%),
           radial-gradient(1000px 700px at 55% 112%,color-mix(in srgb,var(--pnlPos) 12%,transparent),transparent 65%);
}

/* ---------- 内容区的按钮、选项：和顶栏同一套玻璃语言（胶囊 + 高光边 + 着色玻璃的选中态）。
   它们下面是实色卡片，没有东西可折射，所以不加 backdrop-filter——省性能，也不改变里面浮层的定位。
   用 :where() 压低优先级：各组件自己写的按钮样式（比如提示条里的撤销按钮）照样生效 ---------- */
:where([data-layout="modern"][data-glass] :is(#tabBody,.overlay)) .btn{border-color:transparent;border-radius:999px;
  background:var(--lgSheen),color-mix(in srgb,var(--text) 6%,var(--surface));
  box-shadow:inset 1px 1px 0 -.5px var(--lgHi),inset -1px -1px 0 -.5px var(--lgLo),inset 0 0 0 1px var(--lgEdge),0 1px 3px rgba(0,0,0,.14);
  transition:transform .5s var(--lgSpring),box-shadow .2s,background-color .2s,color .15s;}
:where([data-layout="modern"][data-glass] :is(#tabBody,.overlay)) .btn.btn-primary{color:var(--onAccent);
  background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.05) 50%,rgba(255,255,255,0)),color-mix(in srgb,var(--accent) 90%,transparent);
  box-shadow:inset 1px 1px 0 -.5px rgba(255,255,255,.75),inset -1px -1px 0 -.5px rgba(255,255,255,.35),inset 0 0 12px rgba(255,255,255,.16),
    0 4px 14px color-mix(in srgb,var(--accent) 26%,transparent);}
:where([data-layout="modern"][data-glass] :is(#tabBody,.overlay)) .btn.btn-danger{color:var(--neg);
  background:var(--lgSheen),color-mix(in srgb,var(--neg) 10%,var(--surface));}
:where([data-layout="modern"][data-glass] :is(#tabBody,.overlay)) .btn:active:not(:disabled){transform:scale(1.05);transition-duration:.18s,.2s,.2s,.15s;}
@media(hover:hover){
  :where([data-layout="modern"][data-glass] :is(#tabBody,.overlay)) .btn:hover:not(:disabled){border-color:transparent;
    background:radial-gradient(80px circle at var(--lgX,50%) var(--lgY,0%),var(--lgLight),transparent 72%),var(--lgSheen),color-mix(in srgb,var(--text) 9%,var(--surface));}
  :where([data-layout="modern"][data-glass] :is(#tabBody,.overlay)) .btn.btn-primary:hover:not(:disabled){filter:none;
    background:radial-gradient(80px circle at var(--lgX,50%) var(--lgY,0%),rgba(255,255,255,.32),transparent 72%),
      linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.05) 50%,rgba(255,255,255,0)),color-mix(in srgb,var(--accent) 94%,transparent);}
}
/* 选项片（交易表单里的 London / Long / W……、筛选条件）：没选是一块浅底槽，选中是一块主题色着色玻璃 */
[data-layout="modern"][data-glass] .chip{border-radius:999px;border-color:transparent;background:color-mix(in srgb,var(--text) 5%,transparent);
  box-shadow:inset 0 0 0 1px var(--lgEdge);transition:background .15s,color .15s,box-shadow .15s,transform .4s var(--lgSpring);}
[data-layout="modern"][data-glass] .chip:active{transform:scale(.95);}
[data-layout="modern"][data-glass] .chip.active{color:var(--accent);border-color:transparent;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 60%),color-mix(in srgb,var(--accent) 17%,transparent);
  box-shadow:inset 1px 1px 0 -.5px color-mix(in srgb,var(--accent) 60%,var(--lgHi)),inset -1px -1px 0 -.5px color-mix(in srgb,var(--accent) 40%,var(--lgLo)),
    inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 2px 8px color-mix(in srgb,var(--accent) 14%,transparent);}
[data-layout="modern"][data-glass] .modalFoot{border-top-color:color-mix(in srgb,var(--border) 60%,transparent);}

/* ---------- 手机 / 窄屏：iOS 26 的样子——标签栏是一条浮在底部的玻璃胶囊，顶栏只留图标按钮 ---------- */
@media(max-width:899px){
  [data-layout="modern"][data-glass] #appNav{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;
    width:auto;max-width:none;margin:0;padding:6px;gap:2px;border-radius:999px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;
    box-shadow:var(--lgRim),var(--lgShadow);}
  [data-layout="modern"][data-glass] #appNav::-webkit-scrollbar{display:none;}
  [data-layout="modern"][data-glass] #appNav .tab{flex-direction:column;justify-content:center;flex-shrink:0;gap:3px;min-width:60px;padding:7px 10px;
    border-radius:999px;font-size:10.5px;font-weight:600;line-height:1.1;}
  [data-layout="modern"][data-glass] #appNav .tab svg{width:19px;height:19px;opacity:1;}
  [data-layout="modern"][data-glass] #tabBody{padding-bottom:100px;}
  [data-layout="modern"][data-glass] .propToast{bottom:calc(96px + env(safe-area-inset-bottom,0px));}
  [data-layout="modern"][data-glass] .reviewToast{bottom:calc(110px + env(safe-area-inset-bottom,0px));}
  /* 顶栏按钮只留图标（文字还在 title 里），一行放得下 */
  [data-layout="modern"][data-glass] #appHeader .headerActions{flex-wrap:nowrap;}
  [data-layout="modern"][data-glass] #appHeader .headerActions .btn{width:38px;padding:0;gap:0;font-size:0;justify-content:center;}
  [data-layout="modern"][data-glass] #appHeader .headerTools .btn{width:34px;}
  [data-layout="modern"][data-glass] #appHeader .headerActions .btn svg{width:17px;height:17px;margin:0;}
}

/* ---------- 无障碍：系统开了“降低透明度”就换成不透明的实色材质；“减弱动态效果”就不弹 ---------- */
@media(prefers-reduced-transparency:reduce){
  [data-layout="modern"][data-glass]{--lgTint:var(--surface);--lgTintThick:var(--surface);}
  [data-layout="modern"][data-glass] *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
}
@media(prefers-reduced-motion:reduce){
  [data-layout="modern"][data-glass] :is(#appHeader .headerActions :is(.btn,.themeToggle),.propCouponLink,.lgInteractive,#tabBody .btn,.overlay .btn,.chip):active{transform:none;}
  [data-layout="modern"][data-glass][data-lg-scrolled] .pageTitleMini{animation:none;}
}

/* ---------- Composable sidebar: shared structure, existing modern/Glass materials ---------- */
[data-layout="modern"]{--appSidebarText:color-mix(in srgb,var(--text) 65%,var(--muted));--appSidebarMuted:color-mix(in srgb,var(--text) 40%,var(--muted));}
:where([data-layout="modern"] .appSidebarPanel) .tab:not(.active){color:var(--appSidebarText);}
[data-layout="modern"] .appSidebarPanel{display:flex;flex-direction:column;min-height:0;height:100%;min-width:0;overflow:hidden;border-radius:inherit;}
[data-layout="modern"] .appSidebarHead{display:flex;align-items:center;gap:8px;padding:18px 12px 14px;flex-shrink:0;}
[data-layout="modern"] .appSidebarBrand{display:flex;align-items:center;gap:10px;min-width:0;flex:1;font-family:var(--fontDisplay);font-size:15px;font-weight:600;line-height:1.3;white-space:nowrap;}
[data-layout="modern"] .appSidebarBrand b{font-weight:800;}
[data-layout="modern"] .appSidebarBrand small{display:block;font-family:var(--fontBody);font-size:10.5px;color:var(--appSidebarMuted);font-weight:400;margin-top:3px;}
[data-layout="modern"] .appSidebarLogo{display:flex;flex-shrink:0;width:34px;height:34px;}
[data-layout="modern"] .appSidebarLogo svg{width:34px;height:34px;}
[data-layout="modern"] .appSidebarToggle{display:flex;align-items:center;justify-content:center;width:32px;height:34px;flex-shrink:0;color:var(--muted);border-radius:10px;}
[data-layout="modern"] .appSidebarToggle svg{width:18px;height:18px;}
[data-layout="modern"][data-sidebar-state="expanded"] .appSidebarDesktop .appSidebarToggle svg{transform:rotate(180deg);}
[data-layout="modern"] .appSidebarScroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 10px 12px;scrollbar-width:thin;}
[data-layout="modern"] .appSidebarGroup{padding:18px 12px 7px;color:var(--appSidebarMuted);font-size:10.5px;font-weight:600;line-height:16px;letter-spacing:.07em;text-transform:uppercase;}
[data-layout="modern"] .appSidebarGroup:first-child{padding-top:5px;}
[data-layout="modern"] :is(#appNav,.appSidebarSheet) .appSidebarPanel .tab{display:flex;align-items:center;justify-content:flex-start;gap:11px;width:100%;min-height:42px;padding:10px 12px;margin:2px 0;border-radius:12px;font-size:13px;font-weight:500;line-height:20px;white-space:nowrap;}
[data-layout="modern"] :is(#appNav,.appSidebarSheet) .appSidebarPanel .tab.active{font-weight:600;}
[data-layout="modern"] :is(#appNav,.appSidebarSheet) .appSidebarPanel .tab svg{width:18px;height:18px;flex-shrink:0;transform:none;}
[data-layout="modern"] :is(#appNav,.appSidebarSheet) .appSidebarPanel .tabLabel{display:inline;overflow:hidden;text-overflow:ellipsis;}
[data-layout="modern"] .appSidebarFoot{flex-shrink:0;padding:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:9px;}
[data-layout="modern"] .appSidebarSummary{border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 40%,transparent);overflow:hidden;}
[data-layout="modern"] .appSidebarSummaryToggle{display:flex;align-items:center;gap:8px;width:100%;padding:9px 11px;min-height:36px;background:none;border:0;color:var(--muted);font:500 11px var(--fontUI);cursor:pointer;text-align:left;}
[data-layout="modern"] .appSidebarSummaryToggle span{flex:1;}
[data-layout="modern"] .appSidebarSummaryToggle svg{width:14px;height:14px;flex-shrink:0;}
[data-layout="modern"] .appSidebarSummaryToggle[aria-expanded="true"] svg:last-child{transform:rotate(180deg);}
[data-layout="modern"] .appSidebarSummaryBody[hidden]{display:none!important;}
[data-layout="modern"] :is(#appNav,.appSidebarSheet) .appSidebarSummary .navFoot{display:block;margin:0;padding:2px 12px 12px;border:0;background:none;box-shadow:none;border-radius:0;}
[data-layout="modern"] .appSidebarSummary .navFootLabel{font-size:10px;margin-bottom:8px;}
[data-layout="modern"] .appSidebarSummary .navFootStats{display:flex;justify-content:space-between;gap:8px;}
[data-layout="modern"] .appSidebarSummary .navFootStats div{display:flex;flex-direction:column;min-width:0;}
[data-layout="modern"] .appSidebarSummary .navFootStats b{font-size:17px;font-weight:650;color:var(--text);font-variant-numeric:tabular-nums;}
[data-layout="modern"] .appSidebarSummary .navFootStats span{font-size:10px;color:var(--muted);}
[data-layout="modern"] .appSidebarAccountTrigger{display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:8px 7px;background:transparent;border:1px solid transparent;border-radius:13px;text-align:left;color:var(--text);font-family:var(--fontBody);cursor:pointer;}
[data-layout="modern"] .appSidebarAccountTrigger:hover,[data-layout="modern"] .appSidebarAccountTrigger[aria-expanded="true"]{background:var(--surface2);border-color:var(--border);}
[data-layout="modern"] .appSidebarAvatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:11px;background:color-mix(in srgb,var(--accent) 10%,var(--surface2));border:1px solid var(--border);font-size:13px;font-weight:650;}
[data-layout="modern"] .appSidebarAccountText{display:flex;flex:1;flex-direction:column;min-width:0;gap:3px;}
[data-layout="modern"] .appSidebarAccountText strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
[data-layout="modern"] .appSidebarAccountText small{font-size:10px;color:var(--appSidebarMuted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
[data-layout="modern"] .appSidebarAccountChev{color:var(--muted);display:flex;flex-shrink:0;}
[data-layout="modern"] .appSidebarAccountChev svg{width:14px;height:14px;}
[data-layout="modern"] .appSidebarHeading{display:flex;align-items:center;gap:10px;min-width:0;}
[data-layout="modern"] .appSidebarHeadingText{min-width:0;}
[data-layout="modern"] .appSidebarMobileTrigger,[data-layout="modern"] .appSidebarDock{display:none;}
[data-layout="modern"] .appSidebarAccountMenu.exportMenu{position:fixed;z-index:185;right:auto;bottom:auto;margin:0;overflow:auto;overscroll-behavior:contain;border-radius:18px;padding:6px;box-shadow:var(--shadowPop);box-sizing:border-box;}
[data-layout="modern"] .appSidebarAccountMenu .menuLabel{padding-top:10px;}
[data-layout="modern"] .appSidebarAccountMenu .acctRow .acctPick{min-width:0;}
[data-layout="modern"] .appSidebarTooltip{position:fixed;z-index:190;max-width:230px;padding:7px 10px;border-radius:8px;background:var(--text);color:var(--bg);font:500 12px/1.5 var(--fontUI);box-shadow:var(--shadowPop);pointer-events:none;}
[data-layout="modern"] #appSidebarDialogRoot{position:fixed;inset:0;z-index:160;pointer-events:none;}
[data-layout="modern"] #appSidebarDialogRoot[hidden]{display:none;}
[data-layout="modern"] #appSidebarDialogRoot :is(.appSidebarBackdrop,.appSidebarSheet,.appSidebarAccountMenu){pointer-events:auto;}
[data-layout="modern"] .appSidebarBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:160;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
[data-layout="modern"] .appSidebarSheet{position:fixed;z-index:161;left:10px;top:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));width:min(300px,calc(100vw - 32px));border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadowModal);overflow:hidden;animation:appSidebarEnter .18s ease-out;}
[data-layout="modern"] .appSidebarSheet .appSidebarToggle{width:44px;height:44px;}
[data-layout="modern"] .appSidebarSheet .appSidebarPanel .tab{min-height:44px;font-size:13.5px;}
[data-layout="modern"] .appSidebarSheet .appSidebarGroup{font-size:11px;}
[data-layout="modern"] .appSidebarSheet .appSidebarFoot{padding-bottom:12px;}
[data-layout="modern"][data-glass] .appSidebarSheet{background:var(--lgSheen),color-mix(in srgb,var(--surface) 86%,transparent);border:none;box-shadow:var(--lgRim),var(--lgShadow);backdrop-filter:var(--lgRefract,blur(0px)) blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);}
[data-layout="modern"][data-glass] .appSidebarSummary{border-color:var(--lgEdge);background:color-mix(in srgb,var(--lgTint) 45%,transparent);}
[data-layout="modern"][data-glass] .appSidebarAccountTrigger:hover,[data-layout="modern"][data-glass] .appSidebarAccountTrigger[aria-expanded="true"]{background:color-mix(in srgb,var(--text) 5%,transparent);border-color:var(--lgEdge);}
[data-layout="modern"][data-glass] .appSidebarSheet .tab.active{background:var(--lgSheen),color-mix(in srgb,var(--accent) 90%,transparent);box-shadow:var(--lgRim);color:var(--onAccent);}
@media(min-width:900px){
  [data-layout="modern"][data-sidebar-state]{--sideW:248px;}
  [data-layout="modern"][data-sidebar-state="collapsed"]{--sideW:72px;}
  [data-layout="modern"][data-sidebar-state] #app.wrap{transition:grid-template-columns .18s ease;}
  [data-layout="modern"][data-sidebar-state] #appNav{padding:0;gap:0;overflow:visible;}
  [data-layout="modern"][data-glass][data-sidebar-state] #appNav{border-radius:24px;}
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarDesktop .appSidebarBrand,
  [data-layout="modern"][data-sidebar-state="collapsed"] #appNav .appSidebarDesktop .tabLabel,
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarDesktop .appSidebarSummary,
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarDesktop .appSidebarAccountText,
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarDesktop .appSidebarAccountChev{display:none;}
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarHead{justify-content:center;padding:18px 4px 14px;}
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarScroll{padding-left:8px;padding-right:8px;}
  [data-layout="modern"][data-sidebar-state="collapsed"] #appNav .appSidebarDesktop .tab{justify-content:center;padding:10px 0;}
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarDesktop .appSidebarGroup{height:1px;padding:0;margin:13px 12px 9px;font-size:0;line-height:0;background:var(--border);}
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarDesktop .appSidebarGroup:first-child{display:none;}
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarFoot{padding:10px 5px;}
  [data-layout="modern"][data-sidebar-state="collapsed"] .appSidebarAccountTrigger{justify-content:center;padding:6px 0;}
}
@media(max-width:899px){
  [data-layout="modern"] #appNav .appSidebarDesktop{display:none;}
  [data-layout="modern"]:not([data-glass]) #appNav{display:none;}
  [data-layout="modern"]:not([data-glass]) .appSidebarMobileTrigger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);background:var(--surface);flex-shrink:0;}
  [data-layout="modern"] .appSidebarMobileTrigger svg{width:20px;height:20px;}
  [data-layout="modern"][data-glass] #appNav{overflow:visible;padding:6px;left:50%;right:auto;transform:translateX(-50%);width:min(360px,calc(100vw - 24px));box-sizing:border-box;}
  [data-layout="modern"][data-glass] .appSidebarDock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;width:100%;}
  [data-layout="modern"][data-glass] #appNav .appSidebarDock .tab{display:flex;align-items:center;min-width:0;width:100%;min-height:48px;margin:0;padding:7px 5px;gap:4px;}
  [data-layout="modern"][data-glass] #appNav .appSidebarDock .tabLabel{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-layout="modern"][data-glass] #appNav .appSidebarDock .tab svg{width:19px;height:19px;flex-shrink:0;transform:none;}
}
@keyframes appSidebarEnter{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){
  [data-layout="modern"][data-sidebar-state] #app.wrap{transition:none;}
  [data-layout="modern"] .appSidebarSheet{animation:none;}
}
@media(pointer:coarse){
  [data-layout="modern"] .appSidebarToggle{width:44px;height:44px;}
  [data-layout="modern"] :is(#appNav,.appSidebarSheet) .appSidebarPanel .tab{min-height:44px;}
}
@media(prefers-reduced-transparency:reduce){
  [data-layout="modern"][data-glass] .appSidebarSheet{background:var(--surface);}
}

/* Shared form controls — native data, shadcn/Base-inspired presentation. Classic is untouched. */
:where([data-layout="modern"]) :is(.fcInput,.fcTrigger){box-sizing:border-box;min-height:36px;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-family:var(--fontUI);font-size:13px;line-height:1.5;padding:8px 11px;box-shadow:0 1px 2px rgb(0 0 0 / .035);transition:border-color .14s,box-shadow .14s,background .14s;}
:where([data-layout="modern"] :is(.fcInput,.fcTrigger):hover:not(:disabled)){border-color:var(--borderLight);}
:where([data-layout="modern"]) .fcInput::placeholder{color:var(--mutedDark);opacity:1;}
:where([data-layout="modern"]:not([data-theme="light"])) :is(.fcInput,.fcPopup){color-scheme:dark;}
:where([data-layout="modern"][data-theme="light"]) :is(.fcInput,.fcPopup){color-scheme:light;}
:where([data-layout="modern"]) textarea.fcInput{min-height:76px;resize:vertical;line-height:1.65;}
:where([data-layout="modern"]) .fcField>.fieldLabel{font-family:var(--fontUI);font-size:12.5px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--text);margin-bottom:7px;}
:where([data-layout="modern"]) .fcField>:is(.propHint,.fieldHint){font-size:12px;line-height:1.6;color:var(--mutedDark);margin-top:7px;}
:where([data-layout="modern"]) .fcField:has(:disabled):not(:has(input:enabled,select:enabled,textarea:enabled))>.fieldLabel{color:var(--mutedDark);}
:where([data-layout="modern"]) .fcField:has([aria-invalid="true"])>.fieldLabel{color:var(--neg);}
:where([data-layout="modern"]) .fcField .fieldError{color:var(--neg);font-size:12px;margin-top:7px;}
:where([data-layout="modern"]) :is(.fcInput,.fcTrigger):disabled{cursor:not-allowed;opacity:.55;box-shadow:none;}
:where([data-layout="modern"]) .fcInput[readonly]{background:var(--surface2);color:var(--muted);}
:where([data-layout="modern"]) :is(.fcInput,.fcTrigger)[aria-invalid="true"]{border-color:var(--neg);}
:where([data-layout="modern"]) :is(.fcInput,.fcTrigger):focus-visible,:where([data-layout="modern"]) .fcInput:focus{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);}
:where([data-layout="modern"]) :is(.fcInput,.fcTrigger)[aria-invalid="true"]:focus{border-color:var(--neg);box-shadow:0 0 0 3px color-mix(in srgb,var(--neg) 14%,transparent);}
:where([data-layout="modern"]) .fcTitleInput:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:4px;border-radius:6px;}
:where([data-layout="modern"]) .fcNative{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important;}
:where([data-layout="modern"]) .fcTrigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;text-align:start;vertical-align:middle;cursor:pointer;background-image:none;max-width:100%;}
:where([data-layout="modern"]) .fcTrigger.select{padding:7px 10px;}
:where([data-layout="modern"]) .filterRow .fcTrigger{flex:1;min-width:160px;}
:where([data-layout="modern"]) .fcSelectValue{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;}
:where([data-layout="modern"]) .fcSelectArrow{display:flex;align-items:center;color:var(--muted);flex:0 0 auto;pointer-events:none;}
:where([data-layout="modern"]) .fcSelectArrow svg{width:14px;height:14px;transition:transform .14s;}
:where([data-layout="modern"]) .fcTrigger[aria-expanded="true"] .fcSelectArrow svg{transform:rotate(180deg);}
:where([data-layout="modern"]) .fcTrigger[aria-expanded="true"]{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));}
:where([data-layout="modern"]) .fcInputGroup{display:flex;align-items:center;gap:0!important;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 1px 2px rgb(0 0 0 / .035);transition:border-color .14s,box-shadow .14s;}
:where([data-layout="modern"]) .fcInputGroup:focus-within{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);}
:where([data-layout="modern"]) .fcInputGroup:has([aria-invalid="true"]){border-color:var(--neg);}
:where([data-layout="modern"]) .fcInputGroup:has([aria-invalid="true"]):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--neg) 14%,transparent);}
:where([data-layout="modern"]) .fcInputGroup>.fcInput{flex:1;min-width:0;width:100%;border:0!important;box-shadow:none!important;background:transparent!important;outline:none!important;}
:where([data-layout="modern"]) .fcInputGroup>.fcInputAddon{pointer-events:none;color:var(--mutedDark);}
:where([data-layout="modern"]) .fcSearchGroup>.fcInput{padding-inline-start:36px!important;}
:where([data-layout="modern"]) .fcActionGroup>.btn{align-self:stretch;border:0;border-inline-start:1px solid var(--border);border-radius:0 9px 9px 0;box-shadow:none;margin:0;white-space:nowrap;background:transparent;}
:where([data-layout="modern"]) .fcActionGroup>.btn:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;}
:where([data-layout="modern"]) .fcRangeGroup>span{flex:none;padding:0 4px;color:var(--mutedDark);}
:where([data-layout="modern"]) .fcPopup{position:fixed;inset:auto;margin:0;padding:5px;box-sizing:border-box;overflow:hidden;border:1px solid var(--borderLight);border-radius:12px;background:var(--surface);color:var(--text);font:13px/1.5 var(--fontUI);box-shadow:0 12px 36px rgb(0 0 0 / .16),0 2px 6px rgb(0 0 0 / .07);}
:where([data-layout="modern"]) .fcPopup:popover-open{display:flex;flex-direction:column;animation:fcSelectEnter .12s ease-out;}
:where([data-layout="modern"]) .fcPopup::backdrop{background:transparent;pointer-events:none;}
:where([data-layout="modern"]) .fcOptionList{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0;flex:1;scroll-padding:4px;}
:where([data-layout="modern"]) .fcOption{display:flex;align-items:center;gap:12px;min-height:34px;padding:8px 10px;border-radius:7px;box-sizing:border-box;cursor:pointer;line-height:1.5;}
:where([data-layout="modern"]) .fcOptionText{flex:1;min-width:0;overflow-wrap:anywhere;white-space:normal;}
:where([data-layout="modern"]) .fcOptionCheck{width:16px;flex:none;text-align:center;color:var(--accent);font-size:14px;font-weight:650;}
:where([data-layout="modern"]) .fcOption[aria-selected="true"]{font-weight:600;background:color-mix(in srgb,var(--accent) 8%,transparent);}
:where([data-layout="modern"]) .fcOption.fcOptionActive{background:color-mix(in srgb,var(--accent) 13%,var(--surface));outline:1px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:-1px;}
:where([data-layout="modern"]) .fcOption[aria-disabled="true"]{opacity:.4;cursor:not-allowed;}
:where([data-layout="modern"]) .fcOptionLabel{padding:9px 10px 5px;color:var(--mutedDark);font-size:11px;font-weight:600;letter-spacing:.03em;}
:where([data-layout="modern"]) .fcOptionGroup:not(:first-child){border-top:1px solid var(--border);margin-top:5px;padding-top:3px;}
:where([data-layout="modern"]) .fcSelectSearch{display:flex;align-items:center;flex:none;position:relative;margin:2px 2px 6px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);}
:where([data-layout="modern"]) .fcSelectSearch:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));}
:where([data-layout="modern"]) .fcSelectSearch input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);padding:9px 10px 9px 34px;min-height:36px;outline:none;font:inherit;box-sizing:border-box;}
:where([data-layout="modern"]) .fcSelectSearch>span{position:absolute;left:11px;display:flex;pointer-events:none;color:var(--mutedDark);}
:where([data-layout="modern"]) .fcSelectSearch svg{width:15px;height:15px;}
:where([data-layout="modern"]) .fcSelectEmpty{padding:20px 12px;text-align:center;color:var(--mutedDark);font-size:12px;}
:where([data-layout="modern"]) .fcSrOnly{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
:where([data-layout="modern"][data-glass]) .fcPopup{background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);}
:where([data-layout="modern"][data-glass]) :is(.fcInput,.fcTrigger,.fcInputGroup){background:color-mix(in srgb,var(--surface) 72%,transparent);}
:where([data-layout="modern"][data-glass]) .fcInputGroup>.fcInput{background:transparent!important;}
:where([data-layout="modern"]) .fcTrigger.propPcMore{width:auto;}
/* Select-only legacy layout seams: proxy buttons keep compact rows and state badges. */
:where([data-layout="modern"]) .pbFormRow .fcTrigger.input{flex:1;min-width:0;}
:where([data-layout="modern"]) .fcTrigger.pbRowMove{height:auto;min-height:28px;padding:3px 8px;line-height:20px;}
:where([data-layout="modern"]) .pbTriageFilter .fcTrigger.input{width:auto;max-width:240px;}
:where([data-layout="modern"]) .pbTriageFilter.on .fcTrigger.input{border-color:var(--accent);color:var(--text);font-weight:600;}
:where([data-layout="modern"]) .fcTrigger.propPcMore{max-width:150px;border-radius:999px;}
:where([data-layout="modern"]) .fcTrigger.propPcMore.on{border-color:var(--accent);color:var(--accent);}
:where([data-layout="modern"]) .propContentToolbar .fcTrigger{font:inherit;min-height:32px;max-width:140px;padding:5px 8px;}
:where([data-layout="modern"]) .propUpdatesPreviewControl .fcTrigger{max-width:240px;}
:where([data-layout="modern"]) .propCompanySort:has(.fcTrigger){border-radius:10px;}
:where([data-layout="modern"]) .propCompanySort:has(.fcTrigger):focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);}
:where([data-layout="modern"]) .propCompanySort .fcTrigger{width:auto;max-width:160px;border:0;background:transparent!important;box-shadow:none!important;padding:7px 4px;}
:where([data-layout="modern"]) .propCompanySort .fcTrigger:focus-visible{outline:none!important;}
:where([data-layout="modern"]) .propHistoryStage:has(>.fcTrigger)>.propSt{display:none;}
:where([data-layout="modern"]) .propHistoryStage:has(>.propSt-eval){--fc-stage-tone:var(--info);}
:where([data-layout="modern"]) .propHistoryStage:has(>.propSt-passed){--fc-stage-tone:var(--accent);}
:where([data-layout="modern"]) .propHistoryStage:has(>.propSt-funded){--fc-stage-tone:var(--pos);}
:where([data-layout="modern"]) .propHistoryStage:has(>.propSt-failed,>.propSt-blown){--fc-stage-tone:var(--neg);}
:where([data-layout="modern"]) .propHistoryStage .fcTrigger{min-height:36px;border-radius:999px;font-size:13px;padding:5px 9px;box-shadow:none;color:color-mix(in srgb,var(--fc-stage-tone,var(--muted)) 55%,var(--text));}
@keyframes fcSelectEnter{from{opacity:0;transform:translateY(-3px);}to{opacity:1;transform:none;}}
@media(max-width:899px){
  :where([data-layout="modern"]) :is(.fcInput,.fcTrigger){min-height:42px;}
  :where([data-layout="modern"]) .fcOption{min-height:44px;}
  :where([data-layout="modern"]) .fcSelectSearch input{font-size:16px;min-height:42px;}
}
@media(prefers-reduced-motion:reduce){
  :where([data-layout="modern"]) :is(.fcInput,.fcTrigger,.fcInputGroup,.fcSelectArrow svg){transition:none;}
  :where([data-layout="modern"]) .fcPopup:popover-open{animation:none;}
}
@media(prefers-reduced-transparency:reduce){
  :where([data-layout="modern"][data-glass]) .fcPopup{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;}
}

/* Date Picker / Calendar / minute clock. Native date editing remains available. */
:where([data-layout="modern"]) .dtField{position:relative;display:inline-flex;align-items:center;min-width:0;width:100%;flex:1;vertical-align:middle;}
:where([data-layout="modern"]) .dtField>.dtInput{width:100%;min-width:0;padding-inline-end:39px;}
:where([data-layout="modern"]) .dtInput::-webkit-calendar-picker-indicator{display:none;}
:where([data-layout="modern"]) .dtTrigger{position:absolute;inset-inline-end:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;min-width:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;}
:where([data-layout="modern"] .dtTrigger:hover:not(:disabled)){background:var(--surface2);color:var(--text);}
:where([data-layout="modern"]) .dtTrigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
:where([data-layout="modern"]) .dtTrigger:disabled{opacity:.4;cursor:not-allowed;}
:where([data-layout="modern"]) .dtTrigger svg{width:16px;height:16px;}
:where([data-layout="modern"]) .fcRangeGroup>.dtField{flex:1;width:0;}
:where([data-layout="modern"]) .fcRangeGroup .dtInput{border:0!important;box-shadow:none!important;background:transparent!important;}
:where([data-layout="modern"]) .dtField:has(>.reviewWeekDate){flex:0 1 175px;width:175px;}
:where([data-layout="modern"]) .dtField:has(>.propEvDate){flex:none;width:150px;}
:where([data-layout="modern"]) .dtField:has(>.propHistoryEventDate){flex:0 0 160px;width:160px;}
:where([data-layout="modern"]) .propHistoryModal .dtInput.propHistoryEventDate{width:160px;min-width:0;padding-inline-end:36px;}
:where([data-layout="modern"]) .dtPopup{position:fixed;inset:auto;margin:0;padding:14px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;border:1px solid var(--borderLight);border-radius:14px;background:var(--surface);color:var(--text);font:13px/1.5 var(--fontUI);box-shadow:0 14px 40px rgb(0 0 0 / .18);}
:where([data-layout="modern"]) .dtPopup:popover-open{display:block;}
:where([data-layout="modern"]) .dtPopup::backdrop{background:transparent;pointer-events:none;}
:where([data-layout="modern"]) .dtHeading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;}
:where([data-layout="modern"]) .dtHeading strong{font-weight:600;overflow-wrap:anywhere;}
:where([data-layout="modern"]) .dtHeading>span{font:10px var(--fontMono);white-space:nowrap;color:var(--mutedDark);}
:where([data-layout="modern"]) .dtNav{display:flex;align-items:center;gap:7px;margin-bottom:12px;}
:where([data-layout="modern"]) .dtNav>button:not(.fcTrigger){display:grid;place-items:center;flex:none;width:30px;height:32px;min-width:30px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);cursor:pointer;}
:where([data-layout="modern"]) .dtNav>button svg{width:14px;height:14px;}
:where([data-layout="modern"]) .dtNav>.fcTrigger{flex:1;min-width:0;}
:where([data-layout="modern"]) .dtYear{width:70px;min-width:0;min-height:36px;padding:6px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface);font:13px var(--fontUI);font-variant-numeric:tabular-nums;}
:where([data-layout="modern"]) .dtMonths{display:flex;gap:18px;}
:where([data-layout="modern"]) .dtMonth{flex:1;min-width:0;}
:where([data-layout="modern"]) .dtMonth h4{font-size:12px;text-align:center;margin:0 0 8px;font-weight:600;}
:where([data-layout="modern"]) .dtWeek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;}
:where([data-layout="modern"]) .dtWeek>[role="columnheader"]{text-align:center;color:var(--mutedDark);font-size:11px;padding:6px 0;}
:where([data-layout="modern"]) .dtCell{display:flex;align-items:center;justify-content:center;border-radius:7px;}
:where([data-layout="modern"]) .dtCell button{width:100%;aspect-ratio:1;min-height:32px;border:0;border-radius:7px;background:transparent;color:var(--text);font:12px var(--fontUI);font-variant-numeric:tabular-nums;cursor:pointer;}
:where([data-layout="modern"] .dtCell button:hover:not(:disabled)){background:var(--surface2);}
:where([data-layout="modern"]) .dtCell.isSelected{background:var(--accentSoft);}
:where([data-layout="modern"]) .dtCell.isEndpoint button{background:var(--accent);color:var(--onAccent);font-weight:600;}
:where([data-layout="modern"]) .dtCell button[aria-current="date"]{box-shadow:inset 0 0 0 1px var(--accent);}
:where([data-layout="modern"]) .dtCell.adjacent button{opacity:.25;}
:where([data-layout="modern"]) .dtPopup button:disabled{opacity:.3;cursor:not-allowed;}
:where([data-layout="modern"]) .dtPopup :is(button,input):focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
:where([data-layout="modern"]) .dtFooter{display:flex;align-items:center;gap:6px;padding-top:12px;margin-top:10px;border-top:1px solid var(--border);}
:where([data-layout="modern"]) .dtFooter{position:sticky;bottom:-14px;z-index:2;background:var(--surface);margin-inline:-14px;margin-bottom:-14px;padding:12px 14px;}
:where([data-layout="modern"]) .dtFooter>span{flex:1;}
:where([data-layout="modern"]) .dtFooter>button{padding:6px 10px;min-height:32px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font:12px var(--fontUI);cursor:pointer;}
:where([data-layout="modern"]) .dtFooter>.dtApply{background:var(--accent);color:var(--onAccent);border-color:var(--accent);}
:where([data-layout="modern"]) .dtStatus{font-size:12px;color:var(--neg);}
:where([data-layout="modern"]) .dtClock{display:flex;gap:12px;align-items:flex-end;margin:16px 0;}
:where([data-layout="modern"]) .dtClock>label{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);}
:where([data-layout="modern"]) .dtClock .fcTrigger{width:100%;font:20px var(--fontMono);font-variant-numeric:tabular-nums;}
:where([data-layout="modern"]) .dtClock>span{padding-bottom:7px;font:20px var(--fontMono);color:var(--muted);}
:where([data-layout="modern"]) .dtHint{font-size:12px;line-height:1.6;color:var(--mutedDark);margin:0;}
:where([data-layout="modern"][data-glass]) .dtPopup{background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);}
:where([data-layout="modern"]:not([data-theme="light"])) .dtPopup{color-scheme:dark;}
:where([data-layout="modern"]) .propOverviewCalendarNav>.fcTrigger{width:auto;min-width:100px;flex:1;}
:where([data-layout="modern"]) .propOverviewCalendarNav>input{width:80px;min-width:0;}
:where([data-layout="modern"]) .propOverviewCalendarNav>button:not(.fcTrigger){flex:none;}
:where([data-layout="modern"][data-glass]) .propOverviewPicker{background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
@media(max-width:680px){
  :where([data-layout="modern"]) .dtMonths>.dtMonth:nth-child(2){display:none;}
  :where([data-layout="modern"]) .dtYear{font-size:16px;}
  :where([data-layout="modern"]) .dtField>.dtInput{min-height:44px;font-size:16px;}
  :where([data-layout="modern"]) .fcRangeGroup:has(input[type="date"]){flex-direction:column;align-items:stretch;}
  :where([data-layout="modern"]) .fcRangeGroup:has(input[type="date"])>.dtField{width:100%;flex:auto;padding:0;}
  :where([data-layout="modern"]) .fcRangeGroup:has(input[type="date"])>span:not(.dtField){align-self:center;padding:0;line-height:1.3;}
  :where([data-layout="modern"]) .dtNav>button:not(.fcTrigger){min-width:36px;width:36px;height:42px;}
  :where([data-layout="modern"]) .dtFooter>button{min-height:40px;}
  :where([data-layout="modern"]) .dtTrigger{width:32px;height:32px;}
}
@media(prefers-reduced-transparency:reduce){
  :where([data-layout="modern"][data-glass]) .dtPopup{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;}
}

/* Kbd is a hint, not a new shortcut dispatcher. State colors remain owned by buttons. */
[data-layout="modern"] kbd{display:inline-flex;align-items:center;justify-content:center;vertical-align:baseline;min-width:22px;height:22px;box-sizing:border-box;padding:1px 6px;border:1px solid var(--borderLight);border-bottom-width:2px;border-radius:6px;background:var(--surface2);color:var(--muted);box-shadow:0 1px 1px rgb(0 0 0 / .04);font:500 11px/1 var(--fontMono);white-space:nowrap;flex-shrink:0;}
[data-layout="modern"] .uiKbdGroup{display:inline-flex;align-items:center;gap:3px;vertical-align:baseline;white-space:nowrap;}
[data-layout="modern"] .uiKbdGroup>span{font-size:10px;color:var(--mutedDark);}
[data-layout="modern"] .pbKbdHint{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:11px;line-height:1.8;}
[data-layout="modern"] .pbNoteBlock .pbTriageLabel{flex-wrap:wrap;white-space:nowrap;}
[data-layout="modern"] .pbNoteBlock .pbKbdHint{flex-basis:100%;order:1;margin-left:0;white-space:normal;}
[data-layout="modern"] .reviewHintBar{line-height:2.2;}
[data-layout="modern"] .focusIndex{line-height:2;}
[data-layout="modern"] .btn-primary kbd{color:var(--onAccent);background:color-mix(in srgb,var(--onAccent) 12%,transparent);border-color:color-mix(in srgb,var(--onAccent) 28%,transparent);}
[data-layout="modern"] .lbCount kbd{color:inherit;background:rgb(255 255 255 / .12);border-color:rgb(255 255 255 / .24);}
/* Native textarea node, undo stack, wrapping and app-owned draft handlers are retained. */
:where([data-layout="modern"]) textarea.fcTextarea{min-height:var(--ta-min,76px);line-height:1.65;resize:vertical;overflow-y:auto;}
:where([data-layout="modern"]) textarea.fcTextareaAuto{max-height:max(var(--ta-min,76px),min(45vh,360px));}
:where([data-layout="modern"]) .fcInput.mono{font-family:var(--fontMono);}
:where([data-layout="modern"]) textarea.fcTextarea.fcCodeArea{font-family:var(--fontCode,var(--fontMono));font-size:12.5px;line-height:1.7;max-height:none;tab-size:2;}
:where([data-layout="modern"]) textarea.fcTextarea.reviewFallbackInput{min-height:55vh;font-size:13.5px;line-height:1.75;}
:where([data-layout="modern"]) textarea.fcTextarea.shotInput{white-space:pre;overflow-x:auto;}
@supports(field-sizing:content){
  :where([data-layout="modern"]) textarea.fcTextareaAuto{field-sizing:content;}
}
@media(max-width:680px){
  [data-layout="modern"] .reviewHintBar{font-size:11px;line-height:2.4;}
  :where([data-layout="modern"]) textarea.fcTextarea{font-size:16px;}
  :where([data-layout="modern"]) textarea.fcTextarea.fcCodeArea{font-size:13px;}
}

/* ---------- Alert / Dialog / Drawer: native composition, no framework runtime ---------- */
[data-layout="modern"] .notice{gap:12px;padding:14px 16px;font:400 13px/1.65 var(--fontUI);color:var(--text);border-radius:14px;background:var(--surface2);overflow-wrap:anywhere;}
[data-layout="modern"] .notice > :is(svg,.uiAlertIcon){flex:0 0 auto;width:18px;height:18px;margin-top:2px;color:var(--muted);}
[data-layout="modern"] .notice > :is(span,div,p):not(.uiAlertIcon){min-width:0;}
[data-layout="modern"] .notice > p{margin:0;}
[data-layout="modern"] .notice.error{background:color-mix(in srgb,var(--neg) 5%,var(--surface));border-color:color-mix(in srgb,var(--neg) 26%,var(--border));}
[data-layout="modern"] .notice.error > :is(svg,.uiAlertIcon){color:var(--neg);}
[data-layout="modern"] .uiAlert{margin-bottom:14px;}
[data-layout="modern"] .uiAlertContent{flex:1;}
[data-layout="modern"] .uiAlertTitle{font-weight:650;line-height:1.5;margin-bottom:4px;}
[data-layout="modern"] .uiAlertDescription{color:var(--muted);white-space:pre-line;}
[data-layout="modern"] .uiAlertIcon svg{width:18px;height:18px;}
[data-layout="modern"] .uiAlert[data-ui-tone="success"]{border-color:color-mix(in srgb,var(--pos) 26%,var(--border));background:color-mix(in srgb,var(--pos) 5%,var(--surface));}
[data-layout="modern"] .uiAlert[data-ui-tone="success"] .uiAlertIcon{color:var(--pos);}
[data-layout="modern"] .notice:has(> button){flex-wrap:wrap;align-items:center;}
[data-layout="modern"] .notice:has(> button) > :is(p,span):not(.uiAlertIcon){flex:1 1 220px;}
[data-layout="modern"][data-glass] .notice{background:var(--lgSheen),color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:var(--lgRim);}
[data-layout="modern"] .uiOverlay{top:var(--ui-viewport-top,0px);bottom:auto;height:var(--ui-viewport-height,100dvh);box-sizing:border-box;padding:20px;overscroll-behavior:contain;}
[data-layout="modern"] .uiDialog{min-width:0;min-height:0;max-height:calc(var(--ui-viewport-height,100dvh) - 40px);overflow:hidden;isolation:isolate;}
[data-layout="modern"] .uiDialog:focus{outline:none;}
[data-layout="modern"] .uiDialog > .modalHead{flex:none;gap:16px;padding:20px 24px;min-width:0;}
[data-layout="modern"] .uiDialog > .modalHead > :first-child{min-width:0;overflow-wrap:anywhere;}
[data-layout="modern"] .uiDialog > .modalHead .display{line-height:1.45;}
[data-layout="modern"] .uiDialog > .modalHead .iconBtn{flex:none;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;}
[data-layout="modern"] .uiDialog > .modalHead .iconBtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
[data-layout="modern"] .uiDialog > .modalBody{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:20px;padding:22px 24px;}
[data-layout="modern"] .uiDialog > .modalFoot{flex:none;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 24px;}
[data-layout="modern"] .uiDialog > .modalFoot .btn{min-height:38px;white-space:normal;justify-content:center;text-align:center;}
[data-layout="modern"] .uiDialog > .modalFoot .btn-primary{margin-inline-start:auto;}
[data-layout="modern"] .uiOverlay.propDrawerOverlay{padding:0;align-items:stretch;}
[data-layout="modern"] .uiDialog.uiDrawer{height:100%;max-height:100%;border-radius:22px 0 0 22px;}
[data-layout="modern"][data-glass] .uiDialog.uiDrawer{border-radius:26px 0 0 26px;}
[data-layout="modern"] .uiDrawer > .modalFoot{padding-bottom:max(16px,env(safe-area-inset-bottom,0px));border-bottom-right-radius:0;}
[data-layout="modern"] .uiDrawer > .modalFoot .propEditFoot{width:100%;margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;}
[data-layout="modern"] .uiDrawer > .modalFoot [hidden]{display:none;}
[data-layout="modern"] .uiDrawer > .modalFoot [data-prop-edit-status]{font-size:12px;}
[data-layout="modern"] .uiDialog.propDrawer.anim{animation:uiDrawerAppear .16s ease-out;}
@keyframes uiDrawerAppear{from{opacity:0;}to{opacity:1;}}
@media(max-width:680px){
  [data-layout="modern"] .uiOverlay{padding:12px;}
  [data-layout="modern"] .uiDialog{max-height:calc(var(--ui-viewport-height,100dvh) - 24px);border-radius:18px;}
  [data-layout="modern"] .uiDialog > .modalHead{padding:14px 16px;gap:10px;}
  [data-layout="modern"] .uiDialog > .modalHead .iconBtn{width:44px;height:44px;}
  [data-layout="modern"] .uiDialog > .modalBody{padding:16px;}
  [data-layout="modern"] .uiDialog > .modalFoot{padding:12px 16px max(12px,env(safe-area-inset-bottom,0px));gap:8px;}
  [data-layout="modern"] .uiDialog > .modalFoot .btn{min-height:44px;flex:1 1 auto;}
  [data-layout="modern"] .uiOverlay.propDrawerOverlay{align-items:flex-end;padding:0;}
  [data-layout="modern"] .uiDialog.uiDrawer,[data-layout="modern"][data-glass] .uiDialog.uiDrawer{width:100%;height:calc(var(--ui-viewport-height,100dvh) - 12px);max-height:calc(var(--ui-viewport-height,100dvh) - 12px);border-radius:22px 22px 0 0;}
  [data-layout="modern"] .uiDrawer > .modalHead{padding-top:18px;}
  [data-layout="modern"] .uiDrawer > .modalFoot{border-radius:0;}
  [data-layout="modern"] .notice:has(> button) > :is(p,span):not(.uiAlertIcon){flex-basis:100%;}
}
@media(prefers-reduced-motion:reduce){
  [data-layout="modern"] .uiDialog.propDrawer.anim{animation:none;}
}

/* Prop company content ordering — multi-point highlight and manual recent-update order */
[data-layout="modern"] .propKeySentenceList{display:grid;gap:8px;width:100%;}
[data-layout="modern"] .propKeyPointRow,[data-layout="modern"] .propUpdateEditRow{position:relative;}
[data-layout="modern"] .propKeyPointRow{padding:14px;margin:12px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface2);}
[data-layout="modern"] .propOrderRowHead{display:flex;align-items:center;gap:8px;margin:0 0 12px;min-width:0;}
[data-layout="modern"] .propOrderRowHead>.spacer{flex:1;}
[data-layout="modern"] .propOrderHandle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);font:700 17px/1 system-ui;cursor:grab;touch-action:none;}
[data-layout="modern"] .propOrderHandle:active{cursor:grabbing;}
[data-layout="modern"] .propOrderHandle:focus-visible,[data-layout="modern"] .propOrderRowHead .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
[data-layout="modern"] [data-prop-key-drag].dragOverTarget,[data-layout="modern"] [data-prop-update-drag].dragOverTarget{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent);}
@media(max-width:580px){
  [data-layout="modern"] .propOrderRowHead{flex-wrap:wrap;}
  [data-layout="modern"] .propOrderHandle,[data-layout="modern"] .propOrderRowHead .btn{min-width:44px;min-height:44px;}
  [data-layout="modern"] .propOrderRowHead>.spacer{display:none;}
  [data-layout="modern"] .propOrderRowHead>strong{flex:1;min-width:120px;}
}

/* Auth ocean: modern/Glass only; no application, classic or financial token overrides. */
[data-layout="modern"] .authOceanShell{--ao-bg:#faf9f6;--ao-ink:#211f1c;--ao-muted:#6d6963;--ao-input:#f0efeb;--ao-line:#d8d5cf;--ao-button:#211f1c;--ao-on:#fffefa;position:fixed;inset:0;z-index:1;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(0,1.78fr) minmax(460px,1fr);background:var(--ao-bg);color:var(--ao-ink);font:14px/1.6 var(--fontUI);isolation:isolate;}
:root:not([data-theme="light"]) .authOceanShell{--ao-bg:#141615;--ao-ink:#f0efeb;--ao-muted:#a7ada6;--ao-input:#202421;--ao-line:#414640;--ao-button:#e8ece7;--ao-on:#161b18;color-scheme:dark;}
.authOceanShell *{box-sizing:border-box;}
.authOceanShell :where(button,a,input){font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.authOceanShell :where(button){cursor:pointer;}
.authOceanShell :where(button:disabled){opacity:.65;cursor:default;}
.authOceanShell :where(button,a,input):focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.authOceanShell svg{display:block;flex-shrink:0;}
.authOceanScene{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:var(--ao-bg);}
.authOceanCanvas{position:absolute;inset:0;width:100%;height:100%;font-family:monospace;filter:grayscale(1) invert(1);mix-blend-mode:multiply;opacity:.55;}
:root:not([data-theme="light"]) .authOceanCanvas{filter:grayscale(1);mix-blend-mode:screen;opacity:.57;}
.authOceanFallback{position:absolute;left:8%;top:12%;color:var(--ao-muted);opacity:.25;white-space:pre;font:clamp(12px,1.5vw,22px)/1.5 monospace;pointer-events:none;}
.authOceanShell[data-ocean="ready"] .authOceanFallback{display:none;}
.authOceanShell[data-ocean="fallback"] .authOceanCanvas{visibility:hidden;}
.authOceanShade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 70%,var(--ao-bg)),linear-gradient(0deg,var(--ao-bg),transparent 42%);}
.authOceanCaption{position:absolute;bottom:12%;left:10%;right:8%;pointer-events:none;}
.authOceanCaption>div{font-size:clamp(18px,1.5vw,24px);font-weight:500;line-height:1.4;letter-spacing:.02em;margin-bottom:14px;color:var(--ao-muted);}
.authOceanCaption h1{font-family:var(--fontDisplay);font-size:clamp(28px,3.2vw,52px);line-height:1.27;letter-spacing:-.045em;font-weight:700;margin:0 0 20px;}
.authOceanCaption p{color:var(--ao-muted);font-size:14px;margin:0;}
.authOceanMotion{position:absolute;left:10%;bottom:32px;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;border:0;background:none;color:var(--ao-muted);font-size:12px!important;}
.authOceanMotion:hover:not(:disabled){color:var(--ao-ink);}
.authOceanMotion>span:first-child{display:grid;place-items:center;width:22px;font-size:16px;}
.authOceanSide{display:flex;flex-direction:column;min-width:0;min-height:100svh;padding:28px clamp(24px,3vw,48px) 24px;background:var(--ao-bg);z-index:1;}
.authOceanHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.authOceanBrand{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px!important;font-weight:500;letter-spacing:-.02em;color:var(--ao-ink);text-decoration:none;}
.authOceanBrand b{font-weight:750;}
.authOceanMark{display:block;width:32px;height:32px;flex-shrink:0;color:var(--accent);}
.authOceanMark svg{width:100%;height:100%;}
.authOceanTools{display:flex;align-items:center;gap:2px;}
.authOceanQuiet{min-width:44px;min-height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:10px;color:var(--ao-muted);}
.authOceanTools .modeToggle{padding:0;background:none;border:0;box-shadow:none;gap:0;}
.authOceanTools .modeBtn{background:transparent;border:0;box-shadow:none;color:var(--ao-muted);font-size:11px;min-height:44px;min-width:44px;padding:6px;}
.authOceanTools .modeBtn.active{background:var(--ao-input);color:var(--ao-ink);}
.authOceanQuiet:hover{background:var(--ao-input);color:var(--ao-ink);}
.authOceanFormZone{display:flex;align-items:center;justify-content:center;flex:1;padding:64px 0;}
.authOceanContent{width:100%;max-width:368px;min-width:0;}
.authOceanContent h2{font:700 30px/1.25 var(--fontDisplay);letter-spacing:-.035em;margin:0 0 12px;}
.authOceanIntro{font-size:14px;color:var(--ao-muted);margin:0 0 34px;}
.authOceanField{margin:0 0 22px;}
.authOceanField>label{display:block;font-size:13px;font-weight:600;margin-bottom:9px;}
.authOceanField input{width:100%;min-height:48px;padding:12px 14px;color:var(--ao-ink);background:var(--ao-input);border:1px solid transparent;border-radius:10px;font:14px/1.5 var(--fontUI);box-shadow:none;}
.authOceanField input::placeholder{color:var(--ao-muted);opacity:1;}
.authOceanField input:hover{border-color:var(--ao-line);}
.authOceanField input:focus{border-color:var(--accent);background:var(--ao-bg);}
.authOceanPassword{position:relative;}
.authOceanPassword input{padding-right:50px;}
.authOceanEye{position:absolute;right:4px;top:2px;width:44px;height:44px;display:grid;place-items:center;color:var(--ao-muted);background:transparent;border:0;border-radius:10px;}
.authOceanEye svg{width:19px;height:19px;}
.authOceanRemember{display:flex;align-items:center;gap:9px;min-height:44px;font-size:13px;color:var(--ao-muted);cursor:pointer;margin:-6px 0 15px;}
.authOceanRemember input{width:17px;height:17px;margin:0;accent-color:var(--accent);}
.authOceanHint{font-size:13px;color:var(--ao-muted);margin:0 0 20px;}
.authOceanMessages:empty{display:none;}
.authOceanMessages{margin-bottom:16px;overflow-wrap:anywhere;}
.authOceanSubmit{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:100%;padding:12px 18px;border:0;border-radius:10px;background:var(--ao-button);color:var(--ao-on);font-weight:600!important;}
.authOceanSubmit>span:last-child{margin-left:auto;}
.authOceanSubmit>span:first-child{padding-left:26px;flex:1;}
.authOceanSubmit svg{width:17px;height:17px;}
.authOceanSubmit:hover:not(:disabled){opacity:.87;}
.authOceanMode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;margin-top:20px;font-size:13px;color:var(--ao-muted);}
.authOceanMode button{min-height:44px;color:var(--ao-ink);font-weight:600;background:none;border:0;padding:8px 5px;text-decoration:underline;text-underline-offset:4px;}
.authOceanFooter{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:11px;color:var(--ao-muted);}
.authOceanFooter a{color:inherit;min-height:44px;display:flex;align-items:center;text-decoration:none;}
.authOceanFooter>span{display:flex;align-items:center;min-height:44px;}
.authOceanFooter a:hover{text-decoration:underline;}
.authOceanAccounts .acctAuthCard{padding:14px;margin-bottom:24px;border:1px solid var(--ao-line);border-radius:10px;background:none;box-shadow:none;}
.authOceanAccounts .acctList{max-height:212px;overflow:auto;}
.authOceanAccounts .acctPick{min-width:0;min-height:48px;color:var(--ao-ink);}
.authOceanAccounts .acctForget{min-width:44px;min-height:44px;}
.authOceanAccounts .acctText{min-width:0;}
.authOceanAccounts .acctText small{color:var(--ao-muted);}
@media(min-width:1800px){.authOceanSide{padding:36px 56px 28px;}.authOceanContent{max-width:410px;}.authOceanBrand{font-size:14px!important;}.authOceanContent h2{font-size:34px;}}
@media(max-width:1100px){[data-layout="modern"] .authOceanShell{grid-template-columns:minmax(0,1fr) minmax(440px,1fr);}.authOceanSide{padding-inline:24px;}.authOceanCaption{left:8%;}.authOceanCaption h1{font-size:32px;}.authOceanCaption p{max-width:250px;}}
@media(max-width:760px){[data-layout="modern"] .authOceanShell{display:flex;flex-direction:column;}.authOceanSide{display:contents;}.authOceanHeader{position:absolute;inset:16px 20px auto;z-index:3;}.authOceanBrand{font-size:11px!important;gap:6px;}.authOceanScene{min-height:0;height:270px;flex-shrink:0;}.authOceanCanvas{opacity:.45;}.authOceanShade{background:linear-gradient(0deg,var(--ao-bg),transparent 75%);}.authOceanCaption{bottom:20px;left:26px;right:26px;}.authOceanCaption>div{font-size:16px;margin-bottom:7px;}.authOceanCaption h1{font-size:28px;margin-bottom:0;}.authOceanCaption p{display:none;}.authOceanMotion{top:77px;bottom:auto;left:auto;right:24px;font-size:11px!important;}.authOceanFormZone{padding:28px 26px 32px;flex:1;align-items:flex-start;}.authOceanContent{max-width:400px;}.authOceanContent h2{font-size:24px;margin-bottom:9px;}.authOceanIntro{font-size:13px;margin-bottom:24px;}.authOceanField{margin-bottom:18px;}.authOceanField input{font-size:16px;}.authOceanMode{margin-top:14px;}.authOceanFooter{margin:0 auto;padding:0 26px 20px;width:100%;max-width:452px;font-size:10px;}}
@media(max-width:360px){.authOceanHeader{inset-inline:14px;gap:4px;}.authOceanMark{width:26px;height:26px;}.authOceanBrand{max-width:125px;line-height:1.35;}.authOceanBrandTrade{display:none;}.authOceanScene{height:244px;}.authOceanCaption h1{font-size:26px;}.authOceanFormZone{padding-inline:20px;}.authOceanFooter{padding-inline:20px;}}
@media(prefers-reduced-motion:reduce){.authOceanShell *{transition:none!important;scroll-behavior:auto!important;}}

/* Prop scope multiselect — modern and Glass share this structure. */
[data-layout="modern"] .propScopeToolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;margin-bottom:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);font:14px/1.4 var(--fontUI);min-width:0;}
.propScopeTriggers{display:flex;flex-wrap:wrap;gap:8px;min-width:0;}
:where(.propScopeTrigger){display:inline-flex;align-items:center;gap:9px;height:44px;min-width:158px;max-width:260px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:14px var(--fontUI);cursor:pointer;}
.propScopeTrigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.propScopeTrigger svg{width:19px;height:19px;flex-shrink:0;color:var(--muted);}
.propScopeTrigger>svg:last-child{width:15px;height:15px;margin-left:auto;transition:transform .14s;}
:where(.propScopeTrigger:hover){background:var(--surface2);}
.propScopeTrigger.filtered,.propScopeTrigger[aria-expanded="true"]{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,var(--border));}
.propScopeTrigger[aria-expanded="true"]>svg:last-child{transform:rotate(180deg);}
.propScopeStatuses{display:flex;gap:3px;padding:4px;background:var(--surface2);border-radius:12px;flex-shrink:0;}
:where(.propScopeStatuses button){display:flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;background:none;border:0;border-radius:9px;color:var(--muted);font:13px var(--fontUI);cursor:pointer;}
.propScopeStatuses button[aria-pressed="true"]{background:var(--text);color:var(--surface);box-shadow:0 3px 6px #0002;}
.propScopeStatuses small{font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums;border-radius:5px;padding:2px 5px;background:color-mix(in srgb,currentColor 9%,transparent);}
.propScopeDivider{height:26px;width:1px;background:var(--border);margin:0 4px;}
:where(.propScopeClear,.propScopeBatch){display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 7px;background:none;border:0;color:var(--muted);font:12px var(--fontUI);cursor:pointer;}
.propScopeClear svg{width:14px;height:14px;}.propScopeBatch{margin-left:auto;font-size:13px;}.propScopeBatch svg{width:18px;height:18px;}.propScopeBatch[aria-pressed="true"]{color:var(--accent);}
.propScopeCount{margin-left:auto;font-size:12px;color:var(--muted);}
.propScopeExact{flex-basis:100%;justify-self:start;text-align:left;min-height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);font:13px var(--fontUI);padding:6px 10px;cursor:pointer;}
.propScopeMenu{position:fixed;z-index:85;display:flex;flex-direction:column;width:360px;max-width:calc(100vw - 24px);box-sizing:border-box;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:18px;box-shadow:0 14px 45px #0002,0 3px 10px #0001;font:14px/1.45 var(--fontUI);overflow:hidden;}
.propScopeHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 18px 12px;flex-shrink:0;}.propScopeHead h2{margin:0;font:600 15px var(--fontUI);}.propScopeHead>span{font-size:12px;color:var(--muted);}
.propScopeSearch{display:flex;align-items:center;gap:9px;min-height:42px;margin:0 14px 10px;padding:0 12px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;flex-shrink:0;}.propScopeSearch svg{height:17px;width:17px;color:var(--muted);flex-shrink:0;}
.propScopeSearch input{height:40px;min-width:0;width:100%;margin:0;padding:0;border:0;outline:0;box-shadow:none;background:none;color:var(--text);font:13px var(--fontUI);}.propScopeSearch input::-webkit-search-cancel-button{display:none;}
.propScopeSearch button{display:grid;place-items:center;width:30px;min-height:40px;padding:0;border:0;background:none;color:var(--muted);cursor:pointer;}.propScopeSearch button svg{width:14px;height:14px;}
.propScopeList{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:8px;padding:0 9px 6px;}.propScopeList hr{height:1px;margin:7px 10px;background:var(--border);border:0;}
:where(.propScopeOption){box-sizing:border-box;display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border-radius:10px;cursor:pointer;color:var(--text);}.propScopeOptionText{min-width:0;flex:1;font-size:13px;overflow-wrap:anywhere;}.propScopeOption small{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;min-width:18px;text-align:right;}.propScopeOption input{width:16px;height:16px;margin:0 0 0 4px;accent-color:var(--accent);flex-shrink:0;cursor:pointer;}
:where(.propScopeOption:hover){background:var(--surface2);}.propScopeOption.chosen{background:color-mix(in srgb,var(--accent) 9%,var(--surface));}.propScopeOption.zero{color:var(--muted);}
.propScopeAll{width:100%;border:0;background:none;text-align:left;font:inherit;}.propScopeTick{width:20px;height:20px;display:flex;align-items:center;}.propScopeTick[hidden]{visibility:hidden;display:flex;}.propScopeTick svg{width:17px;height:17px;}
.propScopeAvatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);overflow:hidden;flex-shrink:0;font:600 10px var(--fontUI);color:var(--muted);}.propScopeAvatar img{width:100%;height:100%;object-fit:contain;}.propScopeAvatar svg{width:18px;height:18px;}.propScopeAvatar [hidden]{display:none!important;}
.propScopeNote{margin:0;padding:8px 18px 13px;color:var(--muted);font-size:11px;line-height:1.6;flex-shrink:0;overflow-wrap:anywhere;}
.propScopeFoot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 40%,var(--surface));flex-shrink:0;}.propScopeFoot span{font-size:12px;color:var(--muted);min-width:0;}.propScopeFoot button{border:1px solid var(--text);border-radius:10px;min-height:36px;padding:0 18px;background:var(--text);color:var(--surface);font:500 13px var(--fontUI);cursor:pointer;}
.propScopeNoResults{text-align:center;padding:30px 16px;font-size:13px;color:var(--muted);}
/* When the software keyboard leaves almost no height, scroll the whole panel
   rather than clipping fixed header/footer controls outside the visual viewport. */
.propScopeMenu.compact{display:block;overflow-y:auto;overscroll-behavior:contain;}.propScopeMenu.compact .propScopeList{overflow:visible;}
.propScopeToolbar button:focus-visible,.propScopeMenu button:focus-visible,.propScopeOption:focus-within,.propScopeSearch:focus-within{outline:2px solid var(--accent);outline-offset:3px;}.propScopeOption input:focus-visible{outline:none;}
@media(max-width:1100px){.propScopeCount{display:none;}.propScopeTrigger{min-width:145px;}.propScopeDivider{display:none;}.propScopeStatuses button{padding:0 9px;}}
@media(max-width:760px){[data-layout="modern"] .propScopeToolbar{padding:10px;gap:9px;border-radius:14px;}.propScopeToolbar.accounts .propScopeStatuses{order:0;flex:1;max-width:calc(100% - 85px);justify-content:space-between;}.propScopeStatuses button{font-size:12px;min-height:44px;padding:0 7px;gap:4px;}.propScopeBatch{order:1;font-size:12px;margin:0 0 0 auto;padding:0;}.propScopeTriggers{flex-basis:100%;order:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;}.propScopeTrigger{min-width:0;width:100%;max-width:none;font-size:13px;padding:0 10px;gap:7px;}.propScopeTrigger svg{width:17px;height:17px;}.propScopeClear{order:3;}.propScopeExact{order:4;min-height:44px;}.propScopeMenu{width:calc(100vw - 24px);border-radius:16px;}.propScopeSearch{min-height:44px;}.propScopeFoot button{min-height:44px;}.propScopeOption input{width:18px;height:18px;}}
@media(prefers-reduced-motion:reduce){.propScopeTrigger>svg:last-child{transition:none;}}
