.fr-shell{display:grid;gap:16px;color:#193047}.fr-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #c9def6;border-radius:16px;padding:22px 24px;background:linear-gradient(120deg,#f0f7ff,#fff 70%);box-shadow:0 5px 18px rgba(25,66,111,.06)}.fr-kicker{font-size:11px;letter-spacing:.12em;font-weight:800;color:#2f73c8;text-transform:uppercase}.fr-hero h2{margin:5px 0 6px;font-size:23px}.fr-hero p{margin:0;color:#627b98;font-size:13px;line-height:1.6}.fr-badge{padding:8px 12px;border-radius:99px;background:#eaf3ff;color:#245fa8;font-size:12px;font-weight:700;white-space:nowrap}.fr-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:13px;border:1px solid #e1eaf3;border-radius:12px;background:#fff;color:#245fa8;font-size:12px;font-weight:700}.fr-flow i{color:#9bb0c7;font-style:normal}.fr-card{display:grid;gap:12px;background:#fff;border:1px solid #e0e9f3;border-radius:14px;padding:18px 20px;box-shadow:0 4px 16px rgba(20,45,75,.045)}.fr-card h3{margin:0;color:#153c63;font-size:16px}.fr-card label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#34536f}.fr-card input:not([type=checkbox]),.fr-card textarea,.fr-card select{box-sizing:border-box;width:100%;border:1px solid #cbd9e8;border-radius:8px;background:#fff;color:#193047;padding:10px 11px;font:inherit;font-weight:400}.fr-card textarea{resize:vertical;line-height:1.6}.fr-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.fr-input-row .btn,.fr-card>.btn{width:max-content}.fr-source-status{border-radius:8px;background:#f1f6fc;padding:10px 12px;color:#526b85;font-size:12px}.fr-source-status b{color:#16804a}.fr-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fr-consent{display:flex;align-items:flex-start;gap:9px;border:1px solid #d8e4f2;border-radius:9px;background:#f8fbff;padding:11px 12px}.fr-consent>input{margin-top:3px;flex:none}.fr-consent label{font-size:11.5px;line-height:1.55;font-weight:600}.fr-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fr-asset{display:grid;grid-template-columns:auto 56px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e1e9f2;border-radius:9px;padding:8px;color:#5e7186;font-size:11px}.fr-asset img{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#eef2f7}.fr-asset>div{min-width:0}.fr-asset b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-asset select{padding:5px!important;margin-top:4px;font-size:11px!important}.fr-asset button{border:0;background:none;color:#b42318;cursor:pointer}.fr-empty,.fr-muted{margin:0;color:#788ba0;font-size:11.5px;line-height:1.6}.fr-plan-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fr-plan-summary>p{margin:0;padding:12px;border:1px solid #e0e9f3;border-radius:9px;background:#f8fbff;color:#445e77;white-space:pre-wrap;font-size:12px;line-height:1.6}.fr-plan-summary b{color:#153c63}.fr-alert,.fr-note{padding:11px 13px;border:1px solid #efbd54;border-radius:9px;background:#fff8e9;color:#795500;font-size:12px;line-height:1.55}.fr-note{border-color:#b7d7f2;background:#f0f7ff;color:#315d83}.fr-alert ul,.fr-note ul{margin:5px 0 0;padding-left:18px}.fr-shot-list{display:grid;gap:9px}.fr-shot{border:1px solid #dfe8f1;border-radius:10px;padding:11px 12px;background:#fcfdff}.fr-shot summary{cursor:pointer;font-weight:750;font-size:12px;color:#245fa8}.fr-shot-meta{margin:8px 0;color:#61768d;font-size:11.5px;line-height:1.5}.fr-shot label{margin-top:8px}.fr-model-box{display:grid;gap:12px;border:1px solid #c9def6;border-radius:11px;background:#f7fbff;padding:14px}.fr-model-note{margin:0;color:#607c98;font-size:11.5px;line-height:1.55}.fr-check{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:8px;font-size:12px!important;line-height:1.55}.fr-check input{margin:3px 0 0;flex:none}.fr-estimate{padding:10px 12px;border-radius:8px;background:#edf5ff;color:#245482;font-size:12px;font-weight:700;line-height:1.5}.fr-paid{border-color:#f0c378;background:#fff9ed}.fr-job-results{display:grid;gap:7px}.fr-job{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;border:1px solid #e0e9f3;border-left:4px solid #9bb0c7;border-radius:8px;padding:9px 11px;font-size:12px}.fr-job[data-status=READY]{border-left-color:#2aa36b}.fr-job[data-status=FAILED],.fr-job[data-status=NOT_CONFIGURED]{border-left-color:#d7453f;background:#fff8f7}.fr-job strong{grid-column:2/-1;color:#a93228;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.fr-job a{color:#245fa8}.fr-message{border:2px solid #b7d7f2;border-radius:10px;background:#f2f8ff;color:#244f78;padding:12px 14px;font-size:12.5px;font-weight:650;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.fr-message[data-kind=error]{border-color:#e1584d;background:#fff4f2;color:#9b2f27}.fr-message[data-kind=success]{border-color:#8fd2af;background:#effaf4;color:#147447}.fr-message[data-kind=busy]{border-color:#eac878;background:#fff9e9;color:#765200}.fr-final-output{display:grid;gap:8px}.fr-final-output h3{margin:0;color:#147447}.fr-final-output video{width:min(100%,560px);max-height:75vh;background:#0d1726;border-radius:10px}.fr-final-output p{margin:0;color:#61768d;font-size:12px}.fr-download{width:max-content;border-radius:8px;padding:9px 13px;background:#164269;color:#fff;text-decoration:none;font-size:12px;font-weight:700}.fr-limit{background:#fbfcfe;color:#697f95;font-size:11px;line-height:1.6}.fr-limit b{color:#35516d}.fr-limit p{margin:0}@media(max-width:850px){.fr-form-grid,.fr-assets{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-plan-summary{grid-template-columns:1fr}.fr-hero{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.fr-form-grid,.fr-assets{grid-template-columns:1fr}.fr-input-row{grid-template-columns:1fr}.fr-input-row .btn,.fr-card>.btn{width:100%}.fr-job{grid-template-columns:70px 1fr}.fr-job a{grid-column:2}}
.fr-message[data-kind=warning]{border-color:#e3a936;background:#fff8e8;color:#785100}.fr-source-status[data-state=incomplete]{border:1px solid #e4ad43;background:#fff8e8;color:#74510a}.fr-source-status[data-state=incomplete] b{color:#a35c00}.fr-source-status[data-state=verified]{border:1px solid #8fd2af;background:#effaf4;color:#147447}
/* v2.101.25：提示框移到页顶并吸顶——操作在上方时提示也始终可见 */
.fr-message-sticky{position:sticky;top:10px;z-index:80;box-shadow:0 10px 26px rgba(20,45,75,.16)}
/* v2.101.29：轮询单次查询失败 ≠ 任务失败，弱化为琥珀色说明，不再红字吓人 */
.fr-job .fr-job-pollwarn{grid-column:2/-1;color:#7a5b00;font-size:11px;font-style:normal;overflow-wrap:anywhere}
