.fl [hidden]{display:none!important}.fl{display:grid;gap:18px}.fl .tool-chips button{min-height:44px}.fl-drop{position:relative;display:grid!important;place-items:center;align-content:center;text-align:center;gap:6px!important;min-height:170px;border:2px dashed #c9d3cc;border-radius:var(--r);background:var(--bg);padding:24px 16px;cursor:pointer;color:var(--mute);font-weight:500!important}.fl-drop b{color:var(--ink);font-size:16px}.fl-drop .ic{color:var(--g2)}.fl-drop:hover,.fl-drop.is-over,.fl.is-over .fl-drop{border-color:var(--g2);background:var(--g-soft)}.fl-drop:focus-within{outline:3px solid var(--gold);outline-offset:2px}.fl-drop.is-compact{min-height:96px;padding:14px 16px}.fl-file{position:absolute;width:1px!important;height:1px;opacity:0;pointer-events:none}.fl-sw button{display:inline-flex;align-items:center;gap:8px}.fl-sw i{width:20px;height:20px;border-radius:50%;border:1px solid #bfc6c1;display:inline-block}.fl-custom{display:inline-flex!important;align-items:center;gap:8px!important;min-height:44px;padding:0 12px 0 6px;border:1px solid var(--line);border-radius:99px;background:#fff;cursor:pointer;font-weight:500!important}.fl-custom.is-on{border-color:var(--g2);background:var(--g-soft);color:var(--g)}.fl-custom input{width:34px!important;height:34px;padding:0!important;border:0!important;background:none;cursor:pointer;border-radius:50%}.fl-lbl{margin:14px 0 6px;font-weight:600;font-size:14px}.fl-fmtrow{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.fl-sl{display:grid!important;gap:2px!important;flex:1 1 180px}.fl-sl>span{display:flex;justify-content:space-between}.fl-sl output{font-weight:700;color:var(--g)}.fl input[type=range]{border:0;padding:0;background:transparent;box-shadow:none;min-height:44px;accent-color:var(--g2);width:100%}.fl-prev{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;margin-top:10px;border-radius:var(--r-sm);background:#e7ebe7}.fl-previnfo{margin:8px 0 0;font-size:14px;color:var(--mute)}.fl-previnfo b{color:var(--g)}.fl-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.fl-bar button{min-height:46px}.fl-ghost{background:#fff!important;color:var(--g)!important;border:1px solid var(--g2)!important;box-shadow:none!important}.fl-ghost:hover{background:var(--g-soft)!important;transform:none!important}.fl button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.fl-sum{margin:0;flex:1 1 220px;color:var(--mute);font-size:14.5px}.fl-sum b{color:var(--g)}.fl-prog{height:8px;border-radius:99px;background:var(--g-soft);overflow:hidden}.fl-prog span{display:block;height:100%;width:0;background:var(--green-grad);transition:width .25s}.fl-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fl-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px 12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px}.fl-item.is-sel{border-color:var(--g2);box-shadow:0 0 0 1px var(--g2)}.fl-th{width:56px;height:56px;border-radius:10px;display:block;padding:0;border:0!important;background:none!important;box-shadow:none!important;cursor:pointer}.fl-th canvas{width:56px;height:56px;border-radius:10px;display:block}.fl-info{min-width:0;display:grid;gap:2px}.fl-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-meta{font-size:13.5px;color:var(--mute);overflow-wrap:anywhere}.fl-meta b{color:var(--ink);font-weight:600}.fl-meta i{font-style:normal;color:#b45309}.fl-act{display:flex;align-items:center;gap:8px;justify-content:flex-end}.fl-dl{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-sm);background:var(--green-grad);color:#fff;font-weight:600;font-size:14px}.fl-dl:hover{text-decoration:none;color:#fff}.fl-dl[aria-disabled=true]{opacity:.45;pointer-events:none}.fl-x{min-width:44px;min-height:44px;padding:0;background:#fff!important;color:var(--mute)!important;border:1px solid var(--line)!important;box-shadow:none!important}.fl-x:hover{color:#b00020!important;border-color:#e8b4b4!important;transform:none!important}.fl-item[data-state=work] .fl-th{animation:fl-pulse 1s infinite alternate}.fl-item[data-state=err] .fl-meta{color:#b00020}@keyframes fl-pulse{to{opacity:.4}}@media(max-width:620px){.fl-item{grid-template-columns:56px minmax(0,1fr)}.fl-act{grid-column:1/-1}.fl-act .fl-dl{flex:1;justify-content:center}.fl-bar>button{flex:1 1 140px}.fl-bar>[data-zip]{flex-basis:100%}}
