/* 前台公共表单控件和操作按钮。 */
:root {
    --ui-ink:#3d5b66;
    --ui-text:#56665f;
    --ui-muted:#81908a;
    --ui-surface:#fff;
    --ui-surface-soft:#f8faff;
    --ui-surface-blue:#f3f6f8;
    --ui-canvas:#edf6fb;
    --ui-green:#7eaaa0;
    --ui-green-dark:#4b7067;
    --ui-mint:#e4efea;
    --ui-line:#dfe7f1;
    --ui-action-teal:#7eaaa0;
    --ui-action-teal-dark:#668f85;
    --ui-action-blue:#2c70bc;
    --ui-action-blue-dark:#205b9e;
    --ui-action-publish:#4c5ca8;
    --ui-action-publish-dark:#394b91;
    --ui-action-danger:#d75f5d;
    --ui-action-danger-dark:#bd494b;
    --ui-action-neutral:#f7faf9;
    --ui-tech-blue:#3f88e8;
    --ui-tech-blue-dark:#2e70c5;
    --ui-tech-blue-soft:#eaf3ff;
    --ui-coral:#ea7963;
    --ui-yellow:#f2c45d;
    --ui-success:#18765f;
    --ui-warning:#c48a25;
    --ui-danger:#d9574f;
    --ui-workspace-right-width:320px;
    --ui-ui-blue-50:#f3f7ff;
    --ui-ui-blue-100:#eaf3ff;
    --ui-ui-blue-200:#c8daf2;
    --ui-ui-blue-300:#9ebfe8;
    --ui-ui-blue-500:#82abd2;
    --ui-ui-blue-600:#6f9bc3;
    --ui-ui-blue-700:#527b9f;
    --ui-ui-active-text:#3e78ad;
    --ui-ui-active-soft:#eaf4ff;
    --ui-ui-icon-soft:#e4f1ff;
    --ui-capture:#8069b6;
    --ui-capture-soft:#f0edfb;
    --ui-capture-icon:#e5ddfb;
    --ui-ui-control-text:#263842;
    --ui-ui-control-placeholder:#8a9ba7;
    --ui-ui-danger:#d97160;
    --ui-ui-danger-dark:#ae5145;
    --ui-ui-danger-soft:#fff0ec;
    --ui-ui-success:#5f8d7d;
    --ui-ui-success-dark:#4e7769;
    --ui-ui-success-soft:#edf6f2;
    --ui-ui-warning:#a98243;
    --ui-ui-warning-soft:#fff7e6;
    --ui-ui-neutral-soft:#f0f3f2;
    --ui-ui-yellow:#f1c763;
    --ui-ui-coral:#dc735f;
    --ui-action-ink:#39352e;
    --ui-primary-ink:#fff;
    --ui-primary-border:#388fc5;
    --ui-primary-start:#59b7db;
    --ui-primary-end:#378ec6;
    --ui-primary-hover-start:#47a8d1;
    --ui-primary-hover-end:#2d7eb6;
    --ui-selection-blue:#82abd2;
    --ui-selection-blue-dark:#527b9f;
    --ui-selection-blue-soft:rgba(130,171,210,.16);
    --ui-shadow:0 10px 30px rgba(54,82,73,.055);
    --ui-ui-shadow:0 6px 16px rgba(78,126,121,.12);
    --ui-ui-tech-shadow:0 6px 16px rgba(100,143,183,.13);
}

/* 原生文本控件和 form-control 共用外观。 */
input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="hidden"]),
textarea,
select {
    font-weight:400!important;
}
.app-body input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="number"],[type="tel"],[type="url"],[type="date"],[type="datetime-local"],[type="time"]),
.app-body textarea,
.app-body select {
    border:1px solid var(--ui-line);
    border-radius:8px;
    color:var(--ui-ui-control-text);
    background:transparent;
    outline:0;
    box-shadow:0 1px 2px rgba(31,76,64,.025);
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.app-body input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="number"],[type="tel"],[type="url"],[type="date"],[type="datetime-local"],[type="time"]):hover,
.app-body textarea:hover,.app-body select:hover { border-color:var(--ui-ui-blue-300); }
.app-body input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="number"],[type="tel"],[type="url"],[type="date"],[type="datetime-local"],[type="time"]):focus,
.app-body textarea:focus,.app-body select:focus {
    border-color:var(--ui-ui-blue-500);background:transparent;outline:0;box-shadow:0 0 0 3px rgba(53,167,207,.16);
}
.app-body input[type="checkbox"],.app-body input[type="radio"] { accent-color:var(--ui-ui-blue-600); }

/* 公共表单控件尺寸；外观及聚焦状态由上方原生控件规则统一负责。 */
.app-body input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
.app-body select.form-control{display:block;width:100%;height:38px;padding:7px 12px;line-height:22px}
.app-body textarea.form-control{display:block;width:100%;padding:7px 12px}
input::placeholder,
textarea::placeholder { color:var(--ui-ui-control-placeholder);opacity:1;font-weight:400!important; }
.app-body input.form-control:disabled,.app-body input.form-control[readonly],
.app-body textarea.form-control:disabled,.app-body select.form-control:disabled {
    color:#7f8d87;border-color:#dfe6e3;background:var(--ui-ui-neutral-soft);box-shadow:none;cursor:not-allowed;
}
.app-body .has-error .form-control,.app-body .form-control.is-invalid { border-color:var(--ui-ui-danger); }
.app-body .has-error .form-control:focus,.app-body .form-control.is-invalid:focus { box-shadow:0 0 0 3px rgba(214,95,98,.14); }

/* 组合搜索及标签控件自行绘制外边框。 */
.app-body .knowledge-editor #knowledge-input,
.app-body .knowledge-keyword-wrap>input { border:0;border-radius:0;background:transparent;box-shadow:none; }

