.project-dialog{width:calc(100vw - 40px);max-width:1440px;height:calc(100dvh - 48px);max-height:1100px;overflow:hidden;padding:0}
.project-dialog[open]{display:flex;flex-direction:column}
.project-dialog .dialog-top{position:static;flex-shrink:0;min-height:64px}
.project-viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid var(--line);background:#fff;flex-shrink:0}
.project-viewer-toolbar>span{font-size:12px;color:#526f5c}
.project-viewer-toolbar>div{display:flex;align-items:center;gap:8px}
.project-viewer-toolbar button{border:1px solid #d6e2d9;border-radius:8px;background:#f8faf6;color:#285d44;min-height:40px;padding:8px 12px;font-size:12px}
.project-viewer-toolbar .icon-button{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;padding:0;line-height:1}
.project-viewer-toolbar .viewer-icon{display:block;width:20px;height:20px;margin:0}
.project-viewer-toolbar button:disabled{opacity:.35;cursor:default}
.project-viewer-toolbar button:focus-visible,.project-viewport:focus-visible{outline:2px solid #21835d;outline-offset:-3px}
#project-zoom-level{min-width:48px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
.project-viewport{flex:1;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain;background:#e6ebe6;scrollbar-color:#769781 #e6ebe6;position:relative}
.project-dialog .project-viewport img{display:block;width:100%;max-width:none;max-height:none;height:auto;object-fit:initial;border-radius:0;margin-inline:auto}
.project-viewer-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;border-top:1px solid var(--line);background:#fff}
.project-viewer-footer .small-note{margin:0;font-size:11px;max-width:650px}
.project-viewer-footer .button{margin:0;flex-shrink:0;font-size:12px;padding:12px 16px}
@media(max-width:600px){.project-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none}.project-dialog .dialog-top{min-height:56px;padding:10px 14px}.project-viewer-toolbar{padding:8px;justify-content:center}.project-viewer-toolbar>span{display:none}.project-viewer-toolbar>div{gap:4px}.project-viewer-toolbar button{padding:8px;font-size:10px}.project-viewer-toolbar .icon-button{width:36px;height:40px;min-height:40px;padding:0}.project-viewer-footer{padding:10px 14px;gap:8px;flex-wrap:wrap}.project-viewer-footer .small-note{font-size:10px;line-height:1.5}.project-viewer-footer .button{padding:8px 12px;font-size:11px}}
