:root{--bg-page:#eef1f5;--bg-card:#fff;--border:#d6dbe3;--text-main:#2f3b52;--text-muted:#7a869a;--primary:#3498db;--success:#2ecc71;--danger:#e74c3c;--radius:4px;--shadow:none;--font:"Segoe UI",Arial,sans-serif}body{color:var(--text-main);font-family:var(--font);margin:0}.ap-wrap{background:var(--bg-page);display:grid;min-height:calc(100vh - 40px);padding:20px;place-items:center}.ap-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-box-shadow:var(--shadow);box-shadow:var(--shadow);padding:20px;position:relative;width:min(640px,92vw)}.ap-meta{-webkit-box-pack:justify;-ms-flex-pack:justify;color:var(--text-muted);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;justify-content:space-between;margin-bottom:10px;opacity:.3;position:static}.ap-meta code{background:#f4f6f9;border:1px solid var(--border);border-radius:3px;font-family:Consolas,monospace;padding:2px 6px}.ap-title{border-bottom:1px solid var(--border);font-size:18px;font-weight:600;margin:15px 0 20px;padding-bottom:10px;text-align:left}.ap-progress{background:#f4f6f9;border:1px solid var(--border);border-radius:3px;height:22px;margin-bottom:18px;overflow:hidden;position:relative;width:100%}.ap-progress__bar{background:var(--primary);height:100%;-webkit-transition:width .3s linear;transition:width .3s linear;width:0}.ap-progress__label{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;font-weight:600;inset:0;justify-content:center;position:absolute;text-shadow:none}.ap-actions{margin-top:12px;text-align:center}.ap-btn{background:#f4f6f9;border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:8px 14px;text-decoration:none;-webkit-transition:background .15s ease;transition:background .15s ease}.ap-btn--success{background:var(--success);border-color:var(--success);color:#fff}.ap-btn--success:hover{background:#27ae60;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.ap-error{background:#fdecea;border:1px solid #f5c6cb;border-radius:3px;color:var(--danger);font-size:13px;margin-top:12px;padding:8px 10px}.ap-foot{border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;margin-top:15px;padding-top:10px;text-align:left}.ap-information{font-size:12px;margin-top:10px}