/* 公共列表搜索框。 */
.app-body .search-control{position:relative;display:flex;width:100%;height:38px;box-sizing:border-box;align-items:center;border:1px solid #d7e4df;border-radius:9px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.app-body .search-control:focus-within{border-color:#42a28a;box-shadow:0 0 0 3px rgba(39,145,116,.09)}.app-body .search-control>i{position:static;z-index:1;flex:0 0 auto;margin-left:12px;color:#8aa097;line-height:1;pointer-events:none;transform:none}.app-body .search-control>input{width:100%;height:36px!important;padding:7px 10px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0}.app-body .search-control>.sp_container{flex:1 1 auto;min-width:0;width:auto!important}.app-body .search-control>.sp_container>.sp_input{height:36px;padding:7px 10px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0}.app-body .search-control>button,.app-body .search-control>#knowledge-clear{position:static;top:auto;right:auto;display:flex;flex:0 0 auto;width:18px;height:18px;align-items:center;justify-content:center;margin:0 8px 0 0;padding:0;border:0;border-radius:50%;color:#93a49e;background:#f0f4f2;font-family:Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;transform:none}.app-body .search-control>button>i{font-weight:400}.app-body .search-control>button:hover{color:#5d7770;background:#e1ebe7}.app-body .search-control>button[hidden]{display:none}
.app-body .search-control>input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.app-body .search-control>button[id$="-clear-keyword"]{position:relative}
.app-body .search-control>button[id$="-clear-keyword"]>i.fa-times{display:none}
.app-body .search-control>button[id$="-clear-keyword"]::before,.app-body .search-control>button[id$="-clear-keyword"]::after{position:absolute;left:4px;top:8px;width:10px;height:1px;background:currentColor;content:""}
.app-body .search-control>button[id$="-clear-keyword"]::before{transform:rotate(45deg)}
.app-body .search-control>button[id$="-clear-keyword"]::after{transform:rotate(-45deg)}

/* 答案编辑区的自动解题与图片粘贴操作。 */
.app-body .answer-action-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 7px}
.app-body .answer-action-row[hidden],.app-body .answer-action-tip[hidden],.app-body .answer-action-buttons>[hidden]{display:none!important}
.app-body .answer-action-tip{margin:0;color:#71867c;font-size:12px;line-height:1.5}
.app-body .answer-action-buttons{display:flex;flex:0 0 auto;align-items:center;gap:7px;margin-left:auto}
.app-body .answer-field{position:relative}.app-body .answer-action-row.is-button-only{position:absolute;z-index:3;top:10px;right:10px;margin:0}.app-body .answer-action-row.is-button-only .answer-action-buttons{margin:0}
.app-body .answer-solve-button,.app-body .answer-paste-button{flex:none;padding:4px 9px;border-width:1px;border-style:solid;border-radius:5px;font-size:12px;line-height:1.5}
.app-body .answer-solve-button{border-color:#a9cce5;color:#2c77aa;background:#eef6fc}
.app-body .answer-solve-button:hover{border-color:#6daed7;color:#1f679a;background:#e1f0fa}
.app-body .answer-paste-button{border-color:#a8d2c0;color:#18755b;background:#f4fbf7}
.app-body .answer-paste-button:hover{border-color:#258968;color:#126a51;background:#eaf7f0}
.app-body .answer-solve-button:disabled,.app-body .answer-paste-button:disabled{cursor:not-allowed;opacity:.6}
@media(max-width:620px){.app-body .answer-action-row{align-items:stretch;flex-direction:column}.app-body .answer-action-buttons{margin-left:0}}

/* 日期范围插件同时携带两套图标类名，统一使用 FontAwesome，避免图标和日期文字叠加。 */
.app-body .daterangepicker .input-mini.form-control{box-sizing:border-box!important;width:100%!important;min-height:30px!important;height:30px!important;padding:0 6px 0 32px!important;border:1px solid #ccdce4!important;border-radius:6px!important;color:#3d5360!important;background:#fff!important;box-shadow:none!important;font-size:12px!important;line-height:28px!important;text-indent:0!important}
.app-body .daterangepicker .input-mini.form-control:focus{border-color:#4a9ec7!important;box-shadow:0 0 0 2px rgba(74,158,199,.14)!important}
.app-body .daterangepicker .daterangepicker_input>i.fa.glyphicon{position:absolute!important;z-index:1;display:block!important;top:8px!important;left:10px!important;width:14px!important;height:14px!important;margin:0!important;padding:0!important;color:#6f8793!important;font-family:FontAwesome!important;font-size:12px!important;font-style:normal!important;font-weight:400!important;line-height:1!important;pointer-events:none}
.app-body .daterangepicker .daterangepicker_input>i.fa.glyphicon:before{content:"\f073"!important;font-family:FontAwesome!important}
.app-body .daterangepicker .range_inputs{display:flex;justify-content:flex-end;gap:6px;padding:3px 4px 4px;white-space:nowrap}
.app-body .daterangepicker .range_inputs>.applyBtn,.app-body .daterangepicker .range_inputs>.cancelBtn{display:inline-flex!important;min-width:52px!important;height:27px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0 9px!important;border-width:1px!important;border-style:solid!important;border-radius:6px!important;font-size:12px!important;font-weight:600!important;line-height:25px!important;box-shadow:none!important;transform:none!important}
.app-body .daterangepicker .range_inputs>.applyBtn{color:#fff!important;border-color:var(--ui-primary-border)!important;background:linear-gradient(135deg,var(--ui-primary-start),var(--ui-primary-end))!important}
.app-body .daterangepicker .range_inputs>.applyBtn:hover:not(:disabled),.app-body .daterangepicker .range_inputs>.applyBtn:focus:not(:disabled){border-color:#2876ad!important;background:linear-gradient(135deg,var(--ui-primary-hover-start),var(--ui-primary-hover-end))!important}
.app-body .daterangepicker .range_inputs>.applyBtn:disabled{opacity:.5!important;cursor:not-allowed!important}
.app-body .daterangepicker .range_inputs>.cancelBtn{color:#5b7169!important;border-color:#d7e4df!important;background:#f8fbfa!important}
.app-body .daterangepicker .range_inputs>.cancelBtn:hover,.app-body .daterangepicker .range_inputs>.cancelBtn:focus{border-color:#bdd4cb!important;color:#365d51!important;background:#edf5f1!important}

/* 公共列表分页。 */
.app-body .member-pagination{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:16px;padding:8px 20px;border-top:1px solid #edf2ef;color:var(--ui-muted);font-size:12px}.app-body .member-pagination .pagination{display:flex;margin:0;gap:5px}.app-body .member-pagination .pagination>li>a,.app-body .member-pagination .pagination>li>span,.app-body .ajax-pagination button,.app-body .paper-ajax-pagination button{display:flex;align-items:center;justify-content:center;min-width:31px;height:31px;margin:0;padding:0 8px;border:1px solid #d6e3de;border-radius:7px;color:#587067;background:#fff;line-height:1}.app-body .member-pagination .pagination>li>a:hover,.app-body .ajax-pagination button:hover:not(:disabled),.app-body .paper-ajax-pagination button:hover:not(:disabled){border-color:var(--ui-ui-blue-300);color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft)}.app-body .member-pagination .pagination>.active>a,.app-body .member-pagination .pagination>.active>span,.app-body .ajax-pagination button.is-active,.app-body .paper-ajax-pagination button.is-active{border-color:var(--ui-ui-blue-300);color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft)}.app-body .member-pagination .pagination>.disabled>a,.app-body .member-pagination .pagination>.disabled>span,.app-body .ajax-pagination button:disabled,.app-body .paper-ajax-pagination button:disabled{border-color:#e6ece9;color:#b5bfbb;background:#f7f9f8;cursor:not-allowed}.app-body .paper-ajax-pagination{display:flex;align-items:center;justify-content:center;gap:5px;min-height:52px;margin:0;padding:8px 20px;border-top:1px solid #edf2ef}

/* 标准操作按钮及尺寸。裁图、配图、公式和排序工具使用各自样式。 */
.btn {
    display:inline-flex;align-items:center;justify-content:center;gap:3px;box-sizing:border-box;
    height:38px;margin:0;padding:0 16px;border-width:1px;border-style:solid;border-radius:9px;font-size:14px;font-weight:600;line-height:36px;text-decoration:none;cursor:pointer;
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
    transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.btn.btn-block{display:flex;width:100%}
.btn:focus { outline:0;box-shadow:0 0 0 3px rgba(70,164,207,.2); }
.btn.btn-primary {
    color:var(--ui-primary-ink);border-color:var(--ui-primary-border);
    background:linear-gradient(135deg,var(--ui-primary-start),var(--ui-primary-end));box-shadow:0 7px 17px rgba(42,133,185,.19);
}
.btn.btn-primary:hover,.btn.btn-primary:focus {
    color:#fff;border-color:#2876ad;background:linear-gradient(135deg,var(--ui-primary-hover-start),var(--ui-primary-hover-end));
    box-shadow:0 9px 20px rgba(42,133,185,.24);transform:translateY(-1px);
}
.btn.btn-light,.btn.btn-default:not(.btn-sm):not(.btn-xs):not(.btn-lg) {
    color:#42645a;border-color:var(--ui-line);
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(243,248,246,.92));box-shadow:0 2px 7px rgba(31,76,64,.06);
}
.btn.btn-light:hover,.btn.btn-light:focus,
.btn.btn-default:not(.btn-sm):not(.btn-xs):not(.btn-lg):hover,.btn.btn-default:not(.btn-sm):not(.btn-xs):not(.btn-lg):focus {
    color:var(--ui-green-dark);border-color:#a8cfc2;background:linear-gradient(145deg,#fff,var(--ui-mint));
    box-shadow:0 6px 15px rgba(31,76,64,.1);
}
.btn.btn-success {
    color:#3d695b;border-color:#b5d4c9;background:linear-gradient(135deg,#eef8f4,#d5ebe3);
    box-shadow:0 6px 15px rgba(95,141,125,.11);
}
.btn.btn-warning {
    color:#fff;border-color:#d28a28;background:linear-gradient(135deg,#efa947,#d98a29);
    box-shadow:0 5px 13px rgba(193,119,27,.2);
}
.btn.btn-warning:hover,.btn.btn-warning:focus{color:#fff;border-color:#b96d17;background:linear-gradient(135deg,#e39a36,#c97920);box-shadow:0 7px 16px rgba(180,103,19,.25);transform:translateY(-1px)}
.btn.btn-danger {
    color:#fff;border-color:#cf5f59;background:linear-gradient(135deg,#e77870,#cf5f59);
    box-shadow:0 4px 10px rgba(190,73,67,.18);
}
.btn.btn-danger:hover,.btn.btn-danger:focus{color:#fff;border-color:#c6534d;background:linear-gradient(135deg,#df6b64,#c6534d);box-shadow:0 7px 14px rgba(190,73,67,.22)}
/* 次要操作按钮。 */
.btn.btn-line,.btn.btn-line-primary,.btn.btn-line-danger{background:transparent;box-shadow:none}
.btn.btn-line{color:#587067;border-color:#d6e3de}
.btn.btn-line-primary{color:#2b82b0;border-color:#a9d2e5}
.btn.btn-line-danger{color:#b6534c;border-color:#efc2be}
.btn.btn-line:hover,.btn.btn-line:focus{color:#42645a;border-color:#b7d3c9;background:transparent;box-shadow:none;transform:none}
.btn.btn-line-primary:hover,.btn.btn-line-primary:focus{color:#1f709a;border-color:#6fb6d6;background:transparent;box-shadow:none;transform:none}
.btn.btn-line-danger:hover,.btn.btn-line-danger:focus{color:#963f38;border-color:#dc9f96;background:transparent;box-shadow:none;transform:none}
.btn-line:disabled,.btn-line[aria-disabled="true"],.btn-line-primary:disabled,.btn-line-primary[aria-disabled="true"],.btn-line-danger:disabled,.btn-line-danger[aria-disabled="true"]{border-color:#e0e7e4;color:#98a7a1;background:transparent;box-shadow:none}
/* 小尺寸列表操作按钮。 */
.app-body .task-item[data-task-status="capturing"] .task-review,
.app-body .dashboard-task-row[data-task-status="capturing"] .btn-line-primary{color:#a66c1f;border-color:#e7c58c}
.app-body .task-item[data-task-status="capturing"] .task-review:hover,.app-body .task-item[data-task-status="capturing"] .task-review:focus,
.app-body .dashboard-task-row[data-task-status="capturing"] .btn-line-primary:hover,.app-body .dashboard-task-row[data-task-status="capturing"] .btn-line-primary:focus{color:#895415;border-color:#d7a85c;background:transparent;box-shadow:none;transform:none}
/* 公共按钮尺寸以 38px 为默认高度。 */
.btn.btn-big{height:42px;padding:0 18px;border-radius:10px;font-size:15px;line-height:40px}
.btn.btn-small{display:inline-flex;min-width:72px;height:30px;align-items:center;justify-content:center;margin:0;padding:0 15px;border-radius:8px;font-size:14px;line-height:28px}
.btn.btn-tiny,.app-body .status-tiny{height:24px;padding:0 7px;border-radius:5px;font-size:11px;line-height:22px}
.btn.btn-small i{font-size:11px}
.btn.btn-tiny i{font-size:10px}
.formula-svg{display:inline-block;width:auto;height:auto;max-width:100%;vertical-align:-.2em;zoom:.8;pointer-events:none;user-select:none}
.formula-svg.is-display{display:block;width:auto;height:auto;max-width:100%;margin:6px 0;vertical-align:middle}
.app-body .member-buy,.app-body .invite-copy {
    color:var(--ui-primary-ink);border-color:var(--ui-primary-border);
    background:linear-gradient(135deg,var(--ui-primary-start),var(--ui-primary-end));box-shadow:0 7px 17px rgba(42,133,185,.19);
}
.app-body .bank-reset-btn {
    color:#42645a;border-color:var(--ui-line);
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(243,248,246,.92));box-shadow:0 2px 7px rgba(31,76,64,.06);
}
.btn:active { transform:translateY(0);box-shadow:0 2px 6px rgba(31,76,64,.12); }
.app-body .filter-actions{display:flex;align-items:center;gap:8px}.app-body .filter-actions>.btn{height:36px;padding:0 18px;border-radius:8px;font-size:13px;white-space:nowrap}.app-body .filter-actions>.btn i{margin-right:5px}
.btn:disabled,.btn[aria-disabled="true"],.btn.is-disabled {
    color:#899791;border-color:#dfe6e3;background:var(--ui-ui-neutral-soft);box-shadow:none;cursor:not-allowed;transform:none;
}

/* 公共圆角标签：基础结构、颜色、尺寸和可移除状态可自由组合。 */
.tag{display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;padding:3px 7px;border:1px solid transparent;border-radius:4px;font-size:11px;font-style:normal;line-height:1.35;text-decoration:none;white-space:nowrap}
.tag.tag-rounded{border-radius:999px}
.tag.tag-compact{padding:2px 6px;font-size:10px;line-height:1.3}
.tag.tag-blue{color:#157f9f;border-color:#63bdd5;background:#edf9fc}
.tag.tag-teal{color:#177f82;border-color:#91d1d0;background:#effafa}
.tag.tag-violet{color:#81539d;border-color:#d6bce4;background:#faf5fc}
.tag.tag-green{color:#25804c;border-color:#addcb7;background:#f0faf1}
.tag.tag-amber{color:#a96a13;border-color:#f1ca86;background:#fff8ea}
.tag.tag-rose{color:#b94d60;border-color:#eeb6c0;background:#fff3f5}
.tag.tag-red{color:#a9443e;border-color:#e8aaa5;background:#fff1ef}
.tag.tag-slate{color:#5e747f;border-color:#cbd9de;background:#f6f9fa}
.tag.tag-knowledge{color:#808080;border-color:#d8dfdc;background:#f3f5f4}
.tag.tag-removable{padding-right:4px}
.tag .tag-remove{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;color:currentColor;background:transparent;line-height:1;cursor:pointer;opacity:.68}
.tag .tag-remove:hover,.tag .tag-remove:focus{color:#fff;background:#5c7f75;opacity:1;outline:0}
a.tag:hover,a.tag:focus{color:inherit;text-decoration:none;filter:brightness(.97)}
.bank-tag-editor,.knowledge-editor{position:relative;display:flex;box-sizing:border-box;height:38px;min-height:38px;flex-wrap:nowrap;align-items:center;gap:5px;padding:5px 7px;overflow-x:auto;overflow-y:hidden;border:1px solid #d7e4df;border-radius:8px;background:#fff;scrollbar-width:none;-ms-overflow-style:none}
.bank-tag-editor::-webkit-scrollbar,.knowledge-editor::-webkit-scrollbar{display:none;width:0;height:0}
.bank-tag-editor:focus-within,.knowledge-editor:focus-within{border-color:var(--ui-ui-blue-500,#35a7cf);box-shadow:0 0 0 3px rgba(53,167,207,.14)}
.bank-tag-list,.knowledge-tags{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:5px}
.app-body .bank-tag-editor>input,.app-body .knowledge-editor>#knowledge-input{min-width:110px;flex:1 1 120px;height:26px;min-height:26px;margin:0;padding:2px 4px;border:0;border-radius:0;outline:0;background:transparent;box-shadow:none;line-height:20px}
.app-body .bank-tag-editor>input:hover,.app-body .bank-tag-editor>input:focus,.app-body .knowledge-editor>#knowledge-input:hover,.app-body .knowledge-editor>#knowledge-input:focus{border:0;background:transparent;box-shadow:none}
.difficulty-stars{display:inline-flex;align-items:center;color:#e5a323;font-size:16px;line-height:1;letter-spacing:1px;white-space:nowrap}

/* 普通操作使用品牌色，智能识别操作使用蓝色。 */
.app-body .paper-version-switch button i,
.app-body .paper-layout-preview-bar i { color:var(--ui-green); }
.app-body .paper-version-switch button.is-active {
    color:var(--ui-green-dark);border-color:#83b9a8;background:var(--ui-mint);
    box-shadow:0 0 0 2px rgba(23,107,91,.1);
}
.app-body .paper-layout-check input,.app-body .paper-layout-grid input[type="range"] { accent-color:var(--ui-green); }
.app-body .paper-export-document { --paper-font-size:17px; }
.app-body .paper-export-section h3 { text-align:left; }

.app-body .capture-smart-progress-card>i,
.app-body .capture-smart-progress-card strong,
.app-body .capture-recognize-progress-card>i,
.app-body .capture-image-loading>i,
.app-body .review-crop-loading>i { color:var(--ui-ui-blue-600); }
.app-body .capture-smart-progress-track span,
.app-body .capture-image-loading b,
.app-body .review-crop-loading b {
    background:linear-gradient(90deg,var(--ui-ui-blue-600),#72b1f2);
}
.app-body .capture-smart-progress-card,
.app-body .capture-recognize-progress-card { border-color:var(--ui-ui-blue-200);box-shadow:0 18px 42px rgba(63,136,232,.16); }
/* 信息提示样式。 */
.app-body .info-tip {
    display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;
    border:1px solid #cfe3f2;border-radius:8px;color:#527083;background:#f2f9fd;
    font-size:12px;font-weight:400;line-height:1.55;
}
.app-body .info-tip>i { flex:0 0 auto;margin-top:3px;color:#4d9ac4; }

/* 工具按钮样式。 */
.app-body .visual-toolbar .crop-image,
.app-body .bank-section-title button,
.app-body .subject-toggle { color:var(--ui-ui-active-text);border-color:var(--ui-line);background:transparent; }
.app-body .visual-toolbar .crop-image:hover,
.app-body .bank-section-title button:hover,
.app-body .subject-toggle:hover,
.app-body .subject-toggle.is-open { color:var(--ui-ui-active-text);border-color:var(--ui-ui-blue-300);background:var(--ui-ui-active-soft); }
.app-body .capture-quick-guide p>i { color:#5f8f83; }
.layui-layer.friendly-guide .guide-content{color:#82979f;font-size:13px;line-height:1.65}
.layui-layer.friendly-guide .guide-list li{border-color:#e5f0f4}
.layui-layer.friendly-guide .guide-list i{color:#529eb7;background:#eaf7fa}
.layui-layer.friendly-guide .guide-list strong{color:#3d5b66;font-size:13px}
.layui-layer.friendly-guide .guide-list span{color:#82979f;font-size:12px}

/* 智能操作使用蓝色，与保存确认操作区分。 */
.app-body .file-dropzone{position:relative;display:flex;min-height:285px;align-items:center;justify-content:center;flex-direction:column;margin:0;overflow:hidden;border:1.5px dashed #bad8e2;border-radius:15px;color:inherit;background:linear-gradient(145deg,rgba(249,254,255,.86),rgba(244,251,253,.74));cursor:pointer;text-align:center;transition:border-color .18s,background .18s}
.app-body .file-dropzone:hover,.app-body .file-dropzone.is-dragging{border-color:#60afd0;background:#f0fafc}
.app-body .file-dropzone-icon{display:grid;width:64px;height:64px;margin-bottom:13px;place-items:center;border-radius:18px;color:#49a1c6;background:#e8f6fb;font-size:27px}
.app-body .file-dropzone strong{color:#3d5b66;font-size:17px}
.app-body .file-dropzone>p,.app-body .file-dropzone>.dropzone-format-tip{margin:7px 18px 17px;color:#80969f;font-size:12px}
.app-body .file-dropzone>.dropzone-paste-tip{color:#6f929e}.app-body .file-dropzone>.dropzone-paste-tip i{color:#49a1c6}
.app-body .capture-page-smart { color:var(--ui-ui-blue-700);border-color:var(--ui-ui-blue-200);background:var(--ui-ui-blue-50); }
.app-body .capture-page-smart:hover { color:var(--ui-ui-blue-700);border-color:var(--ui-ui-blue-300);background:var(--ui-ui-blue-100);box-shadow:var(--ui-ui-tech-shadow); }

.app-body .subject-icon,
.app-body .knowledge-symbol { color:var(--ui-ui-active-text);background:var(--ui-ui-icon-soft); }
.app-body .subject-row:hover,
.app-body .subject-row.is-active { color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft); }
.app-body .subject-option>i { color:var(--ui-green); }

.app-body .question-item-options b,
.app-body .bank-item-actions button:hover,
.app-body .bank-item-actions a:hover,
.app-body .knowledge-open-bank:hover { color:var(--ui-green-dark); }
.app-body .knowledge-state { color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft); }
.app-body .bank-answer { border-left-color:#75ad9b;background:#f2f9f6; }
.app-body .bank-rich-editor:focus { border-color:var(--ui-ui-blue-500);box-shadow:0 0 0 3px rgba(53,167,207,.14); }

.app-body .knowledge-chips button:hover,
.app-body .knowledge-chips button.is-active{color:var(--ui-ui-active-text);border-color:var(--ui-ui-blue-300);background:var(--ui-ui-active-soft)}

.app-body .formula-toolbar button { color:var(--ui-green-dark);border-color:#bfd9d0;background:#fff; }
.app-body .formula-toolbar button:hover { color:var(--ui-green-dark);border-color:#a8ceca;background:var(--ui-mint); }
.app-body .empty-image-hint:hover,
.app-body .bank-image-paste:focus,
.app-body .bank-image-paste:hover { color:var(--ui-green-dark);background:#f1f8f5; }

.app-body .paper-preview-tools button,
.app-body .paper-image-tools button { color:var(--ui-green-dark);border-color:#bfd9d0;background:#f4faf7; }
.app-body .paper-preview-tools button:hover,
.app-body .paper-preview-tools button.is-active,
.app-body .paper-image-tools button:hover { color:var(--ui-green-dark);border-color:#a8ceca;background:var(--ui-mint); }
.app-body .paper-layout-loading-icon { color:var(--ui-green); }
.app-body .paper-layout-loading-bar i { background:var(--ui-green); }
.app-body .paper-layout-grid select.is-fixed { color:#47685e;background:#f1f6f4; }
.app-body .paper-question-options b,
.app-body .paper-selected-meta #paper-selected-score,
.app-body .paper-selected-heading>#paper-selected-score,
.app-body .paper-price-list .is-free,
.app-body .paper-selected-number,
.app-body .paper-source-tag.is-mine,
.app-body .paper-selected-expand:hover { color:var(--ui-green-dark); }
.app-body .paper-source-tag.is-mine { background:#edf8f4; }

/* 公共界面、导航及状态色。 */
.app-body {
    min-height:100vh;
    margin:0;
    padding:0;
    color:var(--ui-ink);
    background-color:#e8f3f4;
    background-image:
        radial-gradient(circle at 91% 7%,rgba(241,199,99,.17) 0 72px,transparent 73px),
        radial-gradient(circle at 91% 7%,transparent 0 100px,rgba(220,115,95,.085) 101px 102px,transparent 103px),
        radial-gradient(circle at 78% 88%,rgba(126,182,185,.13) 0 120px,transparent 121px),
        linear-gradient(145deg,#e4f0f3 0%,#f3f7f5 52%,#e6f2f1 100%);
    font-family:"Microsoft YaHei","PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background-attachment:fixed;
}
.app-body .app-sidebar { border-color:var(--ui-line);background:rgba(255,255,255,.95); }

/* 知识点、题库等左侧分类树共用结构与交互样式。 */
.category-panel{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ui-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(24,75,59,.04)}
.category-panel-heading{display:flex;min-height:61px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--ui-line)}
.category-panel-heading>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.category-panel-heading strong{color:#294d40;font-size:16px}
.category-panel-heading small{color:var(--ui-muted);font-size:11px;font-weight:400}
.category-tree{min-height:0;flex:1;padding:8px;overflow-y:auto;overscroll-behavior:contain}
.category-tree-node{display:flex;width:100%;min-height:36px;align-items:center;justify-content:space-between;gap:7px;padding:6px 8px;border:0;border-radius:7px;color:#50675e;background:transparent;text-align:left;font-size:12px}
.category-tree-node>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-tree-node em{padding-left:5px;color:#91a09b;font-size:10px;font-style:normal}
.category-tree-node:hover,.category-tree-node.is-active{color:#11664f;background:#eaf7f1}
.category-tree-row{display:flex;align-items:center}
.category-tree-row .category-tree-node{min-width:0;flex:1}
.category-tree-toggle,.category-tree-folder{display:flex;width:24px;height:36px;flex:0 0 24px;align-items:center;justify-content:center;padding:0;border:0;color:#6da08f;background:transparent;font-size:13px}
.category-tree-toggle:hover{color:#317961}
.category-tree-children{margin-left:18px;padding:2px 0 4px 10px;border-left:1px dashed #bfd9cf}
.category-tree-children>.category-tree-row,.category-tree-children>.category-tree-branch{position:relative}
.category-tree-children>.category-tree-row:before,.category-tree-children>.category-tree-branch:before{position:absolute;top:18px;left:-10px;width:10px;border-top:1px dashed #bfd9cf;content:""}
.category-tree-branch.is-collapsed>.category-tree-children{display:none}
.app-body .side-link:hover,
.app-body .side-link:focus { color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft); }
.app-body .side-link.is-active,
body.app-body.app-page-dashboard .side-nav:not(.has-open-submenu) .side-link[data-route="dashboard"],
body.app-body.app-page-recognize .side-nav:not(.has-open-submenu) .side-link[data-route="recognize"],
body.app-body.tools-app-page .side-nav:not(.has-open-submenu) .side-link[data-route="tools"],
.app-body .side-submenu[open]:not(.has-active-child):not(.is-collapsing)>.side-submenu-toggle { color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft);font-weight:700; }
.app-body .side-submenu[open]:not(.has-active-child):not(.is-collapsing)>.side-submenu-toggle>i:first-child { color:var(--ui-ui-blue-600); }
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle,
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle:hover,
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle:focus { color:#60706a;background:transparent;font-weight:400; }
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle>i:first-child,
.app-body .side-submenu.has-active-child[open]>.side-submenu-toggle:hover>i:first-child { color:#7b91a4; }
.app-body .side-submenu-link:hover,
.app-body .side-submenu-link:focus,
body.app-body.app-page-knowledge .side-submenu-link[data-route="knowledge"],
body.app-body.app-page-questions .side-submenu-link[data-route="questions"],
body.app-body.app-page-papers .side-submenu-link[data-route="papers"],
body.app-body.app-page-paper-layout .side-submenu-link[data-route="papers"],
body.app-body.app-page-paper-compose .side-submenu-link[data-route="paper-compose"] { color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft); }
body.app-body.app-page-knowledge .side-submenu-link[data-route="knowledge"],
body.app-body.app-page-questions .side-submenu-link[data-route="questions"],
body.app-body.app-page-papers .side-submenu-link[data-route="papers"],
body.app-body.app-page-paper-layout .side-submenu-link[data-route="papers"],
body.app-body.app-page-paper-compose .side-submenu-link[data-route="paper-compose"] { font-weight:700; }
.app-body .side-submenu.is-collapsing .side-submenu-link { color:#60706a;background:transparent;font-weight:400; }
@media(max-width:900px){
    .app-body .side-nav:not(.has-open-submenu) .side-submenu.has-active-child:not([open])>.side-submenu-toggle { color:var(--ui-ui-active-text);background:var(--ui-ui-active-soft);font-weight:700; }
    .app-body .side-nav:not(.has-open-submenu) .side-submenu.has-active-child:not([open])>.side-submenu-toggle>i:first-child { color:var(--ui-ui-blue-600); }
}

/* 公共分段选择控件。 */
.app-body .segmented-control{display:inline-flex!important;align-items:center;padding:3px!important;border:1px solid #e0edf1!important;border-radius:9px!important;background:#edf7fa!important;box-shadow:inset 0 1px 1px rgba(91,148,164,.035)}
.app-body .segmented-control>button{display:inline-flex!important;height:30px;align-items:center;justify-content:center;gap:5px;padding:0 12px!important;border:0!important;border-radius:6px!important;color:#78909a!important;background:transparent!important;font-size:12px;font-weight:400;line-height:30px;transition:color .18s,background .18s,box-shadow .18s}
.app-body .segmented-control>button i{color:#78a5b1;transition:color .18s}
.app-body .segmented-control>button.is-active{color:#2f7c98!important;background:#fff!important;font-weight:700!important;box-shadow:0 2px 7px rgba(74,133,151,.12)!important}
.app-body .segmented-control>button.is-active i{color:#3c9ebb}
.app-body .segmented-control>button:hover:not(.is-active){color:#4d7e8e!important;background:rgba(255,255,255,.48)!important}

/* 题库、知识点和试卷页面共用标题及基础卡片结构。 */
.app-body :is(.knowledge-heading,.bank-heading,.paper-heading){display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.app-body :is(.knowledge-list-panel,.bank-filter,.bank-results,.paper-list-card,.paper-meta,.paper-filter,.paper-selected-card,.paper-sheet){border:1px solid var(--ui-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(24,75,59,.04)}

/* 跨页面加载进度条共用位移动画，各组件保留自己的颜色。 */
@keyframes ui-loading-slide{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}

/* 卡片内提示保留内容间距。 */
.app-body .paper-selected-card .paper-score-tip{margin:10px 12px 0;padding:9px 12px;border:1px solid #cce3ed;border-radius:8px;color:#638698;background:#eef8fc}
.app-body .paper-selected-card .paper-score-tip i{color:#4e9fc0}

/* 公共页面标题层级。 */
.app-body .page-intro h1{margin:0;color:#304e5a;font-size:27px;font-weight:700;line-height:1.25;letter-spacing:.1px}
.app-body :is(.knowledge-heading,.bank-heading,.paper-heading)>.btn.btn-primary.btn-big{flex:0 0 auto;min-width:140px;width:auto;text-decoration:none}
.app-body :is(.knowledge-heading,.bank-heading,.paper-heading)>.btn.btn-primary.btn-big i{margin-right:6px}
@media(max-width:900px){
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.member-page-heading,.account-heading,.member-hero){align-items:center;gap:10px}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.member-page-heading,.account-heading,.member-hero)>.page-intro{min-width:0;flex:1 1 auto}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.member-page-heading,.account-heading,.member-hero)>.page-intro h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.member-page-heading,.account-heading,.member-hero)>:is(.btn,.paper-view-actions,.plan-quick-actions,.member-hero-actions,.member-order-link){flex:0 0 auto;white-space:nowrap}
}
@media(max-width:620px){
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading,.member-page-heading,.account-heading,.member-hero){gap:8px}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading)>.btn,
    .app-body .paper-heading .paper-view-actions>.btn{height:30px;padding:0 10px;border-radius:8px;font-size:12px;line-height:28px}
    body.app-body :is(.knowledge-heading,.bank-heading,.paper-heading)>.btn.btn-primary.btn-big{min-width:0}
    .app-body :is(.knowledge-heading,.bank-heading,.paper-heading)>.btn i,
    .app-body .paper-heading .paper-view-actions>.btn i{font-size:11px}
    .app-body .plan-quick-actions{gap:6px}
    .app-body .plan-quick-actions a{min-height:30px;padding:0 8px;font-size:11px}
    .app-body .member-hero .page-intro h1{font-size:23px}
    .app-body .member-hero-actions{gap:6px}
    .app-body .member-hero-actions :is(.plan-invite,.member-order-link){min-height:30px;padding:4px 7px;font-size:11px}
    .app-body .member-hero-actions .plan-invite .fa-angle-right,
    .app-body .member-hero-actions .member-order-link i{display:none}
    .app-body .account-heading>.member-order-link{min-height:30px;padding:4px 8px;font-size:11px}
}

/* 全站弹窗组件：遮罩、标题、正文和操作区保持同一套层级。 */
.layui-layer-shade{background:#263943!important;backdrop-filter:blur(3px)}
.iframe-dialog-body{min-height:100%;margin:0!important;padding:0!important}
.layui-layer.app-dialog{overflow:hidden;border:1px solid rgba(207,224,230,.96)!important;border-radius:15px!important;box-shadow:0 22px 56px rgba(20,43,54,.28)!important}.layui-layer.app-dialog.layui-layer-dialog,.layui-layer.app-dialog.layui-layer-page{display:flex;flex-direction:column}.layui-layer.app-dialog .layui-layer-title,.layui-layer.app-dialog .layui-layer-btn{flex:0 0 auto}.layui-layer.app-dialog.layui-layer-dialog .layui-layer-content,.layui-layer.app-dialog.layui-layer-page .layui-layer-content{height:auto!important;min-height:0;flex:1 1 auto;overflow-y:auto}
.layui-layer.app-dialog .layui-layer-title{position:relative;height:66px;padding:12px 40px 10px 52px!important;border:0!important;border-bottom:1px solid #e6eef0!important;color:#304e5a!important;background:#fff!important;font-size:15px!important;font-weight:700!important;line-height:21px!important}
.layui-layer.app-dialog .layui-layer-title:before{position:absolute;left:14px;top:19px;width:28px;height:28px;border-radius:8px;background:#e8f5f4;color:#4c9f98;content:"\f132";font:14px/28px FontAwesome;text-align:center}
.layui-layer.app-dialog .layui-layer-title:after{display:none!important;content:none!important}.layui-layer.app-dialog .dialog-title-description{display:block;margin-top:1px;color:#8399a1;font-size:12px;font-weight:400;line-height:17px}
.layui-layer.app-dialog.dialog-info .layui-layer-title:before{color:#4c98b3;background:#e9f6fa;content:"\f05a"}.layui-layer.app-dialog.dialog-success .layui-layer-title:before{color:#449c7e;background:#eaf6f0;content:"\f00c"}.layui-layer.app-dialog.dialog-warning .layui-layer-title:before{color:#c58a38;background:#fff4df;content:"\f071"}.layui-layer.app-dialog.dialog-error .layui-layer-title:before{color:#cf6d67;background:#fff0ee;content:"\f057"}
.layui-layer.app-dialog .layui-layer-content{box-sizing:border-box;font-size:14px;line-height:1.7}.layui-layer.app-dialog.layui-layer-dialog .layui-layer-content,.layui-layer.app-dialog.layui-layer-page .layui-layer-content{padding:20px!important}.layui-layer.app-dialog.layui-layer-dialog .layui-layer-content{min-height:100px}.layui-layer.app-dialog.layui-layer-dialog .layui-layer-content .layui-layer-ico{display:none!important}
.layui-layer.app-dialog.dialog-description-title .layui-layer-title{height:auto!important;min-height:66px;white-space:normal!important}.layui-layer.app-dialog.dialog-description-title .dialog-title-description{white-space:normal;overflow-wrap:anywhere}
.layui-layer.app-dialog .layui-layer-btn{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 14px 12px;border-top:1px solid #e6eef0;background:#fbfdfe}
.layui-layer.app-dialog .layui-layer-confirm,.layui-layer.app-dialog .layui-layer-confirm:focus,.layui-layer.app-dialog .layui-layer-confirm:focus-visible{border:0!important;outline:0!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important}
.layui-layer.app-dialog .layui-layer-setwin{top:0!important;right:0!important}.layui-layer.app-dialog .layui-layer-close{top:14px!important;right:10px!important;width:24px!important;height:24px!important;border-radius:7px!important;color:#8299a1!important;background:none!important;font-size:0!important;text-align:center!important}.layui-layer.app-dialog .layui-layer-close:after{content:"\00d7";font-size:22px;line-height:22px}.layui-layer.app-dialog .layui-layer-close:hover{color:#54737d!important;background:#f1f7f8!important}
.layui-layer.app-dialog.layui-layer-iframe .layui-layer-setwin{display:flex;top:14px!important;right:14px!important;height:26px;align-items:center}.layui-layer.app-dialog.layui-layer-iframe .layui-layer-setwin>a{position:static!important;flex:0 0 auto;margin-left:8px!important}.layui-layer.app-dialog.layui-layer-iframe .layui-layer-close{top:auto!important;right:auto!important}
/* 工作台标题统一纵向间距。 */
.app-body.app-page-papers .app-main,
.app-body.app-page-paper-compose .app-main,
.app-body.app-page-paper-layout .app-main{padding-top:32px}
@media(max-width:620px){.app-body.app-page-papers .app-main,.app-body.app-page-paper-compose .app-main,.app-body.app-page-paper-layout .app-main{padding-top:26px}}

.app-body .side-link.is-active>i { color:var(--ui-ui-blue-600); }

.app-body .side-link>i { color:#7b91a4; }
.app-body .side-link.is-active>i,
.app-body .side-link:hover>i { color:var(--ui-ui-blue-600); }
.app-body .bank-view-tabs button.is-active{
    color:var(--ui-ui-active-text);
    border-color:var(--ui-ui-blue-300);
    background:var(--ui-ui-active-soft);
}

/* 侧栏账户入口。 */
.app-body .side-account-wrap {
    margin-top:18px;
    padding:14px 0 0;
    border-top:1px solid var(--ui-line);
}
.app-body .side-account-toggle,
.app-body .side-account-login {
    min-height:50px;
    padding:7px 8px;
    border:0;
    border-radius:9px;
    color:#314b5c;
    background:transparent;
    box-shadow:none;
}
.app-body .side-account-toggle:hover,
.app-body .side-account-toggle:focus,
.app-body .side-account-wrap.is-open .side-account-toggle,
.app-body .side-account-login:hover,
.app-body .side-account-login:focus {
    border:0;
    color:#2e638f;
    background:var(--ui-ui-active-soft);
    box-shadow:none;
}
.app-body .side-account-toggle>img { border-color:#dcecff; }
.app-body .side-account-toggle>i:last-child,
.app-body .side-account-login>i:last-child { color:#8ba4ba; }

/* 框选操作使用独立的紫蓝色。 */
.app-body .capture-manual-mode>i {
    color:#fff;
    background:linear-gradient(145deg,#9b87ca,#7862ad);
}
.app-body .capture-manual-mode { color:var(--ui-capture); }
.app-body .capture-manual-mode strong { color:#4d4168; }
.app-body .capture-next-wrap .fa-crop { color:var(--ui-capture-icon); }

.app-body .content-card,
.app-body .feature-card,
.app-body .upload-panel,
.app-body .progress-panel,
.app-body .quota-card,
.app-body .member-summary-card,
.app-body .invite-card,
.app-body .knowledge-panel,
.app-body .knowledge-list-panel,
.app-body .bank-edit-card,
.app-body .bank-fields-card,
.app-body .paper-list-card,
.app-body .paper-meta,
.app-body .paper-browser,
.app-body .paper-selected-card,
.app-body .paper-sheet,
.app-body .paper-layout-panel,
.app-body .paper-layout-preview { border-color:var(--ui-line);background:var(--ui-surface);box-shadow:var(--ui-shadow); }

.app-body .task-status{padding:5px 8px;border-radius:20px;color:#96651f;background:var(--ui-ui-warning-soft);font-size:11px;text-align:center}
.app-body .task-status.status-preparing,.app-body .task-status.status-capturing,.app-body .task-status.status-recognizing{color:#96651f;background:var(--ui-ui-warning-soft)}
.app-body .question-status.is-published,
.app-body .question-status.is-corrected,
.app-body .task-status.status-success,
.app-body .paper-status.is-completed,
.app-body .order-status.is-paid,
.app-body .order-status.is-rewarded { color:var(--ui-ui-success);background:var(--ui-ui-success-soft); }
.app-body .question-status.is-pending,
.app-body .paper-status,
.app-body .order-status.is-pending,
.app-body .capture-pending-badge { color:#96651f;background:var(--ui-ui-warning-soft); }
.app-body .question-status.is-solving { color:var(--ui-ui-blue-700);background:var(--ui-ui-blue-100);box-shadow:inset 0 0 0 1px var(--ui-ui-blue-200); }
.app-body .question-status.is-failed,
.app-body .task-status.status-failed { color:#ac3f38;background:var(--ui-ui-danger-soft); }
.app-body .question-status.is-ignored,
.app-body .order-status.is-invalid,
.app-body .capture-ready-badge { color:#74817c;background:var(--ui-ui-neutral-soft); }

.app-body .review-summary p.is-corrected { color:var(--ui-ui-success);border-color:#bcded1;background:#f1faf6; }
.app-body .review-summary p.is-pending { color:#96651f;border-color:#ecd39f;background:#fffaf0; }
.app-body .review-summary p.is-error,
.app-body .missing-figure-note { color:#a83e37;border-color:#efb8b2;background:var(--ui-ui-danger-soft); }
.app-body .review-summary p.is-error i,
.app-body .missing-figure-note i { color:var(--ui-ui-danger); }

.app-body .score-delta.is-plus { color:var(--ui-ui-success); }
.app-body .score-delta.is-minus { color:var(--ui-ui-danger); }

.app-body #toast-container>.toast-success { background-color:var(--ui-ui-success); }
.app-body #toast-container>.toast-info { background-color:var(--ui-ui-blue-600); }
.app-body #toast-container>.toast-warning { color:#fff;background-color:#a96517; }
.app-body #toast-container>.toast-error { background-color:var(--ui-ui-danger); }

.layui-layer.app-dialog .quota-dialog-message{padding:11px 13px;border:1px solid #dcebf4;border-radius:9px;color:#315363;background:#f4f9fc;font-size:14px;font-weight:600;line-height:1.65}
.layui-layer.app-dialog .quota-dialog-note{margin:17px 0 9px;color:#718993;font-size:12px;line-height:1.5}
.layui-layer.app-dialog .quota-dialog-options{display:grid;gap:9px}
.layui-layer.app-dialog .quota-dialog-option{display:flex;min-height:65px;align-items:center;gap:11px;padding:10px 12px;border:1px solid #dce8ec;border-radius:9px;color:#375762;background:#fff;text-decoration:none;transition:border-color .16s,background-color .16s,box-shadow .16s}
.layui-layer.app-dialog .quota-dialog-option:hover,.layui-layer.app-dialog .quota-dialog-option:focus-visible{border-color:#91c3db;background:#f7fbfd;box-shadow:0 0 0 2px rgba(66,151,192,.1);outline:0}
.layui-layer.app-dialog .quota-dialog-option.is-primary{border-color:#b9d9e9;background:#f3f9fc}
.layui-layer.app-dialog .quota-dialog-option-icon{display:grid;flex:0 0 35px;width:35px;height:35px;place-items:center;border-radius:8px;color:#328eb8;background:#e7f4fa;font-size:15px}
.layui-layer.app-dialog .quota-dialog-option-copy{display:grid;flex:1;gap:2px;min-width:0}.layui-layer.app-dialog .quota-dialog-option-copy strong{color:#315363;font-size:14px;line-height:1.4}.layui-layer.app-dialog .quota-dialog-option-copy small{color:#7a929b;font-size:12px;line-height:1.45}
.layui-layer.app-dialog .quota-dialog-option-arrow{color:#8ca8b5;font-size:18px}
.layui-layer.app-dialog .quota-dialog-refresh-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.layui-layer.app-dialog .quota-dialog-refresh{padding:0;border:0;color:#2687b6;background:none;font-size:13px;cursor:pointer}.layui-layer.app-dialog .quota-dialog-refresh:hover{text-decoration:underline}.layui-layer.app-dialog .quota-dialog-refresh:disabled{color:#90a7b1;cursor:wait;text-decoration:none}.layui-layer.app-dialog .quota-dialog-refresh-status{color:#81949c;font-size:12px;text-align:right}

@media(max-width:620px){
    .app-body .side-account-wrap{margin:0;padding:0;border-top:0}
    .app-body .side-account-toggle,.app-body .side-account-login{min-height:40px;padding:5px}
}

/* 悬停时只改变颜色和边框，按钮位置保持不变。 */
.app-body button:hover,.app-body .btn:hover,.app-body .layui-layer-btn a:hover,.app-body .dashboard-empty-upload:hover{transform:none!important}

/* 题库与组卷搜索结果共用题目内容结构。 */
.question-item-main{min-width:0}
.question-item-meta,.question-item-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.question-item-difficulty{display:inline-flex;align-items:center;color:#808080;font-size:12px;white-space:nowrap}
.question-item-difficulty .difficulty-stars{margin-left:2px}
.question-item-content{margin-top:13px;color:#183d32;font-size:15px;line-height:1.85}
.question-item-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin-top:10px}
.question-item-options>div{display:flex;min-width:0;gap:7px;line-height:1.7}
.question-item-options b{color:#176d58}
.question-item-images{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.question-item-images img{max-width:220px;max-height:160px;border:1px solid #dce7e3;border-radius:8px;object-fit:contain}
.question-item-tags{margin-top:12px}
.question-item-tags .tag.tag-knowledge{border:0}
@media(max-width:620px){.question-item-options{grid-template-columns:1fr}}
