#period-dialog{width:min(760px,calc(100vw - 24px));max-height:88dvh;padding:0;border:1px solid var(--line);border-radius:14px;color:var(--text);box-shadow:0 18px 80px #17283c33}
#period-dialog::backdrop{background:#17283c77}.period-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.period-head h2{font-size:19px;margin:0}
#period-body{padding:20px 22px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}#period-body h3{font-size:17px;margin-top:0}.period-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}.period-row span{flex:none;color:var(--sub)}
.period-warning{padding:14px;background:#fff6e9;color:#8a5c15;border-radius:10px;margin:16px 0}.period-warning ul{padding-left:22px}.period-confirm{display:flex;gap:10px;margin:20px 0;align-items:flex-start}.period-confirm input{width:18px;flex:none;margin-top:6px}
.period-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.period-archive{padding:14px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.period-archive>summary{font-weight:600;cursor:pointer}.period-session{padding:10px 0;border-top:1px solid var(--line)}.period-session summary{cursor:pointer}.period-session pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:6px;padding:10px;font-family:inherit}.period-file{display:block;padding:6px 0}
@media(max-width:600px){.period-head{padding:14px}#period-body{padding:14px}.period-actions>button{flex:1 1 100%}}
