/* Beijing Stock Exchange subscription dates; matches the report-style market cards. */
.bse-ipo-widget { display:flex; flex-direction:column; min-width:0; font-family:var(--workbench-ui,"Microsoft YaHei",sans-serif); color:var(--ink,#352e2b); }
.bse-ipo-widget .bse-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 17px; min-height:57px; flex-shrink:0; }
.bse-ipo-widget .bse-heading h2 { min-width:0; font-size:20px; line-height:1.4; }
.bse-ipo-widget .bse-status,.bse-ipo-widget .bse-phase { font-size:11px; line-height:1.5; padding:3px 7px; border-radius:4px; border:1px solid #e4dcd6; background:#f7f4f1; color:#806f64; white-space:nowrap; }
.bse-ipo-widget .bse-status.is-ready { color:#536e4c; background:#f2f6ef; border-color:#dce6d7; }
.bse-ipo-widget .bse-status.is-partial { color:#8b672d; background:#fff7e9; border-color:#ead6b6; }
.bse-ipo-widget .bse-toolbar { display:flex; align-items:center; gap:12px; padding:10px 17px; flex-shrink:0; }
.bse-ipo-widget .bse-toolbar select { flex:1; min-width:0; height:32px; padding:4px 8px; border:1px solid var(--line,#e6dcd5); border-radius:5px; color:var(--ink,#352e2b); background:#fff; font-size:12px; }
.bse-ipo-widget .bse-toolbar button { font-size:12px; flex-shrink:0; }
.bse-ipo-widget :disabled { opacity:.65; cursor:default; }
.bse-ipo-widget .bse-content { flex:1; min-height:0; min-width:0; padding:0 17px 12px; overflow:auto; scrollbar-width:thin; scrollbar-color:#cebcb2 transparent; }
.bse-ipo-widget .bse-overview { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 12px; padding:5px 0 10px; color:#867266; font-size:11px; line-height:1.6; }
.bse-ipo-widget .bse-overview b { font-weight:500; font-variant-numeric:tabular-nums; color:#6e5142; }
.bse-ipo-widget .bse-events { display:flex; flex-direction:column; gap:10px; }
.bse-ipo-widget .bse-event { display:flex; gap:12px; padding:12px; border:1px solid #e9dfd7; border-radius:6px; background:#fff; min-width:0; }
.bse-ipo-widget .bse-event-date { flex:0 0 63px; display:flex; flex-direction:column; text-align:center; justify-content:center; align-self:flex-start; min-height:87px; background:#f7f0eb; border-radius:5px; color:#8b3e36; }
.bse-ipo-widget .bse-event-date time { display:flex; flex-direction:column; }
.bse-ipo-widget .bse-event-date span { font-size:10px; line-height:1.6; }
.bse-ipo-widget .bse-event-date strong { font-size:28px; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; }
.bse-ipo-widget .bse-event-date small { font-size:10px; line-height:1.6; }
.bse-ipo-widget .bse-event.is-today { border-color:#c78b80; background:#fffdfb; }
.bse-ipo-widget .bse-event.is-today .bse-event-date { color:#fff; background:#963b34; }
.bse-ipo-widget .bse-event-main { flex:1; min-width:0; }
.bse-ipo-widget .bse-event-title { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.bse-ipo-widget .bse-event-title h3 { margin:0 0 3px; font-size:15px; font-weight:600; line-height:1.35; color:#5b3e30; overflow-wrap:anywhere; }
.bse-ipo-widget .bse-event-title>div>span { color:#9a8475; font-size:10px; }
.bse-ipo-widget .bse-phase { font-size:10px; padding:2px 5px; flex-shrink:0; }
.bse-ipo-widget .bse-phase.is-today { color:#963b34; background:#faece8; border-color:#e9ccc4; }
.bse-ipo-widget .bse-phase.is-upcoming { color:#8a682f; background:#fbf6e9; border-color:#e9ddbe; }
.bse-ipo-widget .bse-event-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:11px 0 8px; }
.bse-ipo-widget .bse-event-values>div { min-width:0; }
.bse-ipo-widget .bse-event-values dt { color:#947e70; font-size:10px; line-height:1.5; margin-bottom:3px; }
.bse-ipo-widget .bse-event-values dd { margin:0; font-size:12px; font-weight:500; line-height:1.5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.bse-ipo-widget .bse-event-values dd small { font-size:10px; font-weight:400; margin-left:3px; color:#8d7769; }
.bse-ipo-widget .bse-event-link { color:#8c4a3c; font-size:11px; text-underline-offset:3px; }
.bse-ipo-widget .bse-recent-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:12px 0 8px; font-size:11px; color:#806957; }
.bse-ipo-widget .bse-recent-heading strong { font-weight:500; }
.bse-ipo-widget .bse-recent-heading button { font-size:11px; }
.bse-ipo-widget .bse-empty { min-height:110px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:8px; padding:12px; background:#faf8f5; border:1px dashed #e6d8cd; border-radius:5px; color:#8b7767; }
.bse-ipo-widget .bse-empty>span { font-size:25px; color:#b59c8b; }
.bse-ipo-widget .bse-empty strong { font-size:12px; font-weight:500; }
.bse-ipo-widget .bse-empty p { margin:0; font-size:11px; line-height:1.7; max-width:400px; }
.bse-ipo-widget .bse-warning { margin:0 0 10px; padding:7px 9px; color:#8a682d; background:#fff7e9; border-left:2px solid #c6a366; font-size:11px; line-height:1.6; }
.bse-ipo-widget .bse-caption { font-size:11px; line-height:1.6; color:#8d7767; margin:8px 0; }
.bse-ipo-widget .bse-footer { flex-shrink:0; padding:9px 17px; background:#fcfaf8; border-top:1px solid #e9e0d9; max-height:30%; overflow:auto; scrollbar-width:thin; font-size:10px; line-height:1.6; color:#8a7567; }
.bse-ipo-widget .bse-source { display:flex; flex-wrap:wrap; gap:2px 12px; }
.bse-ipo-widget .bse-source a { color:#8a5f4b; text-underline-offset:3px; }
.bse-ipo-widget .bse-footer details { margin-top:4px; }
.bse-ipo-widget .bse-footer summary { width:fit-content; cursor:pointer; }
.bse-ipo-widget .bse-footer ul { padding-left:16px; margin:7px 0 0; }
.bse-ipo-widget .bse-footer li+li { margin-top:4px; }
@container (max-width:460px) {
  .bse-ipo-widget .bse-heading,.bse-ipo-widget .bse-toolbar,.bse-ipo-widget .bse-footer { padding-inline:12px; }
  .bse-ipo-widget .bse-heading h2 { font-size:18px; }
  .bse-ipo-widget .bse-content { padding-inline:12px; }
  .bse-ipo-widget .bse-event { gap:9px; padding:9px; }
  .bse-ipo-widget .bse-event-date { flex-basis:52px; min-height:82px; }
  .bse-ipo-widget .bse-event-values { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .bse-ipo-widget .bse-event-title { flex-wrap:wrap; gap:5px; }
}
@media(max-width:760px) {
  .flex-dashboard>.bse-ipo-widget { min-height:440px; max-height:none; }
  .bse-ipo-widget .bse-content { min-height:230px; max-height:550px; }
  .bse-ipo-widget .bse-footer { max-height:150px; }
}
