.ph-dialog{width:min(520px,calc(100vw - 32px));box-sizing:border-box;border:1px solid var(--border-glass);border-radius:16px;padding:24px;background:var(--surface-solid);color:var(--text-1);box-shadow:var(--shadow-2);font:inherit}
.ph-dialog::backdrop{background:rgba(var(--mask-rgb),.6)}
.ph-dialog h3{margin:0 0 12px}.ph-dialog label{display:block;margin:16px 0 6px;color:var(--text-2)}
.ph-dialog select{width:100%;min-height:44px;padding:8px;border-radius:8px;background:var(--surface-input);color:var(--text-1);border:1px solid rgba(var(--border-rgb),.3);font:inherit}
.ph-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px}.ph-actions button{min-height:40px}
.ph-error{color:var(--state-err)}.ph-meta,.ph-empty{color:var(--text-2);font-size:12px;line-height:1.7}.ph-empty{padding:12px}
.ph-month,.ph-week{border:1px solid rgba(var(--border-rgb),.25);border-radius:10px;margin:10px 0;background:var(--surface-card);overflow:hidden}
.ph-month>summary,.ph-week>summary{padding:12px;cursor:pointer;color:var(--text-1);overflow-wrap:anywhere;min-height:44px;box-sizing:border-box}
.ph-month>summary:hover,.ph-week>summary:hover{background:rgba(var(--accent-rgb),.07)}
.ph-title{margin:0 8px;line-height:1.7}.ph-content{padding:0 12px 12px 20px}.ph-week{background:var(--surface-input)}
.ph-source,.gft-projectref,.ph-month-clear{font:inherit;color:var(--accent);background:transparent;border:1px solid rgba(var(--accent-rgb),.3);border-radius:6px;padding:6px 8px;cursor:pointer;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ph-source{font-size:12px;color:var(--text-1);text-decoration:underline;text-underline-offset:3px}.ph-feedback{padding:10px;margin-top:8px;border-top:1px solid rgba(var(--border-rgb),.2);color:var(--text-1);line-height:1.7;font-size:13px;overflow-wrap:anywhere}.ph-feedback p{margin:4px 0;white-space:pre-wrap}
.gft-projectref:disabled,.ph-month-clear:disabled{opacity:.5;cursor:not-allowed}
.ph-dialog :focus-visible,.ph-month :focus-visible,.ph-week :focus-visible,.gft-projectref:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ph-month-clear{margin-left:4px;font-size:12px}.ph-summary-note{padding:12px;color:var(--text-2);line-height:1.7}
@media(max-width:640px){.ph-content{padding-left:8px}.ph-meta{display:block}.ph-source,.gft-projectref,.ph-month-clear{min-height:44px}.ph-dialog{padding:16px}}
