/* ToolCMS V3.1.82 (c) ToolWorld https://www.toolworld.cn/ */
*{box-sizing:border-box;margin:0;padding:0}
body{margin:0;padding:0;font-family:inherit;background:transparent;color:var(--text-1,#333);font-size:14px;line-height:1.6}
.gpa-container{max-width:100%;margin:0 auto;padding:16px}
.gpa-card{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius,16px);padding:22px}
.gpa-table-wrap{overflow-x:auto;border:1px solid var(--border-light,#eef2f7);border-radius:var(--radius-sm,10px)}
.gpa-table{width:100%;border-collapse:collapse;min-width:480px}
.gpa-table th{background:var(--bg-soft,#f8fafc);font-size:12px;color:var(--text-2,#64748b);font-weight:600;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-light,#eef2f7)}
.gpa-th-num{text-align:center!important}
.gpa-th-op{width:44px}
.gpa-table td{padding:8px 10px;border-bottom:1px solid var(--border-light,#f5f7fa)}
.gpa-table tr:last-child td{border-bottom:0}
.gpa-cell-input{width:100%;padding:7px 9px;border:1px solid var(--border,#d1d5db);border-radius:6px;font-size:14px;background:var(--bg-input,#fff);color:var(--text-1,#333);outline:none}
.gpa-cell-input:focus{border-color:var(--primary,var(--primary-hover))}
.gpa-cell-num{width:80px;text-align:center}
.gpa-point-cell{text-align:center;font-weight:700;color:var(--primary,var(--primary-hover));min-width:56px}
.gpa-del{border:0;background:transparent;color:var(--error,#dc2626);cursor:pointer;font-size:16px;line-height:1;padding:4px}
.gpa-del:hover{opacity:.7}
.gpa-add-btn{margin-top:12px;width:100%;padding:10px;border:1px dashed var(--border,#cbd5e1);border-radius:var(--radius-sm,10px);background:transparent;color:var(--primary,var(--primary-hover));cursor:pointer;font-size:13px;font-weight:600}
.gpa-add-btn:hover{background:var(--primary-light)}

.gpa-legend{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}
.gpa-legend-item{font-size:11px;padding:3px 8px;border-radius:20px;background:var(--bg-soft,#f1f5f9);color:var(--text-2,#64748b)}
.gpa-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.gpa-btn{padding:9px 16px;border:1px solid var(--border,#d1d5db);border-radius:var(--radius-sm,8px);background:var(--bg-card,#fff);color:var(--text-1,#333);cursor:pointer;font-size:13px;transition:background .15s}
.gpa-btn:hover{background:var(--primary-light)}

.gpa-btn-primary{background:var(--primary,var(--primary-hover));color:#fff;border-color:var(--primary,var(--primary-hover))}
.gpa-btn-primary:hover{background:var(--primary-light);color:var(--primary)}

.gpa-result{margin-top:16px;display:none}
.gpa-result.show{display:block}
.gpa-gpa-banner{background:var(--bg-soft,#f8fafc);border:1px solid var(--border-light,#eef2f7);border-radius:var(--radius,12px);padding:18px;display:flex;align-items:center;justify-content:space-around;text-align:center}
.gpa-big{font-size:40px;font-weight:800;color:var(--primary,var(--primary-hover));line-height:1}
.gpa-big-label{font-size:12px;color:var(--text-3,#94a3b8);margin-top:4px}
.gpa-stat-num{font-size:22px;font-weight:700;color:var(--text-1,#333)}
.gpa-stat-label{font-size:12px;color:var(--text-3,#94a3b8)}
.gpa-rows-detail{margin-top:10px;font-size:12px;color:var(--text-2,#64748b)}
.gpa-rows-detail div{padding:5px 2px;border-bottom:1px dashed var(--border-light,#eef2f7)}
.gpa-rows-detail div:last-child{border-bottom:0}
.gpa-message{margin-top:10px;padding:9px 13px;border-radius:var(--radius-sm,8px);font-size:13px;display:none}
.gpa-message.show{display:block}
.gpa-message.success{background:var(--primary-light);color:var(--primary,var(--primary-hover))}
.gpa-message.error{background:var(--error-bg,#fee2e2);color:var(--error,#991b1b)}
.gpa-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:12px;border-top:1px solid var(--border-light,#f1f5f9);font-size:12px;color:var(--text-3,#94a3b8)}
.gpa-footer-right{margin-left:auto}
@media(max-width:640px){.gpa-card{padding:14px}.gpa-gpa-banner{flex-direction:column;gap:12px}.gpa-footer{flex-direction:column;gap:4px;text-align:center}}
