:root{--q-green:#176b55;--q-green-dark:#105240;--q-ink:#17211e;--q-muted:#63706c;--q-line:#dce3e0;--q-bg:#f4f7f6;--q-warn:#a85a00;--q-danger:#a32d2d}.qcfr-page{margin:0;background:var(--q-bg);color:var(--q-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:0}.qcfr-app{min-height:100vh}.qcfr-header{height:72px;padding:0 clamp(18px,4vw,56px);background:#fff;border-bottom:1px solid var(--q-line);display:flex;align-items:center;justify-content:space-between}.qcfr-header span{color:var(--q-green);font-size:12px;font-weight:700}.qcfr-header h1{font-size:21px;margin:2px 0 0;letter-spacing:0}.qcfr-header nav{display:flex;align-items:center;gap:14px}.qcfr-header a{color:var(--q-ink);text-decoration:none}.qcfr-icon{width:38px;height:38px;border:1px solid var(--q-line);background:#fff;font-size:21px;cursor:pointer}.qcfr-app main{max-width:1180px;margin:auto;padding:26px clamp(14px,3vw,32px) 60px}.qcfr-metrics{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--q-line)}.qcfr-metrics div{padding:18px;border-right:1px solid var(--q-line)}.qcfr-metrics div:last-child{border:0}.qcfr-metrics strong{font-size:25px;display:block}.qcfr-metrics span{font-size:13px;color:var(--q-muted)}.qcfr-toolbar{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px;gap:12px}.qcfr-tabs{display:flex;gap:2px;overflow:auto}.qcfr-tabs button{border:0;background:transparent;padding:9px 12px;white-space:nowrap;cursor:pointer;color:var(--q-muted)}.qcfr-tabs button.is-active{background:#fff;color:var(--q-green);box-shadow:inset 0 -2px var(--q-green)}.qcfr-toolbar label{display:flex;align-items:center;gap:8px;color:var(--q-muted);white-space:nowrap}.qcfr-toolbar input{border:1px solid var(--q-line);padding:7px;background:#fff}.qcfr-task-list{background:#fff;border:1px solid var(--q-line)}.qcfr-task-item{width:100%;display:grid;grid-template-columns:80px 1fr auto 24px;align-items:center;gap:14px;text-align:left;padding:14px 18px;border:0;border-bottom:1px solid var(--q-line);background:#fff;cursor:pointer}.qcfr-task-item:last-child{border:0}.qcfr-task-item:hover{background:#f9fbfa}.qcfr-date b,.qcfr-date small,.qcfr-task-main strong,.qcfr-task-main small{display:block}.qcfr-date b{font-size:17px}.qcfr-date small,.qcfr-task-main small{color:var(--q-muted);margin-top:3px}.qcfr-arrow{font-size:24px;color:#8a9692}.qcfr-status{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:3px;background:#eef2f0;color:#53605c;font-size:12px;white-space:nowrap}.qcfr-status-overdue,.qcfr-status-returned{background:#fff0ed;color:var(--q-danger)}.qcfr-status-approved{background:#e7f6ee;color:var(--q-green)}.qcfr-status-submitted,.qcfr-status-reviewing{background:#eaf2ff;color:#235ea8}.qcfr-empty-state,.qcfr-loading,.qcfr-error{padding:70px 20px;text-align:center;background:#fff;border:1px solid var(--q-line)}.qcfr-empty-state strong,.qcfr-empty-state span{display:block}.qcfr-empty-state span{color:var(--q-muted);margin-top:6px}.qcfr-error,#qcfr-message.is-error{color:var(--q-danger)}#qcfr-message{position:fixed;z-index:100002;top:18px;left:50%;transform:translateX(-50%);padding:10px 16px;background:#fff;border:1px solid var(--q-line);box-shadow:0 5px 22px #0002}#qcfr-message:empty{display:none}#qcfr-message.is-success{border-color:#83b9a3;color:var(--q-green)}dialog#qcfr-dialog{width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 30px);border:0;padding:0;box-shadow:0 16px 70px #0004}dialog#qcfr-dialog::backdrop{background:#10201b99}.qcfr-dialog-close{position:absolute;right:14px;top:12px;z-index:2;width:36px;height:36px;border:0;background:#eef2f0;font-size:22px;cursor:pointer}.qcfr-form-head{display:flex;align-items:start;justify-content:space-between;padding:28px 62px 22px 28px;border-bottom:1px solid var(--q-line)}.qcfr-form-head span:first-child,.qcfr-form-head p{font-size:12px;color:var(--q-muted)}.qcfr-form-head h2{font-size:21px;margin:4px 0;letter-spacing:0}#qcfr-report-form{padding:10px 28px 28px}.qcfr-form-field{padding:18px 0;border-bottom:1px solid var(--q-line)}.qcfr-form-field>label>strong,.qcfr-form-field>label>small{display:block}.qcfr-form-field>label small{color:var(--q-muted);font-weight:400;margin:4px 0 9px}.qcfr-form-field em{color:var(--q-danger);font-size:12px;font-style:normal}.qcfr-form-field input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=file]),.qcfr-form-field textarea,.qcfr-form-field select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #bdc7c3;background:#fff;border-radius:3px;margin-top:8px;font:inherit}.qcfr-options{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px}.qcfr-options label{display:flex;align-items:center;gap:5px}.qcfr-note{border-left:3px solid var(--q-green);padding:5px 14px;background:#f5faf8}.qcfr-note p{margin:5px 0;color:var(--q-muted)}.qcfr-repeater{width:100%;border-collapse:collapse;margin-top:10px}.qcfr-repeater th{text-align:left;font-size:12px;color:var(--q-muted)}.qcfr-repeater td,.qcfr-repeater th{border:1px solid var(--q-line);padding:6px}.qcfr-repeater td input{border:0!important;margin:0!important;padding:7px!important}.qcfr-repeater button,.qcfr-add-row{border:0;background:#eef2f0;cursor:pointer;padding:7px 10px}.qcfr-add-row{margin-top:8px}.qcfr-files>div{display:grid;grid-template-columns:1fr auto 30px;align-items:center;gap:8px;background:#f5f7f6;padding:8px;margin:6px 0}.qcfr-files a{color:var(--q-green)}.qcfr-files span{color:var(--q-muted);font-size:12px}.qcfr-files button{border:0;background:transparent;font-size:18px;cursor:pointer}.qcfr-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding-top:22px}.qcfr-primary,.qcfr-secondary{border:1px solid var(--q-green);padding:10px 18px;cursor:pointer}.qcfr-primary{background:var(--q-green);color:#fff}.qcfr-secondary{background:#fff;color:var(--q-green)}.qcfr-history{padding:24px 28px;background:#f6f8f7}.qcfr-history h3{font-size:14px}.qcfr-history>div{display:flex;justify-content:space-between;border-top:1px solid var(--q-line);padding:9px 0;font-size:13px}.qcfr-history span{color:var(--q-muted)}.qcfr-login{width:min(420px,calc(100% - 32px));margin:10vh auto;background:#fff;border:1px solid var(--q-line);padding:28px;box-sizing:border-box}.qcfr-login input:not([type=checkbox]){width:100%;box-sizing:border-box;padding:10px}.qcfr-login .button{background:var(--q-green);color:#fff;border:0;padding:10px 16px}
.qcfr-form-feedback{flex:1;margin:0;color:var(--q-muted);font-size:13px}.qcfr-form-feedback:empty{display:none}.qcfr-form-feedback.is-error{color:var(--q-danger)}.qcfr-form-feedback.is-success{color:var(--q-green)}.qcfr-form-field.has-error{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;background:#fff5f3;box-shadow:inset 3px 0 var(--q-danger)}.qcfr-primary:disabled,.qcfr-secondary:disabled{cursor:wait;opacity:.6}
.qcfr-files.qcfr-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px;margin:12px 0}.qcfr-files.qcfr-file-grid>.qcfr-file-card{position:relative;display:block;padding:0;margin:0;overflow:hidden;border:1px solid var(--q-line);border-radius:4px;background:#fff}.qcfr-file-preview{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;overflow:hidden;background:#edf2f0;text-decoration:none}.qcfr-file-preview img{width:100%;height:100%;object-fit:cover}.qcfr-file-badge{display:flex;align-items:center;justify-content:center;width:58px;height:64px;border:1px solid #b8c6c1;background:#fff;color:var(--q-green);font-size:13px;font-weight:700}.qcfr-file-meta{display:grid;gap:3px;padding:9px}.qcfr-file-meta strong{overflow:hidden;color:var(--q-ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.qcfr-file-meta span{font-size:11px}.qcfr-files .qcfr-file-delete{position:absolute;top:6px;right:6px;width:28px;height:28px;border:1px solid #d9e0dd;border-radius:3px;background:#fff;color:var(--q-danger);box-shadow:0 2px 8px #0002}.qcfr-upload-status{display:block;margin-top:7px;color:var(--q-green)}.qcfr-upload-status.is-error{color:var(--q-danger)}
.qcfr-notices{margin-top:14px;background:#fff8e6;border-left:3px solid #c78300;padding:8px 14px}.qcfr-notices div{display:grid;gap:2px;padding:6px 0}.qcfr-notices span{font-size:12px;color:var(--q-muted)}.qcfr-history details{border-top:1px solid var(--q-line);padding:9px 0;font-size:13px}.qcfr-history summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.qcfr-history details ul{line-height:1.7}.qcfr-history details a{color:var(--q-green)}
@media(max-width:760px){.qcfr-header{height:64px}.qcfr-header h1{font-size:18px}.qcfr-metrics{grid-template-columns:repeat(3,1fr)}.qcfr-metrics div{padding:12px}.qcfr-toolbar{align-items:flex-end;flex-direction:column-reverse}.qcfr-tabs{width:100%}.qcfr-task-item{grid-template-columns:58px 1fr auto;gap:8px;padding:12px}.qcfr-arrow{display:none}.qcfr-task-main small{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qcfr-form-head{padding:22px 52px 16px 16px}#qcfr-report-form,.qcfr-history{padding-left:16px;padding-right:16px}.qcfr-repeater{display:block;overflow:auto}.qcfr-history>div,.qcfr-history summary{display:grid;gap:3px}}
@media(max-width:760px){.qcfr-form-actions{flex-wrap:wrap}.qcfr-form-feedback{flex-basis:100%}}
@media(max-width:480px){.qcfr-files.qcfr-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
