/* 电脑版外观：左侧菜单 + 顶部栏；列表显示为表格。 */
.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 14px;
  background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}
.brand{font-size:22px;font-weight:700;color:var(--primary);letter-spacing:.06em;padding:0 8px 18px}
.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.1em;margin-top:2px}
.side nav{display:flex;flex-direction:column;gap:2px;flex:1}
.side nav a{padding:9px 12px;border-radius:8px;color:var(--text)}
.side nav a:hover{background:var(--surface2);text-decoration:none}
.side nav a.on{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);font-weight:600;
  box-shadow:inset 3px 0 0 var(--primary)}
.side .sep{margin:14px 12px 4px;font-size:11px;color:var(--muted);letter-spacing:.12em}
.side-foot{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.side-foot .who{color:var(--text)}
.side-foot .who small{display:block}

.main{min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--border);
  position:sticky;top:0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);z-index:5}
.topbar h1{font-size:20px;color:var(--primary);letter-spacing:.04em}
.clock{font-variant-numeric:tabular-nums;color:var(--muted);font-size:15px}
.content{padding:24px 28px 40px;max-width:1500px}

/* 列表 = 表格 */
.dhead,.drow{display:grid;grid-template-columns:var(--cols);gap:12px;align-items:start;padding:10px 8px}
.dhead{padding-bottom:8px}
.drow:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}
.drow>span{min-width:0;overflow-wrap:anywhere}
.drow>span[data-l]::before{content:none}
.girls-list .drow>span:last-child{overflow:visible}
.drow .act-body{position:absolute;z-index:4;right:0;width:340px;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.room-card .act-body{width:auto}
.page-fly .form-grid,.page-booking .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.page-fly .form-grid .wide,.page-booking .form-grid .wide{grid-column:1/-1}
.page-fly #girl-match{grid-column:1/-1}

.fbox .filters{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end}
.fbox .msel{min-width:200px;max-width:260px}
.fbox .msel-pop{position:absolute;z-index:6;left:0;right:0;min-width:220px;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.fbox .fbtns{margin-left:auto}
