/* 浮层：对话框（桌面居中）、抽屉（桌面右侧）、底部面板（手机）、下拉弹层
   行为见 ui.js：打开时背景 inert，Esc / 遮罩 / 关闭按钮三路可关，关闭后焦点回到触发点 */
.scrim{position:fixed;inset:0;z-index:var(--z-scrim);background:var(--scrim);opacity:0;transition:opacity var(--t-panel) var(--ease)}
.scrim.open{opacity:1}

.sheet{position:fixed;z-index:var(--z-dialog);left:50%;top:50%;display:flex;flex-direction:column;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 64px);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--sh-box);
  opacity:0;transform:translate(-50%,calc(-50% + 10px));transition:opacity var(--t-panel) var(--ease),transform var(--t-panel) var(--ease)}
.sheet.open{opacity:1;transform:translate(-50%,-50%)}
.sheet.wide{width:min(720px,calc(100vw - 32px))}
.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 20px 10px 28px}
.sheet-head h2{padding-top:8px;font-size:var(--fs-section);font-weight:500;line-height:1.4}
.sheet-head p{margin-top:6px;font-size:var(--fs-small);color:var(--ink-faint);line-height:1.7}
.sheet-body{flex:1 1 auto;min-height:0;padding:6px 28px 12px;overflow:auto;overscroll-behavior:contain}
.sheet-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 28px 24px;border-top:1px solid var(--line-soft)}
.sheet-text{font-size:var(--fs-control);color:var(--ink-soft);line-height:1.85}
.sheet-text+.sheet-text{margin-top:10px}
.sheet .form{padding-top:6px}
.sheet .list-plain>*+*{border-top:1px solid var(--line-soft)}

/* 抽屉：总部工作台里的表单 */
.sheet.drawer{left:auto;right:0;top:0;width:min(500px,94vw);height:100dvh;max-height:none;border:0;border-left:1px solid var(--line);border-radius:0;transform:translateX(28px)}
.sheet.drawer.open{transform:none}

@media (max-width:760px){
  .sheet,.sheet.wide,.sheet.drawer{left:0;right:0;top:auto;bottom:0;width:100%;height:auto;max-height:90dvh;
    border:0;border-top:1px solid var(--line);border-radius:var(--r-3) var(--r-3) 0 0;box-shadow:var(--sh-sheet);transform:translateY(28px)}
  .sheet.open,.sheet.drawer.open{transform:none}
  .sheet::before{content:"";flex:none;display:block;width:36px;height:4px;margin:10px auto 0;border-radius:2px;background:var(--line)}
  .sheet-head{padding:10px 12px 6px 20px}
  .sheet-body{padding:6px 20px 10px}
  .sheet-foot{flex-direction:column-reverse;padding:12px 20px calc(16px + env(safe-area-inset-bottom))}
  .sheet-foot .btn{width:100%}
}

/* 下拉弹层（桌面）；手机上同一个选项列表进底部面板 */
.pop{position:fixed;z-index:var(--z-pop);min-width:200px;max-height:min(360px,60vh);overflow:auto;padding:6px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--sh-pop);
  opacity:0;transform:translateY(-4px);transition:opacity var(--t-fast) var(--ease),transform var(--t-base) var(--ease)}
.pop.open{opacity:1;transform:none}
.pop.in-sheet{z-index:calc(var(--z-dialog) + 5)}
.opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--touch);padding:8px 12px;border-radius:var(--r-1);
  font-size:var(--fs-control);color:var(--ink-soft);text-align:left;cursor:pointer}
.opt:hover,.opt.active{background:var(--hover-bg);color:var(--ink)}
.opt[aria-selected="true"]{background:var(--select-bg);color:var(--ink);font-weight:500}
.opt[aria-selected="true"]::after{content:"";flex:none;width:9px;height:5px;border-left:1.4px solid var(--ink-soft);border-bottom:1.4px solid var(--ink-soft);transform:translateY(-2px) rotate(-45deg)}
.opt .opt-sub{display:block;margin-top:2px;font-size:var(--fs-meta);font-weight:400;color:var(--ink-faint)}

/* 面板里的链接行（选择方向等） */
.pick{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:64px;padding:12px 4px;color:inherit;transition:background-color var(--t-fast) var(--ease)}
.pick:hover{background:var(--hover-bg)}
.pick b{display:block;font-size:var(--fs-control);font-weight:500;color:var(--ink)}
.pick span{display:block;margin-top:2px;font-size:var(--fs-meta);color:var(--ink-faint);line-height:1.6}
.pick .side{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-meta);color:var(--ink-faint)}
.pick-group{padding:16px 4px 4px;font-size:var(--fs-tiny);letter-spacing:.24em;color:var(--bronze-deep)}
.pick-group:first-child{padding-top:4px}
