/* UG Core forms + Feedback dialog. Colors follow the theme's CSS variables, with fallbacks for other themes. */
.ugf{--f-bg:var(--surface,#fff);--f-text:var(--text,#1a1a1a);--f-muted:var(--muted,#666);--f-line:var(--line,rgba(0,0,0,.14));--f-accent:var(--accent,#5b5bd6);--f-on:var(--on-accent,#fff);display:flex;flex-direction:column;gap:12px;max-width:640px;color:var(--f-text)}
.ugf-title{margin:0}
.ugf-intro{margin:0;color:var(--f-muted)}
.ugf-row{display:flex;flex-direction:column;gap:5px}
.ugf-row>label{font-weight:700;font-size:.92rem}
.ugf-row .req{color:#e5484d}
.ugf input[type=text],.ugf input[type=email],.ugf textarea,.ugf select{width:100%;padding:10px 12px;border-radius:var(--radius-sm,8px);border:1px solid var(--f-line);background:var(--bg,#fff);color:var(--f-text);font:inherit}
.ugf input:focus,.ugf textarea:focus,.ugf select:focus{outline:2px solid var(--f-accent);outline-offset:1px;border-color:transparent}
.ugf textarea{resize:vertical;min-height:110px}
.ugf-checkbox label{display:flex;gap:8px;align-items:flex-start;font-weight:500;font-size:.9rem}
.ugf-checkbox input{margin-top:3px}
.ugf-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ugf-btn{border:0;border-radius:999px;padding:11px 24px;background:var(--f-accent);color:var(--f-on);font-weight:800;cursor:pointer;font:inherit;font-weight:800}
.ugf-btn:disabled{opacity:.6;cursor:wait}
.ugf-msg{font-weight:600;font-size:.92rem}
.ugf-msg.is-ok{color:#1f9d55}
.ugf-msg.is-error{color:#e5484d}
.ugf-privacy{margin:0;font-size:.82rem;color:var(--f-muted)}
.ugf-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.ugf-fab{position:fixed;bottom:16px;z-index:44;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:10px 16px;background:var(--surface,#fff);color:var(--text,#1a1a1a);font:inherit;font-weight:800;font-size:.9rem;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.28);border:1px solid var(--line,rgba(0,0,0,.1))}
.ugf-fab:hover{border-color:var(--accent,#5b5bd6)}
.ugf-fab-left{left:16px}
.ugf-fab-right{right:72px}
.ug-theater .ugf-fab{display:none}
@media (max-width:640px){.ugf-fab span{display:none}.ugf-fab{padding:10px 12px}}

.ugf-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);border:0;border-radius:var(--radius,14px);padding:0;background:var(--surface,#fff);color:var(--text,#1a1a1a);box-shadow:0 24px 70px rgba(0,0,0,.45);overflow:auto}
.ugf-dialog::backdrop{background:rgba(0,0,0,.55)}
.ugf-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line,rgba(0,0,0,.1))}
.ugf-x{border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer;width:34px;height:34px;border-radius:8px}
.ugf-x:hover{background:var(--line,rgba(0,0,0,.06))}
.ugf-tabs{display:flex;gap:6px;padding:14px 18px 0}
.ugf-tabs button{flex:1;border:1px solid var(--line,rgba(0,0,0,.12));background:transparent;color:inherit;border-radius:999px;padding:8px 10px;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer}
.ugf-tabs button[aria-selected=true]{background:var(--accent,#5b5bd6);color:var(--on-accent,#fff);border-color:transparent}
.ugf-panel{padding:14px 18px 18px}
.ugf-dialog .ugf{max-width:none}
